@contractspec/lib.contracts 1.56.1 → 1.58.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 (1582) hide show
  1. package/dist/app-config/app-config.capability.d.ts +2 -7
  2. package/dist/app-config/app-config.capability.d.ts.map +1 -0
  3. package/dist/app-config/app-config.capability.js +729 -22
  4. package/dist/app-config/app-config.contracts.d.ts +226 -231
  5. package/dist/app-config/app-config.contracts.d.ts.map +1 -0
  6. package/dist/app-config/app-config.contracts.js +908 -376
  7. package/dist/app-config/app-config.contracts.test.d.ts +2 -0
  8. package/dist/app-config/app-config.contracts.test.d.ts.map +1 -0
  9. package/dist/app-config/app-config.feature.d.ts +2 -7
  10. package/dist/app-config/app-config.feature.d.ts.map +1 -0
  11. package/dist/app-config/app-config.feature.js +252 -58
  12. package/dist/app-config/branding.d.ts +47 -49
  13. package/dist/app-config/branding.d.ts.map +1 -0
  14. package/dist/app-config/branding.js +1 -0
  15. package/dist/app-config/branding.test.d.ts +2 -0
  16. package/dist/app-config/branding.test.d.ts.map +1 -0
  17. package/dist/app-config/docs/app-config.docblock.d.ts +3 -6
  18. package/dist/app-config/docs/app-config.docblock.d.ts.map +1 -0
  19. package/dist/app-config/docs/app-config.docblock.js +382 -20
  20. package/dist/app-config/events.d.ts +112 -118
  21. package/dist/app-config/events.d.ts.map +1 -0
  22. package/dist/app-config/events.js +380 -168
  23. package/dist/app-config/events.test.d.ts +2 -0
  24. package/dist/app-config/events.test.d.ts.map +1 -0
  25. package/dist/app-config/index.d.ts +10 -10
  26. package/dist/app-config/index.d.ts.map +1 -0
  27. package/dist/app-config/index.js +3113 -9
  28. package/dist/app-config/lifecycle-contracts.d.ts +249 -256
  29. package/dist/app-config/lifecycle-contracts.d.ts.map +1 -0
  30. package/dist/app-config/lifecycle-contracts.js +1078 -434
  31. package/dist/app-config/lifecycle-contracts.test.d.ts +2 -0
  32. package/dist/app-config/lifecycle-contracts.test.d.ts.map +1 -0
  33. package/dist/app-config/lifecycle.d.ts +21 -24
  34. package/dist/app-config/lifecycle.d.ts.map +1 -0
  35. package/dist/app-config/lifecycle.js +1 -0
  36. package/dist/app-config/lifecycle.test.d.ts +2 -0
  37. package/dist/app-config/lifecycle.test.d.ts.map +1 -0
  38. package/dist/app-config/runtime.d.ts +103 -111
  39. package/dist/app-config/runtime.d.ts.map +1 -0
  40. package/dist/app-config/runtime.js +672 -555
  41. package/dist/app-config/runtime.test.d.ts +2 -0
  42. package/dist/app-config/runtime.test.d.ts.map +1 -0
  43. package/dist/app-config/spec.d.ts +153 -158
  44. package/dist/app-config/spec.d.ts.map +1 -0
  45. package/dist/app-config/spec.js +226 -16
  46. package/dist/app-config/spec.test.d.ts +2 -0
  47. package/dist/app-config/spec.test.d.ts.map +1 -0
  48. package/dist/app-config/validation.d.ts +41 -46
  49. package/dist/app-config/validation.d.ts.map +1 -0
  50. package/dist/app-config/validation.js +607 -495
  51. package/dist/app-config/validation.test.d.ts +2 -0
  52. package/dist/app-config/validation.test.d.ts.map +1 -0
  53. package/dist/capabilities/capabilities.d.ts +77 -80
  54. package/dist/capabilities/capabilities.d.ts.map +1 -0
  55. package/dist/capabilities/capabilities.js +209 -165
  56. package/dist/capabilities/capabilities.test.d.ts +2 -0
  57. package/dist/capabilities/capabilities.test.d.ts.map +1 -0
  58. package/dist/capabilities/context.d.ts +73 -50
  59. package/dist/capabilities/context.d.ts.map +1 -0
  60. package/dist/capabilities/context.js +93 -79
  61. package/dist/capabilities/context.test.d.ts +2 -0
  62. package/dist/capabilities/context.test.d.ts.map +1 -0
  63. package/dist/capabilities/docs/capabilities.docblock.d.ts +3 -6
  64. package/dist/capabilities/docs/capabilities.docblock.d.ts.map +1 -0
  65. package/dist/capabilities/docs/capabilities.docblock.js +165 -22
  66. package/dist/capabilities/guards.d.ts +40 -28
  67. package/dist/capabilities/guards.d.ts.map +1 -0
  68. package/dist/capabilities/guards.js +158 -127
  69. package/dist/capabilities/index.d.ts +7 -6
  70. package/dist/capabilities/index.d.ts.map +1 -0
  71. package/dist/capabilities/index.js +738 -6
  72. package/dist/capabilities/meeting-recorder.d.ts +6 -0
  73. package/dist/capabilities/meeting-recorder.d.ts.map +1 -0
  74. package/dist/capabilities/meeting-recorder.js +154 -0
  75. package/dist/capabilities/openbanking.d.ts +6 -10
  76. package/dist/capabilities/openbanking.d.ts.map +1 -0
  77. package/dist/capabilities/openbanking.js +160 -86
  78. package/dist/capabilities/validation.d.ts +42 -38
  79. package/dist/capabilities/validation.d.ts.map +1 -0
  80. package/dist/capabilities/validation.js +179 -135
  81. package/dist/capabilities/validation.test.d.ts +2 -0
  82. package/dist/capabilities/validation.test.d.ts.map +1 -0
  83. package/dist/client/index.d.ts +2 -6
  84. package/dist/client/index.d.ts.map +1 -0
  85. package/dist/client/index.js +1377 -7
  86. package/dist/client/react/drivers/rn-reusables.d.ts +8 -8
  87. package/dist/client/react/drivers/rn-reusables.d.ts.map +1 -0
  88. package/dist/client/react/drivers/rn-reusables.js +36 -19
  89. package/dist/client/react/drivers/shadcn.d.ts +4 -8
  90. package/dist/client/react/drivers/shadcn.d.ts.map +1 -0
  91. package/dist/client/react/drivers/shadcn.js +36 -9
  92. package/dist/client/react/feature-render.d.ts +14 -21
  93. package/dist/client/react/feature-render.d.ts.map +1 -0
  94. package/dist/client/react/feature-render.js +824 -35
  95. package/dist/client/react/form-render.d.ts +83 -88
  96. package/dist/client/react/form-render.d.ts.map +1 -0
  97. package/dist/client/react/form-render.js +667 -287
  98. package/dist/client/react/index.d.ts +5 -5
  99. package/dist/client/react/index.d.ts.map +1 -0
  100. package/dist/client/react/index.js +1374 -6
  101. package/dist/contract-registry/index.d.ts +4 -3
  102. package/dist/contract-registry/index.d.ts.map +1 -0
  103. package/dist/contract-registry/index.js +128 -2
  104. package/dist/contract-registry/schemas.d.ts +88 -91
  105. package/dist/contract-registry/schemas.d.ts.map +1 -0
  106. package/dist/contract-registry/schemas.js +124 -56
  107. package/dist/contract-registry/schemas.test.d.ts +2 -0
  108. package/dist/contract-registry/schemas.test.d.ts.map +1 -0
  109. package/dist/contract-registry/types.d.ts +40 -43
  110. package/dist/contract-registry/types.d.ts.map +1 -0
  111. package/dist/contract-registry/types.js +1 -0
  112. package/dist/data-views/data-views.d.ts +5 -6
  113. package/dist/data-views/data-views.d.ts.map +1 -0
  114. package/dist/data-views/data-views.js +231 -4
  115. package/dist/data-views/data-views.test.d.ts +2 -0
  116. package/dist/data-views/data-views.test.d.ts.map +1 -0
  117. package/dist/data-views/docs/data-views.docblock.d.ts +3 -6
  118. package/dist/data-views/docs/data-views.docblock.d.ts.map +1 -0
  119. package/dist/data-views/docs/data-views.docblock.js +162 -19
  120. package/dist/data-views/index.d.ts +5 -5
  121. package/dist/data-views/index.d.ts.map +1 -0
  122. package/dist/data-views/index.js +231 -3
  123. package/dist/data-views/query-generator.d.ts +32 -36
  124. package/dist/data-views/query-generator.d.ts.map +1 -0
  125. package/dist/data-views/query-generator.js +87 -46
  126. package/dist/data-views/registry.d.ts +6 -10
  127. package/dist/data-views/registry.d.ts.map +1 -0
  128. package/dist/data-views/registry.js +223 -17
  129. package/dist/data-views/registry.test.d.ts +2 -0
  130. package/dist/data-views/registry.test.d.ts.map +1 -0
  131. package/dist/data-views/report/contractVerificationTable.d.ts +2 -7
  132. package/dist/data-views/report/contractVerificationTable.d.ts.map +1 -0
  133. package/dist/data-views/report/contractVerificationTable.js +237 -92
  134. package/dist/data-views/report/contractVerificationTable.test.d.ts +2 -0
  135. package/dist/data-views/report/contractVerificationTable.test.d.ts.map +1 -0
  136. package/dist/data-views/runtime.d.ts +23 -29
  137. package/dist/data-views/runtime.d.ts.map +1 -0
  138. package/dist/data-views/runtime.js +104 -64
  139. package/dist/data-views/runtime.test.d.ts +2 -0
  140. package/dist/data-views/runtime.test.d.ts.map +1 -0
  141. package/dist/data-views/spec.d.ts +16 -19
  142. package/dist/data-views/spec.d.ts.map +1 -0
  143. package/dist/data-views/spec.js +36 -8
  144. package/dist/data-views/spec.test.d.ts +2 -0
  145. package/dist/data-views/spec.test.d.ts.map +1 -0
  146. package/dist/data-views/types.d.ts +91 -95
  147. package/dist/data-views/types.d.ts.map +1 -0
  148. package/dist/data-views/types.js +1 -0
  149. package/dist/data-views/types.test.d.ts +2 -0
  150. package/dist/data-views/types.test.d.ts.map +1 -0
  151. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +3 -6
  152. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts.map +1 -0
  153. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +512 -16
  154. package/dist/docs/capabilities/documentationSystem.capability.d.ts +2 -7
  155. package/dist/docs/capabilities/documentationSystem.capability.d.ts.map +1 -0
  156. package/dist/docs/capabilities/documentationSystem.capability.js +782 -69
  157. package/dist/docs/capabilities/index.d.ts +2 -2
  158. package/dist/docs/capabilities/index.d.ts.map +1 -0
  159. package/dist/docs/capabilities/index.js +783 -2
  160. package/dist/docs/commands/docsGenerate.command.d.ts +82 -88
  161. package/dist/docs/commands/docsGenerate.command.d.ts.map +1 -0
  162. package/dist/docs/commands/docsGenerate.command.js +1011 -137
  163. package/dist/docs/commands/docsPublish.command.d.ts +55 -61
  164. package/dist/docs/commands/docsPublish.command.d.ts.map +1 -0
  165. package/dist/docs/commands/docsPublish.command.js +991 -103
  166. package/dist/docs/commands/index.d.ts +3 -3
  167. package/dist/docs/commands/index.d.ts.map +1 -0
  168. package/dist/docs/commands/index.js +1119 -3
  169. package/dist/docs/constants.d.ts +5 -7
  170. package/dist/docs/constants.d.ts.map +1 -0
  171. package/dist/docs/constants.js +76 -8
  172. package/dist/docs/contracts.d.ts +411 -422
  173. package/dist/docs/contracts.d.ts.map +1 -0
  174. package/dist/docs/contracts.js +2383 -58
  175. package/dist/docs/ensure-docblocks.d.ts +2 -1
  176. package/dist/docs/ensure-docblocks.d.ts.map +1 -0
  177. package/dist/docs/ensure-docblocks.js +264 -1
  178. package/dist/docs/events/docsGenerated.event.d.ts +55 -60
  179. package/dist/docs/events/docsGenerated.event.d.ts.map +1 -0
  180. package/dist/docs/events/docsGenerated.event.js +530 -50
  181. package/dist/docs/events/docsPublished.event.d.ts +63 -68
  182. package/dist/docs/events/docsPublished.event.d.ts.map +1 -0
  183. package/dist/docs/events/docsPublished.event.js +531 -54
  184. package/dist/docs/events/index.d.ts +3 -3
  185. package/dist/docs/events/index.d.ts.map +1 -0
  186. package/dist/docs/events/index.js +566 -3
  187. package/dist/docs/forms/docsSearch.form.d.ts +16 -21
  188. package/dist/docs/forms/docsSearch.form.d.ts.map +1 -0
  189. package/dist/docs/forms/docsSearch.form.js +673 -110
  190. package/dist/docs/forms/index.d.ts +2 -2
  191. package/dist/docs/forms/index.d.ts.map +1 -0
  192. package/dist/docs/forms/index.js +675 -2
  193. package/dist/docs/index.d.ts +41 -28
  194. package/dist/docs/index.d.ts.map +1 -0
  195. package/dist/docs/index.js +5491 -54
  196. package/dist/docs/meta.docs.d.ts +3 -6
  197. package/dist/docs/meta.docs.d.ts.map +1 -0
  198. package/dist/docs/meta.docs.js +162 -15
  199. package/dist/docs/presentations/docsLayout.presentation.d.ts +3 -7
  200. package/dist/docs/presentations/docsLayout.presentation.d.ts.map +1 -0
  201. package/dist/docs/presentations/docsLayout.presentation.js +1088 -33
  202. package/dist/docs/presentations/docsReferencePage.presentation.d.ts +3 -7
  203. package/dist/docs/presentations/docsReferencePage.presentation.d.ts.map +1 -0
  204. package/dist/docs/presentations/docsReferencePage.presentation.js +1088 -33
  205. package/dist/docs/presentations/index.d.ts +3 -3
  206. package/dist/docs/presentations/index.d.ts.map +1 -0
  207. package/dist/docs/presentations/index.js +1117 -3
  208. package/dist/docs/presentations.d.ts +26 -29
  209. package/dist/docs/presentations.d.ts.map +1 -0
  210. package/dist/docs/presentations.js +83 -43
  211. package/dist/docs/presentations.test.d.ts +2 -0
  212. package/dist/docs/presentations.test.d.ts.map +1 -0
  213. package/dist/docs/queries/contractReference.query.d.ts +190 -195
  214. package/dist/docs/queries/contractReference.query.d.ts.map +1 -0
  215. package/dist/docs/queries/contractReference.query.js +961 -120
  216. package/dist/docs/queries/docsIndex.query.d.ts +238 -243
  217. package/dist/docs/queries/docsIndex.query.d.ts.map +1 -0
  218. package/dist/docs/queries/docsIndex.query.js +961 -128
  219. package/dist/docs/queries/index.d.ts +3 -3
  220. package/dist/docs/queries/index.d.ts.map +1 -0
  221. package/dist/docs/queries/index.js +1040 -3
  222. package/dist/docs/registry.d.ts +18 -21
  223. package/dist/docs/registry.d.ts.map +1 -0
  224. package/dist/docs/registry.js +145 -43
  225. package/dist/docs/registry.test.d.ts +2 -0
  226. package/dist/docs/registry.test.d.ts.map +1 -0
  227. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +3 -6
  228. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts.map +1 -0
  229. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +164 -24
  230. package/dist/docs/tech/cli.docblock.d.ts +3 -6
  231. package/dist/docs/tech/cli.docblock.d.ts.map +1 -0
  232. package/dist/docs/tech/cli.docblock.js +164 -21
  233. package/dist/docs/tech/contracts/README.docblock.d.ts +3 -6
  234. package/dist/docs/tech/contracts/README.docblock.d.ts.map +1 -0
  235. package/dist/docs/tech/contracts/README.docblock.js +162 -19
  236. package/dist/docs/tech/contracts/migrations.docblock.d.ts +3 -6
  237. package/dist/docs/tech/contracts/migrations.docblock.d.ts.map +1 -0
  238. package/dist/docs/tech/contracts/migrations.docblock.js +162 -19
  239. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +3 -6
  240. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts.map +1 -0
  241. package/dist/docs/tech/contracts/openapi-export.docblock.js +165 -22
  242. package/dist/docs/tech/contracts/openapi-import.docblock.d.ts +3 -6
  243. package/dist/docs/tech/contracts/openapi-import.docblock.d.ts.map +1 -0
  244. package/dist/docs/tech/contracts/openapi-import.docblock.js +163 -21
  245. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +3 -6
  246. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts.map +1 -0
  247. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +224 -20
  248. package/dist/docs/tech/contracts/overlays.docblock.d.ts +3 -6
  249. package/dist/docs/tech/contracts/overlays.docblock.d.ts.map +1 -0
  250. package/dist/docs/tech/contracts/overlays.docblock.js +230 -20
  251. package/dist/docs/tech/contracts/tests.docblock.d.ts +3 -6
  252. package/dist/docs/tech/contracts/tests.docblock.d.ts.map +1 -0
  253. package/dist/docs/tech/contracts/tests.docblock.js +162 -19
  254. package/dist/docs/tech/contracts/themes.docblock.d.ts +3 -6
  255. package/dist/docs/tech/contracts/themes.docblock.d.ts.map +1 -0
  256. package/dist/docs/tech/contracts/themes.docblock.js +256 -20
  257. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +3 -6
  258. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts.map +1 -0
  259. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +163 -20
  260. package/dist/docs/tech/docs-system.docblock.d.ts +2 -1
  261. package/dist/docs/tech/docs-system.docblock.d.ts.map +1 -0
  262. package/dist/docs/tech/docs-system.docblock.js +211 -75
  263. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +3 -6
  264. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts.map +1 -0
  265. package/dist/docs/tech/lifecycle-stage-system.docblock.js +375 -16
  266. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +8 -7
  267. package/dist/docs/tech/llm/llm-integration.docblock.d.ts.map +1 -0
  268. package/dist/docs/tech/llm/llm-integration.docblock.js +193 -69
  269. package/dist/docs/tech/mcp-endpoints.docblock.d.ts +3 -6
  270. package/dist/docs/tech/mcp-endpoints.docblock.d.ts.map +1 -0
  271. package/dist/docs/tech/mcp-endpoints.docblock.js +170 -23
  272. package/dist/docs/tech/presentation-runtime.docblock.d.ts +3 -6
  273. package/dist/docs/tech/presentation-runtime.docblock.d.ts.map +1 -0
  274. package/dist/docs/tech/presentation-runtime.docblock.js +220 -16
  275. package/dist/docs/tech/report-verification-table.docblock.d.ts +2 -1
  276. package/dist/docs/tech/report-verification-table.docblock.d.ts.map +1 -0
  277. package/dist/docs/tech/report-verification-table.docblock.js +163 -22
  278. package/dist/docs/tech/report-verification-table.test.d.ts +2 -0
  279. package/dist/docs/tech/report-verification-table.test.d.ts.map +1 -0
  280. package/dist/docs/tech/schema/README.docblock.d.ts +3 -6
  281. package/dist/docs/tech/schema/README.docblock.d.ts.map +1 -0
  282. package/dist/docs/tech/schema/README.docblock.js +162 -19
  283. package/dist/docs/tech/studio/learning-events.docblock.d.ts +3 -6
  284. package/dist/docs/tech/studio/learning-events.docblock.d.ts.map +1 -0
  285. package/dist/docs/tech/studio/learning-events.docblock.js +168 -27
  286. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +3 -6
  287. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts.map +1 -0
  288. package/dist/docs/tech/studio/learning-journeys.docblock.js +178 -31
  289. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +3 -6
  290. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts.map +1 -0
  291. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +163 -22
  292. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +3 -6
  293. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts.map +1 -0
  294. package/dist/docs/tech/studio/project-access-teams.docblock.js +176 -24
  295. package/dist/docs/tech/studio/project-routing.docblock.d.ts +3 -6
  296. package/dist/docs/tech/studio/project-routing.docblock.d.ts.map +1 -0
  297. package/dist/docs/tech/studio/project-routing.docblock.js +173 -32
  298. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +3 -6
  299. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts.map +1 -0
  300. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +163 -21
  301. package/dist/docs/tech/studio/team-invitations.docblock.d.ts +3 -6
  302. package/dist/docs/tech/studio/team-invitations.docblock.d.ts.map +1 -0
  303. package/dist/docs/tech/studio/team-invitations.docblock.js +198 -40
  304. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +3 -6
  305. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts.map +1 -0
  306. package/dist/docs/tech/studio/workspace-ops.docblock.js +163 -22
  307. package/dist/docs/tech/studio/workspaces.docblock.d.ts +3 -6
  308. package/dist/docs/tech/studio/workspaces.docblock.d.ts.map +1 -0
  309. package/dist/docs/tech/studio/workspaces.docblock.js +164 -23
  310. package/dist/docs/tech/telemetry-ingest.docblock.d.ts +3 -6
  311. package/dist/docs/tech/telemetry-ingest.docblock.d.ts.map +1 -0
  312. package/dist/docs/tech/telemetry-ingest.docblock.js +177 -38
  313. package/dist/docs/tech/vscode-extension.docblock.d.ts +3 -6
  314. package/dist/docs/tech/vscode-extension.docblock.d.ts.map +1 -0
  315. package/dist/docs/tech/vscode-extension.docblock.js +175 -36
  316. package/dist/docs/tech-contracts.docs.d.ts +3 -6
  317. package/dist/docs/tech-contracts.docs.d.ts.map +1 -0
  318. package/dist/docs/tech-contracts.docs.js +166 -23
  319. package/dist/docs/types.d.ts +36 -39
  320. package/dist/docs/types.d.ts.map +1 -0
  321. package/dist/docs/types.js +1 -0
  322. package/dist/docs/views/contractReference.dataView.d.ts +3 -7
  323. package/dist/docs/views/contractReference.dataView.d.ts.map +1 -0
  324. package/dist/docs/views/contractReference.dataView.js +1045 -79
  325. package/dist/docs/views/docsIndex.dataView.d.ts +3 -7
  326. package/dist/docs/views/docsIndex.dataView.d.ts.map +1 -0
  327. package/dist/docs/views/docsIndex.dataView.js +1039 -134
  328. package/dist/docs/views/exampleCatalog.dataView.d.ts +3 -7
  329. package/dist/docs/views/exampleCatalog.dataView.d.ts.map +1 -0
  330. package/dist/docs/views/exampleCatalog.dataView.js +1023 -89
  331. package/dist/docs/views/index.d.ts +4 -4
  332. package/dist/docs/views/index.d.ts.map +1 -0
  333. package/dist/docs/views/index.js +1239 -4
  334. package/dist/events.d.ts +77 -47
  335. package/dist/events.d.ts.map +1 -0
  336. package/dist/events.js +225 -46
  337. package/dist/events.test.d.ts +2 -0
  338. package/dist/events.test.d.ts.map +1 -0
  339. package/dist/examples/docs/examples.docblock.d.ts +3 -6
  340. package/dist/examples/docs/examples.docblock.d.ts.map +1 -0
  341. package/dist/examples/docs/examples.docblock.js +163 -21
  342. package/dist/examples/index.d.ts +9 -10
  343. package/dist/examples/index.d.ts.map +1 -0
  344. package/dist/examples/index.js +604 -13
  345. package/dist/examples/registry.d.ts +23 -27
  346. package/dist/examples/registry.d.ts.map +1 -0
  347. package/dist/examples/registry.js +284 -86
  348. package/dist/examples/registry.test.d.ts +2 -0
  349. package/dist/examples/registry.test.d.ts.map +1 -0
  350. package/dist/examples/schema.d.ts +255 -258
  351. package/dist/examples/schema.d.ts.map +1 -0
  352. package/dist/examples/schema.js +141 -100
  353. package/dist/examples/schema.test.d.ts +2 -0
  354. package/dist/examples/schema.test.d.ts.map +1 -0
  355. package/dist/examples/types.d.ts +102 -106
  356. package/dist/examples/types.d.ts.map +1 -0
  357. package/dist/examples/types.js +66 -32
  358. package/dist/examples/types.test.d.ts +2 -0
  359. package/dist/examples/types.test.d.ts.map +1 -0
  360. package/dist/examples/validation.d.ts +37 -40
  361. package/dist/examples/validation.d.ts.map +1 -0
  362. package/dist/examples/validation.js +278 -135
  363. package/dist/examples/validation.test.d.ts +2 -0
  364. package/dist/examples/validation.test.d.ts.map +1 -0
  365. package/dist/experiments/docs/experiments.docblock.d.ts +3 -6
  366. package/dist/experiments/docs/experiments.docblock.d.ts.map +1 -0
  367. package/dist/experiments/docs/experiments.docblock.js +290 -20
  368. package/dist/experiments/evaluator.d.ts +30 -33
  369. package/dist/experiments/evaluator.d.ts.map +1 -0
  370. package/dist/experiments/evaluator.js +153 -99
  371. package/dist/experiments/evaluator.test.d.ts +2 -0
  372. package/dist/experiments/evaluator.test.d.ts.map +1 -0
  373. package/dist/experiments/spec-resolver.d.ts +12 -16
  374. package/dist/experiments/spec-resolver.d.ts.map +1 -0
  375. package/dist/experiments/spec-resolver.js +1 -0
  376. package/dist/experiments/spec.d.ts +66 -69
  377. package/dist/experiments/spec.d.ts.map +1 -0
  378. package/dist/experiments/spec.js +224 -12
  379. package/dist/experiments/spec.test.d.ts +2 -0
  380. package/dist/experiments/spec.test.d.ts.map +1 -0
  381. package/dist/features/index.d.ts +7 -10
  382. package/dist/features/index.d.ts.map +1 -0
  383. package/dist/features/index.js +275 -12
  384. package/dist/features/install.d.ts +12 -19
  385. package/dist/features/install.d.ts.map +1 -0
  386. package/dist/features/install.js +93 -34
  387. package/dist/features/install.test.d.ts +2 -0
  388. package/dist/features/install.test.d.ts.map +1 -0
  389. package/dist/features/registry.d.ts +20 -24
  390. package/dist/features/registry.d.ts.map +1 -0
  391. package/dist/features/registry.js +188 -45
  392. package/dist/features/registry.test.d.ts +2 -0
  393. package/dist/features/registry.test.d.ts.map +1 -0
  394. package/dist/features/types.d.ts +52 -57
  395. package/dist/features/types.d.ts.map +1 -0
  396. package/dist/features/types.js +1 -0
  397. package/dist/features/types.test.d.ts +2 -0
  398. package/dist/features/types.test.d.ts.map +1 -0
  399. package/dist/features/validation.d.ts +4 -7
  400. package/dist/features/validation.d.ts.map +1 -0
  401. package/dist/features/validation.js +46 -12
  402. package/dist/features/validation.test.d.ts +2 -0
  403. package/dist/features/validation.test.d.ts.map +1 -0
  404. package/dist/features.capabilities.test.d.ts +2 -0
  405. package/dist/features.capabilities.test.d.ts.map +1 -0
  406. package/dist/forms/docs/forms.docblock.d.ts +3 -6
  407. package/dist/forms/docs/forms.docblock.d.ts.map +1 -0
  408. package/dist/forms/docs/forms.docblock.js +162 -19
  409. package/dist/forms/forms.d.ts +222 -223
  410. package/dist/forms/forms.d.ts.map +1 -0
  411. package/dist/forms/forms.js +321 -132
  412. package/dist/forms/index.d.ts +2 -2
  413. package/dist/forms/index.d.ts.map +1 -0
  414. package/dist/forms/index.js +331 -2
  415. package/dist/index.d.ts +50 -185
  416. package/dist/index.d.ts.map +1 -0
  417. package/dist/index.js +18233 -157
  418. package/dist/install.d.ts +53 -54
  419. package/dist/install.d.ts.map +1 -0
  420. package/dist/install.js +53 -33
  421. package/dist/integrations/binding.d.ts +14 -16
  422. package/dist/integrations/binding.d.ts.map +1 -0
  423. package/dist/integrations/binding.js +1 -0
  424. package/dist/integrations/connection.d.ts +44 -47
  425. package/dist/integrations/connection.d.ts.map +1 -0
  426. package/dist/integrations/connection.js +1 -0
  427. package/dist/integrations/docs/integrations.docblock.d.ts +3 -6
  428. package/dist/integrations/docs/integrations.docblock.d.ts.map +1 -0
  429. package/dist/integrations/docs/integrations.docblock.js +191 -30
  430. package/dist/integrations/health.d.ts +15 -18
  431. package/dist/integrations/health.d.ts.map +1 -0
  432. package/dist/integrations/health.js +100 -66
  433. package/dist/integrations/health.test.d.ts +2 -0
  434. package/dist/integrations/health.test.d.ts.map +1 -0
  435. package/dist/integrations/index.d.ts +12 -34
  436. package/dist/integrations/index.d.ts.map +1 -0
  437. package/dist/integrations/index.js +3809 -23
  438. package/dist/integrations/integrations.capability.d.ts +2 -7
  439. package/dist/integrations/integrations.capability.d.ts.map +1 -0
  440. package/dist/integrations/integrations.capability.js +726 -17
  441. package/dist/integrations/integrations.feature.d.ts +2 -7
  442. package/dist/integrations/integrations.feature.d.ts.map +1 -0
  443. package/dist/integrations/integrations.feature.js +298 -64
  444. package/dist/integrations/meeting-recorder/contracts/index.d.ts +8 -0
  445. package/dist/integrations/meeting-recorder/contracts/index.d.ts.map +1 -0
  446. package/dist/integrations/meeting-recorder/contracts/index.js +1231 -0
  447. package/dist/integrations/meeting-recorder/contracts/meetings.d.ts +452 -0
  448. package/dist/integrations/meeting-recorder/contracts/meetings.d.ts.map +1 -0
  449. package/dist/integrations/meeting-recorder/contracts/meetings.js +866 -0
  450. package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts +167 -0
  451. package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts.map +1 -0
  452. package/dist/integrations/meeting-recorder/contracts/transcripts.js +933 -0
  453. package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts +86 -0
  454. package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts.map +1 -0
  455. package/dist/integrations/meeting-recorder/contracts/webhooks.js +819 -0
  456. package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts +2 -0
  457. package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts.map +1 -0
  458. package/dist/integrations/meeting-recorder/meeting-recorder.capability.js +726 -0
  459. package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts +6 -0
  460. package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts.map +1 -0
  461. package/dist/integrations/meeting-recorder/meeting-recorder.feature.js +301 -0
  462. package/dist/integrations/meeting-recorder/models.d.ts +403 -0
  463. package/dist/integrations/meeting-recorder/models.d.ts.map +1 -0
  464. package/dist/integrations/meeting-recorder/models.js +152 -0
  465. package/dist/integrations/meeting-recorder/telemetry.d.ts +14 -0
  466. package/dist/integrations/meeting-recorder/telemetry.d.ts.map +1 -0
  467. package/dist/integrations/meeting-recorder/telemetry.js +84 -0
  468. package/dist/integrations/openbanking/contracts/accounts.d.ts +258 -264
  469. package/dist/integrations/openbanking/contracts/accounts.d.ts.map +1 -0
  470. package/dist/integrations/openbanking/contracts/accounts.js +971 -233
  471. package/dist/integrations/openbanking/contracts/balances.d.ts +151 -157
  472. package/dist/integrations/openbanking/contracts/balances.d.ts.map +1 -0
  473. package/dist/integrations/openbanking/contracts/balances.js +935 -163
  474. package/dist/integrations/openbanking/contracts/index.d.ts +8 -10
  475. package/dist/integrations/openbanking/contracts/index.d.ts.map +1 -0
  476. package/dist/integrations/openbanking/contracts/index.js +1396 -9
  477. package/dist/integrations/openbanking/contracts/transactions.d.ts +190 -196
  478. package/dist/integrations/openbanking/contracts/transactions.d.ts.map +1 -0
  479. package/dist/integrations/openbanking/contracts/transactions.js +941 -214
  480. package/dist/integrations/openbanking/guards.d.ts +8 -11
  481. package/dist/integrations/openbanking/guards.d.ts.map +1 -0
  482. package/dist/integrations/openbanking/guards.js +68 -29
  483. package/dist/integrations/openbanking/guards.test.d.ts +2 -0
  484. package/dist/integrations/openbanking/guards.test.d.ts.map +1 -0
  485. package/dist/integrations/openbanking/models.d.ts +221 -225
  486. package/dist/integrations/openbanking/models.d.ts.map +1 -0
  487. package/dist/integrations/openbanking/models.js +136 -236
  488. package/dist/integrations/openbanking/openbanking.capability.d.ts +2 -7
  489. package/dist/integrations/openbanking/openbanking.capability.d.ts.map +1 -0
  490. package/dist/integrations/openbanking/openbanking.capability.js +726 -21
  491. package/dist/integrations/openbanking/openbanking.feature.d.ts +2 -7
  492. package/dist/integrations/openbanking/openbanking.feature.d.ts.map +1 -0
  493. package/dist/integrations/openbanking/openbanking.feature.js +300 -73
  494. package/dist/integrations/openbanking/telemetry.d.ts +12 -14
  495. package/dist/integrations/openbanking/telemetry.d.ts.map +1 -0
  496. package/dist/integrations/openbanking/telemetry.js +75 -33
  497. package/dist/integrations/operations.d.ts +421 -427
  498. package/dist/integrations/operations.d.ts.map +1 -0
  499. package/dist/integrations/operations.js +926 -375
  500. package/dist/integrations/operations.test.d.ts +2 -0
  501. package/dist/integrations/operations.test.d.ts.map +1 -0
  502. package/dist/integrations/providers/analytics-reader.d.ts +104 -0
  503. package/dist/integrations/providers/analytics-reader.d.ts.map +1 -0
  504. package/dist/integrations/providers/analytics-reader.js +1 -0
  505. package/dist/integrations/providers/analytics-writer.d.ts +7 -0
  506. package/dist/integrations/providers/analytics-writer.d.ts.map +1 -0
  507. package/dist/integrations/providers/analytics-writer.js +1 -0
  508. package/dist/integrations/providers/analytics.d.ts +48 -0
  509. package/dist/integrations/providers/analytics.d.ts.map +1 -0
  510. package/dist/integrations/providers/analytics.js +1 -0
  511. package/dist/integrations/providers/calendar.d.ts +68 -70
  512. package/dist/integrations/providers/calendar.d.ts.map +1 -0
  513. package/dist/integrations/providers/calendar.js +1 -0
  514. package/dist/integrations/providers/database.d.ts +13 -0
  515. package/dist/integrations/providers/database.d.ts.map +1 -0
  516. package/dist/integrations/providers/database.js +1 -0
  517. package/dist/integrations/providers/elevenlabs.d.ts +4 -8
  518. package/dist/integrations/providers/elevenlabs.d.ts.map +1 -0
  519. package/dist/integrations/providers/elevenlabs.js +327 -52
  520. package/dist/integrations/providers/email.d.ts +74 -76
  521. package/dist/integrations/providers/email.d.ts.map +1 -0
  522. package/dist/integrations/providers/email.js +1 -0
  523. package/dist/integrations/providers/embedding.d.ts +19 -21
  524. package/dist/integrations/providers/embedding.d.ts.map +1 -0
  525. package/dist/integrations/providers/embedding.js +1 -0
  526. package/dist/integrations/providers/fal.d.ts +4 -0
  527. package/dist/integrations/providers/fal.d.ts.map +1 -0
  528. package/dist/integrations/providers/fal.js +357 -0
  529. package/dist/integrations/providers/fathom.d.ts +4 -0
  530. package/dist/integrations/providers/fathom.d.ts.map +1 -0
  531. package/dist/integrations/providers/fathom.js +371 -0
  532. package/dist/integrations/providers/fireflies.d.ts +4 -0
  533. package/dist/integrations/providers/fireflies.d.ts.map +1 -0
  534. package/dist/integrations/providers/fireflies.js +351 -0
  535. package/dist/integrations/providers/gcs-storage.d.ts +4 -8
  536. package/dist/integrations/providers/gcs-storage.d.ts.map +1 -0
  537. package/dist/integrations/providers/gcs-storage.js +338 -75
  538. package/dist/integrations/providers/gmail.d.ts +4 -8
  539. package/dist/integrations/providers/gmail.d.ts.map +1 -0
  540. package/dist/integrations/providers/gmail.js +350 -87
  541. package/dist/integrations/providers/google-calendar.d.ts +4 -8
  542. package/dist/integrations/providers/google-calendar.d.ts.map +1 -0
  543. package/dist/integrations/providers/google-calendar.js +333 -66
  544. package/dist/integrations/providers/gradium.d.ts +4 -0
  545. package/dist/integrations/providers/gradium.d.ts.map +1 -0
  546. package/dist/integrations/providers/gradium.js +355 -0
  547. package/dist/integrations/providers/granola.d.ts +4 -0
  548. package/dist/integrations/providers/granola.d.ts.map +1 -0
  549. package/dist/integrations/providers/granola.js +352 -0
  550. package/dist/integrations/providers/index.d.ts +38 -22
  551. package/dist/integrations/providers/index.d.ts.map +1 -0
  552. package/dist/integrations/providers/index.js +2142 -13
  553. package/dist/integrations/providers/jira.d.ts +4 -0
  554. package/dist/integrations/providers/jira.d.ts.map +1 -0
  555. package/dist/integrations/providers/jira.js +353 -0
  556. package/dist/integrations/providers/linear.d.ts +4 -0
  557. package/dist/integrations/providers/linear.d.ts.map +1 -0
  558. package/dist/integrations/providers/linear.js +352 -0
  559. package/dist/integrations/providers/llm.d.ts +65 -67
  560. package/dist/integrations/providers/llm.d.ts.map +1 -0
  561. package/dist/integrations/providers/llm.js +1 -0
  562. package/dist/integrations/providers/meeting-recorder.d.ts +130 -0
  563. package/dist/integrations/providers/meeting-recorder.d.ts.map +1 -0
  564. package/dist/integrations/providers/meeting-recorder.js +1 -0
  565. package/dist/integrations/providers/mistral.d.ts +4 -8
  566. package/dist/integrations/providers/mistral.d.ts.map +1 -0
  567. package/dist/integrations/providers/mistral.js +335 -68
  568. package/dist/integrations/providers/notion.d.ts +4 -0
  569. package/dist/integrations/providers/notion.d.ts.map +1 -0
  570. package/dist/integrations/providers/notion.js +358 -0
  571. package/dist/integrations/providers/openbanking.d.ts +113 -115
  572. package/dist/integrations/providers/openbanking.d.ts.map +1 -0
  573. package/dist/integrations/providers/openbanking.js +1 -0
  574. package/dist/integrations/providers/payments.d.ts +94 -96
  575. package/dist/integrations/providers/payments.d.ts.map +1 -0
  576. package/dist/integrations/providers/payments.js +1 -0
  577. package/dist/integrations/providers/posthog.d.ts +4 -0
  578. package/dist/integrations/providers/posthog.d.ts.map +1 -0
  579. package/dist/integrations/providers/posthog.js +349 -0
  580. package/dist/integrations/providers/postmark.d.ts +4 -8
  581. package/dist/integrations/providers/postmark.d.ts.map +1 -0
  582. package/dist/integrations/providers/postmark.js +339 -68
  583. package/dist/integrations/providers/powens.d.ts +4 -8
  584. package/dist/integrations/providers/powens.d.ts.map +1 -0
  585. package/dist/integrations/providers/powens.js +365 -116
  586. package/dist/integrations/providers/project-management.d.ts +33 -0
  587. package/dist/integrations/providers/project-management.d.ts.map +1 -0
  588. package/dist/integrations/providers/project-management.js +1 -0
  589. package/dist/integrations/providers/providers.test.d.ts +2 -0
  590. package/dist/integrations/providers/providers.test.d.ts.map +1 -0
  591. package/dist/integrations/providers/qdrant.d.ts +4 -8
  592. package/dist/integrations/providers/qdrant.d.ts.map +1 -0
  593. package/dist/integrations/providers/qdrant.js +342 -73
  594. package/dist/integrations/providers/registry.d.ts +3 -7
  595. package/dist/integrations/providers/registry.d.ts.map +1 -0
  596. package/dist/integrations/providers/registry.js +2099 -33
  597. package/dist/integrations/providers/sms.d.ts +28 -30
  598. package/dist/integrations/providers/sms.d.ts.map +1 -0
  599. package/dist/integrations/providers/sms.js +1 -0
  600. package/dist/integrations/providers/storage.d.ts +49 -51
  601. package/dist/integrations/providers/storage.d.ts.map +1 -0
  602. package/dist/integrations/providers/storage.js +1 -0
  603. package/dist/integrations/providers/stripe.d.ts +4 -8
  604. package/dist/integrations/providers/stripe.d.ts.map +1 -0
  605. package/dist/integrations/providers/stripe.js +346 -83
  606. package/dist/integrations/providers/supabase-postgres.d.ts +4 -0
  607. package/dist/integrations/providers/supabase-postgres.d.ts.map +1 -0
  608. package/dist/integrations/providers/supabase-postgres.js +332 -0
  609. package/dist/integrations/providers/supabase-vector.d.ts +4 -0
  610. package/dist/integrations/providers/supabase-vector.d.ts.map +1 -0
  611. package/dist/integrations/providers/supabase-vector.js +352 -0
  612. package/dist/integrations/providers/tldv.d.ts +4 -0
  613. package/dist/integrations/providers/tldv.d.ts.map +1 -0
  614. package/dist/integrations/providers/tldv.js +351 -0
  615. package/dist/integrations/providers/twilio-sms.d.ts +4 -8
  616. package/dist/integrations/providers/twilio-sms.d.ts.map +1 -0
  617. package/dist/integrations/providers/twilio-sms.js +332 -61
  618. package/dist/integrations/providers/vector-store.d.ts +34 -37
  619. package/dist/integrations/providers/vector-store.d.ts.map +1 -0
  620. package/dist/integrations/providers/vector-store.js +1 -0
  621. package/dist/integrations/providers/voice.d.ts +28 -30
  622. package/dist/integrations/providers/voice.d.ts.map +1 -0
  623. package/dist/integrations/providers/voice.js +1 -0
  624. package/dist/integrations/runtime.d.ts +87 -90
  625. package/dist/integrations/runtime.d.ts.map +1 -0
  626. package/dist/integrations/runtime.js +234 -181
  627. package/dist/integrations/runtime.test.d.ts +2 -0
  628. package/dist/integrations/runtime.test.d.ts.map +1 -0
  629. package/dist/integrations/secrets/aws-secret-manager.d.ts +24 -26
  630. package/dist/integrations/secrets/aws-secret-manager.d.ts.map +1 -0
  631. package/dist/integrations/secrets/aws-secret-manager.js +367 -222
  632. package/dist/integrations/secrets/env-secret-provider.d.ts +21 -23
  633. package/dist/integrations/secrets/env-secret-provider.d.ts.map +1 -0
  634. package/dist/integrations/secrets/env-secret-provider.js +187 -79
  635. package/dist/integrations/secrets/gcp-secret-manager.d.ts +26 -28
  636. package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +1 -0
  637. package/dist/integrations/secrets/gcp-secret-manager.js +369 -221
  638. package/dist/integrations/secrets/index.d.ts +7 -7
  639. package/dist/integrations/secrets/index.d.ts.map +1 -0
  640. package/dist/integrations/secrets/index.js +1159 -8
  641. package/dist/integrations/secrets/manager.d.ts +33 -35
  642. package/dist/integrations/secrets/manager.d.ts.map +1 -0
  643. package/dist/integrations/secrets/manager.js +210 -100
  644. package/dist/integrations/secrets/provider.d.ts +43 -45
  645. package/dist/integrations/secrets/provider.d.ts.map +1 -0
  646. package/dist/integrations/secrets/provider.js +99 -53
  647. package/dist/integrations/secrets/provider.test.d.ts +2 -0
  648. package/dist/integrations/secrets/provider.test.d.ts.map +1 -0
  649. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +33 -35
  650. package/dist/integrations/secrets/scaleway-secret-manager.d.ts.map +1 -0
  651. package/dist/integrations/secrets/scaleway-secret-manager.js +394 -236
  652. package/dist/integrations/secrets-types.d.ts +9 -11
  653. package/dist/integrations/secrets-types.d.ts.map +1 -0
  654. package/dist/integrations/secrets-types.js +1 -0
  655. package/dist/integrations/spec.d.ts +61 -65
  656. package/dist/integrations/spec.d.ts.map +1 -0
  657. package/dist/integrations/spec.js +229 -19
  658. package/dist/integrations/spec.test.d.ts +2 -0
  659. package/dist/integrations/spec.test.d.ts.map +1 -0
  660. package/dist/jobs/define-job.d.ts +9 -11
  661. package/dist/jobs/define-job.d.ts.map +1 -0
  662. package/dist/jobs/define-job.js +39 -14
  663. package/dist/jobs/gcp-cloud-tasks.d.ts +34 -36
  664. package/dist/jobs/gcp-cloud-tasks.d.ts.map +1 -0
  665. package/dist/jobs/gcp-cloud-tasks.js +100 -50
  666. package/dist/jobs/gcp-pubsub.d.ts +19 -21
  667. package/dist/jobs/gcp-pubsub.d.ts.map +1 -0
  668. package/dist/jobs/gcp-pubsub.js +88 -36
  669. package/dist/jobs/handlers/gmail-sync-handler.d.ts +6 -9
  670. package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +1 -0
  671. package/dist/jobs/handlers/gmail-sync-handler.js +38 -7
  672. package/dist/jobs/handlers/handlers.test.d.ts +2 -0
  673. package/dist/jobs/handlers/handlers.test.d.ts.map +1 -0
  674. package/dist/jobs/handlers/index.d.ts +6 -9
  675. package/dist/jobs/handlers/index.d.ts.map +1 -0
  676. package/dist/jobs/handlers/index.js +80 -9
  677. package/dist/jobs/handlers/ping-handler.d.ts +7 -10
  678. package/dist/jobs/handlers/ping-handler.d.ts.map +1 -0
  679. package/dist/jobs/handlers/ping-handler.js +45 -13
  680. package/dist/jobs/handlers/storage-document-handler.d.ts +8 -11
  681. package/dist/jobs/handlers/storage-document-handler.d.ts.map +1 -0
  682. package/dist/jobs/handlers/storage-document-handler.js +45 -12
  683. package/dist/jobs/index.d.ts +3 -3
  684. package/dist/jobs/index.d.ts.map +1 -0
  685. package/dist/jobs/index.js +63 -3
  686. package/dist/jobs/memory-queue.d.ts +14 -17
  687. package/dist/jobs/memory-queue.d.ts.map +1 -0
  688. package/dist/jobs/memory-queue.js +126 -68
  689. package/dist/jobs/queue.d.ts +88 -92
  690. package/dist/jobs/queue.d.ts.map +1 -0
  691. package/dist/jobs/queue.js +49 -27
  692. package/dist/jobs/queue.test.d.ts +2 -0
  693. package/dist/jobs/queue.test.d.ts.map +1 -0
  694. package/dist/jobs/scaleway-sqs-queue.d.ts +25 -27
  695. package/dist/jobs/scaleway-sqs-queue.d.ts.map +1 -0
  696. package/dist/jobs/scaleway-sqs-queue.js +219 -150
  697. package/dist/jsonschema.d.ts +23 -25
  698. package/dist/jsonschema.d.ts.map +1 -0
  699. package/dist/jsonschema.js +60 -38
  700. package/dist/jsonschema.test.d.ts +2 -0
  701. package/dist/jsonschema.test.d.ts.map +1 -0
  702. package/dist/knowledge/binding.d.ts +22 -24
  703. package/dist/knowledge/binding.d.ts.map +1 -0
  704. package/dist/knowledge/binding.js +1 -0
  705. package/dist/knowledge/docs/knowledge.docblock.d.ts +3 -6
  706. package/dist/knowledge/docs/knowledge.docblock.d.ts.map +1 -0
  707. package/dist/knowledge/docs/knowledge.docblock.js +300 -20
  708. package/dist/knowledge/index.d.ts +5 -11
  709. package/dist/knowledge/index.d.ts.map +1 -0
  710. package/dist/knowledge/index.js +468 -10
  711. package/dist/knowledge/ingestion/document-processor.d.ts +19 -20
  712. package/dist/knowledge/ingestion/document-processor.d.ts.map +1 -0
  713. package/dist/knowledge/ingestion/document-processor.js +93 -52
  714. package/dist/knowledge/ingestion/embedding-service.d.ts +8 -11
  715. package/dist/knowledge/ingestion/embedding-service.d.ts.map +1 -0
  716. package/dist/knowledge/ingestion/embedding-service.js +55 -23
  717. package/dist/knowledge/ingestion/gmail-adapter.d.ts +14 -17
  718. package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +1 -0
  719. package/dist/knowledge/ingestion/gmail-adapter.js +96 -44
  720. package/dist/knowledge/ingestion/index.d.ts +6 -6
  721. package/dist/knowledge/ingestion/index.d.ts.map +1 -0
  722. package/dist/knowledge/ingestion/index.js +251 -6
  723. package/dist/knowledge/ingestion/ingestion.test.d.ts +2 -0
  724. package/dist/knowledge/ingestion/ingestion.test.d.ts.map +1 -0
  725. package/dist/knowledge/ingestion/storage-adapter.d.ts +11 -14
  726. package/dist/knowledge/ingestion/storage-adapter.d.ts.map +1 -0
  727. package/dist/knowledge/ingestion/storage-adapter.js +60 -24
  728. package/dist/knowledge/ingestion/vector-indexer.d.ts +13 -16
  729. package/dist/knowledge/ingestion/vector-indexer.d.ts.map +1 -0
  730. package/dist/knowledge/ingestion/vector-indexer.js +61 -30
  731. package/dist/knowledge/knowledge.capability.d.ts +2 -7
  732. package/dist/knowledge/knowledge.capability.d.ts.map +1 -0
  733. package/dist/knowledge/knowledge.capability.js +726 -21
  734. package/dist/knowledge/knowledge.feature.d.ts +2 -7
  735. package/dist/knowledge/knowledge.feature.d.ts.map +1 -0
  736. package/dist/knowledge/knowledge.feature.js +298 -65
  737. package/dist/knowledge/operations.d.ts +283 -289
  738. package/dist/knowledge/operations.d.ts.map +1 -0
  739. package/dist/knowledge/operations.js +851 -303
  740. package/dist/knowledge/operations.test.d.ts +2 -0
  741. package/dist/knowledge/operations.test.d.ts.map +1 -0
  742. package/dist/knowledge/query/index.d.ts +2 -2
  743. package/dist/knowledge/query/index.d.ts.map +1 -0
  744. package/dist/knowledge/query/index.js +109 -2
  745. package/dist/knowledge/query/service.d.ts +23 -26
  746. package/dist/knowledge/query/service.d.ts.map +1 -0
  747. package/dist/knowledge/query/service.js +105 -60
  748. package/dist/knowledge/query/service.test.d.ts +2 -0
  749. package/dist/knowledge/query/service.test.d.ts.map +1 -0
  750. package/dist/knowledge/runtime.d.ts +25 -28
  751. package/dist/knowledge/runtime.d.ts.map +1 -0
  752. package/dist/knowledge/runtime.js +89 -47
  753. package/dist/knowledge/runtime.test.d.ts +2 -0
  754. package/dist/knowledge/runtime.test.d.ts.map +1 -0
  755. package/dist/knowledge/source.d.ts +28 -30
  756. package/dist/knowledge/source.d.ts.map +1 -0
  757. package/dist/knowledge/source.js +1 -0
  758. package/dist/knowledge/spaces/email-threads.d.ts +4 -7
  759. package/dist/knowledge/spaces/email-threads.d.ts.map +1 -0
  760. package/dist/knowledge/spaces/email-threads.js +98 -33
  761. package/dist/knowledge/spaces/financial-docs.d.ts +4 -7
  762. package/dist/knowledge/spaces/financial-docs.d.ts.map +1 -0
  763. package/dist/knowledge/spaces/financial-docs.js +98 -33
  764. package/dist/knowledge/spaces/financial-overview.d.ts +4 -7
  765. package/dist/knowledge/spaces/financial-overview.d.ts.map +1 -0
  766. package/dist/knowledge/spaces/financial-overview.js +98 -37
  767. package/dist/knowledge/spaces/index.d.ts +7 -7
  768. package/dist/knowledge/spaces/index.d.ts.map +1 -0
  769. package/dist/knowledge/spaces/index.js +273 -8
  770. package/dist/knowledge/spaces/product-canon.d.ts +4 -7
  771. package/dist/knowledge/spaces/product-canon.d.ts.map +1 -0
  772. package/dist/knowledge/spaces/product-canon.js +98 -33
  773. package/dist/knowledge/spaces/spaces.test.d.ts +2 -0
  774. package/dist/knowledge/spaces/spaces.test.d.ts.map +1 -0
  775. package/dist/knowledge/spaces/support-faq.d.ts +4 -7
  776. package/dist/knowledge/spaces/support-faq.d.ts.map +1 -0
  777. package/dist/knowledge/spaces/support-faq.js +99 -36
  778. package/dist/knowledge/spaces/uploaded-docs.d.ts +4 -7
  779. package/dist/knowledge/spaces/uploaded-docs.d.ts.map +1 -0
  780. package/dist/knowledge/spaces/uploaded-docs.js +98 -33
  781. package/dist/knowledge/spec.d.ts +37 -40
  782. package/dist/knowledge/spec.d.ts.map +1 -0
  783. package/dist/knowledge/spec.js +225 -14
  784. package/dist/knowledge/spec.test.d.ts +2 -0
  785. package/dist/knowledge/spec.test.d.ts.map +1 -0
  786. package/dist/llm/exporters.d.ts +31 -32
  787. package/dist/llm/exporters.d.ts.map +1 -0
  788. package/dist/llm/exporters.js +1248 -529
  789. package/dist/llm/index.d.ts +13 -4
  790. package/dist/llm/index.d.ts.map +1 -0
  791. package/dist/llm/index.js +1714 -3
  792. package/dist/llm/prompts.d.ts +26 -24
  793. package/dist/llm/prompts.d.ts.map +1 -0
  794. package/dist/llm/prompts.js +1508 -212
  795. package/dist/llm/types.d.ts +180 -182
  796. package/dist/llm/types.d.ts.map +1 -0
  797. package/dist/llm/types.js +1 -0
  798. package/dist/markdown.d.ts +10 -15
  799. package/dist/markdown.d.ts.map +1 -0
  800. package/dist/markdown.js +776 -116
  801. package/dist/migrations.d.ts +49 -52
  802. package/dist/migrations.d.ts.map +1 -0
  803. package/dist/migrations.js +64 -28
  804. package/dist/migrations.test.d.ts +2 -0
  805. package/dist/migrations.test.d.ts.map +1 -0
  806. package/dist/model-registry.d.ts +8 -11
  807. package/dist/model-registry.d.ts.map +1 -0
  808. package/dist/model-registry.js +60 -29
  809. package/dist/model-registry.test.d.ts +2 -0
  810. package/dist/model-registry.test.d.ts.map +1 -0
  811. package/dist/node/app-config/app-config.capability.js +730 -0
  812. package/dist/node/app-config/app-config.contracts.js +927 -0
  813. package/dist/node/app-config/app-config.feature.js +255 -0
  814. package/dist/node/app-config/branding.js +0 -0
  815. package/dist/node/app-config/docs/app-config.docblock.js +383 -0
  816. package/dist/node/app-config/events.js +386 -0
  817. package/dist/node/app-config/index.js +3113 -0
  818. package/dist/node/app-config/lifecycle-contracts.js +1084 -0
  819. package/dist/node/app-config/lifecycle.js +0 -0
  820. package/dist/node/app-config/runtime.js +734 -0
  821. package/dist/node/app-config/spec.js +229 -0
  822. package/dist/node/app-config/validation.js +650 -0
  823. package/dist/node/capabilities/capabilities.js +217 -0
  824. package/dist/node/capabilities/context.js +101 -0
  825. package/dist/node/capabilities/docs/capabilities.docblock.js +353 -0
  826. package/dist/node/capabilities/guards.js +177 -0
  827. package/dist/node/capabilities/index.js +739 -0
  828. package/dist/node/capabilities/meeting-recorder.js +154 -0
  829. package/dist/node/capabilities/openbanking.js +166 -0
  830. package/dist/node/capabilities/validation.js +185 -0
  831. package/dist/node/client/index.js +1379 -0
  832. package/dist/node/client/react/drivers/rn-reusables.js +38 -0
  833. package/dist/node/client/react/drivers/shadcn.js +38 -0
  834. package/dist/node/client/react/feature-render.js +833 -0
  835. package/dist/node/client/react/form-render.js +681 -0
  836. package/dist/node/client/react/index.js +1376 -0
  837. package/dist/node/contract-registry/index.js +129 -0
  838. package/dist/node/contract-registry/schemas.js +129 -0
  839. package/dist/node/contract-registry/types.js +0 -0
  840. package/dist/node/data-views/data-views.js +232 -0
  841. package/dist/node/data-views/docs/data-views.docblock.js +164 -0
  842. package/dist/node/data-views/index.js +232 -0
  843. package/dist/node/data-views/query-generator.js +89 -0
  844. package/dist/node/data-views/registry.js +226 -0
  845. package/dist/node/data-views/report/contractVerificationTable.js +240 -0
  846. package/dist/node/data-views/runtime.js +108 -0
  847. package/dist/node/data-views/spec.js +38 -0
  848. package/dist/node/data-views/types.js +0 -0
  849. package/dist/node/docs/accessibility_wcag_compliance_specs.docblock.js +513 -0
  850. package/dist/node/docs/capabilities/documentationSystem.capability.js +784 -0
  851. package/dist/node/docs/capabilities/index.js +784 -0
  852. package/dist/node/docs/commands/docsGenerate.command.js +1016 -0
  853. package/dist/node/docs/commands/docsPublish.command.js +995 -0
  854. package/dist/node/docs/commands/index.js +1120 -0
  855. package/dist/node/docs/constants.js +78 -0
  856. package/dist/node/docs/contracts.js +2383 -0
  857. package/dist/node/docs/ensure-docblocks.js +264 -0
  858. package/dist/node/docs/events/docsGenerated.event.js +533 -0
  859. package/dist/node/docs/events/docsPublished.event.js +534 -0
  860. package/dist/node/docs/events/index.js +567 -0
  861. package/dist/node/docs/forms/docsSearch.form.js +676 -0
  862. package/dist/node/docs/forms/index.js +676 -0
  863. package/dist/node/docs/index.js +5491 -0
  864. package/dist/node/docs/meta.docs.js +176 -0
  865. package/dist/node/docs/presentations/docsLayout.presentation.js +1090 -0
  866. package/dist/node/docs/presentations/docsReferencePage.presentation.js +1090 -0
  867. package/dist/node/docs/presentations/index.js +1118 -0
  868. package/dist/node/docs/presentations.js +97 -0
  869. package/dist/node/docs/queries/contractReference.query.js +966 -0
  870. package/dist/node/docs/queries/docsIndex.query.js +966 -0
  871. package/dist/node/docs/queries/index.js +1041 -0
  872. package/dist/node/docs/registry.js +153 -0
  873. package/dist/node/docs/tech/auth/better-auth-nextjs.docblock.js +221 -0
  874. package/dist/node/docs/tech/cli.docblock.js +291 -0
  875. package/dist/node/docs/tech/contracts/README.docblock.js +164 -0
  876. package/dist/node/docs/tech/contracts/migrations.docblock.js +164 -0
  877. package/dist/node/docs/tech/contracts/openapi-export.docblock.js +201 -0
  878. package/dist/node/docs/tech/contracts/openapi-import.docblock.js +207 -0
  879. package/dist/node/docs/tech/contracts/ops-to-presentation-linking.docblock.js +225 -0
  880. package/dist/node/docs/tech/contracts/overlays.docblock.js +231 -0
  881. package/dist/node/docs/tech/contracts/tests.docblock.js +164 -0
  882. package/dist/node/docs/tech/contracts/themes.docblock.js +257 -0
  883. package/dist/node/docs/tech/contracts/vertical-pocket-family-office.docblock.js +269 -0
  884. package/dist/node/docs/tech/docs-system.docblock.js +264 -0
  885. package/dist/node/docs/tech/lifecycle-stage-system.docblock.js +376 -0
  886. package/dist/node/docs/tech/llm/llm-integration.docblock.js +482 -0
  887. package/dist/node/docs/tech/mcp-endpoints.docblock.js +185 -0
  888. package/dist/node/docs/tech/presentation-runtime.docblock.js +221 -0
  889. package/dist/node/docs/tech/report-verification-table.docblock.js +191 -0
  890. package/dist/node/docs/tech/schema/README.docblock.js +164 -0
  891. package/dist/node/docs/tech/studio/learning-events.docblock.js +190 -0
  892. package/dist/node/docs/tech/studio/learning-journeys.docblock.js +227 -0
  893. package/dist/node/docs/tech/studio/platform-admin-panel.docblock.js +226 -0
  894. package/dist/node/docs/tech/studio/project-access-teams.docblock.js +200 -0
  895. package/dist/node/docs/tech/studio/project-routing.docblock.js +209 -0
  896. package/dist/node/docs/tech/studio/sandbox-unlogged.docblock.js +183 -0
  897. package/dist/node/docs/tech/studio/team-invitations.docblock.js +228 -0
  898. package/dist/node/docs/tech/studio/workspace-ops.docblock.js +189 -0
  899. package/dist/node/docs/tech/studio/workspaces.docblock.js +204 -0
  900. package/dist/node/docs/tech/telemetry-ingest.docblock.js +305 -0
  901. package/dist/node/docs/tech/vscode-extension.docblock.js +241 -0
  902. package/dist/node/docs/tech-contracts.docs.js +239 -0
  903. package/dist/node/docs/types.js +0 -0
  904. package/dist/node/docs/views/contractReference.dataView.js +1047 -0
  905. package/dist/node/docs/views/docsIndex.dataView.js +1041 -0
  906. package/dist/node/docs/views/exampleCatalog.dataView.js +1025 -0
  907. package/dist/node/docs/views/index.js +1240 -0
  908. package/dist/node/events.js +228 -0
  909. package/dist/node/examples/docs/examples.docblock.js +307 -0
  910. package/dist/node/examples/index.js +604 -0
  911. package/dist/node/examples/registry.js +286 -0
  912. package/dist/node/examples/schema.js +166 -0
  913. package/dist/node/examples/types.js +77 -0
  914. package/dist/node/examples/validation.js +287 -0
  915. package/dist/node/experiments/docs/experiments.docblock.js +291 -0
  916. package/dist/node/experiments/evaluator.js +155 -0
  917. package/dist/node/experiments/spec-resolver.js +0 -0
  918. package/dist/node/experiments/spec.js +227 -0
  919. package/dist/node/features/index.js +275 -0
  920. package/dist/node/features/install.js +95 -0
  921. package/dist/node/features/registry.js +192 -0
  922. package/dist/node/features/types.js +0 -0
  923. package/dist/node/features/validation.js +48 -0
  924. package/dist/node/forms/docs/forms.docblock.js +164 -0
  925. package/dist/node/forms/forms.js +332 -0
  926. package/dist/node/forms/index.js +332 -0
  927. package/dist/node/index.js +18236 -0
  928. package/dist/node/install.js +60 -0
  929. package/dist/node/integrations/binding.js +0 -0
  930. package/dist/node/integrations/connection.js +0 -0
  931. package/dist/node/integrations/docs/integrations.docblock.js +255 -0
  932. package/dist/node/integrations/health.js +103 -0
  933. package/dist/node/integrations/index.js +3809 -0
  934. package/dist/node/integrations/integrations.capability.js +726 -0
  935. package/dist/node/integrations/integrations.feature.js +301 -0
  936. package/dist/node/integrations/meeting-recorder/contracts/index.js +1231 -0
  937. package/dist/node/integrations/meeting-recorder/contracts/meetings.js +866 -0
  938. package/dist/node/integrations/meeting-recorder/contracts/transcripts.js +933 -0
  939. package/dist/node/integrations/meeting-recorder/contracts/webhooks.js +819 -0
  940. package/dist/node/integrations/meeting-recorder/meeting-recorder.capability.js +726 -0
  941. package/dist/node/integrations/meeting-recorder/meeting-recorder.feature.js +301 -0
  942. package/dist/node/integrations/meeting-recorder/models.js +152 -0
  943. package/dist/node/integrations/meeting-recorder/telemetry.js +84 -0
  944. package/dist/node/integrations/openbanking/contracts/accounts.js +974 -0
  945. package/dist/node/integrations/openbanking/contracts/balances.js +938 -0
  946. package/dist/node/integrations/openbanking/contracts/index.js +1399 -0
  947. package/dist/node/integrations/openbanking/contracts/transactions.js +944 -0
  948. package/dist/node/integrations/openbanking/guards.js +72 -0
  949. package/dist/node/integrations/openbanking/models.js +140 -0
  950. package/dist/node/integrations/openbanking/openbanking.capability.js +726 -0
  951. package/dist/node/integrations/openbanking/openbanking.feature.js +303 -0
  952. package/dist/node/integrations/openbanking/telemetry.js +81 -0
  953. package/dist/node/integrations/operations.js +943 -0
  954. package/dist/node/integrations/providers/analytics-reader.js +0 -0
  955. package/dist/node/integrations/providers/analytics-writer.js +0 -0
  956. package/dist/node/integrations/providers/analytics.js +0 -0
  957. package/dist/node/integrations/providers/calendar.js +0 -0
  958. package/dist/node/integrations/providers/database.js +0 -0
  959. package/dist/node/integrations/providers/elevenlabs.js +331 -0
  960. package/dist/node/integrations/providers/email.js +0 -0
  961. package/dist/node/integrations/providers/embedding.js +0 -0
  962. package/dist/node/integrations/providers/fal.js +357 -0
  963. package/dist/node/integrations/providers/fathom.js +371 -0
  964. package/dist/node/integrations/providers/fireflies.js +351 -0
  965. package/dist/node/integrations/providers/gcs-storage.js +342 -0
  966. package/dist/node/integrations/providers/gmail.js +354 -0
  967. package/dist/node/integrations/providers/google-calendar.js +337 -0
  968. package/dist/node/integrations/providers/gradium.js +355 -0
  969. package/dist/node/integrations/providers/granola.js +352 -0
  970. package/dist/node/integrations/providers/index.js +2142 -0
  971. package/dist/node/integrations/providers/jira.js +353 -0
  972. package/dist/node/integrations/providers/linear.js +352 -0
  973. package/dist/node/integrations/providers/llm.js +0 -0
  974. package/dist/node/integrations/providers/meeting-recorder.js +0 -0
  975. package/dist/node/integrations/providers/mistral.js +339 -0
  976. package/dist/node/integrations/providers/notion.js +358 -0
  977. package/dist/node/integrations/providers/openbanking.js +0 -0
  978. package/dist/node/integrations/providers/payments.js +0 -0
  979. package/dist/node/integrations/providers/posthog.js +349 -0
  980. package/dist/node/integrations/providers/postmark.js +343 -0
  981. package/dist/node/integrations/providers/powens.js +369 -0
  982. package/dist/node/integrations/providers/project-management.js +0 -0
  983. package/dist/node/integrations/providers/qdrant.js +346 -0
  984. package/dist/node/integrations/providers/registry.js +2100 -0
  985. package/dist/node/integrations/providers/sms.js +0 -0
  986. package/dist/node/integrations/providers/storage.js +0 -0
  987. package/dist/node/integrations/providers/stripe.js +350 -0
  988. package/dist/node/integrations/providers/supabase-postgres.js +332 -0
  989. package/dist/node/integrations/providers/supabase-vector.js +352 -0
  990. package/dist/node/integrations/providers/tldv.js +351 -0
  991. package/dist/node/integrations/providers/twilio-sms.js +336 -0
  992. package/dist/node/integrations/providers/vector-store.js +0 -0
  993. package/dist/node/integrations/providers/voice.js +0 -0
  994. package/dist/node/integrations/runtime.js +239 -0
  995. package/dist/node/integrations/secrets/aws-secret-manager.js +376 -0
  996. package/dist/node/integrations/secrets/env-secret-provider.js +189 -0
  997. package/dist/node/integrations/secrets/gcp-secret-manager.js +377 -0
  998. package/dist/node/integrations/secrets/index.js +1159 -0
  999. package/dist/node/integrations/secrets/manager.js +213 -0
  1000. package/dist/node/integrations/secrets/provider.js +104 -0
  1001. package/dist/node/integrations/secrets/scaleway-secret-manager.js +405 -0
  1002. package/dist/node/integrations/secrets-types.js +0 -0
  1003. package/dist/node/integrations/spec.js +232 -0
  1004. package/dist/node/jobs/define-job.js +41 -0
  1005. package/dist/node/jobs/gcp-cloud-tasks.js +103 -0
  1006. package/dist/node/jobs/gcp-pubsub.js +91 -0
  1007. package/dist/node/jobs/handlers/gmail-sync-handler.js +40 -0
  1008. package/dist/node/jobs/handlers/index.js +83 -0
  1009. package/dist/node/jobs/handlers/ping-handler.js +47 -0
  1010. package/dist/node/jobs/handlers/storage-document-handler.js +47 -0
  1011. package/dist/node/jobs/index.js +64 -0
  1012. package/dist/node/jobs/memory-queue.js +129 -0
  1013. package/dist/node/jobs/queue.js +55 -0
  1014. package/dist/node/jobs/scaleway-sqs-queue.js +222 -0
  1015. package/dist/node/jsonschema.js +73 -0
  1016. package/dist/node/knowledge/binding.js +0 -0
  1017. package/dist/node/knowledge/docs/knowledge.docblock.js +301 -0
  1018. package/dist/node/knowledge/index.js +468 -0
  1019. package/dist/node/knowledge/ingestion/document-processor.js +95 -0
  1020. package/dist/node/knowledge/ingestion/embedding-service.js +57 -0
  1021. package/dist/node/knowledge/ingestion/gmail-adapter.js +103 -0
  1022. package/dist/node/knowledge/ingestion/index.js +252 -0
  1023. package/dist/node/knowledge/ingestion/storage-adapter.js +62 -0
  1024. package/dist/node/knowledge/ingestion/vector-indexer.js +63 -0
  1025. package/dist/node/knowledge/knowledge.capability.js +726 -0
  1026. package/dist/node/knowledge/knowledge.feature.js +301 -0
  1027. package/dist/node/knowledge/operations.js +869 -0
  1028. package/dist/node/knowledge/query/index.js +110 -0
  1029. package/dist/node/knowledge/query/service.js +110 -0
  1030. package/dist/node/knowledge/runtime.js +91 -0
  1031. package/dist/node/knowledge/source.js +0 -0
  1032. package/dist/node/knowledge/spaces/email-threads.js +102 -0
  1033. package/dist/node/knowledge/spaces/financial-docs.js +102 -0
  1034. package/dist/node/knowledge/spaces/financial-overview.js +102 -0
  1035. package/dist/node/knowledge/spaces/index.js +273 -0
  1036. package/dist/node/knowledge/spaces/product-canon.js +102 -0
  1037. package/dist/node/knowledge/spaces/support-faq.js +103 -0
  1038. package/dist/node/knowledge/spaces/uploaded-docs.js +102 -0
  1039. package/dist/node/knowledge/spec.js +228 -0
  1040. package/dist/node/llm/exporters.js +1261 -0
  1041. package/dist/node/llm/index.js +1715 -0
  1042. package/dist/node/llm/prompts.js +1706 -0
  1043. package/dist/node/llm/types.js +0 -0
  1044. package/dist/node/markdown.js +779 -0
  1045. package/dist/node/migrations.js +67 -0
  1046. package/dist/node/model-registry.js +64 -0
  1047. package/dist/node/onboarding-base.js +810 -0
  1048. package/dist/node/openapi.js +151 -0
  1049. package/dist/node/operations/index.js +665 -0
  1050. package/dist/node/operations/operation.js +51 -0
  1051. package/dist/node/operations/registry.js +405 -0
  1052. package/dist/node/operations/report/getContractVerificationStatus.js +170 -0
  1053. package/dist/node/operations/report/index.js +305 -0
  1054. package/dist/node/ownership.js +73 -0
  1055. package/dist/node/policy/context.js +206 -0
  1056. package/dist/node/policy/docs/policy.docblock.js +313 -0
  1057. package/dist/node/policy/engine.js +325 -0
  1058. package/dist/node/policy/guards.js +387 -0
  1059. package/dist/node/policy/index.js +1313 -0
  1060. package/dist/node/policy/opa-adapter.js +110 -0
  1061. package/dist/node/policy/registry.js +221 -0
  1062. package/dist/node/policy/spec.js +0 -0
  1063. package/dist/node/policy/validation.js +391 -0
  1064. package/dist/node/presentations/docs/presentations-conventions.docblock.js +171 -0
  1065. package/dist/node/presentations/index.js +795 -0
  1066. package/dist/node/presentations/presentations.js +38 -0
  1067. package/dist/node/presentations/registry.js +221 -0
  1068. package/dist/node/presentations/transform-engine.js +600 -0
  1069. package/dist/node/product-intent/contract-patch-intent.js +68 -0
  1070. package/dist/node/product-intent/contract-spec-patch.js +75 -0
  1071. package/dist/node/product-intent/evidence.js +45 -0
  1072. package/dist/node/product-intent/findings.js +81 -0
  1073. package/dist/node/product-intent/impact-report.js +62 -0
  1074. package/dist/node/product-intent/index.js +742 -0
  1075. package/dist/node/product-intent/insights.js +63 -0
  1076. package/dist/node/product-intent/opportunity-brief.js +106 -0
  1077. package/dist/node/product-intent/problems.js +55 -0
  1078. package/dist/node/product-intent/registry.js +242 -0
  1079. package/dist/node/product-intent/runtime.js +320 -0
  1080. package/dist/node/product-intent/spec.js +425 -0
  1081. package/dist/node/product-intent/task-pack.js +69 -0
  1082. package/dist/node/product-intent/tickets.js +57 -0
  1083. package/dist/node/product-intent/types.js +378 -0
  1084. package/dist/node/product-intent/ui-wireframe.js +73 -0
  1085. package/dist/node/prompt.js +38 -0
  1086. package/dist/node/promptRegistry.js +63 -0
  1087. package/dist/node/regenerator/adapters.js +0 -0
  1088. package/dist/node/regenerator/docs/regenerator.docblock.js +164 -0
  1089. package/dist/node/regenerator/executor.js +157 -0
  1090. package/dist/node/regenerator/index.js +342 -0
  1091. package/dist/node/regenerator/service.js +183 -0
  1092. package/dist/node/regenerator/sinks.js +64 -0
  1093. package/dist/node/regenerator/types.js +0 -0
  1094. package/dist/node/regenerator/utils.js +87 -0
  1095. package/dist/node/registry-utils.js +163 -0
  1096. package/dist/node/registry.js +215 -0
  1097. package/dist/node/resources.js +83 -0
  1098. package/dist/node/schema-to-markdown.js +278 -0
  1099. package/dist/node/serialization/index.js +179 -0
  1100. package/dist/node/serialization/serializers.js +180 -0
  1101. package/dist/node/serialization/types.js +0 -0
  1102. package/dist/node/server/contracts-adapter-hydration.js +71 -0
  1103. package/dist/node/server/contracts-adapter-input.js +130 -0
  1104. package/dist/node/server/graphql-pothos.js +338 -0
  1105. package/dist/node/server/index.js +1469 -0
  1106. package/dist/node/server/mcp/createMcpServer.js +994 -0
  1107. package/dist/node/server/mcp/mcpTypes.js +0 -0
  1108. package/dist/node/server/mcp/registerPresentations.js +877 -0
  1109. package/dist/node/server/mcp/registerPrompts.js +109 -0
  1110. package/dist/node/server/mcp/registerResources.js +75 -0
  1111. package/dist/node/server/mcp/registerTools.js +86 -0
  1112. package/dist/node/server/provider-mcp.js +994 -0
  1113. package/dist/node/server/rest-elysia.js +209 -0
  1114. package/dist/node/server/rest-express.js +224 -0
  1115. package/dist/node/server/rest-generic.js +192 -0
  1116. package/dist/node/server/rest-next-app.js +200 -0
  1117. package/dist/node/server/rest-next-mcp.js +103 -0
  1118. package/dist/node/server/rest-next-pages.js +211 -0
  1119. package/dist/node/telemetry/anomaly.js +91 -0
  1120. package/dist/node/telemetry/docs/telemetry.docblock.js +164 -0
  1121. package/dist/node/telemetry/index.js +417 -0
  1122. package/dist/node/telemetry/spec.js +261 -0
  1123. package/dist/node/telemetry/tracker.js +129 -0
  1124. package/dist/node/tests/index.js +231 -0
  1125. package/dist/node/tests/runner.js +189 -0
  1126. package/dist/node/tests/spec.js +74 -0
  1127. package/dist/node/themes.js +225 -0
  1128. package/dist/node/translations/catalog.js +0 -0
  1129. package/dist/node/translations/index.js +533 -0
  1130. package/dist/node/translations/registry.js +170 -0
  1131. package/dist/node/translations/spec.js +36 -0
  1132. package/dist/node/translations/tenant.js +0 -0
  1133. package/dist/node/translations/validation.js +392 -0
  1134. package/dist/node/types.js +0 -0
  1135. package/dist/node/versioning/index.js +274 -0
  1136. package/dist/node/versioning/refs.js +99 -0
  1137. package/dist/node/versioning/types.js +55 -0
  1138. package/dist/node/versioning/utils.js +184 -0
  1139. package/dist/node/workflow/adapters/db-adapter.js +127 -0
  1140. package/dist/node/workflow/adapters/file-adapter.js +38 -0
  1141. package/dist/node/workflow/adapters/index.js +194 -0
  1142. package/dist/node/workflow/adapters/memory-store.js +93 -0
  1143. package/dist/node/workflow/context.js +247 -0
  1144. package/dist/node/workflow/expression.js +157 -0
  1145. package/dist/node/workflow/index.js +1546 -0
  1146. package/dist/node/workflow/overview.docblock.js +164 -0
  1147. package/dist/node/workflow/runner.js +532 -0
  1148. package/dist/node/workflow/sla-monitor.js +84 -0
  1149. package/dist/node/workflow/spec.js +221 -0
  1150. package/dist/node/workflow/state.js +0 -0
  1151. package/dist/node/workflow/validation.js +425 -0
  1152. package/dist/node/workspace-config/contractsrc-schema.js +344 -0
  1153. package/dist/node/workspace-config/contractsrc-types.js +0 -0
  1154. package/dist/node/workspace-config/index.js +325 -0
  1155. package/dist/node/workspace-config/workspace-config.docblock.js +188 -0
  1156. package/dist/onboarding-base.d.ts +116 -122
  1157. package/dist/onboarding-base.d.ts.map +1 -0
  1158. package/dist/onboarding-base.js +807 -192
  1159. package/dist/openapi.d.ts +30 -27
  1160. package/dist/openapi.d.ts.map +1 -0
  1161. package/dist/openapi.js +140 -71
  1162. package/dist/operations/index.d.ts +4 -6
  1163. package/dist/operations/index.d.ts.map +1 -0
  1164. package/dist/operations/index.js +664 -6
  1165. package/dist/operations/operation.d.ts +151 -151
  1166. package/dist/operations/operation.d.ts.map +1 -0
  1167. package/dist/operations/operation.js +49 -33
  1168. package/dist/operations/registry.d.ts +53 -48
  1169. package/dist/operations/registry.d.ts.map +1 -0
  1170. package/dist/operations/registry.js +401 -172
  1171. package/dist/operations/report/getContractVerificationStatus.d.ts +61 -67
  1172. package/dist/operations/report/getContractVerificationStatus.d.ts.map +1 -0
  1173. package/dist/operations/report/getContractVerificationStatus.js +166 -92
  1174. package/dist/operations/report/getContractVerificationStatus.test.d.ts +2 -0
  1175. package/dist/operations/report/getContractVerificationStatus.test.d.ts.map +1 -0
  1176. package/dist/operations/report/index.d.ts +8 -10
  1177. package/dist/operations/report/index.d.ts.map +1 -0
  1178. package/dist/operations/report/index.js +301 -41
  1179. package/dist/operations/report/index.test.d.ts +2 -0
  1180. package/dist/operations/report/index.test.d.ts.map +1 -0
  1181. package/dist/ownership.d.ts +154 -151
  1182. package/dist/ownership.d.ts.map +1 -0
  1183. package/dist/ownership.js +70 -60
  1184. package/dist/ownership.test.d.ts +2 -0
  1185. package/dist/ownership.test.d.ts.map +1 -0
  1186. package/dist/policy/context.d.ts +154 -156
  1187. package/dist/policy/context.d.ts.map +1 -0
  1188. package/dist/policy/context.js +197 -218
  1189. package/dist/policy/context.test.d.ts +2 -0
  1190. package/dist/policy/context.test.d.ts.map +1 -0
  1191. package/dist/policy/docs/policy.docblock.d.ts +3 -6
  1192. package/dist/policy/docs/policy.docblock.d.ts.map +1 -0
  1193. package/dist/policy/docs/policy.docblock.js +312 -20
  1194. package/dist/policy/engine.d.ts +32 -35
  1195. package/dist/policy/engine.d.ts.map +1 -0
  1196. package/dist/policy/engine.js +298 -198
  1197. package/dist/policy/engine.test.d.ts +2 -0
  1198. package/dist/policy/engine.test.d.ts.map +1 -0
  1199. package/dist/policy/guards.d.ts +47 -35
  1200. package/dist/policy/guards.d.ts.map +1 -0
  1201. package/dist/policy/guards.js +373 -240
  1202. package/dist/policy/guards.test.d.ts +2 -0
  1203. package/dist/policy/guards.test.d.ts.map +1 -0
  1204. package/dist/policy/index.d.ts +10 -13
  1205. package/dist/policy/index.d.ts.map +1 -0
  1206. package/dist/policy/index.js +1313 -15
  1207. package/dist/policy/opa-adapter.d.ts +37 -40
  1208. package/dist/policy/opa-adapter.d.ts.map +1 -0
  1209. package/dist/policy/opa-adapter.js +103 -64
  1210. package/dist/policy/opa-adapter.test.d.ts +2 -0
  1211. package/dist/policy/opa-adapter.test.d.ts.map +1 -0
  1212. package/dist/policy/registry.d.ts +5 -8
  1213. package/dist/policy/registry.d.ts.map +1 -0
  1214. package/dist/policy/registry.js +219 -9
  1215. package/dist/policy/spec.d.ts +84 -87
  1216. package/dist/policy/spec.d.ts.map +1 -0
  1217. package/dist/policy/spec.js +1 -0
  1218. package/dist/policy/validation.d.ts +45 -27
  1219. package/dist/policy/validation.d.ts.map +1 -0
  1220. package/dist/policy/validation.js +369 -285
  1221. package/dist/policy/validation.test.d.ts +2 -0
  1222. package/dist/policy/validation.test.d.ts.map +1 -0
  1223. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +3 -6
  1224. package/dist/presentations/docs/presentations-conventions.docblock.d.ts.map +1 -0
  1225. package/dist/presentations/docs/presentations-conventions.docblock.js +169 -19
  1226. package/dist/presentations/index.d.ts +4 -4
  1227. package/dist/presentations/index.d.ts.map +1 -0
  1228. package/dist/presentations/index.js +794 -4
  1229. package/dist/presentations/presentations.d.ts +42 -45
  1230. package/dist/presentations/presentations.d.ts.map +1 -0
  1231. package/dist/presentations/presentations.js +36 -5
  1232. package/dist/presentations/registry.d.ts +5 -8
  1233. package/dist/presentations/registry.d.ts.map +1 -0
  1234. package/dist/presentations/registry.js +219 -10
  1235. package/dist/presentations/transform-engine.d.ts +43 -46
  1236. package/dist/presentations/transform-engine.d.ts.map +1 -0
  1237. package/dist/presentations/transform-engine.js +580 -262
  1238. package/dist/presentations/transform-engine.test.d.ts +2 -0
  1239. package/dist/presentations/transform-engine.test.d.ts.map +1 -0
  1240. package/dist/product-intent/contract-patch-intent.d.ts +101 -0
  1241. package/dist/product-intent/contract-patch-intent.d.ts.map +1 -0
  1242. package/dist/product-intent/contract-patch-intent.js +68 -0
  1243. package/dist/product-intent/contract-spec-patch.d.ts +87 -0
  1244. package/dist/product-intent/contract-spec-patch.d.ts.map +1 -0
  1245. package/dist/product-intent/contract-spec-patch.js +75 -0
  1246. package/dist/product-intent/evidence.d.ts +15 -0
  1247. package/dist/product-intent/evidence.d.ts.map +1 -0
  1248. package/dist/product-intent/evidence.js +45 -0
  1249. package/dist/product-intent/findings.d.ts +58 -0
  1250. package/dist/product-intent/findings.d.ts.map +1 -0
  1251. package/dist/product-intent/findings.js +81 -0
  1252. package/dist/product-intent/impact-report.d.ts +58 -0
  1253. package/dist/product-intent/impact-report.d.ts.map +1 -0
  1254. package/dist/product-intent/impact-report.js +62 -0
  1255. package/dist/product-intent/index.d.ts +14 -0
  1256. package/dist/product-intent/index.d.ts.map +1 -0
  1257. package/dist/product-intent/index.js +742 -0
  1258. package/dist/product-intent/insights.d.ts +63 -0
  1259. package/dist/product-intent/insights.d.ts.map +1 -0
  1260. package/dist/product-intent/insights.js +63 -0
  1261. package/dist/product-intent/opportunity-brief.d.ts +193 -0
  1262. package/dist/product-intent/opportunity-brief.d.ts.map +1 -0
  1263. package/dist/product-intent/opportunity-brief.js +106 -0
  1264. package/dist/product-intent/problems.d.ts +60 -0
  1265. package/dist/product-intent/problems.d.ts.map +1 -0
  1266. package/dist/product-intent/problems.js +55 -0
  1267. package/dist/product-intent/registry.d.ts +29 -0
  1268. package/dist/product-intent/registry.d.ts.map +1 -0
  1269. package/dist/product-intent/registry.js +242 -0
  1270. package/dist/product-intent/registry.test.d.ts +2 -0
  1271. package/dist/product-intent/registry.test.d.ts.map +1 -0
  1272. package/dist/product-intent/runtime.d.ts +93 -0
  1273. package/dist/product-intent/runtime.d.ts.map +1 -0
  1274. package/dist/product-intent/runtime.js +320 -0
  1275. package/dist/product-intent/runtime.test.d.ts +2 -0
  1276. package/dist/product-intent/runtime.test.d.ts.map +1 -0
  1277. package/dist/product-intent/spec.d.ts +665 -0
  1278. package/dist/product-intent/spec.d.ts.map +1 -0
  1279. package/dist/product-intent/spec.js +425 -0
  1280. package/dist/product-intent/task-pack.d.ts +99 -0
  1281. package/dist/product-intent/task-pack.d.ts.map +1 -0
  1282. package/dist/product-intent/task-pack.js +69 -0
  1283. package/dist/product-intent/tickets.d.ts +68 -0
  1284. package/dist/product-intent/tickets.d.ts.map +1 -0
  1285. package/dist/product-intent/tickets.js +57 -0
  1286. package/dist/product-intent/types.d.ts +12 -0
  1287. package/dist/product-intent/types.d.ts.map +1 -0
  1288. package/dist/product-intent/types.js +378 -0
  1289. package/dist/product-intent/ui-wireframe.d.ts +101 -0
  1290. package/dist/product-intent/ui-wireframe.d.ts.map +1 -0
  1291. package/dist/product-intent/ui-wireframe.js +73 -0
  1292. package/dist/prompt.d.ts +37 -40
  1293. package/dist/prompt.d.ts.map +1 -0
  1294. package/dist/prompt.js +35 -7
  1295. package/dist/prompt.test.d.ts +2 -0
  1296. package/dist/prompt.test.d.ts.map +1 -0
  1297. package/dist/promptRegistry.d.ts +11 -14
  1298. package/dist/promptRegistry.d.ts.map +1 -0
  1299. package/dist/promptRegistry.js +60 -28
  1300. package/dist/promptRegistry.test.d.ts +2 -0
  1301. package/dist/promptRegistry.test.d.ts.map +1 -0
  1302. package/dist/regenerator/adapters.d.ts +12 -15
  1303. package/dist/regenerator/adapters.d.ts.map +1 -0
  1304. package/dist/regenerator/adapters.js +1 -0
  1305. package/dist/regenerator/docs/regenerator.docblock.d.ts +3 -6
  1306. package/dist/regenerator/docs/regenerator.docblock.d.ts.map +1 -0
  1307. package/dist/regenerator/docs/regenerator.docblock.js +162 -19
  1308. package/dist/regenerator/executor.d.ts +52 -55
  1309. package/dist/regenerator/executor.d.ts.map +1 -0
  1310. package/dist/regenerator/executor.js +154 -83
  1311. package/dist/regenerator/executor.test.d.ts +2 -0
  1312. package/dist/regenerator/executor.test.d.ts.map +1 -0
  1313. package/dist/regenerator/index.d.ts +7 -7
  1314. package/dist/regenerator/index.d.ts.map +1 -0
  1315. package/dist/regenerator/index.js +341 -5
  1316. package/dist/regenerator/service.d.ts +28 -31
  1317. package/dist/regenerator/service.d.ts.map +1 -0
  1318. package/dist/regenerator/service.js +181 -91
  1319. package/dist/regenerator/service.test.d.ts +2 -0
  1320. package/dist/regenerator/service.test.d.ts.map +1 -0
  1321. package/dist/regenerator/sinks.d.ts +20 -22
  1322. package/dist/regenerator/sinks.d.ts.map +1 -0
  1323. package/dist/regenerator/sinks.js +62 -30
  1324. package/dist/regenerator/sinks.test.d.ts +2 -0
  1325. package/dist/regenerator/sinks.test.d.ts.map +1 -0
  1326. package/dist/regenerator/types.d.ts +87 -90
  1327. package/dist/regenerator/types.d.ts.map +1 -0
  1328. package/dist/regenerator/types.js +1 -0
  1329. package/dist/regenerator/utils.d.ts +6 -8
  1330. package/dist/regenerator/utils.d.ts.map +1 -0
  1331. package/dist/regenerator/utils.js +73 -37
  1332. package/dist/registry-utils.d.ts +63 -63
  1333. package/dist/registry-utils.d.ts.map +1 -0
  1334. package/dist/registry-utils.js +144 -103
  1335. package/dist/registry-utils.test.d.ts +2 -0
  1336. package/dist/registry-utils.test.d.ts.map +1 -0
  1337. package/dist/registry.d.ts +25 -29
  1338. package/dist/registry.d.ts.map +1 -0
  1339. package/dist/registry.js +212 -58
  1340. package/dist/resources.d.ts +56 -59
  1341. package/dist/resources.d.ts.map +1 -0
  1342. package/dist/resources.js +76 -43
  1343. package/dist/schema-to-markdown.d.ts +35 -32
  1344. package/dist/schema-to-markdown.d.ts.map +1 -0
  1345. package/dist/schema-to-markdown.js +251 -190
  1346. package/dist/serialization/index.d.ts +11 -3
  1347. package/dist/serialization/index.d.ts.map +1 -0
  1348. package/dist/serialization/index.js +179 -3
  1349. package/dist/serialization/serializers.d.ts +18 -22
  1350. package/dist/serialization/serializers.d.ts.map +1 -0
  1351. package/dist/serialization/serializers.js +164 -132
  1352. package/dist/serialization/types.d.ts +82 -84
  1353. package/dist/serialization/types.d.ts.map +1 -0
  1354. package/dist/serialization/types.js +1 -0
  1355. package/dist/server/contracts-adapter-hydration.d.ts +10 -13
  1356. package/dist/server/contracts-adapter-hydration.d.ts.map +1 -0
  1357. package/dist/server/contracts-adapter-hydration.js +67 -37
  1358. package/dist/server/contracts-adapter-input.d.ts +5 -8
  1359. package/dist/server/contracts-adapter-input.d.ts.map +1 -0
  1360. package/dist/server/contracts-adapter-input.js +121 -74
  1361. package/dist/server/graphql-pothos.d.ts +10 -14
  1362. package/dist/server/graphql-pothos.d.ts.map +1 -0
  1363. package/dist/server/graphql-pothos.js +334 -130
  1364. package/dist/server/index.d.ts +8 -9
  1365. package/dist/server/index.d.ts.map +1 -0
  1366. package/dist/server/index.js +1469 -10
  1367. package/dist/server/mcp/createMcpServer.d.ts +7 -11
  1368. package/dist/server/mcp/createMcpServer.d.ts.map +1 -0
  1369. package/dist/server/mcp/createMcpServer.js +993 -26
  1370. package/dist/server/mcp/mcpTypes.d.ts +22 -26
  1371. package/dist/server/mcp/mcpTypes.d.ts.map +1 -0
  1372. package/dist/server/mcp/mcpTypes.js +1 -0
  1373. package/dist/server/mcp/registerPresentations.d.ts +4 -7
  1374. package/dist/server/mcp/registerPresentations.d.ts.map +1 -0
  1375. package/dist/server/mcp/registerPresentations.js +873 -50
  1376. package/dist/server/mcp/registerPrompts.d.ts +5 -8
  1377. package/dist/server/mcp/registerPrompts.d.ts.map +1 -0
  1378. package/dist/server/mcp/registerPrompts.js +103 -35
  1379. package/dist/server/mcp/registerResources.d.ts +5 -8
  1380. package/dist/server/mcp/registerResources.d.ts.map +1 -0
  1381. package/dist/server/mcp/registerResources.js +70 -30
  1382. package/dist/server/mcp/registerTools.d.ts +5 -8
  1383. package/dist/server/mcp/registerTools.d.ts.map +1 -0
  1384. package/dist/server/mcp/registerTools.js +83 -19
  1385. package/dist/server/provider-mcp.d.ts +2 -2
  1386. package/dist/server/provider-mcp.d.ts.map +1 -0
  1387. package/dist/server/provider-mcp.js +993 -2
  1388. package/dist/server/provider-mcp.test.d.ts +2 -0
  1389. package/dist/server/provider-mcp.test.d.ts.map +1 -0
  1390. package/dist/server/rest-elysia.d.ts +30 -33
  1391. package/dist/server/rest-elysia.d.ts.map +1 -0
  1392. package/dist/server/rest-elysia.js +206 -17
  1393. package/dist/server/rest-express.d.ts +8 -12
  1394. package/dist/server/rest-express.d.ts.map +1 -0
  1395. package/dist/server/rest-express.js +221 -33
  1396. package/dist/server/rest-generic.d.ts +22 -25
  1397. package/dist/server/rest-generic.d.ts.map +1 -0
  1398. package/dist/server/rest-generic.js +185 -117
  1399. package/dist/server/rest-next-app.d.ts +5 -9
  1400. package/dist/server/rest-next-app.d.ts.map +1 -0
  1401. package/dist/server/rest-next-app.js +197 -35
  1402. package/dist/server/rest-next-mcp.d.ts +7 -10
  1403. package/dist/server/rest-next-mcp.d.ts.map +1 -0
  1404. package/dist/server/rest-next-mcp.js +100 -42
  1405. package/dist/server/rest-next-pages.d.ts +6 -9
  1406. package/dist/server/rest-next-pages.d.ts.map +1 -0
  1407. package/dist/server/rest-next-pages.js +208 -19
  1408. package/dist/telemetry/anomaly.d.ts +21 -24
  1409. package/dist/telemetry/anomaly.d.ts.map +1 -0
  1410. package/dist/telemetry/anomaly.js +89 -46
  1411. package/dist/telemetry/anomaly.test.d.ts +2 -0
  1412. package/dist/telemetry/anomaly.test.d.ts.map +1 -0
  1413. package/dist/telemetry/docs/telemetry.docblock.d.ts +3 -6
  1414. package/dist/telemetry/docs/telemetry.docblock.d.ts.map +1 -0
  1415. package/dist/telemetry/docs/telemetry.docblock.js +162 -19
  1416. package/dist/telemetry/index.d.ts +4 -4
  1417. package/dist/telemetry/index.d.ts.map +1 -0
  1418. package/dist/telemetry/index.js +416 -4
  1419. package/dist/telemetry/spec.d.ts +78 -81
  1420. package/dist/telemetry/spec.d.ts.map +1 -0
  1421. package/dist/telemetry/spec.js +257 -38
  1422. package/dist/telemetry/spec.test.d.ts +2 -0
  1423. package/dist/telemetry/spec.test.d.ts.map +1 -0
  1424. package/dist/telemetry/tracker.d.ts +44 -47
  1425. package/dist/telemetry/tracker.d.ts.map +1 -0
  1426. package/dist/telemetry/tracker.js +126 -73
  1427. package/dist/telemetry/tracker.test.d.ts +2 -0
  1428. package/dist/telemetry/tracker.test.d.ts.map +1 -0
  1429. package/dist/tests/index.d.ts +3 -3
  1430. package/dist/tests/index.d.ts.map +1 -0
  1431. package/dist/tests/index.js +230 -3
  1432. package/dist/tests/runner.d.ts +34 -38
  1433. package/dist/tests/runner.d.ts.map +1 -0
  1434. package/dist/tests/runner.js +186 -147
  1435. package/dist/tests/runner.test.d.ts +2 -0
  1436. package/dist/tests/runner.test.d.ts.map +1 -0
  1437. package/dist/tests/spec.d.ts +59 -63
  1438. package/dist/tests/spec.d.ts.map +1 -0
  1439. package/dist/tests/spec.js +68 -28
  1440. package/dist/tests/spec.test.d.ts +2 -0
  1441. package/dist/tests/spec.test.d.ts.map +1 -0
  1442. package/dist/themes.d.ts +44 -47
  1443. package/dist/themes.d.ts.map +1 -0
  1444. package/dist/themes.js +222 -14
  1445. package/dist/themes.test.d.ts +2 -0
  1446. package/dist/themes.test.d.ts.map +1 -0
  1447. package/dist/translations/catalog.d.ts +22 -24
  1448. package/dist/translations/catalog.d.ts.map +1 -0
  1449. package/dist/translations/catalog.js +1 -0
  1450. package/dist/translations/index.d.ts +45 -6
  1451. package/dist/translations/index.d.ts.map +1 -0
  1452. package/dist/translations/index.js +532 -4
  1453. package/dist/translations/registry.d.ts +167 -138
  1454. package/dist/translations/registry.d.ts.map +1 -0
  1455. package/dist/translations/registry.js +168 -221
  1456. package/dist/translations/registry.test.d.ts +2 -0
  1457. package/dist/translations/registry.test.d.ts.map +1 -0
  1458. package/dist/translations/spec.d.ts +114 -86
  1459. package/dist/translations/spec.d.ts.map +1 -0
  1460. package/dist/translations/spec.js +35 -30
  1461. package/dist/translations/spec.test.d.ts +2 -0
  1462. package/dist/translations/spec.test.d.ts.map +1 -0
  1463. package/dist/translations/tenant.d.ts +11 -14
  1464. package/dist/translations/tenant.d.ts.map +1 -0
  1465. package/dist/translations/tenant.js +1 -0
  1466. package/dist/translations/validation.d.ts +58 -36
  1467. package/dist/translations/validation.d.ts.map +1 -0
  1468. package/dist/translations/validation.js +366 -302
  1469. package/dist/translations/validation.test.d.ts +2 -0
  1470. package/dist/translations/validation.test.d.ts.map +1 -0
  1471. package/dist/types.d.ts +117 -122
  1472. package/dist/types.d.ts.map +1 -0
  1473. package/dist/types.js +1 -0
  1474. package/dist/versioning/index.d.ts +10 -4
  1475. package/dist/versioning/index.d.ts.map +1 -0
  1476. package/dist/versioning/index.js +273 -4
  1477. package/dist/versioning/refs.d.ts +22 -24
  1478. package/dist/versioning/refs.d.ts.map +1 -0
  1479. package/dist/versioning/refs.js +83 -145
  1480. package/dist/versioning/refs.test.d.ts +5 -0
  1481. package/dist/versioning/refs.test.d.ts.map +1 -0
  1482. package/dist/versioning/types.d.ts +110 -106
  1483. package/dist/versioning/types.d.ts.map +1 -0
  1484. package/dist/versioning/types.js +49 -18
  1485. package/dist/versioning/utils.d.ts +18 -19
  1486. package/dist/versioning/utils.d.ts.map +1 -0
  1487. package/dist/versioning/utils.js +158 -154
  1488. package/dist/versioning/utils.test.d.ts +5 -0
  1489. package/dist/versioning/utils.test.d.ts.map +1 -0
  1490. package/dist/workflow/adapters/db-adapter.d.ts +39 -41
  1491. package/dist/workflow/adapters/db-adapter.d.ts.map +1 -0
  1492. package/dist/workflow/adapters/db-adapter.js +125 -81
  1493. package/dist/workflow/adapters/file-adapter.d.ts +6 -9
  1494. package/dist/workflow/adapters/file-adapter.d.ts.map +1 -0
  1495. package/dist/workflow/adapters/file-adapter.js +36 -9
  1496. package/dist/workflow/adapters/index.d.ts +4 -4
  1497. package/dist/workflow/adapters/index.d.ts.map +1 -0
  1498. package/dist/workflow/adapters/index.js +193 -4
  1499. package/dist/workflow/adapters/memory-store.d.ts +9 -13
  1500. package/dist/workflow/adapters/memory-store.d.ts.map +1 -0
  1501. package/dist/workflow/adapters/memory-store.js +89 -54
  1502. package/dist/workflow/context.d.ts +168 -141
  1503. package/dist/workflow/context.d.ts.map +1 -0
  1504. package/dist/workflow/context.js +237 -217
  1505. package/dist/workflow/context.test.d.ts +2 -0
  1506. package/dist/workflow/context.test.d.ts.map +1 -0
  1507. package/dist/workflow/expression.d.ts +6 -8
  1508. package/dist/workflow/expression.d.ts.map +1 -0
  1509. package/dist/workflow/expression.js +143 -85
  1510. package/dist/workflow/expression.test.d.ts +2 -0
  1511. package/dist/workflow/expression.test.d.ts.map +1 -0
  1512. package/dist/workflow/index.d.ts +11 -17
  1513. package/dist/workflow/index.d.ts.map +1 -0
  1514. package/dist/workflow/index.js +1546 -18
  1515. package/dist/workflow/overview.docblock.d.ts +3 -6
  1516. package/dist/workflow/overview.docblock.d.ts.map +1 -0
  1517. package/dist/workflow/overview.docblock.js +162 -19
  1518. package/dist/workflow/runner.d.ts +65 -70
  1519. package/dist/workflow/runner.d.ts.map +1 -0
  1520. package/dist/workflow/runner.js +519 -324
  1521. package/dist/workflow/runner.test.d.ts +2 -0
  1522. package/dist/workflow/runner.test.d.ts.map +1 -0
  1523. package/dist/workflow/sla-monitor.d.ts +15 -18
  1524. package/dist/workflow/sla-monitor.d.ts.map +1 -0
  1525. package/dist/workflow/sla-monitor.js +82 -45
  1526. package/dist/workflow/spec.d.ts +71 -75
  1527. package/dist/workflow/spec.d.ts.map +1 -0
  1528. package/dist/workflow/spec.js +219 -9
  1529. package/dist/workflow/state.d.ts +28 -31
  1530. package/dist/workflow/state.d.ts.map +1 -0
  1531. package/dist/workflow/state.js +1 -0
  1532. package/dist/workflow/validation.d.ts +35 -38
  1533. package/dist/workflow/validation.d.ts.map +1 -0
  1534. package/dist/workflow/validation.js +396 -340
  1535. package/dist/workflow/validation.test.d.ts +2 -0
  1536. package/dist/workflow/validation.test.d.ts.map +1 -0
  1537. package/dist/workspace-config/contractsrc-schema.d.ts +44 -41
  1538. package/dist/workspace-config/contractsrc-schema.d.ts.map +1 -0
  1539. package/dist/workspace-config/contractsrc-schema.js +312 -390
  1540. package/dist/workspace-config/contractsrc-schema.test.d.ts +2 -0
  1541. package/dist/workspace-config/contractsrc-schema.test.d.ts.map +1 -0
  1542. package/dist/workspace-config/contractsrc-types.d.ts +302 -304
  1543. package/dist/workspace-config/contractsrc-types.d.ts.map +1 -0
  1544. package/dist/workspace-config/contractsrc-types.js +1 -0
  1545. package/dist/workspace-config/index.d.ts +6 -3
  1546. package/dist/workspace-config/index.d.ts.map +1 -0
  1547. package/dist/workspace-config/index.js +325 -3
  1548. package/dist/workspace-config/workspace-config.docblock.d.ts +3 -6
  1549. package/dist/workspace-config/workspace-config.docblock.d.ts.map +1 -0
  1550. package/dist/workspace-config/workspace-config.docblock.js +163 -20
  1551. package/package.json +2743 -587
  1552. package/dist/_virtual/rolldown_runtime.js +0 -37
  1553. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -20
  1554. package/dist/integrations/providers/impls/elevenlabs-voice.js +0 -95
  1555. package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -24
  1556. package/dist/integrations/providers/impls/gcs-storage.js +0 -88
  1557. package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -26
  1558. package/dist/integrations/providers/impls/gmail-inbound.js +0 -200
  1559. package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -18
  1560. package/dist/integrations/providers/impls/gmail-outbound.js +0 -105
  1561. package/dist/integrations/providers/impls/google-calendar.d.ts +0 -23
  1562. package/dist/integrations/providers/impls/google-calendar.js +0 -154
  1563. package/dist/integrations/providers/impls/index.d.ts +0 -15
  1564. package/dist/integrations/providers/impls/index.js +0 -16
  1565. package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -23
  1566. package/dist/integrations/providers/impls/mistral-embedding.js +0 -41
  1567. package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -31
  1568. package/dist/integrations/providers/impls/mistral-llm.js +0 -247
  1569. package/dist/integrations/providers/impls/postmark-email.d.ts +0 -19
  1570. package/dist/integrations/providers/impls/postmark-email.js +0 -55
  1571. package/dist/integrations/providers/impls/powens-client.d.ts +0 -124
  1572. package/dist/integrations/providers/impls/powens-client.js +0 -171
  1573. package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -27
  1574. package/dist/integrations/providers/impls/powens-openbanking.js +0 -218
  1575. package/dist/integrations/providers/impls/provider-factory.d.ts +0 -26
  1576. package/dist/integrations/providers/impls/provider-factory.js +0 -146
  1577. package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -24
  1578. package/dist/integrations/providers/impls/qdrant-vector.js +0 -69
  1579. package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -28
  1580. package/dist/integrations/providers/impls/stripe-payments.js +0 -202
  1581. package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -20
  1582. package/dist/integrations/providers/impls/twilio-sms.js +0 -58
