@defai.digital/contracts 13.0.3

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 (388) hide show
  1. package/LICENSE +214 -0
  2. package/dist/ability/v1/index.d.ts +5 -0
  3. package/dist/ability/v1/index.d.ts.map +1 -0
  4. package/dist/ability/v1/index.js +5 -0
  5. package/dist/ability/v1/index.js.map +1 -0
  6. package/dist/ability/v1/schema.d.ts +288 -0
  7. package/dist/ability/v1/schema.d.ts.map +1 -0
  8. package/dist/ability/v1/schema.js +138 -0
  9. package/dist/ability/v1/schema.js.map +1 -0
  10. package/dist/agent/v1/index.d.ts +8 -0
  11. package/dist/agent/v1/index.d.ts.map +1 -0
  12. package/dist/agent/v1/index.js +31 -0
  13. package/dist/agent/v1/index.js.map +1 -0
  14. package/dist/agent/v1/schema.d.ts +4055 -0
  15. package/dist/agent/v1/schema.d.ts.map +1 -0
  16. package/dist/agent/v1/schema.js +970 -0
  17. package/dist/agent/v1/schema.js.map +1 -0
  18. package/dist/agent/v1/storage-port.d.ts +172 -0
  19. package/dist/agent/v1/storage-port.d.ts.map +1 -0
  20. package/dist/agent/v1/storage-port.js +10 -0
  21. package/dist/agent/v1/storage-port.js.map +1 -0
  22. package/dist/analysis/v1/index.d.ts +7 -0
  23. package/dist/analysis/v1/index.d.ts.map +1 -0
  24. package/dist/analysis/v1/index.js +21 -0
  25. package/dist/analysis/v1/index.js.map +1 -0
  26. package/dist/analysis/v1/schema.d.ts +348 -0
  27. package/dist/analysis/v1/schema.d.ts.map +1 -0
  28. package/dist/analysis/v1/schema.js +252 -0
  29. package/dist/analysis/v1/schema.js.map +1 -0
  30. package/dist/cli/v1/index.d.ts +8 -0
  31. package/dist/cli/v1/index.d.ts.map +1 -0
  32. package/dist/cli/v1/index.js +46 -0
  33. package/dist/cli/v1/index.js.map +1 -0
  34. package/dist/cli/v1/output.d.ts +347 -0
  35. package/dist/cli/v1/output.d.ts.map +1 -0
  36. package/dist/cli/v1/output.js +288 -0
  37. package/dist/cli/v1/output.js.map +1 -0
  38. package/dist/cli/v1/schema.d.ts +494 -0
  39. package/dist/cli/v1/schema.d.ts.map +1 -0
  40. package/dist/cli/v1/schema.js +342 -0
  41. package/dist/cli/v1/schema.js.map +1 -0
  42. package/dist/config/v1/config.d.ts +887 -0
  43. package/dist/config/v1/config.d.ts.map +1 -0
  44. package/dist/config/v1/config.js +348 -0
  45. package/dist/config/v1/config.js.map +1 -0
  46. package/dist/config/v1/errors.d.ts +84 -0
  47. package/dist/config/v1/errors.d.ts.map +1 -0
  48. package/dist/config/v1/errors.js +150 -0
  49. package/dist/config/v1/errors.js.map +1 -0
  50. package/dist/config/v1/events.d.ts +416 -0
  51. package/dist/config/v1/events.d.ts.map +1 -0
  52. package/dist/config/v1/events.js +204 -0
  53. package/dist/config/v1/events.js.map +1 -0
  54. package/dist/config/v1/index.d.ts +11 -0
  55. package/dist/config/v1/index.d.ts.map +1 -0
  56. package/dist/config/v1/index.js +49 -0
  57. package/dist/config/v1/index.js.map +1 -0
  58. package/dist/config/v1/operations.d.ts +293 -0
  59. package/dist/config/v1/operations.d.ts.map +1 -0
  60. package/dist/config/v1/operations.js +172 -0
  61. package/dist/config/v1/operations.js.map +1 -0
  62. package/dist/config/v1/provider-config.d.ts +124 -0
  63. package/dist/config/v1/provider-config.d.ts.map +1 -0
  64. package/dist/config/v1/provider-config.js +123 -0
  65. package/dist/config/v1/provider-config.js.map +1 -0
  66. package/dist/constants.d.ts +292 -0
  67. package/dist/constants.d.ts.map +1 -0
  68. package/dist/constants.js +370 -0
  69. package/dist/constants.js.map +1 -0
  70. package/dist/context/v1/index.d.ts +5 -0
  71. package/dist/context/v1/index.d.ts.map +1 -0
  72. package/dist/context/v1/index.js +13 -0
  73. package/dist/context/v1/index.js.map +1 -0
  74. package/dist/context/v1/schema.d.ts +289 -0
  75. package/dist/context/v1/schema.d.ts.map +1 -0
  76. package/dist/context/v1/schema.js +145 -0
  77. package/dist/context/v1/schema.js.map +1 -0
  78. package/dist/cross-cutting/v1/dead-letter.d.ts +305 -0
  79. package/dist/cross-cutting/v1/dead-letter.d.ts.map +1 -0
  80. package/dist/cross-cutting/v1/dead-letter.js +172 -0
  81. package/dist/cross-cutting/v1/dead-letter.js.map +1 -0
  82. package/dist/cross-cutting/v1/idempotency.d.ts +222 -0
  83. package/dist/cross-cutting/v1/idempotency.d.ts.map +1 -0
  84. package/dist/cross-cutting/v1/idempotency.js +170 -0
  85. package/dist/cross-cutting/v1/idempotency.js.map +1 -0
  86. package/dist/cross-cutting/v1/index.d.ts +14 -0
  87. package/dist/cross-cutting/v1/index.d.ts.map +1 -0
  88. package/dist/cross-cutting/v1/index.js +18 -0
  89. package/dist/cross-cutting/v1/index.js.map +1 -0
  90. package/dist/cross-cutting/v1/retention.d.ts +347 -0
  91. package/dist/cross-cutting/v1/retention.d.ts.map +1 -0
  92. package/dist/cross-cutting/v1/retention.js +178 -0
  93. package/dist/cross-cutting/v1/retention.js.map +1 -0
  94. package/dist/cross-cutting/v1/saga.d.ts +358 -0
  95. package/dist/cross-cutting/v1/saga.d.ts.map +1 -0
  96. package/dist/cross-cutting/v1/saga.js +219 -0
  97. package/dist/cross-cutting/v1/saga.js.map +1 -0
  98. package/dist/design/v1/index.d.ts +5 -0
  99. package/dist/design/v1/index.d.ts.map +1 -0
  100. package/dist/design/v1/index.js +5 -0
  101. package/dist/design/v1/index.js.map +1 -0
  102. package/dist/design/v1/schema.d.ts +748 -0
  103. package/dist/design/v1/schema.d.ts.map +1 -0
  104. package/dist/design/v1/schema.js +316 -0
  105. package/dist/design/v1/schema.js.map +1 -0
  106. package/dist/discussion/v1/index.d.ts +10 -0
  107. package/dist/discussion/v1/index.d.ts.map +1 -0
  108. package/dist/discussion/v1/index.js +21 -0
  109. package/dist/discussion/v1/index.js.map +1 -0
  110. package/dist/discussion/v1/schema.d.ts +1186 -0
  111. package/dist/discussion/v1/schema.d.ts.map +1 -0
  112. package/dist/discussion/v1/schema.js +560 -0
  113. package/dist/discussion/v1/schema.js.map +1 -0
  114. package/dist/file-system/v1/index.d.ts +7 -0
  115. package/dist/file-system/v1/index.d.ts.map +1 -0
  116. package/dist/file-system/v1/index.js +7 -0
  117. package/dist/file-system/v1/index.js.map +1 -0
  118. package/dist/file-system/v1/schema.d.ts +644 -0
  119. package/dist/file-system/v1/schema.d.ts.map +1 -0
  120. package/dist/file-system/v1/schema.js +278 -0
  121. package/dist/file-system/v1/schema.js.map +1 -0
  122. package/dist/guard/v1/index.d.ts +9 -0
  123. package/dist/guard/v1/index.d.ts.map +1 -0
  124. package/dist/guard/v1/index.js +10 -0
  125. package/dist/guard/v1/index.js.map +1 -0
  126. package/dist/guard/v1/schema.d.ts +308 -0
  127. package/dist/guard/v1/schema.d.ts.map +1 -0
  128. package/dist/guard/v1/schema.js +267 -0
  129. package/dist/guard/v1/schema.js.map +1 -0
  130. package/dist/index.d.ts +68 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +117 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/iterate/v1/index.d.ts +5 -0
  135. package/dist/iterate/v1/index.d.ts.map +1 -0
  136. package/dist/iterate/v1/index.js +13 -0
  137. package/dist/iterate/v1/index.js.map +1 -0
  138. package/dist/iterate/v1/schema.d.ts +693 -0
  139. package/dist/iterate/v1/schema.d.ts.map +1 -0
  140. package/dist/iterate/v1/schema.js +244 -0
  141. package/dist/iterate/v1/schema.js.map +1 -0
  142. package/dist/mcp/v1/index.d.ts +8 -0
  143. package/dist/mcp/v1/index.d.ts.map +1 -0
  144. package/dist/mcp/v1/index.js +20 -0
  145. package/dist/mcp/v1/index.js.map +1 -0
  146. package/dist/mcp/v1/prompts/index.d.ts +5 -0
  147. package/dist/mcp/v1/prompts/index.d.ts.map +1 -0
  148. package/dist/mcp/v1/prompts/index.js +5 -0
  149. package/dist/mcp/v1/prompts/index.js.map +1 -0
  150. package/dist/mcp/v1/prompts/schema.d.ts +266 -0
  151. package/dist/mcp/v1/prompts/schema.d.ts.map +1 -0
  152. package/dist/mcp/v1/prompts/schema.js +138 -0
  153. package/dist/mcp/v1/prompts/schema.js.map +1 -0
  154. package/dist/mcp/v1/rate-limit.schema.d.ts +175 -0
  155. package/dist/mcp/v1/rate-limit.schema.d.ts.map +1 -0
  156. package/dist/mcp/v1/rate-limit.schema.js +164 -0
  157. package/dist/mcp/v1/rate-limit.schema.js.map +1 -0
  158. package/dist/mcp/v1/resources/index.d.ts +5 -0
  159. package/dist/mcp/v1/resources/index.d.ts.map +1 -0
  160. package/dist/mcp/v1/resources/index.js +5 -0
  161. package/dist/mcp/v1/resources/index.js.map +1 -0
  162. package/dist/mcp/v1/resources/schema.d.ts +169 -0
  163. package/dist/mcp/v1/resources/schema.d.ts.map +1 -0
  164. package/dist/mcp/v1/resources/schema.js +118 -0
  165. package/dist/mcp/v1/resources/schema.js.map +1 -0
  166. package/dist/mcp/v1/runtime/cache.d.ts +204 -0
  167. package/dist/mcp/v1/runtime/cache.d.ts.map +1 -0
  168. package/dist/mcp/v1/runtime/cache.js +92 -0
  169. package/dist/mcp/v1/runtime/cache.js.map +1 -0
  170. package/dist/mcp/v1/runtime/index.d.ts +5 -0
  171. package/dist/mcp/v1/runtime/index.d.ts.map +1 -0
  172. package/dist/mcp/v1/runtime/index.js +9 -0
  173. package/dist/mcp/v1/runtime/index.js.map +1 -0
  174. package/dist/mcp/v1/runtime/limits.d.ts +113 -0
  175. package/dist/mcp/v1/runtime/limits.d.ts.map +1 -0
  176. package/dist/mcp/v1/runtime/limits.js +95 -0
  177. package/dist/mcp/v1/runtime/limits.js.map +1 -0
  178. package/dist/mcp/v1/runtime/response.d.ts +467 -0
  179. package/dist/mcp/v1/runtime/response.d.ts.map +1 -0
  180. package/dist/mcp/v1/runtime/response.js +130 -0
  181. package/dist/mcp/v1/runtime/response.js.map +1 -0
  182. package/dist/mcp/v1/runtime/timeout.d.ts +116 -0
  183. package/dist/mcp/v1/runtime/timeout.d.ts.map +1 -0
  184. package/dist/mcp/v1/runtime/timeout.js +116 -0
  185. package/dist/mcp/v1/runtime/timeout.js.map +1 -0
  186. package/dist/mcp/v1/schema.d.ts +171 -0
  187. package/dist/mcp/v1/schema.d.ts.map +1 -0
  188. package/dist/mcp/v1/schema.js +97 -0
  189. package/dist/mcp/v1/schema.js.map +1 -0
  190. package/dist/mcp/v1/tools/agent.d.ts +485 -0
  191. package/dist/mcp/v1/tools/agent.d.ts.map +1 -0
  192. package/dist/mcp/v1/tools/agent.js +264 -0
  193. package/dist/mcp/v1/tools/agent.js.map +1 -0
  194. package/dist/mcp/v1/tools/guard.d.ts +243 -0
  195. package/dist/mcp/v1/tools/guard.d.ts.map +1 -0
  196. package/dist/mcp/v1/tools/guard.js +136 -0
  197. package/dist/mcp/v1/tools/guard.js.map +1 -0
  198. package/dist/mcp/v1/tools/index.d.ts +15 -0
  199. package/dist/mcp/v1/tools/index.d.ts.map +1 -0
  200. package/dist/mcp/v1/tools/index.js +22 -0
  201. package/dist/mcp/v1/tools/index.js.map +1 -0
  202. package/dist/mcp/v1/tools/memory.d.ts +569 -0
  203. package/dist/mcp/v1/tools/memory.d.ts.map +1 -0
  204. package/dist/mcp/v1/tools/memory.js +319 -0
  205. package/dist/mcp/v1/tools/memory.js.map +1 -0
  206. package/dist/mcp/v1/tools/session.d.ts +545 -0
  207. package/dist/mcp/v1/tools/session.d.ts.map +1 -0
  208. package/dist/mcp/v1/tools/session.js +309 -0
  209. package/dist/mcp/v1/tools/session.js.map +1 -0
  210. package/dist/mcp/v1/tools/tool-list-schemas.d.ts +354 -0
  211. package/dist/mcp/v1/tools/tool-list-schemas.d.ts.map +1 -0
  212. package/dist/mcp/v1/tools/tool-list-schemas.js +140 -0
  213. package/dist/mcp/v1/tools/tool-list-schemas.js.map +1 -0
  214. package/dist/mcp/v1/tools/trace.d.ts +282 -0
  215. package/dist/mcp/v1/tools/trace.d.ts.map +1 -0
  216. package/dist/mcp/v1/tools/trace.js +94 -0
  217. package/dist/mcp/v1/tools/trace.js.map +1 -0
  218. package/dist/mcp/v1/tools/workflow.d.ts +146 -0
  219. package/dist/mcp/v1/tools/workflow.d.ts.map +1 -0
  220. package/dist/mcp/v1/tools/workflow.js +68 -0
  221. package/dist/mcp/v1/tools/workflow.js.map +1 -0
  222. package/dist/mcp/v1/trace/index.d.ts +5 -0
  223. package/dist/mcp/v1/trace/index.d.ts.map +1 -0
  224. package/dist/mcp/v1/trace/index.js +5 -0
  225. package/dist/mcp/v1/trace/index.js.map +1 -0
  226. package/dist/mcp/v1/trace/tool-trace.d.ts +107 -0
  227. package/dist/mcp/v1/trace/tool-trace.d.ts.map +1 -0
  228. package/dist/mcp/v1/trace/tool-trace.js +91 -0
  229. package/dist/mcp/v1/trace/tool-trace.js.map +1 -0
  230. package/dist/memory/v1/index.d.ts +2 -0
  231. package/dist/memory/v1/index.d.ts.map +1 -0
  232. package/dist/memory/v1/index.js +2 -0
  233. package/dist/memory/v1/index.js.map +1 -0
  234. package/dist/memory/v1/schema.d.ts +188 -0
  235. package/dist/memory/v1/schema.d.ts.map +1 -0
  236. package/dist/memory/v1/schema.js +108 -0
  237. package/dist/memory/v1/schema.js.map +1 -0
  238. package/dist/ml-lifecycle/v1/index.d.ts +12 -0
  239. package/dist/ml-lifecycle/v1/index.d.ts.map +1 -0
  240. package/dist/ml-lifecycle/v1/index.js +12 -0
  241. package/dist/ml-lifecycle/v1/index.js.map +1 -0
  242. package/dist/ml-lifecycle/v1/schema.d.ts +1207 -0
  243. package/dist/ml-lifecycle/v1/schema.d.ts.map +1 -0
  244. package/dist/ml-lifecycle/v1/schema.js +481 -0
  245. package/dist/ml-lifecycle/v1/schema.js.map +1 -0
  246. package/dist/orchestration/v1/index.d.ts +5 -0
  247. package/dist/orchestration/v1/index.d.ts.map +1 -0
  248. package/dist/orchestration/v1/index.js +23 -0
  249. package/dist/orchestration/v1/index.js.map +1 -0
  250. package/dist/orchestration/v1/schema.d.ts +1384 -0
  251. package/dist/orchestration/v1/schema.d.ts.map +1 -0
  252. package/dist/orchestration/v1/schema.js +394 -0
  253. package/dist/orchestration/v1/schema.js.map +1 -0
  254. package/dist/provider/v1/circuit-breaker.d.ts +151 -0
  255. package/dist/provider/v1/circuit-breaker.d.ts.map +1 -0
  256. package/dist/provider/v1/circuit-breaker.js +119 -0
  257. package/dist/provider/v1/circuit-breaker.js.map +1 -0
  258. package/dist/provider/v1/health.d.ts +246 -0
  259. package/dist/provider/v1/health.d.ts.map +1 -0
  260. package/dist/provider/v1/health.js +190 -0
  261. package/dist/provider/v1/health.js.map +1 -0
  262. package/dist/provider/v1/index.d.ts +13 -0
  263. package/dist/provider/v1/index.d.ts.map +1 -0
  264. package/dist/provider/v1/index.js +17 -0
  265. package/dist/provider/v1/index.js.map +1 -0
  266. package/dist/provider/v1/port.d.ts +237 -0
  267. package/dist/provider/v1/port.d.ts.map +1 -0
  268. package/dist/provider/v1/port.js +113 -0
  269. package/dist/provider/v1/port.js.map +1 -0
  270. package/dist/provider/v1/rate-limit.d.ts +214 -0
  271. package/dist/provider/v1/rate-limit.d.ts.map +1 -0
  272. package/dist/provider/v1/rate-limit.js +165 -0
  273. package/dist/provider/v1/rate-limit.js.map +1 -0
  274. package/dist/resilience/v1/circuit-breaker.d.ts +135 -0
  275. package/dist/resilience/v1/circuit-breaker.d.ts.map +1 -0
  276. package/dist/resilience/v1/circuit-breaker.js +105 -0
  277. package/dist/resilience/v1/circuit-breaker.js.map +1 -0
  278. package/dist/resilience/v1/index.d.ts +17 -0
  279. package/dist/resilience/v1/index.d.ts.map +1 -0
  280. package/dist/resilience/v1/index.js +17 -0
  281. package/dist/resilience/v1/index.js.map +1 -0
  282. package/dist/resilience/v1/loop-guard.d.ts +123 -0
  283. package/dist/resilience/v1/loop-guard.d.ts.map +1 -0
  284. package/dist/resilience/v1/loop-guard.js +96 -0
  285. package/dist/resilience/v1/loop-guard.js.map +1 -0
  286. package/dist/resilience/v1/metrics.d.ts +323 -0
  287. package/dist/resilience/v1/metrics.d.ts.map +1 -0
  288. package/dist/resilience/v1/metrics.js +183 -0
  289. package/dist/resilience/v1/metrics.js.map +1 -0
  290. package/dist/resilience/v1/rate-limiter.d.ts +122 -0
  291. package/dist/resilience/v1/rate-limiter.d.ts.map +1 -0
  292. package/dist/resilience/v1/rate-limiter.js +119 -0
  293. package/dist/resilience/v1/rate-limiter.js.map +1 -0
  294. package/dist/resilience/v1/resource-limits.d.ts +146 -0
  295. package/dist/resilience/v1/resource-limits.d.ts.map +1 -0
  296. package/dist/resilience/v1/resource-limits.js +130 -0
  297. package/dist/resilience/v1/resource-limits.js.map +1 -0
  298. package/dist/review/v1/index.d.ts +7 -0
  299. package/dist/review/v1/index.d.ts.map +1 -0
  300. package/dist/review/v1/index.js +23 -0
  301. package/dist/review/v1/index.js.map +1 -0
  302. package/dist/review/v1/schema.d.ts +1284 -0
  303. package/dist/review/v1/schema.d.ts.map +1 -0
  304. package/dist/review/v1/schema.js +423 -0
  305. package/dist/review/v1/schema.js.map +1 -0
  306. package/dist/routing/v1/index.d.ts +2 -0
  307. package/dist/routing/v1/index.d.ts.map +1 -0
  308. package/dist/routing/v1/index.js +2 -0
  309. package/dist/routing/v1/index.js.map +1 -0
  310. package/dist/routing/v1/schema.d.ts +315 -0
  311. package/dist/routing/v1/schema.d.ts.map +1 -0
  312. package/dist/routing/v1/schema.js +103 -0
  313. package/dist/routing/v1/schema.js.map +1 -0
  314. package/dist/scaffold/v1/index.d.ts +7 -0
  315. package/dist/scaffold/v1/index.d.ts.map +1 -0
  316. package/dist/scaffold/v1/index.js +7 -0
  317. package/dist/scaffold/v1/index.js.map +1 -0
  318. package/dist/scaffold/v1/schema.d.ts +351 -0
  319. package/dist/scaffold/v1/schema.d.ts.map +1 -0
  320. package/dist/scaffold/v1/schema.js +238 -0
  321. package/dist/scaffold/v1/schema.js.map +1 -0
  322. package/dist/session/v1/index.d.ts +7 -0
  323. package/dist/session/v1/index.d.ts.map +1 -0
  324. package/dist/session/v1/index.js +23 -0
  325. package/dist/session/v1/index.js.map +1 -0
  326. package/dist/session/v1/schema.d.ts +1156 -0
  327. package/dist/session/v1/schema.d.ts.map +1 -0
  328. package/dist/session/v1/schema.js +315 -0
  329. package/dist/session/v1/schema.js.map +1 -0
  330. package/dist/storage/v1/index.d.ts +9 -0
  331. package/dist/storage/v1/index.d.ts.map +1 -0
  332. package/dist/storage/v1/index.js +21 -0
  333. package/dist/storage/v1/index.js.map +1 -0
  334. package/dist/storage/v1/schema.d.ts +411 -0
  335. package/dist/storage/v1/schema.d.ts.map +1 -0
  336. package/dist/storage/v1/schema.js +167 -0
  337. package/dist/storage/v1/schema.js.map +1 -0
  338. package/dist/telemetry/v1/index.d.ts +5 -0
  339. package/dist/telemetry/v1/index.d.ts.map +1 -0
  340. package/dist/telemetry/v1/index.js +5 -0
  341. package/dist/telemetry/v1/index.js.map +1 -0
  342. package/dist/telemetry/v1/schema.d.ts +747 -0
  343. package/dist/telemetry/v1/schema.d.ts.map +1 -0
  344. package/dist/telemetry/v1/schema.js +300 -0
  345. package/dist/telemetry/v1/schema.js.map +1 -0
  346. package/dist/token-budget/v1/index.d.ts +7 -0
  347. package/dist/token-budget/v1/index.d.ts.map +1 -0
  348. package/dist/token-budget/v1/index.js +25 -0
  349. package/dist/token-budget/v1/index.js.map +1 -0
  350. package/dist/token-budget/v1/schema.d.ts +588 -0
  351. package/dist/token-budget/v1/schema.d.ts.map +1 -0
  352. package/dist/token-budget/v1/schema.js +239 -0
  353. package/dist/token-budget/v1/schema.js.map +1 -0
  354. package/dist/trace/v1/index.d.ts +2 -0
  355. package/dist/trace/v1/index.d.ts.map +1 -0
  356. package/dist/trace/v1/index.js +4 -0
  357. package/dist/trace/v1/index.js.map +1 -0
  358. package/dist/trace/v1/schema.d.ts +531 -0
  359. package/dist/trace/v1/schema.d.ts.map +1 -0
  360. package/dist/trace/v1/schema.js +243 -0
  361. package/dist/trace/v1/schema.js.map +1 -0
  362. package/dist/workflow/v1/index.d.ts +3 -0
  363. package/dist/workflow/v1/index.d.ts.map +1 -0
  364. package/dist/workflow/v1/index.js +8 -0
  365. package/dist/workflow/v1/index.js.map +1 -0
  366. package/dist/workflow/v1/schema.d.ts +267 -0
  367. package/dist/workflow/v1/schema.d.ts.map +1 -0
  368. package/dist/workflow/v1/schema.js +95 -0
  369. package/dist/workflow/v1/schema.js.map +1 -0
  370. package/dist/workflow/v1/step-guard.d.ts +571 -0
  371. package/dist/workflow/v1/step-guard.d.ts.map +1 -0
  372. package/dist/workflow/v1/step-guard.js +305 -0
  373. package/dist/workflow/v1/step-guard.js.map +1 -0
  374. package/dist/workflow-templates/v1/index.d.ts +8 -0
  375. package/dist/workflow-templates/v1/index.d.ts.map +1 -0
  376. package/dist/workflow-templates/v1/index.js +8 -0
  377. package/dist/workflow-templates/v1/index.js.map +1 -0
  378. package/dist/workflow-templates/v1/schema.d.ts +714 -0
  379. package/dist/workflow-templates/v1/schema.d.ts.map +1 -0
  380. package/dist/workflow-templates/v1/schema.js +168 -0
  381. package/dist/workflow-templates/v1/schema.js.map +1 -0
  382. package/package.json +142 -0
  383. package/src/guard/v1/policy.schema.json +56 -0
  384. package/src/mcp/v1/tools.schema.json +108 -0
  385. package/src/memory/v1/event.schema.json +136 -0
  386. package/src/routing/v1/decision.schema.json +155 -0
  387. package/src/trace/v1/event.schema.json +197 -0
  388. package/src/workflow/v1/workflow.schema.json +142 -0
