@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,96 @@
1
+ /**
2
+ * Loop Guard Contract
3
+ *
4
+ * Prevents infinite loops and runaway execution that burns resources.
5
+ */
6
+ import { z } from 'zod';
7
+ // ============================================================================
8
+ // Configuration
9
+ // ============================================================================
10
+ export const LoopGuardConfigSchema = z.object({
11
+ /** Maximum iterations before hard stop */
12
+ maxIterations: z.number().int().min(1).max(10000).default(100),
13
+ /** Iteration count that triggers warning */
14
+ warnAtIterations: z.number().int().min(1).max(10000).default(50),
15
+ /** Maximum execution duration in ms */
16
+ maxDurationMs: z.number().int().min(1000).max(3600000).default(300000), // 5 min
17
+ /** Duration that triggers warning in ms */
18
+ warnAtDurationMs: z.number().int().min(1000).max(3600000).default(120000), // 2 min
19
+ });
20
+ // ============================================================================
21
+ // Context
22
+ // ============================================================================
23
+ export const LoopGuardContextSchema = z.object({
24
+ /** Unique context identifier */
25
+ contextId: z.string(),
26
+ /** Current iteration count */
27
+ iterations: z.number().int().min(0),
28
+ /** Start time */
29
+ startedAt: z.string().datetime(),
30
+ /** Elapsed time in ms */
31
+ elapsedMs: z.number().int().min(0),
32
+ /** Whether warning was already issued */
33
+ warningIssued: z.boolean(),
34
+ /** Context metadata */
35
+ metadata: z.record(z.unknown()).optional(),
36
+ });
37
+ // ============================================================================
38
+ // Check Result
39
+ // ============================================================================
40
+ export const LoopGuardResultSchema = z.discriminatedUnion('status', [
41
+ z.object({
42
+ status: z.literal('ok'),
43
+ iteration: z.number().int().min(0),
44
+ elapsedMs: z.number().int().min(0),
45
+ }),
46
+ z.object({
47
+ status: z.literal('warning'),
48
+ iteration: z.number().int().min(0),
49
+ elapsedMs: z.number().int().min(0),
50
+ message: z.string(),
51
+ warningType: z.enum(['iteration', 'duration']),
52
+ }),
53
+ z.object({
54
+ status: z.literal('blocked'),
55
+ iteration: z.number().int().min(0),
56
+ elapsedMs: z.number().int().min(0),
57
+ reason: z.string(),
58
+ blockType: z.enum(['max-iterations', 'max-duration']),
59
+ }),
60
+ ]);
61
+ // ============================================================================
62
+ // Error Codes
63
+ // ============================================================================
64
+ export const LoopGuardErrorCodes = {
65
+ MAX_ITERATIONS: 'LOOP_GUARD_MAX_ITERATIONS',
66
+ MAX_DURATION: 'LOOP_GUARD_MAX_DURATION',
67
+ CONTEXT_NOT_FOUND: 'LOOP_GUARD_CONTEXT_NOT_FOUND',
68
+ };
69
+ // ============================================================================
70
+ // Validation Functions
71
+ // ============================================================================
72
+ export function validateLoopGuardConfig(data) {
73
+ return LoopGuardConfigSchema.parse(data);
74
+ }
75
+ export function safeValidateLoopGuardConfig(data) {
76
+ const result = LoopGuardConfigSchema.safeParse(data);
77
+ if (result.success)
78
+ return { success: true, data: result.data };
79
+ return { success: false, error: result.error };
80
+ }
81
+ // ============================================================================
82
+ // Factory Functions
83
+ // ============================================================================
84
+ export function createDefaultLoopGuardConfig() {
85
+ return LoopGuardConfigSchema.parse({});
86
+ }
87
+ export function createLoopGuardContext(contextId) {
88
+ return {
89
+ contextId,
90
+ iterations: 0,
91
+ startedAt: new Date().toISOString(),
92
+ elapsedMs: 0,
93
+ warningIssued: false,
94
+ };
95
+ }
96
+ //# sourceMappingURL=loop-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../../src/resilience/v1/loop-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Metrics Contract
3
+ *
4
+ * Basic observability metrics for monitoring system health.
5
+ */
6
+ import { z } from 'zod';
7
+ export declare const MetricsTimeRangeSchema: z.ZodObject<{
8
+ /** Start time (ISO string or relative like '-1h', '-30m', '-1d') */
9
+ start: z.ZodString;
10
+ /** End time (ISO string or 'now') */
11
+ end: z.ZodDefault<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ start: string;
14
+ end: string;
15
+ }, {
16
+ start: string;
17
+ end?: string | undefined;
18
+ }>;
19
+ export type MetricsTimeRange = z.infer<typeof MetricsTimeRangeSchema>;
20
+ export declare const RequestMetricSchema: z.ZodObject<{
21
+ /** Timestamp */
22
+ timestamp: z.ZodString;
23
+ /** Provider ID */
24
+ providerId: z.ZodString;
25
+ /** Operation type */
26
+ operation: z.ZodString;
27
+ /** Whether request succeeded */
28
+ success: z.ZodBoolean;
29
+ /** Duration in ms */
30
+ durationMs: z.ZodNumber;
31
+ /** Input tokens used */
32
+ inputTokens: z.ZodOptional<z.ZodNumber>;
33
+ /** Output tokens used */
34
+ outputTokens: z.ZodOptional<z.ZodNumber>;
35
+ /** Estimated cost */
36
+ estimatedCost: z.ZodOptional<z.ZodNumber>;
37
+ /** Error code if failed */
38
+ errorCode: z.ZodOptional<z.ZodString>;
39
+ /** Additional metadata */
40
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ timestamp: string;
43
+ durationMs: number;
44
+ success: boolean;
45
+ providerId: string;
46
+ operation: string;
47
+ metadata?: Record<string, unknown> | undefined;
48
+ errorCode?: string | undefined;
49
+ outputTokens?: number | undefined;
50
+ inputTokens?: number | undefined;
51
+ estimatedCost?: number | undefined;
52
+ }, {
53
+ timestamp: string;
54
+ durationMs: number;
55
+ success: boolean;
56
+ providerId: string;
57
+ operation: string;
58
+ metadata?: Record<string, unknown> | undefined;
59
+ errorCode?: string | undefined;
60
+ outputTokens?: number | undefined;
61
+ inputTokens?: number | undefined;
62
+ estimatedCost?: number | undefined;
63
+ }>;
64
+ export type RequestMetric = z.infer<typeof RequestMetricSchema>;
65
+ export declare const ErrorMetricSchema: z.ZodObject<{
66
+ /** Timestamp */
67
+ timestamp: z.ZodString;
68
+ /** Error code */
69
+ code: z.ZodString;
70
+ /** Error message */
71
+ message: z.ZodString;
72
+ /** Provider ID if applicable */
73
+ providerId: z.ZodOptional<z.ZodString>;
74
+ /** Operation that failed */
75
+ operation: z.ZodOptional<z.ZodString>;
76
+ /** Whether error was recoverable */
77
+ recoverable: z.ZodDefault<z.ZodBoolean>;
78
+ /** Stack trace (truncated) */
79
+ stack: z.ZodOptional<z.ZodString>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ code: string;
82
+ message: string;
83
+ timestamp: string;
84
+ recoverable: boolean;
85
+ stack?: string | undefined;
86
+ providerId?: string | undefined;
87
+ operation?: string | undefined;
88
+ }, {
89
+ code: string;
90
+ message: string;
91
+ timestamp: string;
92
+ stack?: string | undefined;
93
+ providerId?: string | undefined;
94
+ operation?: string | undefined;
95
+ recoverable?: boolean | undefined;
96
+ }>;
97
+ export type ErrorMetric = z.infer<typeof ErrorMetricSchema>;
98
+ export declare const LatencyStatsSchema: z.ZodObject<{
99
+ /** Minimum latency in ms */
100
+ min: z.ZodNumber;
101
+ /** Maximum latency in ms */
102
+ max: z.ZodNumber;
103
+ /** Mean latency in ms */
104
+ mean: z.ZodNumber;
105
+ /** Median (p50) latency in ms */
106
+ p50: z.ZodNumber;
107
+ /** 95th percentile latency in ms */
108
+ p95: z.ZodNumber;
109
+ /** 99th percentile latency in ms */
110
+ p99: z.ZodNumber;
111
+ /** Sample count */
112
+ count: z.ZodNumber;
113
+ }, "strip", z.ZodTypeAny, {
114
+ count: number;
115
+ min: number;
116
+ max: number;
117
+ p50: number;
118
+ p95: number;
119
+ p99: number;
120
+ mean: number;
121
+ }, {
122
+ count: number;
123
+ min: number;
124
+ max: number;
125
+ p50: number;
126
+ p95: number;
127
+ p99: number;
128
+ mean: number;
129
+ }>;
130
+ export type LatencyStats = z.infer<typeof LatencyStatsSchema>;
131
+ export declare const MetricsSnapshotSchema: z.ZodObject<{
132
+ /** Time range for this snapshot */
133
+ timeRange: z.ZodObject<{
134
+ /** Start time (ISO string or relative like '-1h', '-30m', '-1d') */
135
+ start: z.ZodString;
136
+ /** End time (ISO string or 'now') */
137
+ end: z.ZodDefault<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ start: string;
140
+ end: string;
141
+ }, {
142
+ start: string;
143
+ end?: string | undefined;
144
+ }>;
145
+ /** Request counts */
146
+ requests: z.ZodObject<{
147
+ total: z.ZodNumber;
148
+ success: z.ZodNumber;
149
+ failure: z.ZodNumber;
150
+ successRate: z.ZodNumber;
151
+ }, "strip", z.ZodTypeAny, {
152
+ success: number;
153
+ total: number;
154
+ failure: number;
155
+ successRate: number;
156
+ }, {
157
+ success: number;
158
+ total: number;
159
+ failure: number;
160
+ successRate: number;
161
+ }>;
162
+ /** Latency statistics */
163
+ latency: z.ZodObject<{
164
+ /** Minimum latency in ms */
165
+ min: z.ZodNumber;
166
+ /** Maximum latency in ms */
167
+ max: z.ZodNumber;
168
+ /** Mean latency in ms */
169
+ mean: z.ZodNumber;
170
+ /** Median (p50) latency in ms */
171
+ p50: z.ZodNumber;
172
+ /** 95th percentile latency in ms */
173
+ p95: z.ZodNumber;
174
+ /** 99th percentile latency in ms */
175
+ p99: z.ZodNumber;
176
+ /** Sample count */
177
+ count: z.ZodNumber;
178
+ }, "strip", z.ZodTypeAny, {
179
+ count: number;
180
+ min: number;
181
+ max: number;
182
+ p50: number;
183
+ p95: number;
184
+ p99: number;
185
+ mean: number;
186
+ }, {
187
+ count: number;
188
+ min: number;
189
+ max: number;
190
+ p50: number;
191
+ p95: number;
192
+ p99: number;
193
+ mean: number;
194
+ }>;
195
+ /** Token usage */
196
+ tokens: z.ZodObject<{
197
+ input: z.ZodNumber;
198
+ output: z.ZodNumber;
199
+ total: z.ZodNumber;
200
+ }, "strip", z.ZodTypeAny, {
201
+ input: number;
202
+ total: number;
203
+ output: number;
204
+ }, {
205
+ input: number;
206
+ total: number;
207
+ output: number;
208
+ }>;
209
+ /** Cost statistics */
210
+ cost: z.ZodObject<{
211
+ estimated: z.ZodNumber;
212
+ perRequest: z.ZodNumber;
213
+ }, "strip", z.ZodTypeAny, {
214
+ estimated: number;
215
+ perRequest: number;
216
+ }, {
217
+ estimated: number;
218
+ perRequest: number;
219
+ }>;
220
+ /** Error breakdown by code */
221
+ errors: z.ZodRecord<z.ZodString, z.ZodNumber>;
222
+ /** Per-provider breakdown */
223
+ byProvider: z.ZodRecord<z.ZodString, z.ZodObject<{
224
+ requests: z.ZodNumber;
225
+ failures: z.ZodNumber;
226
+ latencyP50: z.ZodNumber;
227
+ tokens: z.ZodNumber;
228
+ }, "strip", z.ZodTypeAny, {
229
+ tokens: number;
230
+ requests: number;
231
+ failures: number;
232
+ latencyP50: number;
233
+ }, {
234
+ tokens: number;
235
+ requests: number;
236
+ failures: number;
237
+ latencyP50: number;
238
+ }>>;
239
+ /** Generated at timestamp */
240
+ generatedAt: z.ZodString;
241
+ }, "strip", z.ZodTypeAny, {
242
+ errors: Record<string, number>;
243
+ generatedAt: string;
244
+ tokens: {
245
+ input: number;
246
+ total: number;
247
+ output: number;
248
+ };
249
+ requests: {
250
+ success: number;
251
+ total: number;
252
+ failure: number;
253
+ successRate: number;
254
+ };
255
+ timeRange: {
256
+ start: string;
257
+ end: string;
258
+ };
259
+ cost: {
260
+ estimated: number;
261
+ perRequest: number;
262
+ };
263
+ latency: {
264
+ count: number;
265
+ min: number;
266
+ max: number;
267
+ p50: number;
268
+ p95: number;
269
+ p99: number;
270
+ mean: number;
271
+ };
272
+ byProvider: Record<string, {
273
+ tokens: number;
274
+ requests: number;
275
+ failures: number;
276
+ latencyP50: number;
277
+ }>;
278
+ }, {
279
+ errors: Record<string, number>;
280
+ generatedAt: string;
281
+ tokens: {
282
+ input: number;
283
+ total: number;
284
+ output: number;
285
+ };
286
+ requests: {
287
+ success: number;
288
+ total: number;
289
+ failure: number;
290
+ successRate: number;
291
+ };
292
+ timeRange: {
293
+ start: string;
294
+ end?: string | undefined;
295
+ };
296
+ cost: {
297
+ estimated: number;
298
+ perRequest: number;
299
+ };
300
+ latency: {
301
+ count: number;
302
+ min: number;
303
+ max: number;
304
+ p50: number;
305
+ p95: number;
306
+ p99: number;
307
+ mean: number;
308
+ };
309
+ byProvider: Record<string, {
310
+ tokens: number;
311
+ requests: number;
312
+ failures: number;
313
+ latencyP50: number;
314
+ }>;
315
+ }>;
316
+ export type MetricsSnapshot = z.infer<typeof MetricsSnapshotSchema>;
317
+ export declare function validateRequestMetric(data: unknown): RequestMetric;
318
+ export declare function validateErrorMetric(data: unknown): ErrorMetric;
319
+ export declare function validateMetricsSnapshot(data: unknown): MetricsSnapshot;
320
+ export declare function createEmptyMetricsSnapshot(timeRange?: MetricsTimeRange): MetricsSnapshot;
321
+ export declare function createRequestMetric(providerId: string, operation: string, success: boolean, durationMs: number): RequestMetric;
322
+ export declare function createErrorMetric(code: string, message: string, options?: Partial<ErrorMetric>): ErrorMetric;
323
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/resilience/v1/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;IACjC,oEAAoE;;IAGpE,qCAAqC;;;;;;;;EAErC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,mBAAmB;IAC9B,gBAAgB;;IAGhB,kBAAkB;;IAGlB,qBAAqB;;IAGrB,gCAAgC;;IAGhC,qBAAqB;;IAGrB,wBAAwB;;IAGxB,yBAAyB;;IAGzB,qBAAqB;;IAGrB,2BAA2B;;IAG3B,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,iBAAiB;IAC5B,gBAAgB;;IAGhB,iBAAiB;;IAGjB,oBAAoB;;IAGpB,gCAAgC;;IAGhC,4BAA4B;;IAG5B,oCAAoC;;IAGpC,8BAA8B;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,kBAAkB;IAC7B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,yBAAyB;;IAGzB,iCAAiC;;IAGjC,oCAAoC;;IAGpC,oCAAoC;;IAGpC,mBAAmB;;;;;;;;;;;;;;;;;;EAEnB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,qBAAqB;IAChC,mCAAmC;;QA9GnC,oEAAoE;;QAGpE,qCAAqC;;;;;;;;;IA8GrC,qBAAqB;;;;;;;;;;;;;;;;;IAQrB,yBAAyB;;QAxCzB,4BAA4B;;QAG5B,4BAA4B;;QAG5B,yBAAyB;;QAGzB,iCAAiC;;QAGjC,oCAAoC;;QAGpC,oCAAoC;;QAGpC,mBAAmB;;;;;;;;;;;;;;;;;;;IAyBnB,kBAAkB;;;;;;;;;;;;;;IAOlB,sBAAsB;;;;;;;;;;;IAMtB,8BAA8B;;IAG9B,6BAA6B;;;;;;;;;;;;;;;;;IAU7B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAElE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAE9D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAEtE;AAMD,wBAAgB,0BAA0B,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAgCxF;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAQf;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,WAAW,CAQb"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Metrics Contract
3
+ *
4
+ * Basic observability metrics for monitoring system health.
5
+ */
6
+ import { z } from 'zod';
7
+ // ============================================================================
8
+ // Metrics Time Range (supports relative times like '-1h')
9
+ // ============================================================================
10
+ export const MetricsTimeRangeSchema = z.object({
11
+ /** Start time (ISO string or relative like '-1h', '-30m', '-1d') */
12
+ start: z.string(),
13
+ /** End time (ISO string or 'now') */
14
+ end: z.string().default('now'),
15
+ });
16
+ // ============================================================================
17
+ // Request Metric
18
+ // ============================================================================
19
+ export const RequestMetricSchema = z.object({
20
+ /** Timestamp */
21
+ timestamp: z.string().datetime(),
22
+ /** Provider ID */
23
+ providerId: z.string(),
24
+ /** Operation type */
25
+ operation: z.string(),
26
+ /** Whether request succeeded */
27
+ success: z.boolean(),
28
+ /** Duration in ms */
29
+ durationMs: z.number().int().min(0),
30
+ /** Input tokens used */
31
+ inputTokens: z.number().int().min(0).optional(),
32
+ /** Output tokens used */
33
+ outputTokens: z.number().int().min(0).optional(),
34
+ /** Estimated cost */
35
+ estimatedCost: z.number().min(0).optional(),
36
+ /** Error code if failed */
37
+ errorCode: z.string().optional(),
38
+ /** Additional metadata */
39
+ metadata: z.record(z.unknown()).optional(),
40
+ });
41
+ // ============================================================================
42
+ // Error Metric
43
+ // ============================================================================
44
+ export const ErrorMetricSchema = z.object({
45
+ /** Timestamp */
46
+ timestamp: z.string().datetime(),
47
+ /** Error code */
48
+ code: z.string(),
49
+ /** Error message */
50
+ message: z.string(),
51
+ /** Provider ID if applicable */
52
+ providerId: z.string().optional(),
53
+ /** Operation that failed */
54
+ operation: z.string().optional(),
55
+ /** Whether error was recoverable */
56
+ recoverable: z.boolean().default(false),
57
+ /** Stack trace (truncated) */
58
+ stack: z.string().max(2000).optional(),
59
+ });
60
+ // ============================================================================
61
+ // Latency Stats
62
+ // ============================================================================
63
+ export const LatencyStatsSchema = z.object({
64
+ /** Minimum latency in ms */
65
+ min: z.number().int().min(0),
66
+ /** Maximum latency in ms */
67
+ max: z.number().int().min(0),
68
+ /** Mean latency in ms */
69
+ mean: z.number().min(0),
70
+ /** Median (p50) latency in ms */
71
+ p50: z.number().int().min(0),
72
+ /** 95th percentile latency in ms */
73
+ p95: z.number().int().min(0),
74
+ /** 99th percentile latency in ms */
75
+ p99: z.number().int().min(0),
76
+ /** Sample count */
77
+ count: z.number().int().min(0),
78
+ });
79
+ // ============================================================================
80
+ // Metrics Snapshot
81
+ // ============================================================================
82
+ export const MetricsSnapshotSchema = z.object({
83
+ /** Time range for this snapshot */
84
+ timeRange: MetricsTimeRangeSchema,
85
+ /** Request counts */
86
+ requests: z.object({
87
+ total: z.number().int().min(0),
88
+ success: z.number().int().min(0),
89
+ failure: z.number().int().min(0),
90
+ successRate: z.number().min(0).max(1),
91
+ }),
92
+ /** Latency statistics */
93
+ latency: LatencyStatsSchema,
94
+ /** Token usage */
95
+ tokens: z.object({
96
+ input: z.number().int().min(0),
97
+ output: z.number().int().min(0),
98
+ total: z.number().int().min(0),
99
+ }),
100
+ /** Cost statistics */
101
+ cost: z.object({
102
+ estimated: z.number().min(0),
103
+ perRequest: z.number().min(0),
104
+ }),
105
+ /** Error breakdown by code */
106
+ errors: z.record(z.number().int().min(0)),
107
+ /** Per-provider breakdown */
108
+ byProvider: z.record(z.object({
109
+ requests: z.number().int().min(0),
110
+ failures: z.number().int().min(0),
111
+ latencyP50: z.number().int().min(0),
112
+ tokens: z.number().int().min(0),
113
+ })),
114
+ /** Generated at timestamp */
115
+ generatedAt: z.string().datetime(),
116
+ });
117
+ // ============================================================================
118
+ // Validation Functions
119
+ // ============================================================================
120
+ export function validateRequestMetric(data) {
121
+ return RequestMetricSchema.parse(data);
122
+ }
123
+ export function validateErrorMetric(data) {
124
+ return ErrorMetricSchema.parse(data);
125
+ }
126
+ export function validateMetricsSnapshot(data) {
127
+ return MetricsSnapshotSchema.parse(data);
128
+ }
129
+ // ============================================================================
130
+ // Factory Functions
131
+ // ============================================================================
132
+ export function createEmptyMetricsSnapshot(timeRange) {
133
+ const now = new Date().toISOString();
134
+ return {
135
+ timeRange: timeRange ?? { start: now, end: 'now' },
136
+ requests: {
137
+ total: 0,
138
+ success: 0,
139
+ failure: 0,
140
+ successRate: 1,
141
+ },
142
+ latency: {
143
+ min: 0,
144
+ max: 0,
145
+ mean: 0,
146
+ p50: 0,
147
+ p95: 0,
148
+ p99: 0,
149
+ count: 0,
150
+ },
151
+ tokens: {
152
+ input: 0,
153
+ output: 0,
154
+ total: 0,
155
+ },
156
+ cost: {
157
+ estimated: 0,
158
+ perRequest: 0,
159
+ },
160
+ errors: {},
161
+ byProvider: {},
162
+ generatedAt: now,
163
+ };
164
+ }
165
+ export function createRequestMetric(providerId, operation, success, durationMs) {
166
+ return {
167
+ timestamp: new Date().toISOString(),
168
+ providerId,
169
+ operation,
170
+ success,
171
+ durationMs,
172
+ };
173
+ }
174
+ export function createErrorMetric(code, message, options) {
175
+ return {
176
+ timestamp: new Date().toISOString(),
177
+ code,
178
+ message,
179
+ recoverable: false,
180
+ ...options,
181
+ };
182
+ }
183
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/resilience/v1/metrics.ts"],"names":[],"mappings":"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"}