@@ -1,11 +1,1257 @@
1
- import { operationSpecToAgentPrompt, operationSpecToFullMarkdown } from "./exporters.js";
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __moduleCache = /* @__PURE__ */ new WeakMap;
7
+ var __toCommonJS = (from) => {
8
+ var entry = __moduleCache.get(from), desc;
9
+ if (entry)
10
+ return entry;
11
+ entry = __defProp({}, "__esModule", { value: true });
12
+ if (from && typeof from === "object" || typeof from === "function")
13
+ __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ }));
17
+ __moduleCache.set(from, entry);
18
+ return entry;
19
+ };
20
+ var __export = (target, all) => {
21
+ for (var name in all)
22
+ __defProp(target, name, {
23
+ get: all[name],
24
+ enumerable: true,
25
+ configurable: true,
26
+ set: (newValue) => all[name] = () => newValue
27
+ });
28
+ };
29
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
30
+ var __require = import.meta.require;
31
+
32
+ // src/registry-utils.ts
33
+ var exports_registry_utils = {};
34
+ __export(exports_registry_utils, {
35
+ groupByToArray: () => groupByToArray,
36
+ groupByMultiple: () => groupByMultiple,
37
+ groupBy: () => groupBy,
38
+ getUniqueTags: () => getUniqueTags,
39
+ getUniqueOwners: () => getUniqueOwners,
40
+ getUniqueDomains: () => getUniqueDomains,
41
+ filterBy: () => filterBy,
42
+ GroupingStrategies: () => GroupingStrategies
43
+ });
44
+ function filterBy(items, filter) {
45
+ return items.filter((item) => {
46
+ if (filter.tags?.length) {
47
+ const hasMatchingTag = filter.tags.some((tag) => item.meta.tags?.includes(tag));
48
+ if (!hasMatchingTag)
49
+ return false;
50
+ }
51
+ if (filter.owners?.length) {
52
+ const hasMatchingOwner = filter.owners.some((owner) => item.meta.owners?.includes(owner));
53
+ if (!hasMatchingOwner)
54
+ return false;
55
+ }
56
+ if (filter.stability?.length) {
57
+ if (!filter.stability.includes(item.meta.stability ?? "stable")) {
58
+ return false;
59
+ }
60
+ }
61
+ if (filter.domain) {
62
+ const itemDomain = GroupingStrategies.byDomain(item);
63
+ if (itemDomain !== filter.domain)
64
+ return false;
65
+ }
66
+ if (filter.keyPattern) {
67
+ const name = item.meta.key ?? item.meta.key ?? "";
68
+ const pattern = filter.keyPattern.replace(/\*/g, ".*").replace(/\?/g, ".");
69
+ const regex = new RegExp(`^${pattern}$`, "i");
70
+ if (!regex.test(name))
71
+ return false;
72
+ }
73
+ return true;
74
+ });
75
+ }
76
+ function groupBy(items, keyFn) {
77
+ const groups = new Map;
78
+ for (const item of items) {
79
+ const key = keyFn(item);
80
+ const existing = groups.get(key);
81
+ if (existing) {
82
+ existing.push(item);
83
+ } else {
84
+ groups.set(key, [item]);
85
+ }
86
+ }
87
+ return groups;
88
+ }
89
+ function groupByToArray(items, keyFn) {
90
+ const map = groupBy(items, keyFn);
91
+ return Array.from(map.entries()).map(([key, items2]) => ({ key, items: items2 }));
92
+ }
93
+ function groupByMultiple(items, keysFn) {
94
+ const groups = new Map;
95
+ for (const item of items) {
96
+ const keys = keysFn(item);
97
+ for (const key of keys) {
98
+ const existing = groups.get(key);
99
+ if (existing) {
100
+ existing.push(item);
101
+ } else {
102
+ groups.set(key, [item]);
103
+ }
104
+ }
105
+ }
106
+ return groups;
107
+ }
108
+ function getUniqueTags(items) {
109
+ const tags = new Set;
110
+ for (const item of items) {
111
+ for (const tag of item.meta.tags ?? []) {
112
+ tags.add(tag);
113
+ }
114
+ }
115
+ return Array.from(tags).sort();
116
+ }
117
+ function getUniqueOwners(items) {
118
+ const owners = new Set;
119
+ for (const item of items) {
120
+ for (const owner of item.meta.owners ?? []) {
121
+ owners.add(owner);
122
+ }
123
+ }
124
+ return Array.from(owners).sort();
125
+ }
126
+ function getUniqueDomains(items) {
127
+ const domains = new Set;
128
+ for (const item of items) {
129
+ domains.add(GroupingStrategies.byDomain(item));
130
+ }
131
+ return Array.from(domains).sort();
132
+ }
133
+ var GroupingStrategies;
134
+ var init_registry_utils = __esm(() => {
135
+ GroupingStrategies = {
136
+ byTag: (item) => item.meta.tags?.[0] ?? "untagged",
137
+ byAllTags: (item) => item.meta.tags?.length ? item.meta.tags : ["untagged"],
138
+ byOwner: (item) => item.meta.owners?.[0] ?? "unowned",
139
+ byDomain: (item) => {
140
+ const name = item.meta.key ?? item.meta.key ?? "";
141
+ return name.split(".")[0] ?? "default";
142
+ },
143
+ byStability: (item) => item.meta.stability ?? "stable",
144
+ byUrlPath: (level) => (item) => {
145
+ if (!item.path)
146
+ return "root";
147
+ const segments = item.path.split("/").filter(Boolean);
148
+ return segments.slice(0, level).join("/") || "root";
149
+ }
150
+ };
151
+ });
152
+
153
+ // src/ownership.ts
154
+ var StabilityEnum = {
155
+ Idea: "idea",
156
+ InCreation: "in_creation",
157
+ Experimental: "experimental",
158
+ Beta: "beta",
159
+ Stable: "stable",
160
+ Deprecated: "deprecated"
161
+ };
162
+ var OwnersEnum = {
163
+ PlatformCore: "platform.core",
164
+ PlatformSigil: "platform.sigil",
165
+ PlatformMarketplace: "platform.marketplace",
166
+ PlatformMessaging: "platform.messaging",
167
+ PlatformContent: "platform.content",
168
+ PlatformFeatureFlags: "platform.featureflags",
169
+ PlatformFinance: "platform.finance"
170
+ };
171
+ var Owners = OwnersEnum;
172
+ var TagsEnum = {
173
+ Spots: "spots",
174
+ Collectivity: "collectivity",
175
+ Marketplace: "marketplace",
176
+ Sellers: "sellers",
177
+ Auth: "auth",
178
+ Login: "login",
179
+ Signup: "signup",
180
+ Guide: "guide",
181
+ Docs: "docs",
182
+ I18n: "i18n",
183
+ Incident: "incident",
184
+ Automation: "automation",
185
+ Hygiene: "hygiene"
186
+ };
187
+ var Tags = TagsEnum;
188
+
189
+ // src/operations/operation.ts
190
+ var isEmitDeclRef = (e) => ("ref" in e);
191
+ var defineCommand = (spec) => ({
192
+ ...spec,
193
+ meta: { ...spec.meta, kind: "command" },
194
+ policy: {
195
+ ...spec.policy,
196
+ idempotent: spec.policy?.["policy"]?.idempotent ?? false
197
+ }
198
+ });
199
+ var defineQuery = (spec) => ({
200
+ ...spec,
201
+ meta: { ...spec.meta, kind: "query" },
202
+ policy: { ...spec.policy, idempotent: true }
203
+ });
204
+
205
+ // src/registry.ts
206
+ init_registry_utils();
207
+ import { compareVersions } from "compare-versions";
208
+ var keyOfSpecContract = (spec) => `${spec.meta.key}.v${spec.meta.version}`;
209
+
210
+ class SpecContractRegistry {
211
+ contractType;
212
+ items = new Map;
213
+ constructor(contractType, items) {
214
+ this.contractType = contractType;
215
+ if (items) {
216
+ items.forEach((p) => this.register(p));
217
+ }
218
+ }
219
+ register(p) {
220
+ const key = keyOfSpecContract(p);
221
+ if (this.items.has(key))
222
+ throw new Error(`Duplicate contract \`${this.contractType}\` ${key}`);
223
+ this.items.set(key, p);
224
+ return this;
225
+ }
226
+ count() {
227
+ return this.items.size;
228
+ }
229
+ list() {
230
+ return [...this.items.values()];
231
+ }
232
+ get(key, version) {
233
+ if (version != null)
234
+ return this.items.get(`${key}.v${version}`);
235
+ let candidate;
236
+ for (const [k, p] of this.items.entries()) {
237
+ if (!k.startsWith(`${key}.v`))
238
+ continue;
239
+ if (!candidate || compareVersions(p.meta.version, candidate.meta.version) > 0) {
240
+ candidate = p;
241
+ }
242
+ }
243
+ return candidate;
244
+ }
245
+ has(key, version) {
246
+ return !!this.get(key, version);
247
+ }
248
+ filter(criteria) {
249
+ return filterBy(this.list(), criteria);
250
+ }
251
+ listByTag(tag) {
252
+ return this.list().filter((p) => p.meta.tags?.includes(tag));
253
+ }
254
+ listByOwner(owner) {
255
+ return this.list().filter((p) => p.meta.owners?.includes(owner));
256
+ }
257
+ groupBy(keyFn) {
258
+ return groupBy(this.list(), keyFn);
259
+ }
260
+ getUniqueTags() {
261
+ return getUniqueTags(this.list());
262
+ }
263
+ }
264
+
265
+ // src/events.ts
266
+ function defineEvent(e) {
267
+ return e;
268
+ }
269
+ var eventKey = (key, version) => `${key}.v${version}`;
270
+
271
+ class EventRegistry extends SpecContractRegistry {
272
+ constructor(items) {
273
+ super("event", items);
274
+ }
275
+ }
276
+
277
+ // src/operations/registry.ts
278
+ function opKey(key, version) {
279
+ return `${key}.v${version}`;
280
+ }
281
+
282
+ class OperationSpecRegistry extends SpecContractRegistry {
283
+ handlers = new Map;
284
+ constructor(items) {
285
+ super("operation", items);
286
+ }
287
+ bind(spec, handler) {
288
+ const key = opKey(spec.meta.key, spec.meta.version);
289
+ if (!this.items.has(key))
290
+ throw new Error(`Cannot bind; spec not found: ${key}`);
291
+ if (this.handlers.has(key))
292
+ throw new Error(`Handler already bound for ${key}`);
293
+ this.handlers.set(key, handler);
294
+ return this;
295
+ }
296
+ getHandler(key, version) {
297
+ const spec = this.get(key, version);
298
+ if (!spec)
299
+ return;
300
+ return this.handlers.get(opKey(spec.meta.key, spec.meta.version));
301
+ }
302
+ listBound() {
303
+ const out = [];
304
+ for (const [k, spec] of this.items.entries()) {
305
+ const h = this.handlers.get(k);
306
+ if (h)
307
+ out.push({ spec, handler: h });
308
+ }
309
+ return out;
310
+ }
311
+ async execute(key, version, rawInput, ctx) {
312
+ const baseSpec = this.get(key, version);
313
+ if (!baseSpec)
314
+ throw new Error(`Spec not found for ${key}${version ? `.v${version}` : ""}`);
315
+ const spec = await ctx.specVariantResolver?.resolve({
316
+ name: baseSpec.meta.key,
317
+ version: baseSpec.meta.version,
318
+ kind: baseSpec.meta.kind
319
+ }, ctx) ?? baseSpec;
320
+ let handlerKey = opKey(spec.meta.key, spec.meta.version);
321
+ let handler = this.handlers.get(handlerKey);
322
+ if (!handler) {
323
+ const fallbackKey = opKey(baseSpec.meta.key, baseSpec.meta.version);
324
+ handler = this.handlers.get(fallbackKey);
325
+ handlerKey = fallbackKey;
326
+ }
327
+ if (!handler)
328
+ throw new Error(`No handler bound for ${handlerKey}`);
329
+ const parsedInput = spec.io.input?.getZod().parse(rawInput);
330
+ if (ctx.decide) {
331
+ const [service, command] = spec.meta.key.split(".");
332
+ if (!service || !command)
333
+ throw new Error(`Invalid spec name: ${spec.meta.key}`);
334
+ const decision = await ctx.decide({
335
+ service,
336
+ command,
337
+ version: spec.meta.version,
338
+ actor: ctx.actor ?? "anonymous",
339
+ channel: ctx.channel,
340
+ roles: ctx.roles,
341
+ organizationId: ctx.organizationId,
342
+ userId: ctx.userId,
343
+ flags: []
344
+ });
345
+ if (decision.effect === "deny") {
346
+ throw new Error(`PolicyDenied: ${spec.meta.key}.v${spec.meta.version}`);
347
+ }
348
+ if (decision.rateLimit && ctx.rateLimit) {
349
+ const key2 = decision.rateLimit.key ?? "default";
350
+ const rpm = decision.rateLimit.rpm ?? 60;
351
+ await ctx.rateLimit(key2, 1, rpm);
352
+ }
353
+ }
354
+ const allowedEvents = new Map;
355
+ if (spec.sideEffects?.emits) {
356
+ for (const e of spec.sideEffects.emits) {
357
+ if (isEmitDeclRef(e)) {
358
+ const eventSpec = ctx.eventSpecResolver?.get(e.ref.key, e.ref.version);
359
+ if (eventSpec) {
360
+ allowedEvents.set(`${e.ref.key}.v${e.ref.version}`, eventSpec.payload);
361
+ }
362
+ } else {
363
+ allowedEvents.set(`${e.key}.v${e.version}`, e.payload);
364
+ }
365
+ }
366
+ }
367
+ const emitGuard = async (eventName, eventVersion, payload) => {
368
+ const key2 = eventKey(eventName, eventVersion);
369
+ const schema = allowedEvents.get(key2);
370
+ if (!schema)
371
+ throw new Error(`UndeclaredEvent: ${key2} not allowed by ${opKey(spec.meta.key, spec.meta.version)}`);
372
+ const parsed = schema.getZod().parse(payload);
373
+ await ctx.eventPublisher?.({
374
+ key: eventName,
375
+ version: eventVersion,
376
+ payload: parsed,
377
+ traceId: ctx.traceId
378
+ });
379
+ };
380
+ if (ctx.appConfig) {
381
+ if (!ctx.branding) {
382
+ ctx.branding = ctx.appConfig.branding;
383
+ }
384
+ if (!ctx.translation) {
385
+ ctx.translation = { config: ctx.appConfig.translation };
386
+ } else if (!ctx.translation.config) {
387
+ ctx.translation = {
388
+ ...ctx.translation,
389
+ config: ctx.appConfig.translation
390
+ };
391
+ }
392
+ }
393
+ const telemetryContext = ctx.telemetry;
394
+ const trackTelemetry = async (trigger, details) => {
395
+ if (!telemetryContext || !trigger?.event)
396
+ return;
397
+ try {
398
+ const props = trigger.properties?.(details) ?? {};
399
+ await telemetryContext.track(trigger.event.key, trigger.event.version ?? "1.0.0", props, {
400
+ tenantId: ctx.organizationId ?? undefined,
401
+ organizationId: ctx.organizationId,
402
+ userId: ctx.userId,
403
+ actor: ctx.actor,
404
+ channel: ctx.channel,
405
+ metadata: ctx.traceId ? { traceId: ctx.traceId } : undefined
406
+ });
407
+ } catch (_error) {}
408
+ };
409
+ let result;
410
+ try {
411
+ result = await handler(parsedInput, {
412
+ ...ctx,
413
+ __emitGuard__: emitGuard
414
+ });
415
+ } catch (error) {
416
+ if (spec.telemetry?.failure) {
417
+ await trackTelemetry(spec.telemetry.failure, {
418
+ input: parsedInput ?? rawInput,
419
+ error
420
+ });
421
+ }
422
+ throw error;
423
+ }
424
+ if (spec.telemetry?.success) {
425
+ await trackTelemetry(spec.telemetry.success, {
426
+ input: parsedInput ?? rawInput,
427
+ output: result
428
+ });
429
+ }
430
+ const outputModel = spec.io.output;
431
+ if (outputModel?.getZod) {
432
+ const parsedOutput = outputModel.getZod().parse(result);
433
+ return parsedOutput;
434
+ }
435
+ return result;
436
+ }
437
+ }
438
+
439
+ // src/operations/report/getContractVerificationStatus.ts
440
+ import {
441
+ ScalarTypeEnum,
442
+ SchemaModel,
443
+ ZodSchemaType
444
+ } from "@contractspec/lib.schema";
445
+ import * as z from "zod";
446
+ var REPORT_DOMAIN = "report";
447
+ var REPORT_OWNERS = ["platform.core"];
448
+ var REPORT_TAGS = ["report", "drift", "verification"];
449
+ var REPORT_STABILITY = StabilityEnum.Experimental;
450
+ var ContractVerificationStatusModel = new SchemaModel({
451
+ name: "ContractVerificationStatus",
452
+ fields: {
453
+ name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
454
+ lastVerifiedSha: {
455
+ type: ScalarTypeEnum.String_unsecure(),
456
+ isOptional: true
457
+ },
458
+ lastVerifiedDate: {
459
+ type: ScalarTypeEnum.String_unsecure(),
460
+ isOptional: true
461
+ },
462
+ surfaces: {
463
+ type: ScalarTypeEnum.String_unsecure(),
464
+ isOptional: false,
465
+ isArray: true
466
+ },
467
+ driftMismatches: {
468
+ type: ScalarTypeEnum.Int_unsecure(),
469
+ isOptional: false
470
+ }
471
+ }
472
+ });
473
+ var GetContractVerificationStatusInput = new SchemaModel({
474
+ name: "GetContractVerificationStatusInput",
475
+ fields: {
476
+ projectPath: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
477
+ baseline: { type: ScalarTypeEnum.String_unsecure(), isOptional: true }
478
+ }
479
+ });
480
+ var GetContractVerificationStatusOutput = new ZodSchemaType(z.object({
481
+ contracts: z.object({
482
+ name: z.string(),
483
+ lastVerifiedSha: z.string().optional(),
484
+ lastVerifiedDate: z.string().optional(),
485
+ surfaces: z.string().array(),
486
+ driftMismatches: z.int()
487
+ }).array()
488
+ }), {
489
+ name: "GetContractVerificationStatusOutput"
490
+ });
491
+ var GetContractVerificationStatusQuery = defineQuery({
492
+ meta: {
493
+ key: "report.getContractVerificationStatus",
494
+ title: "Get Contract Verification Status",
495
+ version: "1.0.0",
496
+ description: "Retrieves per-contract verification status for the impact report.",
497
+ goal: "Enable stakeholders to see contract health at a glance.",
498
+ context: "Part of the impact report domain. Reads from drift check outputs and verified.json to provide a consolidated view of each contract's drift debt and surface coverage.",
499
+ domain: REPORT_DOMAIN,
500
+ owners: REPORT_OWNERS,
501
+ tags: REPORT_TAGS,
502
+ stability: REPORT_STABILITY
503
+ },
504
+ io: {
505
+ input: GetContractVerificationStatusInput,
506
+ output: GetContractVerificationStatusOutput,
507
+ errors: {
508
+ PROJECT_NOT_FOUND: {
509
+ description: "Project path does not exist.",
510
+ http: 404,
511
+ when: "The provided projectPath does not resolve to a valid directory."
512
+ }
513
+ }
514
+ },
515
+ policy: {
516
+ auth: "anonymous",
517
+ pii: []
518
+ }
519
+ });
2
520
 