@@ -0,0 +1,138 @@
1
+ /**
2
+ * MCP Prompt Contracts
3
+ *
4
+ * Zod schemas for MCP prompts (user-controlled templates).
5
+ */
6
+ import { z } from 'zod';
7
+ // ============================================================================
8
+ // Prompt Argument Schema
9
+ // ============================================================================
10
+ /**
11
+ * Prompt argument definition
12
+ */
13
+ export const PromptArgumentSchema = z.object({
14
+ /** Argument name */
15
+ name: z.string().min(1),
16
+ /** Description of the argument */
17
+ description: z.string().optional(),
18
+ /** Whether the argument is required */
19
+ required: z.boolean().optional(),
20
+ });
21
+ // ============================================================================
22
+ // Prompt Definition Schema
23
+ // ============================================================================
24
+ /**
25
+ * MCP Prompt definition
26
+ */
27
+ export const McpPromptSchema = z.object({
28
+ /** Unique prompt name */
29
+ name: z.string().min(1),
30
+ /** Description of what the prompt does */
31
+ description: z.string().optional(),
32
+ /** Arguments the prompt accepts */
33
+ arguments: z.array(PromptArgumentSchema).optional(),
34
+ });
35
+ // ============================================================================
36
+ // Prompt Message Schema
37
+ // ============================================================================
38
+ /**
39
+ * Message role
40
+ */
41
+ export const PromptRoleSchema = z.enum(['user', 'assistant']);
42
+ /**
43
+ * Message content
44
+ */
45
+ export const PromptContentSchema = z.object({
46
+ type: z.literal('text'),
47
+ text: z.string(),
48
+ });
49
+ /**
50
+ * Prompt message
51
+ */
52
+ export const PromptMessageSchema = z.object({
53
+ role: PromptRoleSchema,
54
+ content: PromptContentSchema,
55
+ });
56
+ // ============================================================================
57
+ // Prompt List Response
58
+ // ============================================================================
59
+ /**
60
+ * Response for prompts/list method
61
+ */
62
+ export const PromptListResponseSchema = z.object({
63
+ prompts: z.array(McpPromptSchema),
64
+ });
65
+ // ============================================================================
66
+ // Get Prompt Response
67
+ // ============================================================================
68
+ /**
69
+ * Response for prompts/get method
70
+ */
71
+ export const GetPromptResponseSchema = z.object({
72
+ description: z.string().optional(),
73
+ messages: z.array(PromptMessageSchema),
74
+ });
75
+ // ============================================================================
76
+ // Prompt Error Codes
77
+ // ============================================================================
78
+ /**
79
+ * Prompt-specific error codes
80
+ */
81
+ export const PromptErrorCode = {
82
+ PROMPT_NOT_FOUND: 'PROMPT_NOT_FOUND',
83
+ MISSING_REQUIRED_ARGUMENT: 'MISSING_REQUIRED_ARGUMENT',
84
+ INVALID_ARGUMENT: 'INVALID_ARGUMENT',
85
+ };
86
+ // ============================================================================
87
+ // Validation Functions
88
+ // ============================================================================
89
+ /**
90
+ * Validates prompt definition
91
+ */
92
+ export function validatePrompt(data) {
93
+ return McpPromptSchema.parse(data);
94
+ }
95
+ /**
96
+ * Validates prompt list response
97
+ */
98
+ export function validatePromptListResponse(data) {
99
+ return PromptListResponseSchema.parse(data);
100
+ }
101
+ /**
102
+ * Validates get prompt response
103
+ */
104
+ export function validateGetPromptResponse(data) {
105
+ return GetPromptResponseSchema.parse(data);
106
+ }
107
+ // ============================================================================
108
+ // Helper Functions
109
+ // ============================================================================
110
+ /**
111
+ * Creates a prompt definition
112
+ */
113
+ export function createPrompt(name, description, args) {
114
+ return {
115
+ name,
116
+ description,
117
+ arguments: args,
118
+ };
119
+ }
120
+ /**
121
+ * Creates a prompt message
122
+ */
123
+ export function createPromptMessage(role, text) {
124
+ return {
125
+ role,
126
+ content: { type: 'text', text },
127
+ };
128
+ }
129
+ /**
130
+ * Creates a get prompt response
131
+ */
132
+ export function createGetPromptResponse(messages, description) {
133
+ return {
134
+ description,
135
+ messages,
136
+ };
137
+ }
138
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/mcp/v1/prompts/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * MCP Tool Rate Limiting Contract
3
+ *
4
+ * Defines rate limiting schemas for MCP tools to prevent resource exhaustion
5
+ * from runaway agent loops or excessive tool calls.
6
+ *
7
+ * Invariants:
8
+ * - INV-RL-001: Rate limits are enforced per tool
9
+ * - INV-RL-002: Exceeded limits return RATE_LIMITED error with retryAfter
10
+ * - INV-RL-003: Limits are configurable without code changes
11
+ * - INV-RL-004: Read tools have higher limits than mutation tools
12
+ */
13
+ import { z } from 'zod';
14
+ /**
15
+ * Tool category for rate limiting purposes
16
+ * Different categories have different default limits
17
+ */
18
+ export declare const ToolCategorySchema: z.ZodEnum<["execution", "mutation", "read"]>;
19
+ export type ToolCategory = z.infer<typeof ToolCategorySchema>;
20
+ /**
21
+ * Rate limit configuration for a single tool
22
+ */
23
+ export declare const RateLimitConfigSchema: z.ZodObject<{
24
+ /** Requests per minute allowed */
25
+ rpm: z.ZodDefault<z.ZodNumber>;
26
+ /** Burst size (max requests in short window) */
27
+ burst: z.ZodDefault<z.ZodNumber>;
28
+ /** Whether rate limiting is enabled for this tool */
29
+ enabled: z.ZodDefault<z.ZodBoolean>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ enabled: boolean;
32
+ rpm: number;
33
+ burst: number;
34
+ }, {
35
+ enabled?: boolean | undefined;
36
+ rpm?: number | undefined;
37
+ burst?: number | undefined;
38
+ }>;
39
+ export type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;
40
+ /**
41
+ * Rate limit state for tracking usage
42
+ */
43
+ export declare const RateLimitStateSchema: z.ZodObject<{
44
+ /** Tool name */
45
+ toolName: z.ZodString;
46
+ /** Current request count in window */
47
+ requestCount: z.ZodNumber;
48
+ /** Window start timestamp (ISO string) */
49
+ windowStart: z.ZodString;
50
+ /** Tokens available for burst */
51
+ burstTokens: z.ZodNumber;
52
+ /** Last request timestamp */
53
+ lastRequest: z.ZodOptional<z.ZodString>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ toolName: string;
56
+ requestCount: number;
57
+ windowStart: string;
58
+ burstTokens: number;
59
+ lastRequest?: string | undefined;
60
+ }, {
61
+ toolName: string;
62
+ requestCount: number;
63
+ windowStart: string;
64
+ burstTokens: number;
65
+ lastRequest?: string | undefined;
66
+ }>;
67
+ export type RateLimitState = z.infer<typeof RateLimitStateSchema>;
68
+ /**
69
+ * Rate limit check result
70
+ */
71
+ export declare const RateLimitResultSchema: z.ZodObject<{
72
+ /** Whether the request is allowed */
73
+ allowed: z.ZodBoolean;
74
+ /** Remaining requests in current window */
75
+ remaining: z.ZodNumber;
76
+ /** Seconds until rate limit resets */
77
+ resetIn: z.ZodNumber;
78
+ /** Seconds to wait before retrying (if not allowed) */
79
+ retryAfter: z.ZodOptional<z.ZodNumber>;
80
+ /** Current limit configuration */
81
+ limit: z.ZodObject<{
82
+ /** Requests per minute allowed */
83
+ rpm: z.ZodDefault<z.ZodNumber>;
84
+ /** Burst size (max requests in short window) */
85
+ burst: z.ZodDefault<z.ZodNumber>;
86
+ /** Whether rate limiting is enabled for this tool */
87
+ enabled: z.ZodDefault<z.ZodBoolean>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ enabled: boolean;
90
+ rpm: number;
91
+ burst: number;
92
+ }, {
93
+ enabled?: boolean | undefined;
94
+ rpm?: number | undefined;
95
+ burst?: number | undefined;
96
+ }>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ limit: {
99
+ enabled: boolean;
100
+ rpm: number;
101
+ burst: number;
102
+ };
103
+ allowed: boolean;
104
+ remaining: number;
105
+ resetIn: number;
106
+ retryAfter?: number | undefined;
107
+ }, {
108
+ limit: {
109
+ enabled?: boolean | undefined;
110
+ rpm?: number | undefined;
111
+ burst?: number | undefined;
112
+ };
113
+ allowed: boolean;
114
+ remaining: number;
115
+ resetIn: number;
116
+ retryAfter?: number | undefined;
117
+ }>;
118
+ export type RateLimitResult = z.infer<typeof RateLimitResultSchema>;
119
+ /**
120
+ * Rate limit error response
121
+ * INV-RL-002: Exceeded limits return RATE_LIMITED error with retryAfter
122
+ */
123
+ export declare const RateLimitErrorSchema: z.ZodObject<{
124
+ code: z.ZodLiteral<"RATE_LIMITED">;
125
+ message: z.ZodString;
126
+ toolName: z.ZodString;
127
+ retryAfter: z.ZodNumber;
128
+ limit: z.ZodNumber;
129
+ windowSeconds: z.ZodNumber;
130
+ }, "strip", z.ZodTypeAny, {
131
+ code: "RATE_LIMITED";
132
+ message: string;
133
+ toolName: string;
134
+ limit: number;
135
+ retryAfter: number;
136
+ windowSeconds: number;
137
+ }, {
138
+ code: "RATE_LIMITED";
139
+ message: string;
140
+ toolName: string;
141
+ limit: number;
142
+ retryAfter: number;
143
+ windowSeconds: number;
144
+ }>;
145
+ export type RateLimitError = z.infer<typeof RateLimitErrorSchema>;
146
+ /**
147
+ * Default rate limits by tool category
148
+ * INV-RL-004: Read tools have higher limits than mutation tools
149
+ */
150
+ export declare const DEFAULT_RATE_LIMITS: Record<ToolCategory, RateLimitConfig>;
151
+ /**
152
+ * Tool to category mapping
153
+ */
154
+ export declare const TOOL_CATEGORIES: Record<string, ToolCategory>;
155
+ /**
156
+ * Gets the category for a tool
157
+ */
158
+ export declare function getToolCategory(toolName: string): ToolCategory;
159
+ /**
160
+ * Gets the default rate limit for a tool based on its category
161
+ */
162
+ export declare function getDefaultRateLimit(toolName: string): RateLimitConfig;
163
+ /**
164
+ * Creates a rate limit error response
165
+ */
166
+ export declare function createRateLimitError(toolName: string, retryAfter: number, limit: number): RateLimitError;
167
+ /**
168
+ * Validates rate limit config
169
+ */
170
+ export declare function validateRateLimitConfig(data: unknown): RateLimitConfig;
171
+ /**
172
+ * Safely validates rate limit config
173
+ */
174
+ export declare function safeValidateRateLimitConfig(data: unknown): z.SafeParseReturnType<unknown, RateLimitConfig>;
175
+ //# sourceMappingURL=rate-limit.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.schema.d.ts","sourceRoot":"","sources":["../../../src/mcp/v1/rate-limit.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,8CAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,kCAAkC;;IAGlC,gDAAgD;;IAGhD,qDAAqD;;;;;;;;;;EAErD,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gBAAgB;;IAGhB,sCAAsC;;IAGtC,0CAA0C;;IAG1C,iCAAiC;;IAGjC,6BAA6B;;;;;;;;;;;;;;EAE7B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,qCAAqC;;IAGrC,2CAA2C;;IAG3C,sCAAsC;;IAGtC,uDAAuD;;IAGvD,kCAAkC;;QAlDlC,kCAAkC;;QAGlC,gDAAgD;;QAGhD,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CrD,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAIrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuCxD,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAGrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,cAAc,CAShB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAEtE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,GACZ,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAEjD"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * MCP Tool Rate Limiting Contract
3
+ *
4
+ * Defines rate limiting schemas for MCP tools to prevent resource exhaustion
5
+ * from runaway agent loops or excessive tool calls.
6
+ *
7
+ * Invariants:
8
+ * - INV-RL-001: Rate limits are enforced per tool
9
+ * - INV-RL-002: Exceeded limits return RATE_LIMITED error with retryAfter
10
+ * - INV-RL-003: Limits are configurable without code changes
11
+ * - INV-RL-004: Read tools have higher limits than mutation tools
12
+ */
13
+ import { z } from 'zod';
14
+ /**
15
+ * Tool category for rate limiting purposes
16
+ * Different categories have different default limits
17
+ */
18
+ export const ToolCategorySchema = z.enum([
19
+ 'execution', // agent_run, workflow_run - most restricted
20
+ 'mutation', // memory_store, session_create - moderate
21
+ 'read', // memory_retrieve, agent_list - least restricted
22
+ ]);
23
+ /**
24
+ * Rate limit configuration for a single tool
25
+ */
26
+ export const RateLimitConfigSchema = z.object({
27
+ /** Requests per minute allowed */
28
+ rpm: z.number().int().min(1).max(10000).default(100),
29
+ /** Burst size (max requests in short window) */
30
+ burst: z.number().int().min(1).max(1000).default(10),
31
+ /** Whether rate limiting is enabled for this tool */
32
+ enabled: z.boolean().default(true),
33
+ });
34
+ /**
35
+ * Rate limit state for tracking usage
36
+ */
37
+ export const RateLimitStateSchema = z.object({
38
+ /** Tool name */
39
+ toolName: z.string(),
40
+ /** Current request count in window */
41
+ requestCount: z.number().int().min(0),
42
+ /** Window start timestamp (ISO string) */
43
+ windowStart: z.string().datetime(),
44
+ /** Tokens available for burst */
45
+ burstTokens: z.number().int().min(0),
46
+ /** Last request timestamp */
47
+ lastRequest: z.string().datetime().optional(),
48
+ });
49
+ /**
50
+ * Rate limit check result
51
+ */
52
+ export const RateLimitResultSchema = z.object({
53
+ /** Whether the request is allowed */
54
+ allowed: z.boolean(),
55
+ /** Remaining requests in current window */
56
+ remaining: z.number().int().min(0),
57
+ /** Seconds until rate limit resets */
58
+ resetIn: z.number().int().min(0),
59
+ /** Seconds to wait before retrying (if not allowed) */
60
+ retryAfter: z.number().int().min(0).optional(),
61
+ /** Current limit configuration */
62
+ limit: RateLimitConfigSchema,
63
+ });
64
+ /**
65
+ * Rate limit error response
66
+ * INV-RL-002: Exceeded limits return RATE_LIMITED error with retryAfter
67
+ */
68
+ export const RateLimitErrorSchema = z.object({
69
+ code: z.literal('RATE_LIMITED'),
70
+ message: z.string(),
71
+ toolName: z.string(),
72
+ retryAfter: z.number().int().min(0),
73
+ limit: z.number().int(),
74
+ windowSeconds: z.number().int(),
75
+ });
76
+ /**
77
+ * Default rate limits by tool category
78
+ * INV-RL-004: Read tools have higher limits than mutation tools
79
+ */
80
+ export const DEFAULT_RATE_LIMITS = {
81
+ execution: { rpm: 30, burst: 5, enabled: true },
82
+ mutation: { rpm: 100, burst: 20, enabled: true },
83
+ read: { rpm: 200, burst: 50, enabled: true },
84
+ };
85
+ /**
86
+ * Tool to category mapping
87
+ */
88
+ export const TOOL_CATEGORIES = {
89
+ // Execution tools - most restricted
90
+ agent_run: 'execution',
91
+ workflow_run: 'execution',
92
+ // Mutation tools - moderate limits
93
+ memory_store: 'mutation',
94
+ memory_delete: 'mutation',
95
+ session_create: 'mutation',
96
+ session_complete: 'mutation',
97
+ session_join: 'mutation',
98
+ session_leave: 'mutation',
99
+ session_fail: 'mutation',
100
+ agent_register: 'mutation',
101
+ agent_remove: 'mutation',
102
+ config_set: 'mutation',
103
+ guard_apply: 'mutation',
104
+ // Read tools - highest limits
105
+ memory_retrieve: 'read',
106
+ memory_search: 'read',
107
+ memory_list: 'read',
108
+ agent_list: 'read',
109
+ agent_get: 'read',
110
+ session_status: 'read',
111
+ session_list: 'read',
112
+ workflow_list: 'read',
113
+ workflow_describe: 'read',
114
+ trace_list: 'read',
115
+ trace_get: 'read',
116
+ trace_analyze: 'read',
117
+ guard_check: 'read',
118
+ guard_list: 'read',
119
+ config_get: 'read',
120
+ config_show: 'read',
121
+ ability_list: 'read',
122
+ ability_inject: 'read',
123
+ review_analyze: 'read',
124
+ review_list: 'read',
125
+ };
126
+ /**
127
+ * Gets the category for a tool
128
+ */
129
+ export function getToolCategory(toolName) {
130
+ return TOOL_CATEGORIES[toolName] ?? 'read';
131
+ }
132
+ /**
133
+ * Gets the default rate limit for a tool based on its category
134
+ */
135
+ export function getDefaultRateLimit(toolName) {
136
+ const category = getToolCategory(toolName);
137
+ return { ...DEFAULT_RATE_LIMITS[category] };
138
+ }
139
+ /**
140
+ * Creates a rate limit error response
141
+ */
142
+ export function createRateLimitError(toolName, retryAfter, limit) {
143
+ return {
144
+ code: 'RATE_LIMITED',
145
+ message: `Rate limit exceeded for tool "${toolName}". Retry after ${retryAfter} seconds.`,
146
+ toolName,
147
+ retryAfter,
148
+ limit,
149
+ windowSeconds: 60,
150
+ };
151
+ }
152
+ /**
153
+ * Validates rate limit config
154
+ */
155
+ export function validateRateLimitConfig(data) {
156
+ return RateLimitConfigSchema.parse(data);
157
+ }
158
+ /**
159
+ * Safely validates rate limit config
160
+ */
161
+ export function safeValidateRateLimitConfig(data) {
162
+ return RateLimitConfigSchema.safeParse(data);
163
+ }
164
+ //# sourceMappingURL=rate-limit.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.schema.js","sourceRoot":"","sources":["../../../src/mcp/v1/rate-limit.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * MCP Resource Contracts Index
3
+ */
4
+ export { McpResourceSchema, ResourceListResponseSchema, ResourceContentSchema, ResourceReadResponseSchema, ResourceErrorCode, validateResource, validateResourceListResponse, validateResourceReadResponse, createResource, createResourceContent, type McpResource, type ResourceListResponse, type ResourceContent, type ResourceReadResponse, } from './schema.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/v1/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * MCP Resource Contracts Index
3
+ */
4
+ export { McpResourceSchema, ResourceListResponseSchema, ResourceContentSchema, ResourceReadResponseSchema, ResourceErrorCode, validateResource, validateResourceListResponse, validateResourceReadResponse, createResource, createResourceContent, } from './schema.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/v1/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,GAKtB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * MCP Resource Contracts
3
+ *
4
+ * Zod schemas for MCP resources (application-controlled, read-only data).
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-002: URI patterns follow RFC 3986
9
+ * - INV-MCP-RES-003: Content returned as JSON text
10
+ */
11
+ import { z } from 'zod';
12
+ /**
13
+ * MCP Resource definition
14
+ */
15
+ export declare const McpResourceSchema: z.ZodObject<{
16
+ /** Unique resource identifier (URI format) */
17
+ uri: z.ZodString;
18
+ /** Human-readable name */
19
+ name: z.ZodString;
20
+ /** Description of the resource */
21
+ description: z.ZodOptional<z.ZodString>;
22
+ /** MIME type of resource content */
23
+ mimeType: z.ZodDefault<z.ZodString>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ name: string;
26
+ uri: string;
27
+ mimeType: string;
28
+ description?: string | undefined;
29
+ }, {
30
+ name: string;
31
+ uri: string;
32
+ description?: string | undefined;
33
+ mimeType?: string | undefined;
34
+ }>;
35
+ export type McpResource = z.infer<typeof McpResourceSchema>;
36
+ /**
37
+ * Response for resources/list method
38
+ */
39
+ export declare const ResourceListResponseSchema: z.ZodObject<{
40
+ resources: z.ZodArray<z.ZodObject<{
41
+ /** Unique resource identifier (URI format) */
42
+ uri: z.ZodString;
43
+ /** Human-readable name */
44
+ name: z.ZodString;
45
+ /** Description of the resource */
46
+ description: z.ZodOptional<z.ZodString>;
47
+ /** MIME type of resource content */
48
+ mimeType: z.ZodDefault<z.ZodString>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ name: string;
51
+ uri: string;
52
+ mimeType: string;
53
+ description?: string | undefined;
54
+ }, {
55
+ name: string;
56
+ uri: string;
57
+ description?: string | undefined;
58
+ mimeType?: string | undefined;
59
+ }>, "many">;
60
+ }, "strip", z.ZodTypeAny, {
61
+ resources: {
62
+ name: string;
63
+ uri: string;
64
+ mimeType: string;
65
+ description?: string | undefined;
66
+ }[];
67
+ }, {
68
+ resources: {
69
+ name: string;
70
+ uri: string;
71
+ description?: string | undefined;
72
+ mimeType?: string | undefined;
73
+ }[];
74
+ }>;
75
+ export type ResourceListResponse = z.infer<typeof ResourceListResponseSchema>;
76
+ /**
77
+ * Content item returned when reading a resource
78
+ */
79
+ export declare const ResourceContentSchema: z.ZodObject<{
80
+ /** URI of the resource */
81
+ uri: z.ZodString;
82
+ /** MIME type of the content */
83
+ mimeType: z.ZodString;
84
+ /** Text content (for text-based resources) */
85
+ text: z.ZodOptional<z.ZodString>;
86
+ /** Base64-encoded binary content */
87
+ blob: z.ZodOptional<z.ZodString>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ uri: string;
90
+ mimeType: string;
91
+ text?: string | undefined;
92
+ blob?: string | undefined;
93
+ }, {
94
+ uri: string;
95
+ mimeType: string;
96
+ text?: string | undefined;
97
+ blob?: string | undefined;
98
+ }>;
99
+ export type ResourceContent = z.infer<typeof ResourceContentSchema>;
100
+ /**
101
+ * Response for resources/read method
102
+ */
103
+ export declare const ResourceReadResponseSchema: z.ZodObject<{
104
+ contents: z.ZodArray<z.ZodObject<{
105
+ /** URI of the resource */
106
+ uri: z.ZodString;
107
+ /** MIME type of the content */
108
+ mimeType: z.ZodString;
109
+ /** Text content (for text-based resources) */
110
+ text: z.ZodOptional<z.ZodString>;
111
+ /** Base64-encoded binary content */
112
+ blob: z.ZodOptional<z.ZodString>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ uri: string;
115
+ mimeType: string;
116
+ text?: string | undefined;
117
+ blob?: string | undefined;
118
+ }, {
119
+ uri: string;
120
+ mimeType: string;
121
+ text?: string | undefined;
122
+ blob?: string | undefined;
123
+ }>, "many">;
124
+ }, "strip", z.ZodTypeAny, {
125
+ contents: {
126
+ uri: string;
127
+ mimeType: string;
128
+ text?: string | undefined;
129
+ blob?: string | undefined;
130
+ }[];
131
+ }, {
132
+ contents: {
133
+ uri: string;
134
+ mimeType: string;
135
+ text?: string | undefined;
136
+ blob?: string | undefined;
137
+ }[];
138
+ }>;
139
+ export type ResourceReadResponse = z.infer<typeof ResourceReadResponseSchema>;
140
+ /**
141
+ * Resource-specific error codes
142
+ */
143
+ export declare const ResourceErrorCode: {
144
+ readonly RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND";
145
+ readonly INVALID_URI: "INVALID_URI";
146
+ readonly READ_FAILED: "READ_FAILED";
147
+ };
148
+ export type ResourceErrorCode = (typeof ResourceErrorCode)[keyof typeof ResourceErrorCode];
149
+ /**
150
+ * Validates resource definition
151
+ */
152
+ export declare function validateResource(data: unknown): McpResource;
153
+ /**
154
+ * Validates resource list response
155
+ */
156
+ export declare function validateResourceListResponse(data: unknown): ResourceListResponse;
157
+ /**
158
+ * Validates resource read response
159
+ */
160
+ export declare function validateResourceReadResponse(data: unknown): ResourceReadResponse;
161
+ /**
162
+ * Creates a resource definition
163
+ */
164
+ export declare function createResource(uri: string, name: string, description?: string, mimeType?: string): McpResource;
165
+ /**
166
+ * Creates resource content
167
+ */
168
+ export declare function createResourceContent(uri: string, content: unknown, mimeType?: string): ResourceContent;
169
+ //# sourceMappingURL=schema.d.ts.map