@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,119 @@
1
+ /**
2
+ * Circuit Breaker Contract V1
3
+ *
4
+ * Provides circuit breaker pattern for provider resilience.
5
+ * Prevents cascading failures when providers become unhealthy.
6
+ *
7
+ * Invariants:
8
+ * - INV-CB-001: Closed state allows all requests
9
+ * - INV-CB-002: Open state rejects until resetTimeout elapsed
10
+ * - INV-CB-003: Half-open state allows limited test requests
11
+ * - INV-CB-004: Failure threshold triggers transition to open
12
+ * - INV-CB-005: Successful tests in half-open trigger transition to closed
13
+ */
14
+ import { z } from 'zod';
15
+ /**
16
+ * Circuit breaker states
17
+ */
18
+ export const CircuitStateSchema = z.enum(['closed', 'open', 'halfOpen']);
19
+ /**
20
+ * Circuit breaker configuration
21
+ */
22
+ export const CircuitBreakerConfigSchema = z.object({
23
+ /** Failures before opening circuit (INV-CB-004) */
24
+ failureThreshold: z.number().int().min(1).max(100).default(5),
25
+ /** Time before attempting half-open state in ms (INV-CB-002) */
26
+ resetTimeoutMs: z.number().int().min(1000).max(300000).default(30000),
27
+ /** Number of test requests allowed in half-open state (INV-CB-003) */
28
+ halfOpenRequests: z.number().int().min(1).max(10).default(3),
29
+ /** Interval for passive health checks in ms */
30
+ monitorIntervalMs: z.number().int().min(1000).max(60000).default(10000),
31
+ /** Success threshold to close circuit from half-open */
32
+ successThreshold: z.number().int().min(1).max(10).default(3),
33
+ });
34
+ /**
35
+ * Circuit breaker state snapshot
36
+ */
37
+ export const CircuitBreakerStateSchema = z.object({
38
+ /** Current circuit state */
39
+ state: CircuitStateSchema,
40
+ /** Consecutive failure count */
41
+ failureCount: z.number().int().min(0),
42
+ /** Success count in half-open state */
43
+ successCount: z.number().int().min(0),
44
+ /** Timestamp of last failure */
45
+ lastFailureTime: z.string().datetime().optional(),
46
+ /** Timestamp of last success */
47
+ lastSuccessTime: z.string().datetime().optional(),
48
+ /** Next allowed attempt time (when open) */
49
+ nextAttemptTime: z.string().datetime().optional(),
50
+ /** Time of last state transition */
51
+ lastTransitionTime: z.string().datetime().optional(),
52
+ /** Total requests since last reset */
53
+ totalRequests: z.number().int().min(0).default(0),
54
+ /** Total failures since last reset */
55
+ totalFailures: z.number().int().min(0).default(0),
56
+ });
57
+ /**
58
+ * Circuit breaker event types
59
+ */
60
+ export const CircuitBreakerEventTypeSchema = z.enum([
61
+ 'circuit.opened',
62
+ 'circuit.closed',
63
+ 'circuit.halfOpen',
64
+ 'circuit.requestAllowed',
65
+ 'circuit.requestRejected',
66
+ 'circuit.successRecorded',
67
+ 'circuit.failureRecorded',
68
+ ]);
69
+ /**
70
+ * Circuit breaker event
71
+ */
72
+ export const CircuitBreakerEventSchema = z.object({
73
+ eventId: z.string().uuid(),
74
+ type: CircuitBreakerEventTypeSchema,
75
+ providerId: z.string(),
76
+ timestamp: z.string().datetime(),
77
+ previousState: CircuitStateSchema.optional(),
78
+ currentState: CircuitStateSchema,
79
+ details: z.record(z.unknown()).optional(),
80
+ });
81
+ /**
82
+ * Error codes for circuit breaker operations
83
+ */
84
+ export const CircuitBreakerErrorCodes = {
85
+ CIRCUIT_OPEN: 'CIRCUIT_BREAKER_OPEN',
86
+ HALF_OPEN_LIMIT: 'CIRCUIT_BREAKER_HALF_OPEN_LIMIT',
87
+ INVALID_CONFIG: 'CIRCUIT_BREAKER_INVALID_CONFIG',
88
+ };
89
+ /**
90
+ * Validates circuit breaker configuration
91
+ */
92
+ export function validateCircuitBreakerConfig(data) {
93
+ return CircuitBreakerConfigSchema.parse(data);
94
+ }
95
+ /**
96
+ * Validates circuit breaker state
97
+ */
98
+ export function validateCircuitBreakerState(data) {
99
+ return CircuitBreakerStateSchema.parse(data);
100
+ }
101
+ /**
102
+ * Creates default circuit breaker configuration
103
+ */
104
+ export function createDefaultCircuitBreakerConfig() {
105
+ return CircuitBreakerConfigSchema.parse({});
106
+ }
107
+ /**
108
+ * Creates initial circuit breaker state (closed)
109
+ */
110
+ export function createInitialCircuitBreakerState() {
111
+ return {
112
+ state: 'closed',
113
+ failureCount: 0,
114
+ successCount: 0,
115
+ totalRequests: 0,
116
+ totalFailures: 0,
117
+ };
118
+ }
119
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../src/provider/v1/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Provider Health Contract V1
3
+ *
4
+ * Provides health monitoring for provider resilience.
5
+ * Tracks latency, error rates, and availability for intelligent routing.
6
+ *
7
+ * Invariants:
8
+ * - INV-HM-001: Latency samples bounded by configured size
9
+ * - INV-HM-002: Error rate calculated over sliding window
10
+ * - INV-HM-003: Availability derived from circuit and error state
11
+ */
12
+ import { z } from 'zod';
13
+ /**
14
+ * Health check configuration
15
+ */
16
+ export declare const HealthCheckConfigSchema: z.ZodObject<{
17
+ /** Interval between active health checks in ms */
18
+ intervalMs: z.ZodDefault<z.ZodNumber>;
19
+ /** Timeout for health check request in ms */
20
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
21
+ /** Number of latency samples to retain (INV-HM-001) */
22
+ latencySampleSize: z.ZodDefault<z.ZodNumber>;
23
+ /** Error rate threshold for unhealthy status */
24
+ unhealthyErrorRate: z.ZodDefault<z.ZodNumber>;
25
+ /** Consecutive failures for degraded status */
26
+ degradedThreshold: z.ZodDefault<z.ZodNumber>;
27
+ /** Enable active health checks */
28
+ enableActiveChecks: z.ZodDefault<z.ZodBoolean>;
29
+ /** Enable passive health tracking */
30
+ enablePassiveTracking: z.ZodDefault<z.ZodBoolean>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ timeoutMs: number;
33
+ intervalMs: number;
34
+ latencySampleSize: number;
35
+ unhealthyErrorRate: number;
36
+ degradedThreshold: number;
37
+ enableActiveChecks: boolean;
38
+ enablePassiveTracking: boolean;
39
+ }, {
40
+ timeoutMs?: number | undefined;
41
+ intervalMs?: number | undefined;
42
+ latencySampleSize?: number | undefined;
43
+ unhealthyErrorRate?: number | undefined;
44
+ degradedThreshold?: number | undefined;
45
+ enableActiveChecks?: boolean | undefined;
46
+ enablePassiveTracking?: boolean | undefined;
47
+ }>;
48
+ export type HealthCheckConfig = z.infer<typeof HealthCheckConfigSchema>;
49
+ /**
50
+ * Health status levels
51
+ */
52
+ export declare const HealthLevelSchema: z.ZodEnum<["healthy", "degraded", "unhealthy", "unknown"]>;
53
+ export type HealthLevel = z.infer<typeof HealthLevelSchema>;
54
+ /**
55
+ * Provider health status
56
+ */
57
+ export declare const HealthStatusSchema: z.ZodObject<{
58
+ /** Provider identifier */
59
+ providerId: z.ZodString;
60
+ /** Whether provider is available for requests */
61
+ available: z.ZodBoolean;
62
+ /** Overall health level */
63
+ level: z.ZodEnum<["healthy", "degraded", "unhealthy", "unknown"]>;
64
+ /** Average latency in ms */
65
+ latencyMs: z.ZodNumber;
66
+ /** P50 latency in ms */
67
+ latencyP50Ms: z.ZodOptional<z.ZodNumber>;
68
+ /** P95 latency in ms */
69
+ latencyP95Ms: z.ZodOptional<z.ZodNumber>;
70
+ /** P99 latency in ms */
71
+ latencyP99Ms: z.ZodOptional<z.ZodNumber>;
72
+ /** Error rate (0-1) */
73
+ errorRate: z.ZodNumber;
74
+ /** Consecutive failures */
75
+ consecutiveFailures: z.ZodNumber;
76
+ /** Consecutive successes */
77
+ consecutiveSuccesses: z.ZodNumber;
78
+ /** Timestamp of last health check */
79
+ lastCheckTime: z.ZodString;
80
+ /** Timestamp of last successful request */
81
+ lastSuccessTime: z.ZodOptional<z.ZodString>;
82
+ /** Timestamp of last failed request */
83
+ lastErrorTime: z.ZodOptional<z.ZodString>;
84
+ /** Last error message */
85
+ lastError: z.ZodOptional<z.ZodString>;
86
+ /** Last error code */
87
+ lastErrorCode: z.ZodOptional<z.ZodString>;
88
+ /** Circuit breaker state */
89
+ circuitState: z.ZodEnum<["closed", "open", "halfOpen"]>;
90
+ /** Rate limit state */
91
+ rateLimitState: z.ZodEnum<["normal", "throttled", "blocked"]>;
92
+ /** Total requests in monitoring window */
93
+ totalRequests: z.ZodNumber;
94
+ /** Total errors in monitoring window */
95
+ totalErrors: z.ZodNumber;
96
+ /** Uptime percentage in monitoring window */
97
+ uptimePercent: z.ZodOptional<z.ZodNumber>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ providerId: string;
100
+ available: boolean;
101
+ level: "unknown" | "healthy" | "degraded" | "unhealthy";
102
+ totalRequests: number;
103
+ latencyMs: number;
104
+ errorRate: number;
105
+ consecutiveFailures: number;
106
+ consecutiveSuccesses: number;
107
+ lastCheckTime: string;
108
+ circuitState: "open" | "closed" | "halfOpen";
109
+ rateLimitState: "blocked" | "normal" | "throttled";
110
+ totalErrors: number;
111
+ lastSuccessTime?: string | undefined;
112
+ latencyP50Ms?: number | undefined;
113
+ latencyP95Ms?: number | undefined;
114
+ latencyP99Ms?: number | undefined;
115
+ lastErrorTime?: string | undefined;
116
+ lastError?: string | undefined;
117
+ lastErrorCode?: string | undefined;
118
+ uptimePercent?: number | undefined;
119
+ }, {
120
+ providerId: string;
121
+ available: boolean;
122
+ level: "unknown" | "healthy" | "degraded" | "unhealthy";
123
+ totalRequests: number;
124
+ latencyMs: number;
125
+ errorRate: number;
126
+ consecutiveFailures: number;
127
+ consecutiveSuccesses: number;
128
+ lastCheckTime: string;
129
+ circuitState: "open" | "closed" | "halfOpen";
130
+ rateLimitState: "blocked" | "normal" | "throttled";
131
+ totalErrors: number;
132
+ lastSuccessTime?: string | undefined;
133
+ latencyP50Ms?: number | undefined;
134
+ latencyP95Ms?: number | undefined;
135
+ latencyP99Ms?: number | undefined;
136
+ lastErrorTime?: string | undefined;
137
+ lastError?: string | undefined;
138
+ lastErrorCode?: string | undefined;
139
+ uptimePercent?: number | undefined;
140
+ }>;
141
+ export type HealthStatus = z.infer<typeof HealthStatusSchema>;
142
+ /**
143
+ * Health check result
144
+ */
145
+ export declare const HealthCheckResultSchema: z.ZodObject<{
146
+ /** Check identifier */
147
+ checkId: z.ZodString;
148
+ /** Provider identifier */
149
+ providerId: z.ZodString;
150
+ /** Whether check passed */
151
+ success: z.ZodBoolean;
152
+ /** Latency of health check in ms */
153
+ latencyMs: z.ZodNumber;
154
+ /** Timestamp of check */
155
+ timestamp: z.ZodString;
156
+ /** Error message if failed */
157
+ error: z.ZodOptional<z.ZodString>;
158
+ /** Error code if failed */
159
+ errorCode: z.ZodOptional<z.ZodString>;
160
+ /** Check type */
161
+ checkType: z.ZodEnum<["active", "passive"]>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ timestamp: string;
164
+ success: boolean;
165
+ providerId: string;
166
+ latencyMs: number;
167
+ checkId: string;
168
+ checkType: "active" | "passive";
169
+ error?: string | undefined;
170
+ errorCode?: string | undefined;
171
+ }, {
172
+ timestamp: string;
173
+ success: boolean;
174
+ providerId: string;
175
+ latencyMs: number;
176
+ checkId: string;
177
+ checkType: "active" | "passive";
178
+ error?: string | undefined;
179
+ errorCode?: string | undefined;
180
+ }>;
181
+ export type HealthCheckResult = z.infer<typeof HealthCheckResultSchema>;
182
+ /**
183
+ * Health event types
184
+ */
185
+ export declare const HealthEventTypeSchema: z.ZodEnum<["health.check.started", "health.check.passed", "health.check.failed", "health.status.changed", "health.degraded", "health.recovered", "health.unhealthy"]>;
186
+ export type HealthEventType = z.infer<typeof HealthEventTypeSchema>;
187
+ /**
188
+ * Health event
189
+ */
190
+ export declare const HealthEventSchema: z.ZodObject<{
191
+ eventId: z.ZodString;
192
+ type: z.ZodEnum<["health.check.started", "health.check.passed", "health.check.failed", "health.status.changed", "health.degraded", "health.recovered", "health.unhealthy"]>;
193
+ providerId: z.ZodString;
194
+ timestamp: z.ZodString;
195
+ previousLevel: z.ZodOptional<z.ZodEnum<["healthy", "degraded", "unhealthy", "unknown"]>>;
196
+ currentLevel: z.ZodEnum<["healthy", "degraded", "unhealthy", "unknown"]>;
197
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ type: "health.check.started" | "health.check.passed" | "health.check.failed" | "health.status.changed" | "health.degraded" | "health.recovered" | "health.unhealthy";
200
+ timestamp: string;
201
+ eventId: string;
202
+ providerId: string;
203
+ currentLevel: "unknown" | "healthy" | "degraded" | "unhealthy";
204
+ details?: Record<string, unknown> | undefined;
205
+ previousLevel?: "unknown" | "healthy" | "degraded" | "unhealthy" | undefined;
206
+ }, {
207
+ type: "health.check.started" | "health.check.passed" | "health.check.failed" | "health.status.changed" | "health.degraded" | "health.recovered" | "health.unhealthy";
208
+ timestamp: string;
209
+ eventId: string;
210
+ providerId: string;
211
+ currentLevel: "unknown" | "healthy" | "degraded" | "unhealthy";
212
+ details?: Record<string, unknown> | undefined;
213
+ previousLevel?: "unknown" | "healthy" | "degraded" | "unhealthy" | undefined;
214
+ }>;
215
+ export type HealthEvent = z.infer<typeof HealthEventSchema>;
216
+ /**
217
+ * Error codes for health operations
218
+ */
219
+ export declare const HealthErrorCodes: {
220
+ readonly CHECK_TIMEOUT: "HEALTH_CHECK_TIMEOUT";
221
+ readonly CHECK_FAILED: "HEALTH_CHECK_FAILED";
222
+ readonly PROVIDER_UNAVAILABLE: "HEALTH_PROVIDER_UNAVAILABLE";
223
+ readonly INVALID_CONFIG: "HEALTH_INVALID_CONFIG";
224
+ };
225
+ export type HealthErrorCode = (typeof HealthErrorCodes)[keyof typeof HealthErrorCodes];
226
+ /**
227
+ * Validates health check configuration
228
+ */
229
+ export declare function validateHealthCheckConfig(data: unknown): HealthCheckConfig;
230
+ /**
231
+ * Validates health status
232
+ */
233
+ export declare function validateHealthStatus(data: unknown): HealthStatus;
234
+ /**
235
+ * Creates default health check configuration
236
+ */
237
+ export declare function createDefaultHealthCheckConfig(): HealthCheckConfig;
238
+ /**
239
+ * Creates initial health status (unknown)
240
+ */
241
+ export declare function createInitialHealthStatus(providerId: string): HealthStatus;
242
+ /**
243
+ * Calculate percentile from sorted array
244
+ */
245
+ export declare function calculatePercentile(sortedValues: number[], percentile: number): number;
246
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/provider/v1/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,kDAAkD;;IAGlD,6CAA6C;;IAG7C,uDAAuD;;IAGvD,gDAAgD;;IAGhD,+CAA+C;;IAG/C,kCAAkC;;IAGlC,qCAAqC;;;;;;;;;;;;;;;;;;EAErC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB,4DAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,0BAA0B;;IAG1B,iDAAiD;;IAGjD,2BAA2B;;IAG3B,4BAA4B;;IAG5B,wBAAwB;;IAGxB,wBAAwB;;IAGxB,wBAAwB;;IAGxB,uBAAuB;;IAGvB,2BAA2B;;IAG3B,4BAA4B;;IAG5B,qCAAqC;;IAGrC,2CAA2C;;IAG3C,uCAAuC;;IAGvC,yBAAyB;;IAGzB,sBAAsB;;IAGtB,4BAA4B;;IAG5B,uBAAuB;;IAGvB,0CAA0C;;IAG1C,wCAAwC;;IAGxC,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7C,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,uBAAuB;;IAGvB,0BAA0B;;IAG1B,2BAA2B;;IAG3B,oCAAoC;;IAGpC,yBAAyB;;IAGzB,8BAA8B;;IAG9B,2BAA2B;;IAG3B,iBAAiB;;;;;;;;;;;;;;;;;;;;EAEjB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,qBAAqB,uKAQhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAEhE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,iBAAiB,CAElE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAgB1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKtF"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Provider Health Contract V1
3
+ *
4
+ * Provides health monitoring for provider resilience.
5
+ * Tracks latency, error rates, and availability for intelligent routing.
6
+ *
7
+ * Invariants:
8
+ * - INV-HM-001: Latency samples bounded by configured size
9
+ * - INV-HM-002: Error rate calculated over sliding window
10
+ * - INV-HM-003: Availability derived from circuit and error state
11
+ */
12
+ import { z } from 'zod';
13
+ import { CircuitStateSchema } from './circuit-breaker.js';
14
+ import { RateLimitStateEnumSchema } from './rate-limit.js';
15
+ /**
16
+ * Health check configuration
17
+ */
18
+ export const HealthCheckConfigSchema = z.object({
19
+ /** Interval between active health checks in ms */
20
+ intervalMs: z.number().int().min(5000).max(300000).default(30000),
21
+ /** Timeout for health check request in ms */
22
+ timeoutMs: z.number().int().min(1000).max(30000).default(5000),
23
+ /** Number of latency samples to retain (INV-HM-001) */
24
+ latencySampleSize: z.number().int().min(1).max(100).default(10),
25
+ /** Error rate threshold for unhealthy status */
26
+ unhealthyErrorRate: z.number().min(0).max(1).default(0.5),
27
+ /** Consecutive failures for degraded status */
28
+ degradedThreshold: z.number().int().min(1).max(20).default(3),
29
+ /** Enable active health checks */
30
+ enableActiveChecks: z.boolean().default(true),
31
+ /** Enable passive health tracking */
32
+ enablePassiveTracking: z.boolean().default(true),
33
+ });
34
+ /**
35
+ * Health status levels
36
+ */
37
+ export const HealthLevelSchema = z.enum([
38
+ 'healthy', // Fully operational
39
+ 'degraded', // Experiencing issues but operational
40
+ 'unhealthy', // Not operational
41
+ 'unknown', // No data available
42
+ ]);
43
+ /**
44
+ * Provider health status
45
+ */
46
+ export const HealthStatusSchema = z.object({
47
+ /** Provider identifier */
48
+ providerId: z.string(),
49
+ /** Whether provider is available for requests */
50
+ available: z.boolean(),
51
+ /** Overall health level */
52
+ level: HealthLevelSchema,
53
+ /** Average latency in ms */
54
+ latencyMs: z.number().min(0),
55
+ /** P50 latency in ms */
56
+ latencyP50Ms: z.number().min(0).optional(),
57
+ /** P95 latency in ms */
58
+ latencyP95Ms: z.number().min(0).optional(),
59
+ /** P99 latency in ms */
60
+ latencyP99Ms: z.number().min(0).optional(),
61
+ /** Error rate (0-1) */
62
+ errorRate: z.number().min(0).max(1),
63
+ /** Consecutive failures */
64
+ consecutiveFailures: z.number().int().min(0),
65
+ /** Consecutive successes */
66
+ consecutiveSuccesses: z.number().int().min(0),
67
+ /** Timestamp of last health check */
68
+ lastCheckTime: z.string().datetime(),
69
+ /** Timestamp of last successful request */
70
+ lastSuccessTime: z.string().datetime().optional(),
71
+ /** Timestamp of last failed request */
72
+ lastErrorTime: z.string().datetime().optional(),
73
+ /** Last error message */
74
+ lastError: z.string().optional(),
75
+ /** Last error code */
76
+ lastErrorCode: z.string().optional(),
77
+ /** Circuit breaker state */
78
+ circuitState: CircuitStateSchema,
79
+ /** Rate limit state */
80
+ rateLimitState: RateLimitStateEnumSchema,
81
+ /** Total requests in monitoring window */
82
+ totalRequests: z.number().int().min(0),
83
+ /** Total errors in monitoring window */
84
+ totalErrors: z.number().int().min(0),
85
+ /** Uptime percentage in monitoring window */
86
+ uptimePercent: z.number().min(0).max(100).optional(),
87
+ });
88
+ /**
89
+ * Health check result
90
+ */
91
+ export const HealthCheckResultSchema = z.object({
92
+ /** Check identifier */
93
+ checkId: z.string().uuid(),
94
+ /** Provider identifier */
95
+ providerId: z.string(),
96
+ /** Whether check passed */
97
+ success: z.boolean(),
98
+ /** Latency of health check in ms */
99
+ latencyMs: z.number().min(0),
100
+ /** Timestamp of check */
101
+ timestamp: z.string().datetime(),
102
+ /** Error message if failed */
103
+ error: z.string().optional(),
104
+ /** Error code if failed */
105
+ errorCode: z.string().optional(),
106
+ /** Check type */
107
+ checkType: z.enum(['active', 'passive']),
108
+ });
109
+ /**
110
+ * Health event types
111
+ */
112
+ export const HealthEventTypeSchema = z.enum([
113
+ 'health.check.started',
114
+ 'health.check.passed',
115
+ 'health.check.failed',
116
+ 'health.status.changed',
117
+ 'health.degraded',
118
+ 'health.recovered',
119
+ 'health.unhealthy',
120
+ ]);
121
+ /**
122
+ * Health event
123
+ */
124
+ export const HealthEventSchema = z.object({
125
+ eventId: z.string().uuid(),
126
+ type: HealthEventTypeSchema,
127
+ providerId: z.string(),
128
+ timestamp: z.string().datetime(),
129
+ previousLevel: HealthLevelSchema.optional(),
130
+ currentLevel: HealthLevelSchema,
131
+ details: z.record(z.unknown()).optional(),
132
+ });
133
+ /**
134
+ * Error codes for health operations
135
+ */
136
+ export const HealthErrorCodes = {
137
+ CHECK_TIMEOUT: 'HEALTH_CHECK_TIMEOUT',
138
+ CHECK_FAILED: 'HEALTH_CHECK_FAILED',
139
+ PROVIDER_UNAVAILABLE: 'HEALTH_PROVIDER_UNAVAILABLE',
140
+ INVALID_CONFIG: 'HEALTH_INVALID_CONFIG',
141
+ };
142
+ /**
143
+ * Validates health check configuration
144
+ */
145
+ export function validateHealthCheckConfig(data) {
146
+ return HealthCheckConfigSchema.parse(data);
147
+ }
148
+ /**
149
+ * Validates health status
150
+ */
151
+ export function validateHealthStatus(data) {
152
+ return HealthStatusSchema.parse(data);
153
+ }
154
+ /**
155
+ * Creates default health check configuration
156
+ */
157
+ export function createDefaultHealthCheckConfig() {
158
+ return HealthCheckConfigSchema.parse({});
159
+ }
160
+ /**
161
+ * Creates initial health status (unknown)
162
+ */
163
+ export function createInitialHealthStatus(providerId) {
164
+ const now = new Date().toISOString();
165
+ return {
166
+ providerId,
167
+ available: false,
168
+ level: 'unknown',
169
+ latencyMs: 0,
170
+ errorRate: 0,
171
+ consecutiveFailures: 0,
172
+ consecutiveSuccesses: 0,
173
+ lastCheckTime: now,
174
+ circuitState: 'closed',
175
+ rateLimitState: 'normal',
176
+ totalRequests: 0,
177
+ totalErrors: 0,
178
+ };
179
+ }
180
+ /**
181
+ * Calculate percentile from sorted array
182
+ */
183
+ export function calculatePercentile(sortedValues, percentile) {
184
+ if (sortedValues.length === 0)
185
+ return 0;
186
+ const index = Math.ceil((percentile / 100) * sortedValues.length) - 1;
187
+ const safeIndex = Math.max(0, Math.min(index, sortedValues.length - 1));
188
+ return sortedValues[safeIndex] ?? 0;
189
+ }
190
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/provider/v1/health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Provider Contract V1
3
+ *
4
+ * Contracts for provider resilience patterns including
5
+ * circuit breaker, rate limiting, and health monitoring.
6
+ *
7
+ * Also includes provider port interfaces for Ports & Adapters pattern.
8
+ */
9
+ export { ProviderMessageSchema, ProviderRequestSchema, ProviderResponseSchema, ModelInfoSchema, validateProviderRequest, validateProviderResponse, safeValidateProviderRequest, createProviderSuccessResponse, createProviderErrorResponse, type ProviderMessage, type ProviderRequest, type ProviderResponse, type ModelInfo, type ProviderPort, type ProviderRegistryPort, } from './port.js';
10
+ export { CircuitStateSchema, CircuitBreakerConfigSchema, CircuitBreakerStateSchema, CircuitBreakerEventTypeSchema, CircuitBreakerEventSchema, CircuitBreakerErrorCodes, validateCircuitBreakerConfig, validateCircuitBreakerState, createDefaultCircuitBreakerConfig, createInitialCircuitBreakerState, type CircuitState, type CircuitBreakerConfig, type CircuitBreakerState, type CircuitBreakerEventType, type CircuitBreakerEvent, type CircuitBreakerErrorCode, } from './circuit-breaker.js';
11
+ export { RateLimitStrategySchema, RateLimitStateEnumSchema, RateLimitConfigSchema, RateLimitStateSchema, RateLimitResultSchema, RateLimitEventTypeSchema, RateLimitEventSchema, RateLimitErrorCodes, validateRateLimitConfig, validateRateLimitState, createDefaultRateLimitConfig, createInitialRateLimitState, type RateLimitStrategy, type RateLimitStateEnum, type RateLimitConfig, type RateLimitState, type RateLimitResult, type RateLimitEventType, type RateLimitEvent, type RateLimitErrorCode, } from './rate-limit.js';
12
+ export { HealthCheckConfigSchema, HealthLevelSchema, HealthStatusSchema, HealthCheckResultSchema, HealthEventTypeSchema, HealthEventSchema, HealthErrorCodes, validateHealthCheckConfig, validateHealthStatus, createDefaultHealthCheckConfig, createInitialHealthStatus, calculatePercentile, type HealthCheckConfig, type HealthLevel, type HealthStatus, type HealthCheckResult, type HealthEventType, type HealthEvent, type HealthErrorCode, } from './health.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/v1/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,gCAAgC,EAChC,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Provider Contract V1
3
+ *
4
+ * Contracts for provider resilience patterns including
5
+ * circuit breaker, rate limiting, and health monitoring.
6
+ *
7
+ * Also includes provider port interfaces for Ports & Adapters pattern.
8
+ */
9
+ // Provider Port Interfaces
10
+ export { ProviderMessageSchema, ProviderRequestSchema, ProviderResponseSchema, ModelInfoSchema, validateProviderRequest, validateProviderResponse, safeValidateProviderRequest, createProviderSuccessResponse, createProviderErrorResponse, } from './port.js';
11
+ // Circuit Breaker
12
+ export { CircuitStateSchema, CircuitBreakerConfigSchema, CircuitBreakerStateSchema, CircuitBreakerEventTypeSchema, CircuitBreakerEventSchema, CircuitBreakerErrorCodes, validateCircuitBreakerConfig, validateCircuitBreakerState, createDefaultCircuitBreakerConfig, createInitialCircuitBreakerState, } from './circuit-breaker.js';
13
+ // Rate Limiting
14
+ export { RateLimitStrategySchema, RateLimitStateEnumSchema, RateLimitConfigSchema, RateLimitStateSchema, RateLimitResultSchema, RateLimitEventTypeSchema, RateLimitEventSchema, RateLimitErrorCodes, validateRateLimitConfig, validateRateLimitState, createDefaultRateLimitConfig, createInitialRateLimitState, } from './rate-limit.js';
15
+ // Health Monitoring
16
+ export { HealthCheckConfigSchema, HealthLevelSchema, HealthStatusSchema, HealthCheckResultSchema, HealthEventTypeSchema, HealthEventSchema, HealthErrorCodes, validateHealthCheckConfig, validateHealthStatus, createDefaultHealthCheckConfig, createInitialHealthStatus, calculatePercentile, } from './health.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provider/v1/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,GAO5B,MAAM,WAAW,CAAC;AAEnB,kBAAkB;AAClB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,gCAAgC,GAOjC,MAAM,sBAAsB,CAAC;AAE9B,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,GAS5B,MAAM,iBAAiB,CAAC;AAEzB,oBAAoB;AACpB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,yBAAyB,EACzB,mBAAmB,GAQpB,MAAM,aAAa,CAAC"}