3
- //#region src/llm/prompts.ts
4
- /**
5
- * System prompts for different agent types.
6
- */
7
- const AGENT_SYSTEM_PROMPTS = {
8
- "claude-code": `You are an expert TypeScript developer working with ContractSpec, a spec-first development framework.
521
+ // src/install.ts
522
+ function makeEmit(_spec, ctx) {
523
+ return {
524
+ ref: async (ev, payload) => {
525
+ await ctx.__emitGuard__?.(ev.meta.key, ev.meta.version, payload);
526
+ },
527
+ key: async (key, version, payload) => {
528
+ await ctx.__emitGuard__?.(key, version, payload);
529
+ },
530
+ object: async (evt) => {
531
+ await ctx.__emitGuard__?.(evt.key, evt.version, evt.payload);
532
+ }
533
+ };
534
+ }
535
+ function installOp(reg, spec, handler) {
536
+ return reg.register(spec).bind(spec, handler);
537
+ }
538
+ function op(spec, handler) {
539
+ return {
540
+ spec,
541
+ handler,
542
+ install: (reg) => installOp(reg, spec, handler)
543
+ };
544
+ }
545
+
546
+ // src/data-views/spec.ts
547
+ function defineDataView(spec) {
548
+ return spec;
549
+ }
550
+
551
+ // src/data-views/report/contractVerificationTable.ts
552
+ var ContractVerificationTableDataView = defineDataView({
553
+ meta: {
554
+ key: "report.contractVerificationTable",
555
+ title: "Contract Verification Table",
556
+ version: "1.0.0",
557
+ description: "Table view of per-contract verification status for the impact report.",
558
+ domain: "report",
559
+ owners: ["platform.core"],
560
+ tags: ["report", "data-view", "verification"],
561
+ stability: StabilityEnum.Experimental,
562
+ entity: "contract-verification"
563
+ },
564
+ source: {
565
+ primary: {
566
+ key: GetContractVerificationStatusQuery.meta.key,
567
+ version: GetContractVerificationStatusQuery.meta.version
568
+ }
569
+ },
570
+ view: {
571
+ kind: "table",
572
+ fields: [
573
+ {
574
+ key: "name",
575
+ label: "Contract / Endpoint / Event",
576
+ dataPath: "name"
577
+ },
578
+ {
579
+ key: "timeSinceVerified",
580
+ label: "Time since verified",
581
+ dataPath: "lastVerifiedDate"
582
+ },
583
+ {
584
+ key: "driftMismatches",
585
+ label: "Drift debt",
586
+ dataPath: "driftMismatches",
587
+ format: "number",
588
+ sortable: true
589
+ },
590
+ {
591
+ key: "surfaces",
592
+ label: "Surfaces covered",
593
+ dataPath: "surfaces",
594
+ format: "badge"
595
+ },
596
+ {
597
+ key: "lastVerifiedSha",
598
+ label: "Last verified commit",
599
+ dataPath: "lastVerifiedSha",
600
+ width: "sm"
601
+ }
602
+ ],
603
+ primaryField: "name",
604
+ secondaryFields: ["driftMismatches", "timeSinceVerified"],
605
+ columns: [
606
+ { field: "name", width: "lg" },
607
+ { field: "lastVerifiedSha", width: "sm" },
608
+ { field: "timeSinceVerified", width: "sm" },
609
+ { field: "surfaces", width: "md" },
610
+ { field: "driftMismatches", width: "xs", align: "right" }
611
+ ]
612
+ },
613
+ policy: {
614
+ flags: [],
615
+ pii: []
616
+ }
617
+ });
618
+
619
+ // src/operations/report/index.ts
620
+ var getContractVerificationStatusHandler = async (input, _ctx) => {
621
+ try {
622
+ const cmdProcess = Bun.spawn(["contractspec", "impl", "status", "--format", "json", "--all"], {
623
+ cwd: input.projectPath
624
+ });
625
+ const cmdStdout = await cmdProcess.stdout;
626
+ const output = await Bun.readableStreamToText(cmdStdout);
627
+ if (!output) {
628
+ return { contracts: [] };
629
+ }
630
+ const cliOutput = JSON.parse(output);
631
+ const contracts = [];
632
+ for (const spec of cliOutput.results || []) {
633
+ const contract = {
634
+ name: spec.specKey,
635
+ lastVerifiedSha: spec.specHash,
636
+ lastVerifiedDate: spec.specHash ? new Date().toISOString() : undefined,
637
+ surfaces: spec.implementations.filter((impl) => impl.exists).map((impl) => impl.type),
638
+ driftMismatches: spec.implementations.filter((impl) => !impl.exists).length
639
+ };
640
+ contracts.push(contract);
641
+ }
642
+ return { contracts };
643
+ } catch (error) {
644
+ console.error("Failed to get contract verification status:", error);
645
+ return { contracts: [] };
646
+ }
647
+ };
648
+ function registerReportContracts(registry) {
649
+ installOp(registry, GetContractVerificationStatusQuery, getContractVerificationStatusHandler);
650
+ return registry;
651
+ }
652
+ // src/jsonschema.ts
653
+ import z2 from "zod";
654
+ function jsonSchemaForSpec(spec) {
655
+ return {
656
+ input: spec.io.input ? z2.toJSONSchema(spec.io.input.getZod()) : null,
657
+ output: spec.io.output ? z2.toJSONSchema(spec.io.output.getZod()) : null,
658
+ meta: {
659
+ name: spec.meta.key,
660
+ version: spec.meta.version,
661
+ kind: spec.meta.kind,
662
+ description: spec.meta.description,
663
+ tags: spec.meta.tags ?? [],
664
+ stability: spec.meta.stability ?? "stable"
665
+ }
666
+ };
667
+ }
668
+ function defaultRestPath(name, version) {
669
+ return `/${name.replace(/\./g, "/")}/v${version}`;
670
+ }
671
+ function sanitizeMcpName(name) {
672
+ const sanitized = name.replace(/\./g, "_");
673
+ return sanitized.slice(0, 64);
674
+ }
675
+ function defaultMcpTool(name, version) {
676
+ const safeName = name.replace(/\./g, "_");
677
+ const safeVersion = version.replace(/\./g, "_");
678
+ return `${safeName}-v${safeVersion}`;
679
+ }
680
+ function defaultMcpPrompt(key) {
681
+ return sanitizeMcpName(key);
682
+ }
683
+ function defaultGqlField(name, version) {
684
+ return `${name.replace(/\./g, "_")}_v${version}`;
685
+ }
686
+
687
+ // src/llm/exporters.ts
688
+ var DEFAULT_SPEC_OPTIONS = {
689
+ format: "full",
690
+ includeSchemas: true,
691
+ includeScenarios: true,
692
+ includeExamples: true,
693
+ includePolicy: true,
694
+ includeSideEffects: true
695
+ };
696
+ var DEFAULT_FEATURE_OPTIONS = {
697
+ ...DEFAULT_SPEC_OPTIONS,
698
+ includeRelatedSpecs: true,
699
+ includeRelatedEvents: true,
700
+ includeRelatedPresentations: true
701
+ };
702
+ function operationSpecToContextMarkdown(spec) {
703
+ const m = spec.meta;
704
+ const lines = [];
705
+ lines.push(`# ${m.key} (v${m.version})`);
706
+ lines.push("");
707
+ lines.push(`> ${m.description}`);
708
+ lines.push("");
709
+ lines.push(`**Type:** ${m.kind} | **Stability:** ${m.stability}`);
710
+ lines.push("");
711
+ lines.push("## Goal");
712
+ lines.push("");
713
+ lines.push(m.goal);
714
+ lines.push("");
715
+ lines.push("## Context");
716
+ lines.push("");
717
+ lines.push(m.context);
718
+ lines.push("");
719
+ if (spec.acceptance?.scenarios?.length) {
720
+ lines.push("## Acceptance Criteria");
721
+ lines.push("");
722
+ for (const s of spec.acceptance.scenarios) {
723
+ lines.push(`### ${s.key}`);
724
+ lines.push("");
725
+ lines.push("**Given:**");
726
+ for (const g of s.given)
727
+ lines.push(`- ${g}`);
728
+ lines.push("");
729
+ lines.push("**When:**");
730
+ for (const w of s.when)
731
+ lines.push(`- ${w}`);
732
+ lines.push("");
733
+ lines.push("**Then:**");
734
+ for (const t of s.then)
735
+ lines.push(`- ${t}`);
736
+ lines.push("");
737
+ }
738
+ }
739
+ return lines.join(`
740
+ `);
741
+ }
742
+ function operationSpecToFullMarkdown(spec, options = {}) {
743
+ const opts = { ...DEFAULT_SPEC_OPTIONS, ...options };
744
+ const m = spec.meta;
745
+ const lines = [];
746
+ lines.push(`# ${m.key}.v${m.version}`);
747
+ lines.push("");
748
+ lines.push(`> ${m.description}`);
749
+ lines.push("");
750
+ lines.push("## Metadata");
751
+ lines.push("");
752
+ lines.push("| Field | Value |");
753
+ lines.push("|-------|-------|");
754
+ lines.push(`| Kind | ${m.kind} |`);
755
+ lines.push(`| Stability | ${m.stability} |`);
756
+ lines.push(`| Owners | ${m.owners.join(", ")} |`);
757
+ lines.push(`| Tags | ${m.tags.join(", ")} |`);
758
+ lines.push("");
759
+ lines.push("## Goal");
760
+ lines.push("");
761
+ lines.push(m.goal);
762
+ lines.push("");
763
+ lines.push("## Context");
764
+ lines.push("");
765
+ lines.push(m.context);
766
+ lines.push("");
767
+ if (opts.includeSchemas) {
768
+ lines.push("## Input/Output");
769
+ lines.push("");
770
+ if (spec.io.input) {
771
+ lines.push("### Input Schema");
772
+ lines.push("");
773
+ lines.push("```json");
774
+ try {
775
+ const schema = jsonSchemaForSpec(spec);
776
+ lines.push(JSON.stringify(schema.input ?? {}, null, 2));
777
+ } catch {
778
+ lines.push("// Schema generation not available");
779
+ }
780
+ lines.push("```");
781
+ lines.push("");
782
+ }
783
+ lines.push("### Output Schema");
784
+ lines.push("");
785
+ lines.push("```json");
786
+ try {
787
+ const schema = jsonSchemaForSpec(spec);
788
+ lines.push(JSON.stringify(schema.output ?? {}, null, 2));
789
+ } catch {
790
+ lines.push("// Schema generation not available");
791
+ }
792
+ lines.push("```");
793
+ lines.push("");
794
+ if (spec.io.errors && Object.keys(spec.io.errors).length) {
795
+ lines.push("### Error Codes");
796
+ lines.push("");
797
+ lines.push("| Code | HTTP | Description | When |");
798
+ lines.push("|------|------|-------------|------|");
799
+ for (const [code, err] of Object.entries(spec.io.errors)) {
800
+ lines.push(`| \`${code}\` | ${err.http ?? 400} | ${err.description} | ${err.when} |`);
801
+ }
802
+ lines.push("");
803
+ }
804
+ }
805
+ if (opts.includePolicy) {
806
+ lines.push("## Policy");
807
+ lines.push("");
808
+ lines.push(`- **Auth Required:** ${spec.policy.auth}`);
809
+ lines.push(`- **Idempotent:** ${spec.policy.idempotent ?? m.kind === "query"}`);
810
+ if (spec.policy.rateLimit) {
811
+ lines.push(`- **Rate Limit:** ${spec.policy.rateLimit.rpm} rpm per ${spec.policy.rateLimit.key}`);
812
+ }
813
+ if (spec.policy.flags?.length) {
814
+ lines.push(`- **Feature Flags:** ${spec.policy.flags.join(", ")}`);
815
+ }
816
+ if (spec.policy.pii?.length) {
817
+ lines.push(`- **PII Fields:** ${spec.policy.pii.join(", ")}`);
818
+ }
819
+ if (spec.policy.escalate) {
820
+ lines.push(`- **Escalation:** ${spec.policy.escalate}`);
821
+ }
822
+ lines.push("");
823
+ }
824
+ if (opts.includeSideEffects && spec.sideEffects) {
825
+ if (spec.sideEffects.emits?.length) {
826
+ lines.push("## Events Emitted");
827
+ lines.push("");
828
+ for (const e of spec.sideEffects.emits) {
829
+ if (isEmitDeclRef(e)) {
830
+ lines.push(`- \`${e.ref.key}.v${e.ref.version}\` \u2014 ${e.when}`);
831
+ } else {
832
+ lines.push(`- \`${e.key}.v${e.version}\` \u2014 ${e.when}`);
833
+ }
834
+ }
835
+ lines.push("");
836
+ }
837
+ if (spec.sideEffects.analytics?.length) {
838
+ lines.push("## Analytics Events");
839
+ lines.push("");
840
+ for (const a of spec.sideEffects.analytics) {
841
+ lines.push(`- ${a}`);
842
+ }
843
+ lines.push("");
844
+ }
845
+ }
846
+ if (opts.includeScenarios && spec.acceptance?.scenarios?.length) {
847
+ lines.push("## Acceptance Scenarios");
848
+ lines.push("");
849
+ for (const s of spec.acceptance.scenarios) {
850
+ lines.push(`### ${s.key}`);
851
+ lines.push("");
852
+ lines.push("**Given:**");
853
+ for (const g of s.given)
854
+ lines.push(`- ${g}`);
855
+ lines.push("");
856
+ lines.push("**When:**");
857
+ for (const w of s.when)
858
+ lines.push(`- ${w}`);
859
+ lines.push("");
860
+ lines.push("**Then:**");
861
+ for (const t of s.then)
862
+ lines.push(`- ${t}`);
863
+ lines.push("");
864
+ }
865
+ }
866
+ if (opts.includeExamples && spec.acceptance?.examples?.length) {
867
+ lines.push("## Examples");
868
+ lines.push("");
869
+ for (const ex of spec.acceptance.examples) {
870
+ lines.push(`### ${ex.key}`);
871
+ lines.push("");
872
+ lines.push("**Input:**");
873
+ lines.push("```json");
874
+ lines.push(JSON.stringify(ex.input, null, 2));
875
+ lines.push("```");
876
+ lines.push("");
877
+ lines.push("**Output:**");
878
+ lines.push("```json");
879
+ lines.push(JSON.stringify(ex.output, null, 2));
880
+ lines.push("```");
881
+ lines.push("");
882
+ }
883
+ }
884
+ if (spec.transport) {
885
+ lines.push("## Transport Configuration");
886
+ lines.push("");
887
+ if (spec.transport.rest) {
888
+ lines.push(`- **REST:** ${spec.transport.rest.method ?? "POST"} ${spec.transport.rest.path ?? "auto"}`);
889
+ }
890
+ if (spec.transport.gql) {
891
+ lines.push(`- **GraphQL:** ${spec.transport.gql.field ?? "auto"}`);
892
+ }
893
+ if (spec.transport.mcp) {
894
+ lines.push(`- **MCP Tool:** ${spec.transport.mcp.toolName ?? "auto"}`);
895
+ }
896
+ lines.push("");
897
+ }
898
+ return lines.join(`
899
+ `);
900
+ }
901
+ function operationSpecToAgentPrompt(spec, options) {
902
+ const taskType = options?.taskType ?? "implement";
903
+ const m = spec.meta;
904
+ const lines = [];
905
+ const taskVerb = {
906
+ implement: "Implement",
907
+ test: "Write tests for",
908
+ refactor: "Refactor",
909
+ review: "Review"
910
+ }[taskType];
911
+ lines.push(`# Task: ${taskVerb} ${m.key}.v${m.version}`);
912
+ lines.push("");
913
+ lines.push("## Context");
914
+ lines.push("");
915
+ lines.push(`You are working on a ContractSpec-driven codebase. This spec defines a ${m.kind} operation.`);
916
+ lines.push("");
917
+ lines.push(`**Goal:** ${m.goal}`);
918
+ lines.push("");
919
+ lines.push(`**Background:** ${m.context}`);
920
+ lines.push("");
921
+ lines.push("## Specification");
922
+ lines.push("");
923
+ lines.push(operationSpecToFullMarkdown(spec));
924
+ lines.push("");
925
+ lines.push("## Instructions");
926
+ lines.push("");
927
+ if (taskType === "implement") {
928
+ lines.push("Implement this specification following these requirements:");
929
+ lines.push("");
930
+ lines.push("1. **Type Safety**: Use TypeScript with strict typing. No `any` types.");
931
+ lines.push("2. **Input Validation**: Validate input against the schema before processing.");
932
+ lines.push("3. **Error Handling**: Implement all error cases defined in the spec.");
933
+ lines.push("4. **Events**: Emit events as specified in sideEffects.emits.");
934
+ lines.push("5. **Policy**: Respect auth, rate limits, and feature flags.");
935
+ lines.push("6. **Idempotency**: " + (spec.policy.idempotent ? "This operation MUST be idempotent." : "This operation may have side effects."));
936
+ lines.push("");
937
+ if (spec.policy.pii?.length) {
938
+ lines.push("**PII Handling**: The following fields contain PII and must be handled carefully:");
939
+ for (const field of spec.policy.pii) {
940
+ lines.push(`- ${field}`);
941
+ }
942
+ lines.push("");
943
+ }
944
+ } else if (taskType === "test") {
945
+ lines.push("Write comprehensive tests for this specification:");
946
+ lines.push("");
947
+ lines.push("1. Test all acceptance scenarios defined in the spec.");
948
+ lines.push("2. Test all error cases with appropriate assertions.");
949
+ lines.push("3. Test edge cases and boundary conditions.");
950
+ lines.push("4. Verify events are emitted correctly.");
951
+ lines.push('5. Use descriptive test names following the pattern: "should [behavior] when [condition]"');
952
+ lines.push("");
953
+ } else if (taskType === "refactor") {
954
+ lines.push("Refactor this implementation while preserving all behavior:");
955
+ lines.push("");
956
+ lines.push("1. Maintain compliance with the specification.");
957
+ lines.push("2. Improve code clarity and maintainability.");
958
+ lines.push("3. Reduce complexity where possible.");
959
+ lines.push("4. Ensure all existing tests still pass.");
960
+ lines.push("");
961
+ } else if (taskType === "review") {
962
+ lines.push("Review this implementation against the specification:");
963
+ lines.push("");
964
+ lines.push("1. Verify input/output types match the schema.");
965
+ lines.push("2. Check all error cases are handled.");
966
+ lines.push("3. Verify events are emitted as specified.");
967
+ lines.push("4. Check policy compliance (auth, rate limits).");
968
+ lines.push("5. Report any deviations from the spec.");
969
+ lines.push("");
970
+ }
971
+ if (options?.existingCode) {
972
+ lines.push("## Existing Code");
973
+ lines.push("");
974
+ lines.push("```typescript");
975
+ lines.push(options.existingCode);
976
+ lines.push("```");
977
+ lines.push("");
978
+ }
979
+ lines.push("## Expected Output");
980
+ lines.push("");
981
+ if (taskType === "implement" || taskType === "refactor") {
982
+ lines.push("Provide a complete TypeScript implementation. Include:");
983
+ lines.push("- Type definitions for input/output");
984
+ lines.push("- Handler function with proper error handling");
985
+ lines.push("- JSDoc comments explaining the implementation");
986
+ } else if (taskType === "test") {
987
+ lines.push("Provide a complete test file using the testing framework available (prefer Vitest).");
988
+ } else if (taskType === "review") {
989
+ lines.push("Provide a structured review with:");
990
+ lines.push("- Compliance status (pass/fail for each requirement)");
991
+ lines.push("- Issues found with severity (error/warning/info)");
992
+ lines.push("- Suggestions for improvement");
993
+ }
994
+ lines.push("");
995
+ return lines.join(`
996
+ `);
997
+ }
998
+ function featureToMarkdown(feature, deps, options = {}) {
999
+ const opts = { ...DEFAULT_FEATURE_OPTIONS, ...options };
1000
+ const m = feature.meta;
1001
+ const lines = [];
1002
+ lines.push(`# Feature: ${m.title ?? m.key}`);
1003
+ lines.push("");
1004
+ if (m.description) {
1005
+ lines.push(`> ${m.description}`);
1006
+ lines.push("");
1007
+ }
1008
+ lines.push("## Overview");
1009
+ lines.push("");
1010
+ lines.push(`- **Key:** \`${m.key}\``);
1011
+ lines.push(`- **Stability:** ${m.stability}`);
1012
+ lines.push(`- **Owners:** ${m.owners.join(", ")}`);
1013
+ if (m.tags?.length) {
1014
+ lines.push(`- **Tags:** ${m.tags.join(", ")}`);
1015
+ }
1016
+ lines.push("");
1017
+ if (feature.operations?.length) {
1018
+ lines.push("## Operations");
1019
+ lines.push("");
1020
+ lines.push("| Name | Version | Type |");
1021
+ lines.push("|------|---------|------|");
1022
+ for (const op2 of feature.operations) {
1023
+ const spec = deps?.specs?.get(op2.key, op2.version);
1024
+ const kind = spec?.meta.kind ?? "unknown";
1025
+ lines.push(`| ${op2.key} | v${op2.version} | ${kind} |`);
1026
+ }
1027
+ lines.push("");
1028
+ if (opts.includeRelatedSpecs && deps?.specs) {
1029
+ lines.push("### Operation Details");
1030
+ lines.push("");
1031
+ for (const op2 of feature.operations) {
1032
+ const spec = deps.specs.get(op2.key, op2.version);
1033
+ if (spec) {
1034
+ lines.push(`---`);
1035
+ lines.push("");
1036
+ lines.push(operationSpecToFullMarkdown(spec, opts));
1037
+ }
1038
+ }
1039
+ }
1040
+ }
1041
+ if (feature.events?.length) {
1042
+ lines.push("## Events");
1043
+ lines.push("");
1044
+ lines.push("| Name | Version |");
1045
+ lines.push("|------|---------|");
1046
+ for (const evt of feature.events) {
1047
+ lines.push(`| ${evt.key} | v${evt.version} |`);
1048
+ }
1049
+ lines.push("");
1050
+ }
1051
+ if (feature.presentations?.length) {
1052
+ lines.push("## Presentations");
1053
+ lines.push("");
1054
+ lines.push("| Name | Version |");
1055
+ lines.push("|------|---------|");
1056
+ for (const pres of feature.presentations) {
1057
+ lines.push(`| ${pres.key} | v${pres.version} |`);
1058
+ }
1059
+ lines.push("");
1060
+ if (opts.includeRelatedPresentations && deps?.presentations) {
1061
+ lines.push("### Presentation Details");
1062
+ lines.push("");
1063
+ for (const pres of feature.presentations) {
1064
+ const p = deps.presentations.get(pres.key, pres.version);
1065
+ if (p) {
1066
+ lines.push(`#### ${pres.key}.v${pres.version}`);
1067
+ lines.push("");
1068
+ lines.push(`- **Type:** ${p.source.type}`);
1069
+ if (p.source.type === "component") {
1070
+ lines.push(`- **Component:** ${p.source.componentKey}`);
1071
+ }
1072
+ lines.push("");
1073
+ }
1074
+ }
1075
+ }
1076
+ }
1077
+ if (feature.capabilities) {
1078
+ if (feature.capabilities.provides?.length) {
1079
+ lines.push("## Capabilities Provided");
1080
+ lines.push("");
1081
+ for (const cap of feature.capabilities.provides) {
1082
+ lines.push(`- \`${cap.key}.v${cap.version}\``);
1083
+ }
1084
+ lines.push("");
1085
+ }
1086
+ if (feature.capabilities.requires?.length) {
1087
+ lines.push("## Capabilities Required");
1088
+ lines.push("");
1089
+ for (const cap of feature.capabilities.requires) {
1090
+ lines.push(`- \`${cap.key}\`${cap.version ? `.v${cap.version}` : ""} (${cap.optional ? "optional" : "required"})`);
1091
+ }
1092
+ lines.push("");
1093
+ }
1094
+ }
1095
+ return lines.join(`
1096
+ `);
1097
+ }
1098
+ function presentationToMarkdown(presentation) {
1099
+ const m = presentation.meta;
1100
+ const lines = [];
1101
+ lines.push(`# Presentation: ${m.key}.v${m.version}`);
1102
+ lines.push("");
1103
+ if (m.description) {
1104
+ lines.push(`> ${m.description}`);
1105
+ lines.push("");
1106
+ }
1107
+ lines.push("## Metadata");
1108
+ lines.push("");
1109
+ lines.push(`- **Name:** ${m.key}`);
1110
+ lines.push(`- **Version:** ${m.version}`);
1111
+ if (m.stability)
1112
+ lines.push(`- **Stability:** ${m.stability}`);
1113
+ if (m.owners?.length)
1114
+ lines.push(`- **Owners:** ${m.owners.join(", ")}`);
1115
+ if (m.tags?.length)
1116
+ lines.push(`- **Tags:** ${m.tags.join(", ")}`);
1117
+ lines.push("");
1118
+ lines.push("## Source");
1119
+ lines.push("");
1120
+ lines.push(`- **Type:** ${presentation.source.type}`);
1121
+ if (presentation.source.type === "component") {
1122
+ lines.push(`- **Framework:** ${presentation.source.framework}`);
1123
+ lines.push(`- **Component Key:** ${presentation.source.componentKey}`);
1124
+ }
1125
+ lines.push("");
1126
+ lines.push("## Supported Targets");
1127
+ lines.push("");
1128
+ for (const target of presentation.targets) {
1129
+ lines.push(`- ${target}`);
1130
+ }
1131
+ lines.push("");
1132
+ if (presentation.policy) {
1133
+ lines.push("## Policy");
1134
+ lines.push("");
1135
+ if (presentation.policy.flags?.length) {
1136
+ lines.push(`- **Feature Flags:** ${presentation.policy.flags.join(", ")}`);
1137
+ }
1138
+ if (presentation.policy.pii?.length) {
1139
+ lines.push(`- **PII Fields:** ${presentation.policy.pii.join(", ")}`);
1140
+ }
1141
+ lines.push("");
1142
+ }
1143
+ return lines.join(`
1144
+ `);
1145
+ }
1146
+ function eventToMarkdown(event) {
1147
+ const lines = [];
1148
+ lines.push(`# Event: ${event.meta.key}.v${event.meta.version}`);
1149
+ lines.push("");
1150
+ lines.push("## Metadata");
1151
+ lines.push("");
1152
+ lines.push(`- **Name:** ${event.meta.key}`);
1153
+ lines.push(`- **Version:** ${event.meta.version}`);
1154
+ if (event.meta.description)
1155
+ lines.push(`- **Description:** ${event.meta.description}`);
1156
+ lines.push("");
1157
+ lines.push("## Payload Schema");
1158
+ lines.push("");
1159
+ lines.push("```json");
1160
+ try {
1161
+ const zodSchema = event.payload.getZod();
1162
+ if ("shape" in zodSchema && zodSchema.shape) {
1163
+ const shape = zodSchema.shape;
1164
+ const fields = Object.keys(shape);
1165
+ lines.push(JSON.stringify({ fields }, null, 2));
1166
+ } else {
1167
+ lines.push("// Payload schema available at runtime");
1168
+ }
1169
+ } catch {
1170
+ lines.push("// Schema details available at runtime");
1171
+ }
1172
+ lines.push("```");
1173
+ lines.push("");
1174
+ return lines.join(`
1175
+ `);
1176
+ }
1177
+ function docBlockToMarkdown(doc) {
1178
+ const lines = [];
1179
+ lines.push(`# ${doc.title}`);
1180
+ lines.push("");
1181
+ if (doc.summary) {
1182
+ lines.push(`> ${doc.summary}`);
1183
+ lines.push("");
1184
+ }
1185
+ lines.push("## Metadata");
1186
+ lines.push("");
1187
+ lines.push(`- **ID:** ${doc.id}`);
1188
+ lines.push(`- **Kind:** ${doc.kind ?? "reference"}`);
1189
+ lines.push(`- **Visibility:** ${doc.visibility ?? "public"}`);
1190
+ if (doc.tags?.length)
1191
+ lines.push(`- **Tags:** ${doc.tags.join(", ")}`);
1192
+ if (doc.owners?.length)
1193
+ lines.push(`- **Owners:** ${doc.owners.join(", ")}`);
1194
+ if (doc.domain)
1195
+ lines.push(`- **Domain:** ${doc.domain}`);
1196
+ lines.push("");
1197
+ lines.push("## Content");
1198
+ lines.push("");
1199
+ lines.push(doc.body);
1200
+ lines.push("");
1201
+ if (doc.links?.length) {
1202
+ lines.push("## Related Links");
1203
+ lines.push("");
1204
+ for (const link of doc.links) {
1205
+ lines.push(`- [${link.label}](${link.href})`);
1206
+ }
1207
+ lines.push("");
1208
+ }
1209
+ return lines.join(`
1210
+ `);
1211
+ }
1212
+ function exportSpec(spec, options = {}) {
1213
+ const format = options.format ?? "full";
1214
+ let markdown;
1215
+ switch (format) {
1216
+ case "context":
1217
+ markdown = operationSpecToContextMarkdown(spec);
1218
+ break;
1219
+ case "prompt":
1220
+ markdown = operationSpecToAgentPrompt(spec);
1221
+ break;
1222
+ case "full":
1223
+ default:
1224
+ markdown = operationSpecToFullMarkdown(spec, options);
1225
+ break;
1226
+ }
1227
+ return {
1228
+ spec,
1229
+ markdown,
1230
+ format,
1231
+ meta: {
1232
+ specName: spec.meta.key,
1233
+ specVersion: spec.meta.version,
1234
+ exportedAt: new Date().toISOString(),
1235
+ wordCount: markdown.split(/\s+/).length
1236
+ }
1237
+ };
1238
+ }
1239
+ function exportFeature(feature, deps, options = {}) {
1240
+ const format = options.format ?? "full";
1241
+ const markdown = featureToMarkdown(feature, deps, options);
1242
+ return {
1243
+ feature,
1244
+ markdown,
1245
+ format,
1246
+ includedSpecs: feature.operations?.map((o) => `${o.key}.v${o.version}`) ?? [],
1247
+ includedEvents: feature.events?.map((e) => `${e.key}.v${e.version}`) ?? [],
1248
+ includedPresentations: feature.presentations?.map((p) => `${p.key}.v${p.version}`) ?? []
1249
+ };
1250
+ }
1251
+
1252
+ // src/llm/prompts.ts
1253
+ var AGENT_SYSTEM_PROMPTS = {
1254
+ "claude-code": `You are an expert TypeScript developer working with ContractSpec, a spec-first development framework.
9
1255
 
10
1256
  Your code follows these principles:
11
1257
  - Type-safe with comprehensive TypeScript types (no \`any\`)
@@ -22,7 +1268,7 @@ When implementing specs:
22
1268
  5. Follow the acceptance scenarios as your implementation guide
23
1269
 
24
1270
  Generate clean, idiomatic TypeScript that exactly matches the specification.`,
25
- "cursor-cli": `You are implementing features for a ContractSpec-driven codebase.
1271
+ "cursor-cli": `You are implementing features for a ContractSpec-driven codebase.
26
1272
 
27
1273
  ContractSpec is a spec-first framework where specifications define:
28
1274
  - Operations (commands and queries) with typed I/O
@@ -38,7 +1284,7 @@ When working with specs:
38
1284
  - Respect policy constraints
39
1285
 
40
1286
  Use the project's existing patterns and conventions.`,
41
- "generic-mcp": `You are a code generation assistant working with ContractSpec specifications.
1287
+ "generic-mcp": `You are a code generation assistant working with ContractSpec specifications.
42
1288
 
43
1289
  ContractSpec specs define:
44
1290
  - meta: name, version, kind (command/query), description, goal, context
@@ -50,21 +1296,24 @@ ContractSpec specs define:
50
1296
  Your task is to generate or modify code that complies with the given specification.
51
1297
  Follow the spec exactly and handle all defined cases.`
52
1298
  };
53
- /**
54
- * Generate an implementation prompt for a specific agent type.
55
- */
56
1299
  function generateImplementationPrompt(spec, agent, options) {
57
- const systemPrompt = AGENT_SYSTEM_PROMPTS[agent];
58
- const specMarkdown = operationSpecToFullMarkdown(spec);
59
- let taskPrompt;
60
- if (agent === "claude-code") taskPrompt = `## Implementation Task
1300
+ const systemPrompt = AGENT_SYSTEM_PROMPTS[agent];
1301
+ const specMarkdown = operationSpecToFullMarkdown(spec);
1302
+ let taskPrompt;
1303
+ if (agent === "claude-code") {
1304
+ taskPrompt = `## Implementation Task
61
1305
 
62
1306
  Implement the following ContractSpec operation:
63
1307
 
64
1308
  ${specMarkdown}
65
1309
 
66
- ${options?.targetPath ? `**Target file:** \`${options.targetPath}\`\n` : ""}
67
- ${options?.existingCode ? `**Existing code to modify:**\n\`\`\`typescript\n${options.existingCode}\n\`\`\`\n` : ""}
1310
+ ${options?.targetPath ? `**Target file:** \`${options.targetPath}\`
1311
+ ` : ""}
1312
+ ${options?.existingCode ? `**Existing code to modify:**
1313
+ \`\`\`typescript
1314
+ ${options.existingCode}
1315
+ \`\`\`
1316
+ ` : ""}
68
1317
 
69
1318
  Generate a complete, production-ready TypeScript implementation that:
70
1319
  1. Exports a handler function matching the spec signature
@@ -74,39 +1323,45 @@ Generate a complete, production-ready TypeScript implementation that:
74
1323
  5. Includes JSDoc documentation
75
1324
 
76
1325
  Provide ONLY the TypeScript code.`;
77
- else if (agent === "cursor-cli") taskPrompt = `Implement this ContractSpec operation.
1326
+ } else if (agent === "cursor-cli") {
1327
+ taskPrompt = `Implement this ContractSpec operation.
78
1328
 
79
1329
  ${specMarkdown}
80
1330
 
81
- ${options?.targetPath ? `Target: ${options.targetPath}\n` : ""}
1331
+ ${options?.targetPath ? `Target: ${options.targetPath}
1332
+ ` : ""}
82
1333
 
83
1334
  Requirements:
84
1335
  - TypeScript with strict types
85
1336
  - Handle all error cases
86
1337
  - Emit specified events
87
1338
  - Follow acceptance scenarios`;
88
- else taskPrompt = operationSpecToAgentPrompt(spec, {
89
- taskType: "implement",
90
- existingCode: options?.existingCode
91
- });
92
- return {
93
- agent,
94
- systemPrompt,
95
- taskPrompt
96
- };
97
- }
98
- /**
99
- * Generate a test generation prompt.
100
- */
1339
+ } else {
1340
+ taskPrompt = operationSpecToAgentPrompt(spec, {
1341
+ taskType: "implement",
1342
+ existingCode: options?.existingCode
1343
+ });
1344
+ }
1345
+ return {
1346
+ agent,
1347
+ systemPrompt,
1348
+ taskPrompt
1349
+ };
1350
+ }
101
1351
  function generateTestPrompt(spec, agent, options) {
102
- const framework = options?.testFramework ?? "vitest";
103
- const taskPrompt = `## Test Generation Task
1352
+ const framework = options?.testFramework ?? "vitest";
1353
+ const specMarkdown = operationSpecToFullMarkdown(spec);
1354
+ const taskPrompt = `## Test Generation Task
104
1355
 
105
1356
  Generate comprehensive tests for this specification:
106
1357
 
107
- ${operationSpecToFullMarkdown(spec)}
1358
+ ${specMarkdown}
108
1359
 
109
- ${options?.implementationCode ? `**Implementation:**\n\`\`\`typescript\n${options.implementationCode}\n\`\`\`\n` : ""}
1360
+ ${options?.implementationCode ? `**Implementation:**
1361
+ \`\`\`typescript
1362
+ ${options.implementationCode}
1363
+ \`\`\`
1364
+ ` : ""}
110
1365
 
111
1366
  **Test Framework:** ${framework}
112
1367
 
@@ -120,22 +1375,20 @@ Generate tests that:
120
1375
  Use descriptive test names: "should [behavior] when [condition]"
121
1376
 
122
1377
  Provide a complete test file.`;
123
- return {
124
- agent,
125
- systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
126
- taskPrompt
127
- };
128
- }
129
- /**
130
- * Generate a code review prompt.
131
- */
1378
+ return {
1379
+ agent,
1380
+ systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
1381
+ taskPrompt
1382
+ };
1383
+ }
132
1384
  function generateReviewPrompt(spec, agent, implementationCode) {
133
- const taskPrompt = `## Code Review Task
1385
+ const specMarkdown = operationSpecToFullMarkdown(spec);
1386
+ const taskPrompt = `## Code Review Task
134
1387
 
135
1388
  Review this implementation against its specification:
136
1389
 
137
1390
  **Specification:**
138
- ${operationSpecToFullMarkdown(spec)}
1391
+ ${specMarkdown}
139
1392
 
140
1393
  **Implementation:**
141
1394
  \`\`\`typescript
@@ -158,24 +1411,20 @@ List any issues with severity (error/warning/info)
158
1411
  List improvements and recommendations
159
1412
 
160
1413
  Be thorough and precise. Focus on spec compliance first, then code quality.`;
161
- return {
162
- agent,
163
- systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
164
- taskPrompt
165
- };
166
- }
167
- /**
168
- * Generate a verification prompt for AI-powered semantic review.
169
- */
1414
+ return {
1415
+ agent,
1416
+ systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
1417
+ taskPrompt
1418
+ };
1419
+ }
170
1420
  function generateVerificationPrompt(spec, implementationCode) {
171
- return {
172
- agent: "generic-mcp",
173
- taskPrompt: `## Semantic Verification Task
1421
+ const specMarkdown = operationSpecToFullMarkdown(spec);
1422
+ const taskPrompt = `## Semantic Verification Task
174
1423
 
175
1424
  Verify that this implementation fulfills the specification's intent.
176
1425
 
177
1426
  **Specification:**
178
- ${operationSpecToFullMarkdown(spec)}
1427
+ ${specMarkdown}
179
1428
 
180
1429
  **Implementation:**
181
1430
  \`\`\`typescript
@@ -203,129 +1452,148 @@ Analyze and respond with JSON:
203
1452
  ],
204
1453
  "summary": "Brief summary of verification results"
205
1454
  }
206
- \`\`\``
207
- };
1455
+ \`\`\``;
1456
+ return {
1457
+ agent: "generic-mcp",
1458
+ taskPrompt
1459
+ };
208
1460
  }
209
- /**
210
- * Generate a feature implementation plan.
211
- */
212
1461
  function generateImplementationPlan(spec, options) {
213
- const m = spec.meta;
214
- const fileStructure = [];
215
- const basePath = options?.projectRoot ?? "src";
216
- const specPath = m.key.replace(/\./g, "/");
217
- if (m.kind === "command" || m.kind === "query") fileStructure.push({
218
- path: `${basePath}/${specPath}/handler.ts`,
219
- purpose: "Main handler implementation",
220
- type: "create"
221
- }, {
222
- path: `${basePath}/${specPath}/types.ts`,
223
- purpose: "Type definitions",
224
- type: "create"
225
- }, {
226
- path: `${basePath}/${specPath}/handler.test.ts`,
227
- purpose: "Handler tests",
228
- type: "create"
229
- });
230
- const steps = [];
231
- let order = 1;
232
- steps.push({
233
- order: order++,
234
- title: "Define Types",
235
- description: "Create TypeScript types for input, output, and internal data structures",
236
- acceptanceCriteria: [
237
- "Input type matches spec schema exactly",
238
- "Output type matches spec schema exactly",
239
- "Error types defined for all error cases"
240
- ]
241
- });
242
- steps.push({
243
- order: order++,
244
- title: "Implement Input Validation",
245
- description: "Add validation logic for the input payload",
246
- acceptanceCriteria: [
247
- "All required fields are validated",
248
- "Type constraints are enforced",
249
- "Validation errors return appropriate error codes"
250
- ]
251
- });
252
- steps.push({
253
- order: order++,
254
- title: "Implement Core Logic",
255
- description: "Implement the main business logic of the operation",
256
- acceptanceCriteria: spec.acceptance?.scenarios?.map((s) => s.key) ?? ["Operation completes successfully for valid input"]
257
- });
258
- if (spec.io.errors && Object.keys(spec.io.errors).length > 0) steps.push({
259
- order: order++,
260
- title: "Implement Error Handling",
261
- description: "Handle all defined error cases",
262
- acceptanceCriteria: Object.entries(spec.io.errors).map(([code, err]) => `Handle ${code}: ${err.when}`)
263
- });
264
- if (spec.sideEffects?.emits?.length) steps.push({
265
- order: order++,
266
- title: "Implement Event Emission",
267
- description: "Emit events as specified",
268
- acceptanceCriteria: spec.sideEffects.emits.map((e) => {
269
- if ("ref" in e) return `Emit ${e.ref.key}.v${e.ref.version} when ${e.when}`;
270
- return `Emit ${e.key}.v${e.version} when ${e.when}`;
271
- })
272
- });
273
- steps.push({
274
- order: order++,
275
- title: "Write Tests",
276
- description: "Create comprehensive test suite",
277
- acceptanceCriteria: [
278
- "All acceptance scenarios covered",
279
- "All error cases tested",
280
- "Edge cases handled",
281
- "Events verified"
282
- ]
283
- });
284
- const constraints = {
285
- policy: [],
286
- security: [],
287
- pii: []
288
- };
289
- constraints.policy.push(`Auth level: ${spec.policy.auth}`);
290
- if (spec.policy.idempotent !== void 0) constraints.policy.push(`Idempotent: ${spec.policy.idempotent}`);
291
- if (spec.policy.rateLimit) constraints.policy.push(`Rate limit: ${spec.policy.rateLimit.rpm} rpm per ${spec.policy.rateLimit.key}`);
292
- if (spec.policy.flags?.length) constraints.policy.push(`Feature flags required: ${spec.policy.flags.join(", ")}`);
293
- if (spec.policy.escalate) constraints.security.push(`Escalation required: ${spec.policy.escalate}`);
294
- if (spec.policy.pii?.length) constraints.pii = spec.policy.pii;
295
- return {
296
- target: {
297
- type: "spec",
298
- key: m.key,
299
- version: m.version
300
- },
301
- context: {
302
- goal: m.goal,
303
- description: m.description,
304
- background: m.context
305
- },
306
- specMarkdown: operationSpecToFullMarkdown(spec),
307
- fileStructure,
308
- steps,
309
- constraints,
310
- verificationChecklist: [
311
- "Input validation works for all cases",
312
- "Output matches expected schema",
313
- "All error cases return correct codes",
314
- "Events are emitted with correct payloads",
315
- "Auth requirements are enforced",
316
- "Rate limiting is applied (if applicable)",
317
- "PII fields are handled correctly",
318
- "All acceptance scenarios pass",
319
- "Tests provide adequate coverage"
320
- ]
321
- };
322
- }
323
- /**
324
- * Format an implementation plan for a specific agent.
325
- */
1462
+ const m = spec.meta;
1463
+ const fileStructure = [];
1464
+ const basePath = options?.projectRoot ?? "src";
1465
+ const specPath = m.key.replace(/\./g, "/");
1466
+ if (m.kind === "command" || m.kind === "query") {
1467
+ fileStructure.push({
1468
+ path: `${basePath}/${specPath}/handler.ts`,
1469
+ purpose: "Main handler implementation",
1470
+ type: "create"
1471
+ }, {
1472
+ path: `${basePath}/${specPath}/types.ts`,
1473
+ purpose: "Type definitions",
1474
+ type: "create"
1475
+ }, {
1476
+ path: `${basePath}/${specPath}/handler.test.ts`,
1477
+ purpose: "Handler tests",
1478
+ type: "create"
1479
+ });
1480
+ }
1481
+ const steps = [];
1482
+ let order = 1;
1483
+ steps.push({
1484
+ order: order++,
1485
+ title: "Define Types",
1486
+ description: "Create TypeScript types for input, output, and internal data structures",
1487
+ acceptanceCriteria: [
1488
+ "Input type matches spec schema exactly",
1489
+ "Output type matches spec schema exactly",
1490
+ "Error types defined for all error cases"
1491
+ ]
1492
+ });
1493
+ steps.push({
1494
+ order: order++,
1495
+ title: "Implement Input Validation",
1496
+ description: "Add validation logic for the input payload",
1497
+ acceptanceCriteria: [
1498
+ "All required fields are validated",
1499
+ "Type constraints are enforced",
1500
+ "Validation errors return appropriate error codes"
1501
+ ]
1502
+ });
1503
+ steps.push({
1504
+ order: order++,
1505
+ title: "Implement Core Logic",
1506
+ description: "Implement the main business logic of the operation",
1507
+ acceptanceCriteria: spec.acceptance?.scenarios?.map((s) => s.key) ?? [
1508
+ "Operation completes successfully for valid input"
1509
+ ]
1510
+ });
1511
+ if (spec.io.errors && Object.keys(spec.io.errors).length > 0) {
1512
+ steps.push({
1513
+ order: order++,
1514
+ title: "Implement Error Handling",
1515
+ description: "Handle all defined error cases",
1516
+ acceptanceCriteria: Object.entries(spec.io.errors).map(([code, err]) => `Handle ${code}: ${err.when}`)
1517
+ });
1518
+ }
1519
+ if (spec.sideEffects?.emits?.length) {
1520
+ steps.push({
1521
+ order: order++,
1522
+ title: "Implement Event Emission",
1523
+ description: "Emit events as specified",
1524
+ acceptanceCriteria: spec.sideEffects.emits.map((e) => {
1525
+ if ("ref" in e) {
1526
+ return `Emit ${e.ref.key}.v${e.ref.version} when ${e.when}`;
1527
+ }
1528
+ return `Emit ${e.key}.v${e.version} when ${e.when}`;
1529
+ })
1530
+ });
1531
+ }
1532
+ steps.push({
1533
+ order: order++,
1534
+ title: "Write Tests",
1535
+ description: "Create comprehensive test suite",
1536
+ acceptanceCriteria: [
1537
+ "All acceptance scenarios covered",
1538
+ "All error cases tested",
1539
+ "Edge cases handled",
1540
+ "Events verified"
1541
+ ]
1542
+ });
1543
+ const constraints = {
1544
+ policy: [],
1545
+ security: [],
1546
+ pii: []
1547
+ };
1548
+ constraints.policy.push(`Auth level: ${spec.policy.auth}`);
1549
+ if (spec.policy.idempotent !== undefined) {
1550
+ constraints.policy.push(`Idempotent: ${spec.policy.idempotent}`);
1551
+ }
1552
+ if (spec.policy.rateLimit) {
1553
+ constraints.policy.push(`Rate limit: ${spec.policy.rateLimit.rpm} rpm per ${spec.policy.rateLimit.key}`);
1554
+ }
1555
+ if (spec.policy.flags?.length) {
1556
+ constraints.policy.push(`Feature flags required: ${spec.policy.flags.join(", ")}`);
1557
+ }
1558
+ if (spec.policy.escalate) {
1559
+ constraints.security.push(`Escalation required: ${spec.policy.escalate}`);
1560
+ }
1561
+ if (spec.policy.pii?.length) {
1562
+ constraints.pii = spec.policy.pii;
1563
+ }
1564
+ const verificationChecklist = [
1565
+ "Input validation works for all cases",
1566
+ "Output matches expected schema",
1567
+ "All error cases return correct codes",
1568
+ "Events are emitted with correct payloads",
1569
+ "Auth requirements are enforced",
1570
+ "Rate limiting is applied (if applicable)",
1571
+ "PII fields are handled correctly",
1572
+ "All acceptance scenarios pass",
1573
+ "Tests provide adequate coverage"
1574
+ ];
1575
+ return {
1576
+ target: {
1577
+ type: "spec",
1578
+ key: m.key,
1579
+ version: m.version
1580
+ },
1581
+ context: {
1582
+ goal: m.goal,
1583
+ description: m.description,
1584
+ background: m.context
1585
+ },
1586
+ specMarkdown: operationSpecToFullMarkdown(spec),
1587
+ fileStructure,
1588
+ steps,
1589
+ constraints,
1590
+ verificationChecklist
1591
+ };
1592
+ }
326
1593
  function formatPlanForAgent(plan, agent) {
327
- let taskPrompt;
328
- if (agent === "claude-code") taskPrompt = `## Implementation Plan: ${plan.target.key}.v${plan.target.version}
1594
+ let taskPrompt;
1595
+ if (agent === "claude-code") {
1596
+ taskPrompt = `## Implementation Plan: ${plan.target.key}.v${plan.target.version}
329
1597
 
330
1598
  ### Context
331
1599
  **Goal:** ${plan.context.goal}
@@ -336,7 +1604,8 @@ function formatPlanForAgent(plan, agent) {
336
1604
  ${plan.specMarkdown}
337
1605
 
338
1606
  ### File Structure
339
- ${plan.fileStructure.map((f) => `- \`${f.path}\` (${f.type}): ${f.purpose}`).join("\n")}
1607
+ ${plan.fileStructure.map((f) => `- \`${f.path}\` (${f.type}): ${f.purpose}`).join(`
1608
+ `)}
340
1609
 
341
1610
  ### Implementation Steps
342
1611
  ${plan.steps.map((s) => `
@@ -344,19 +1613,32 @@ ${plan.steps.map((s) => `
344
1613
  ${s.description}
345
1614
 
346
1615
  **Acceptance Criteria:**
347
- ${s.acceptanceCriteria.map((c) => `- [ ] ${c}`).join("\n")}
348
- `).join("\n")}
1616
+ ${s.acceptanceCriteria.map((c) => `- [ ] ${c}`).join(`
1617
+ `)}
1618
+ `).join(`
1619
+ `)}
349
1620
 
350
1621
  ### Constraints
351
- ${plan.constraints.policy.length ? `**Policy:**\n${plan.constraints.policy.map((p) => `- ${p}`).join("\n")}\n` : ""}
352
- ${plan.constraints.security.length ? `**Security:**\n${plan.constraints.security.map((s) => `- ${s}`).join("\n")}\n` : ""}
353
- ${plan.constraints.pii.length ? `**PII Handling:**\n${plan.constraints.pii.map((p) => `- ${p}`).join("\n")}\n` : ""}
1622
+ ${plan.constraints.policy.length ? `**Policy:**
1623
+ ${plan.constraints.policy.map((p) => `- ${p}`).join(`
1624
+ `)}
1625
+ ` : ""}
1626
+ ${plan.constraints.security.length ? `**Security:**
1627
+ ${plan.constraints.security.map((s) => `- ${s}`).join(`
1628
+ `)}
1629
+ ` : ""}
1630
+ ${plan.constraints.pii.length ? `**PII Handling:**
1631
+ ${plan.constraints.pii.map((p) => `- ${p}`).join(`
1632
+ `)}
1633
+ ` : ""}
354
1634
 
355
1635
  ### Verification Checklist
356
- ${plan.verificationChecklist.map((c) => `- [ ] ${c}`).join("\n")}
1636
+ ${plan.verificationChecklist.map((c) => `- [ ] ${c}`).join(`
1637
+ `)}
357
1638
 
358
1639
  Implement this plan step by step.`;
359
- else if (agent === "cursor-cli") taskPrompt = `# ${plan.target.key}.v${plan.target.version}
1640
+ } else if (agent === "cursor-cli") {
1641
+ taskPrompt = `# ${plan.target.key}.v${plan.target.version}
360
1642
 
361
1643
  ${plan.context.goal}
362
1644
 
@@ -364,34 +1646,38 @@ ${plan.context.goal}
364
1646
  ${plan.specMarkdown}
365
1647
 
366
1648
  ## Files to create
367
- ${plan.fileStructure.map((f) => `${f.type}: ${f.path}`).join("\n")}
1649
+ ${plan.fileStructure.map((f) => `${f.type}: ${f.path}`).join(`
1650
+ `)}
368
1651
 
369
1652
  ## Steps
370
- ${plan.steps.map((s) => `${s.order}. ${s.title}`).join("\n")}`;
371
- else taskPrompt = `Implementation plan for ${plan.target.key}.v${plan.target.version}
1653
+ ${plan.steps.map((s) => `${s.order}. ${s.title}`).join(`
1654
+ `)}`;
1655
+ } else {
1656
+ taskPrompt = `Implementation plan for ${plan.target.key}.v${plan.target.version}
372
1657
 
373
1658
  ${plan.specMarkdown}
374
1659
 
375
1660
  Steps:
376
- ${plan.steps.map((s) => `${s.order}. ${s.title}: ${s.description}`).join("\n")}`;
377
- return {
378
- agent,
379
- systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
380
- taskPrompt
381
- };
382
- }
383
- /**
384
- * Generate a fix violations prompt after verification.
385
- */
1661
+ ${plan.steps.map((s) => `${s.order}. ${s.title}: ${s.description}`).join(`
1662
+ `)}`;
1663
+ }
1664
+ return {
1665
+ agent,
1666
+ systemPrompt: AGENT_SYSTEM_PROMPTS[agent],
1667
+ taskPrompt
1668
+ };
1669
+ }
386
1670
  function generateFixViolationsPrompt(spec, implementationCode, violations) {
387
- return {
388
- agent: "generic-mcp",
389
- taskPrompt: `## Fix Specification Violations
1671
+ const specMarkdown = operationSpecToFullMarkdown(spec);
1672
+ const violationsList = violations.map((v, i) => `${i + 1}. ${v.message}${v.suggestion ? `
1673
+ Suggestion: ${v.suggestion}` : ""}`).join(`
1674
+ `);
1675
+ const taskPrompt = `## Fix Specification Violations
390
1676
 
391
1677
  The following implementation has violations against its specification:
392
1678
 
393
1679
  **Specification:**
394
- ${operationSpecToFullMarkdown(spec)}
1680
+ ${specMarkdown}
395
1681
 
396
1682
  **Current Implementation:**
397
1683
  \`\`\`typescript
@@ -399,12 +1685,22 @@ ${implementationCode}
399
1685
  \`\`\`
400
1686
 
401
1687
  **Violations Found:**
402
- ${violations.map((v, i) => `${i + 1}. ${v.message}${v.suggestion ? `\n Suggestion: ${v.suggestion}` : ""}`).join("\n")}
1688
+ ${violationsList}
403
1689
 
404
1690
  Fix ALL violations while maintaining existing functionality.
405
- Provide the corrected implementation.`
406
- };
1691
+ Provide the corrected implementation.`;
1692
+ return {
1693
+ agent: "generic-mcp",
1694
+ taskPrompt
1695
+ };
407
1696
  }
408
-
409
- //#endregion
410
- export { AGENT_SYSTEM_PROMPTS, formatPlanForAgent, generateFixViolationsPrompt, generateImplementationPlan, generateImplementationPrompt, generateReviewPrompt, generateTestPrompt, generateVerificationPrompt };
1697
+ export {
1698
+ generateVerificationPrompt,
1699
+ generateTestPrompt,
1700
+ generateReviewPrompt,
1701
+ generateImplementationPrompt,
1702
+ generateImplementationPlan,
1703
+ generateFixViolationsPrompt,
1704
+ formatPlanForAgent,
1705
+ AGENT_SYSTEM_PROMPTS
1706
+ };