@hookdeck/outpost-sdk 0.9.1 → 0.9.2

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 (266) hide show
  1. package/README.md +14 -7
  2. package/bin/mcp-server.js +1024 -407
  3. package/bin/mcp-server.js.map +47 -40
  4. package/dist/commonjs/funcs/attemptsGet.js.map +1 -1
  5. package/dist/commonjs/funcs/destinationsCreate.js.map +1 -1
  6. package/dist/commonjs/funcs/destinationsDelete.js.map +1 -1
  7. package/dist/commonjs/funcs/destinationsDisable.js.map +1 -1
  8. package/dist/commonjs/funcs/destinationsEnable.js.map +1 -1
  9. package/dist/commonjs/funcs/destinationsGet.js.map +1 -1
  10. package/dist/commonjs/funcs/destinationsGetAttempt.js.map +1 -1
  11. package/dist/commonjs/funcs/destinationsList.js.map +1 -1
  12. package/dist/commonjs/funcs/destinationsListAttempts.js.map +1 -1
  13. package/dist/commonjs/funcs/destinationsUpdate.js.map +1 -1
  14. package/dist/commonjs/funcs/eventsGet.js.map +1 -1
  15. package/dist/commonjs/funcs/metricsGetAttemptMetrics.d.ts +28 -0
  16. package/dist/commonjs/funcs/metricsGetAttemptMetrics.d.ts.map +1 -0
  17. package/dist/commonjs/funcs/metricsGetAttemptMetrics.js +142 -0
  18. package/dist/commonjs/funcs/metricsGetAttemptMetrics.js.map +1 -0
  19. package/dist/commonjs/funcs/metricsGetEventMetrics.d.ts +26 -0
  20. package/dist/commonjs/funcs/metricsGetEventMetrics.d.ts.map +1 -0
  21. package/dist/commonjs/funcs/metricsGetEventMetrics.js +136 -0
  22. package/dist/commonjs/funcs/metricsGetEventMetrics.js.map +1 -0
  23. package/dist/commonjs/funcs/schemasGetDestinationType.js.map +1 -1
  24. package/dist/commonjs/funcs/tenantsDelete.js.map +1 -1
  25. package/dist/commonjs/funcs/tenantsGet.js.map +1 -1
  26. package/dist/commonjs/funcs/tenantsGetPortalUrl.js.map +1 -1
  27. package/dist/commonjs/funcs/tenantsGetToken.js.map +1 -1
  28. package/dist/commonjs/funcs/tenantsUpsert.js.map +1 -1
  29. package/dist/commonjs/lib/config.d.ts +3 -3
  30. package/dist/commonjs/lib/config.js +3 -3
  31. package/dist/commonjs/lib/config.js.map +1 -1
  32. package/dist/commonjs/lib/files.d.ts +13 -0
  33. package/dist/commonjs/lib/files.d.ts.map +1 -1
  34. package/dist/commonjs/lib/files.js +19 -0
  35. package/dist/commonjs/lib/files.js.map +1 -1
  36. package/dist/commonjs/lib/sdks.d.ts.map +1 -1
  37. package/dist/commonjs/lib/sdks.js +8 -4
  38. package/dist/commonjs/lib/sdks.js.map +1 -1
  39. package/dist/commonjs/lib/url.d.ts.map +1 -1
  40. package/dist/commonjs/lib/url.js +4 -2
  41. package/dist/commonjs/lib/url.js.map +1 -1
  42. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  43. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  44. package/dist/commonjs/mcp-server/server.js +5 -1
  45. package/dist/commonjs/mcp-server/server.js.map +1 -1
  46. package/dist/commonjs/mcp-server/tools/metricsGetAttemptMetrics.d.ts +8 -0
  47. package/dist/commonjs/mcp-server/tools/metricsGetAttemptMetrics.d.ts.map +1 -0
  48. package/dist/commonjs/mcp-server/tools/metricsGetAttemptMetrics.js +74 -0
  49. package/dist/commonjs/mcp-server/tools/metricsGetAttemptMetrics.js.map +1 -0
  50. package/dist/commonjs/mcp-server/tools/metricsGetEventMetrics.d.ts +8 -0
  51. package/dist/commonjs/mcp-server/tools/metricsGetEventMetrics.d.ts.map +1 -0
  52. package/dist/commonjs/mcp-server/tools/metricsGetEventMetrics.js +72 -0
  53. package/dist/commonjs/mcp-server/tools/metricsGetEventMetrics.js.map +1 -0
  54. package/dist/commonjs/models/components/attempt.d.ts +104 -6
  55. package/dist/commonjs/models/components/attempt.d.ts.map +1 -1
  56. package/dist/commonjs/models/components/attempt.js +106 -11
  57. package/dist/commonjs/models/components/attempt.js.map +1 -1
  58. package/dist/commonjs/models/components/index.d.ts +3 -2
  59. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  60. package/dist/commonjs/models/components/index.js +3 -2
  61. package/dist/commonjs/models/components/index.js.map +1 -1
  62. package/dist/commonjs/models/components/metricsdatapoint.d.ts +38 -0
  63. package/dist/commonjs/models/components/metricsdatapoint.d.ts.map +1 -0
  64. package/dist/commonjs/models/components/{eventsummary.js → metricsdatapoint.js} +18 -31
  65. package/dist/commonjs/models/components/metricsdatapoint.js.map +1 -0
  66. package/dist/commonjs/models/components/metricsmetadata.d.ts +40 -0
  67. package/dist/commonjs/models/components/metricsmetadata.d.ts.map +1 -0
  68. package/dist/commonjs/models/components/{eventfull.js → metricsmetadata.js} +26 -33
  69. package/dist/commonjs/models/components/metricsmetadata.js.map +1 -0
  70. package/dist/commonjs/models/components/metricsresponse.d.ts +24 -0
  71. package/dist/commonjs/models/components/metricsresponse.d.ts.map +1 -0
  72. package/dist/commonjs/models/components/metricsresponse.js +62 -0
  73. package/dist/commonjs/models/components/metricsresponse.js.map +1 -0
  74. package/dist/commonjs/models/operations/getattempt.d.ts +2 -0
  75. package/dist/commonjs/models/operations/getattempt.d.ts.map +1 -1
  76. package/dist/commonjs/models/operations/getattempt.js.map +1 -1
  77. package/dist/commonjs/models/operations/getattemptmetrics.d.ts +273 -0
  78. package/dist/commonjs/models/operations/getattemptmetrics.d.ts.map +1 -0
  79. package/dist/commonjs/models/operations/getattemptmetrics.js +326 -0
  80. package/dist/commonjs/models/operations/getattemptmetrics.js.map +1 -0
  81. package/dist/commonjs/models/operations/geteventmetrics.d.ts +158 -0
  82. package/dist/commonjs/models/operations/geteventmetrics.d.ts.map +1 -0
  83. package/dist/commonjs/models/operations/geteventmetrics.js +208 -0
  84. package/dist/commonjs/models/operations/geteventmetrics.js.map +1 -0
  85. package/dist/commonjs/models/operations/gettenantdestinationattempt.d.ts +2 -0
  86. package/dist/commonjs/models/operations/gettenantdestinationattempt.d.ts.map +1 -1
  87. package/dist/commonjs/models/operations/gettenantdestinationattempt.js.map +1 -1
  88. package/dist/commonjs/models/operations/index.d.ts +2 -0
  89. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  90. package/dist/commonjs/models/operations/index.js +2 -0
  91. package/dist/commonjs/models/operations/index.js.map +1 -1
  92. package/dist/commonjs/models/operations/listattempts.d.ts +2 -0
  93. package/dist/commonjs/models/operations/listattempts.d.ts.map +1 -1
  94. package/dist/commonjs/models/operations/listattempts.js.map +1 -1
  95. package/dist/commonjs/models/operations/listtenantdestinationattempts.d.ts +2 -0
  96. package/dist/commonjs/models/operations/listtenantdestinationattempts.d.ts.map +1 -1
  97. package/dist/commonjs/models/operations/listtenantdestinationattempts.js.map +1 -1
  98. package/dist/commonjs/sdk/metrics.d.ts +36 -0
  99. package/dist/commonjs/sdk/metrics.d.ts.map +1 -0
  100. package/dist/commonjs/sdk/metrics.js +48 -0
  101. package/dist/commonjs/sdk/metrics.js.map +1 -0
  102. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  103. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  104. package/dist/commonjs/sdk/sdk.js +4 -0
  105. package/dist/commonjs/sdk/sdk.js.map +1 -1
  106. package/dist/esm/funcs/attemptsGet.js.map +1 -1
  107. package/dist/esm/funcs/destinationsCreate.js.map +1 -1
  108. package/dist/esm/funcs/destinationsDelete.js.map +1 -1
  109. package/dist/esm/funcs/destinationsDisable.js.map +1 -1
  110. package/dist/esm/funcs/destinationsEnable.js.map +1 -1
  111. package/dist/esm/funcs/destinationsGet.js.map +1 -1
  112. package/dist/esm/funcs/destinationsGetAttempt.js.map +1 -1
  113. package/dist/esm/funcs/destinationsList.js.map +1 -1
  114. package/dist/esm/funcs/destinationsListAttempts.js.map +1 -1
  115. package/dist/esm/funcs/destinationsUpdate.js.map +1 -1
  116. package/dist/esm/funcs/eventsGet.js.map +1 -1
  117. package/dist/esm/funcs/metricsGetAttemptMetrics.d.ts +28 -0
  118. package/dist/esm/funcs/metricsGetAttemptMetrics.d.ts.map +1 -0
  119. package/dist/esm/funcs/metricsGetAttemptMetrics.js +106 -0
  120. package/dist/esm/funcs/metricsGetAttemptMetrics.js.map +1 -0
  121. package/dist/esm/funcs/metricsGetEventMetrics.d.ts +26 -0
  122. package/dist/esm/funcs/metricsGetEventMetrics.d.ts.map +1 -0
  123. package/dist/esm/funcs/metricsGetEventMetrics.js +100 -0
  124. package/dist/esm/funcs/metricsGetEventMetrics.js.map +1 -0
  125. package/dist/esm/funcs/schemasGetDestinationType.js.map +1 -1
  126. package/dist/esm/funcs/tenantsDelete.js.map +1 -1
  127. package/dist/esm/funcs/tenantsGet.js.map +1 -1
  128. package/dist/esm/funcs/tenantsGetPortalUrl.js.map +1 -1
  129. package/dist/esm/funcs/tenantsGetToken.js.map +1 -1
  130. package/dist/esm/funcs/tenantsUpsert.js.map +1 -1
  131. package/dist/esm/lib/config.d.ts +3 -3
  132. package/dist/esm/lib/config.js +3 -3
  133. package/dist/esm/lib/config.js.map +1 -1
  134. package/dist/esm/lib/files.d.ts +13 -0
  135. package/dist/esm/lib/files.d.ts.map +1 -1
  136. package/dist/esm/lib/files.js +18 -0
  137. package/dist/esm/lib/files.js.map +1 -1
  138. package/dist/esm/lib/sdks.d.ts.map +1 -1
  139. package/dist/esm/lib/sdks.js +8 -4
  140. package/dist/esm/lib/sdks.js.map +1 -1
  141. package/dist/esm/lib/url.d.ts.map +1 -1
  142. package/dist/esm/lib/url.js +4 -2
  143. package/dist/esm/lib/url.js.map +1 -1
  144. package/dist/esm/mcp-server/mcp-server.js +1 -1
  145. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  146. package/dist/esm/mcp-server/server.js +5 -1
  147. package/dist/esm/mcp-server/server.js.map +1 -1
  148. package/dist/esm/mcp-server/tools/metricsGetAttemptMetrics.d.ts +8 -0
  149. package/dist/esm/mcp-server/tools/metricsGetAttemptMetrics.d.ts.map +1 -0
  150. package/dist/esm/mcp-server/tools/metricsGetAttemptMetrics.js +38 -0
  151. package/dist/esm/mcp-server/tools/metricsGetAttemptMetrics.js.map +1 -0
  152. package/dist/esm/mcp-server/tools/metricsGetEventMetrics.d.ts +8 -0
  153. package/dist/esm/mcp-server/tools/metricsGetEventMetrics.d.ts.map +1 -0
  154. package/dist/esm/mcp-server/tools/metricsGetEventMetrics.js +36 -0
  155. package/dist/esm/mcp-server/tools/metricsGetEventMetrics.js.map +1 -0
  156. package/dist/esm/models/components/attempt.d.ts +104 -6
  157. package/dist/esm/models/components/attempt.d.ts.map +1 -1
  158. package/dist/esm/models/components/attempt.js +101 -10
  159. package/dist/esm/models/components/attempt.js.map +1 -1
  160. package/dist/esm/models/components/index.d.ts +3 -2
  161. package/dist/esm/models/components/index.d.ts.map +1 -1
  162. package/dist/esm/models/components/index.js +3 -2
  163. package/dist/esm/models/components/index.js.map +1 -1
  164. package/dist/esm/models/components/metricsdatapoint.d.ts +38 -0
  165. package/dist/esm/models/components/metricsdatapoint.d.ts.map +1 -0
  166. package/dist/esm/models/components/metricsdatapoint.js +33 -0
  167. package/dist/esm/models/components/metricsdatapoint.js.map +1 -0
  168. package/dist/esm/models/components/metricsmetadata.d.ts +40 -0
  169. package/dist/esm/models/components/metricsmetadata.d.ts.map +1 -0
  170. package/dist/esm/models/components/metricsmetadata.js +41 -0
  171. package/dist/esm/models/components/metricsmetadata.js.map +1 -0
  172. package/dist/esm/models/components/metricsresponse.d.ts +24 -0
  173. package/dist/esm/models/components/metricsresponse.d.ts.map +1 -0
  174. package/dist/esm/models/components/metricsresponse.js +24 -0
  175. package/dist/esm/models/components/metricsresponse.js.map +1 -0
  176. package/dist/esm/models/operations/getattempt.d.ts +2 -0
  177. package/dist/esm/models/operations/getattempt.d.ts.map +1 -1
  178. package/dist/esm/models/operations/getattempt.js.map +1 -1
  179. package/dist/esm/models/operations/getattemptmetrics.d.ts +273 -0
  180. package/dist/esm/models/operations/getattemptmetrics.d.ts.map +1 -0
  181. package/dist/esm/models/operations/getattemptmetrics.js +272 -0
  182. package/dist/esm/models/operations/getattemptmetrics.js.map +1 -0
  183. package/dist/esm/models/operations/geteventmetrics.d.ts +158 -0
  184. package/dist/esm/models/operations/geteventmetrics.d.ts.map +1 -0
  185. package/dist/esm/models/operations/geteventmetrics.js +160 -0
  186. package/dist/esm/models/operations/geteventmetrics.js.map +1 -0
  187. package/dist/esm/models/operations/gettenantdestinationattempt.d.ts +2 -0
  188. package/dist/esm/models/operations/gettenantdestinationattempt.d.ts.map +1 -1
  189. package/dist/esm/models/operations/gettenantdestinationattempt.js.map +1 -1
  190. package/dist/esm/models/operations/index.d.ts +2 -0
  191. package/dist/esm/models/operations/index.d.ts.map +1 -1
  192. package/dist/esm/models/operations/index.js +2 -0
  193. package/dist/esm/models/operations/index.js.map +1 -1
  194. package/dist/esm/models/operations/listattempts.d.ts +2 -0
  195. package/dist/esm/models/operations/listattempts.d.ts.map +1 -1
  196. package/dist/esm/models/operations/listattempts.js.map +1 -1
  197. package/dist/esm/models/operations/listtenantdestinationattempts.d.ts +2 -0
  198. package/dist/esm/models/operations/listtenantdestinationattempts.d.ts.map +1 -1
  199. package/dist/esm/models/operations/listtenantdestinationattempts.js.map +1 -1
  200. package/dist/esm/sdk/metrics.d.ts +36 -0
  201. package/dist/esm/sdk/metrics.d.ts.map +1 -0
  202. package/dist/esm/sdk/metrics.js +44 -0
  203. package/dist/esm/sdk/metrics.js.map +1 -0
  204. package/dist/esm/sdk/sdk.d.ts +3 -0
  205. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  206. package/dist/esm/sdk/sdk.js +4 -0
  207. package/dist/esm/sdk/sdk.js.map +1 -1
  208. package/jsr.json +1 -1
  209. package/package.json +1 -1
  210. package/src/funcs/attemptsGet.ts +0 -1
  211. package/src/funcs/destinationsCreate.ts +0 -1
  212. package/src/funcs/destinationsDelete.ts +0 -1
  213. package/src/funcs/destinationsDisable.ts +0 -1
  214. package/src/funcs/destinationsEnable.ts +0 -1
  215. package/src/funcs/destinationsGet.ts +0 -1
  216. package/src/funcs/destinationsGetAttempt.ts +0 -1
  217. package/src/funcs/destinationsList.ts +0 -1
  218. package/src/funcs/destinationsListAttempts.ts +0 -1
  219. package/src/funcs/destinationsUpdate.ts +0 -1
  220. package/src/funcs/eventsGet.ts +0 -1
  221. package/src/funcs/metricsGetAttemptMetrics.ts +206 -0
  222. package/src/funcs/metricsGetEventMetrics.ts +200 -0
  223. package/src/funcs/schemasGetDestinationType.ts +0 -1
  224. package/src/funcs/tenantsDelete.ts +0 -1
  225. package/src/funcs/tenantsGet.ts +0 -1
  226. package/src/funcs/tenantsGetPortalUrl.ts +0 -1
  227. package/src/funcs/tenantsGetToken.ts +0 -1
  228. package/src/funcs/tenantsUpsert.ts +0 -1
  229. package/src/lib/config.ts +3 -3
  230. package/src/lib/files.ts +22 -0
  231. package/src/lib/sdks.ts +7 -5
  232. package/src/lib/url.ts +16 -14
  233. package/src/mcp-server/mcp-server.ts +1 -1
  234. package/src/mcp-server/server.ts +5 -1
  235. package/src/mcp-server/tools/metricsGetAttemptMetrics.ts +47 -0
  236. package/src/mcp-server/tools/metricsGetEventMetrics.ts +45 -0
  237. package/src/models/components/attempt.ts +224 -23
  238. package/src/models/components/index.ts +3 -2
  239. package/src/models/components/metricsdatapoint.ts +79 -0
  240. package/src/models/components/metricsmetadata.ts +93 -0
  241. package/src/models/components/metricsresponse.ts +68 -0
  242. package/src/models/operations/getattempt.ts +2 -0
  243. package/src/models/operations/getattemptmetrics.ts +668 -0
  244. package/src/models/operations/geteventmetrics.ts +434 -0
  245. package/src/models/operations/gettenantdestinationattempt.ts +2 -0
  246. package/src/models/operations/index.ts +2 -0
  247. package/src/models/operations/listattempts.ts +2 -0
  248. package/src/models/operations/listtenantdestinationattempts.ts +2 -0
  249. package/src/sdk/metrics.ts +62 -0
  250. package/src/sdk/sdk.ts +6 -0
  251. package/dist/commonjs/models/components/eventfull.d.ts +0 -57
  252. package/dist/commonjs/models/components/eventfull.d.ts.map +0 -1
  253. package/dist/commonjs/models/components/eventfull.js.map +0 -1
  254. package/dist/commonjs/models/components/eventsummary.d.ts +0 -48
  255. package/dist/commonjs/models/components/eventsummary.d.ts.map +0 -1
  256. package/dist/commonjs/models/components/eventsummary.js.map +0 -1
  257. package/dist/esm/models/components/eventfull.d.ts +0 -57
  258. package/dist/esm/models/components/eventfull.d.ts.map +0 -1
  259. package/dist/esm/models/components/eventfull.js +0 -48
  260. package/dist/esm/models/components/eventfull.js.map +0 -1
  261. package/dist/esm/models/components/eventsummary.d.ts +0 -48
  262. package/dist/esm/models/components/eventsummary.d.ts.map +0 -1
  263. package/dist/esm/models/components/eventsummary.js +0 -46
  264. package/dist/esm/models/components/eventsummary.js.map +0 -1
  265. package/src/models/components/eventfull.ts +0 -107
  266. package/src/models/components/eventsummary.ts +0 -100
@@ -0,0 +1,36 @@
1
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
+ import * as components from "../models/components/index.js";
3
+ import * as operations from "../models/operations/index.js";
4
+ export declare class Metrics extends ClientSDK {
5
+ /**
6
+ * Get Event Metrics
7
+ *
8
+ * @remarks
9
+ * Returns aggregated event publish metrics. Supports time bucketing via granularity,
10
+ * dimensional grouping, and filtering.
11
+ *
12
+ * **Measures:** `count`, `rate`
13
+ *
14
+ * **Dimensions:** `tenant_id` (admin-only), `topic`, `destination_id`
15
+ *
16
+ * **Filters:** `tenant_id` (admin-only), `topic`, `destination_id`
17
+ */
18
+ getEventMetrics(request: operations.GetEventMetricsRequest, options?: RequestOptions): Promise<components.MetricsResponse>;
19
+ /**
20
+ * Get Attempt Metrics
21
+ *
22
+ * @remarks
23
+ * Returns aggregated delivery attempt metrics. Supports time bucketing via granularity,
24
+ * dimensional grouping, and filtering.
25
+ *
26
+ * **Measures:** `count`, `successful_count`, `failed_count`, `error_rate`,
27
+ * `first_attempt_count`, `retry_count`, `manual_retry_count`, `avg_attempt_number`,
28
+ * `rate`, `successful_rate`, `failed_rate`
29
+ *
30
+ * **Dimensions:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
31
+ *
32
+ * **Filters:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
33
+ */
34
+ getAttemptMetrics(request: operations.GetAttemptMetricsRequest, options?: RequestOptions): Promise<components.MetricsResponse>;
35
+ }
36
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/sdk/metrics.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAG5D,qBAAa,OAAQ,SAAQ,SAAS;IACpC;;;;;;;;;;;;OAYG;IACG,eAAe,CACnB,OAAO,EAAE,UAAU,CAAC,sBAAsB,EAC1C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IAQtC;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,OAAO,EAAE,UAAU,CAAC,wBAAwB,EAC5C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;CAOvC"}
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+ import { metricsGetAttemptMetrics } from "../funcs/metricsGetAttemptMetrics.js";
5
+ import { metricsGetEventMetrics } from "../funcs/metricsGetEventMetrics.js";
6
+ import { ClientSDK } from "../lib/sdks.js";
7
+ import { unwrapAsync } from "../types/fp.js";
8
+ export class Metrics extends ClientSDK {
9
+ /**
10
+ * Get Event Metrics
11
+ *
12
+ * @remarks
13
+ * Returns aggregated event publish metrics. Supports time bucketing via granularity,
14
+ * dimensional grouping, and filtering.
15
+ *
16
+ * **Measures:** `count`, `rate`
17
+ *
18
+ * **Dimensions:** `tenant_id` (admin-only), `topic`, `destination_id`
19
+ *
20
+ * **Filters:** `tenant_id` (admin-only), `topic`, `destination_id`
21
+ */
22
+ async getEventMetrics(request, options) {
23
+ return unwrapAsync(metricsGetEventMetrics(this, request, options));
24
+ }
25
+ /**
26
+ * Get Attempt Metrics
27
+ *
28
+ * @remarks
29
+ * Returns aggregated delivery attempt metrics. Supports time bucketing via granularity,
30
+ * dimensional grouping, and filtering.
31
+ *
32
+ * **Measures:** `count`, `successful_count`, `failed_count`, `error_rate`,
33
+ * `first_attempt_count`, `retry_count`, `manual_retry_count`, `avg_attempt_number`,
34
+ * `rate`, `successful_rate`, `failed_rate`
35
+ *
36
+ * **Dimensions:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
37
+ *
38
+ * **Filters:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
39
+ */
40
+ async getAttemptMetrics(request, options) {
41
+ return unwrapAsync(metricsGetAttemptMetrics(this, request, options));
42
+ }
43
+ }
44
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/sdk/metrics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,eAAe,CACnB,OAA0C,EAC1C,OAAwB;QAExB,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAA4C,EAC5C,OAAwB;QAExB,OAAO,WAAW,CAAC,wBAAwB,CACzC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -3,6 +3,7 @@ import { Attempts } from "./attempts.js";
3
3
  import { Destinations } from "./destinations.js";
4
4
  import { Events } from "./events.js";
5
5
  import { Health } from "./health.js";
6
+ import { Metrics } from "./metrics.js";
6
7
  import { Publish } from "./publish.js";
7
8
  import { Schemas } from "./schemas.js";
8
9
  import { Tenants } from "./tenants.js";
@@ -24,5 +25,7 @@ export declare class Outpost extends ClientSDK {
24
25
  get schemas(): Schemas;
25
26
  private _topics?;
26
27
  get topics(): Topics;
28
+ private _metrics?;
29
+ get metrics(): Metrics;
27
30
  }
28
31
  //# sourceMappingURL=sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
@@ -6,6 +6,7 @@ import { Attempts } from "./attempts.js";
6
6
  import { Destinations } from "./destinations.js";
7
7
  import { Events } from "./events.js";
8
8
  import { Health } from "./health.js";
9
+ import { Metrics } from "./metrics.js";
9
10
  import { Publish } from "./publish.js";
10
11
  import { Schemas } from "./schemas.js";
11
12
  import { Tenants } from "./tenants.js";
@@ -35,5 +36,8 @@ export class Outpost extends ClientSDK {
35
36
  get topics() {
36
37
  return (this._topics ?? (this._topics = new Topics(this._options)));
37
38
  }
39
+ get metrics() {
40
+ return (this._metrics ?? (this._metrics = new Metrics(this._options)));
41
+ }
38
42
  }
39
43
  //# sourceMappingURL=sdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,OAAQ,SAAQ,SAAS;IAEpC,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;IAGD,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,KAAd,IAAI,CAAC,SAAS,GAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IAC1D,CAAC;IAGD,IAAI,YAAY;QACd,OAAO,CAAC,IAAI,CAAC,aAAa,KAAlB,IAAI,CAAC,aAAa,GAAK,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IAClE,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,OAAQ,SAAQ,SAAS;IAEpC,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;IAGD,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,KAAd,IAAI,CAAC,SAAS,GAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IAC1D,CAAC;IAGD,IAAI,YAAY;QACd,OAAO,CAAC,IAAI,CAAC,aAAa,KAAlB,IAAI,CAAC,aAAa,GAAK,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IAClE,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACtD,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxD,CAAC;CACF"}
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@hookdeck/outpost-sdk",
5
- "version": "0.9.1",
5
+ "version": "0.9.2",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hookdeck/outpost-sdk",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "author": "Speakeasy",
5
5
  "type": "module",
6
6
  "bin": {
@@ -110,7 +110,6 @@ async function $do(
110
110
  charEncoding: "percent",
111
111
  }),
112
112
  };
113
-
114
113
  const path = pathToFunc("/attempts/{attempt_id}")(pathParams);
115
114
 
116
115
  const query = encodeFormQuery({
@@ -110,7 +110,6 @@ async function $do(
110
110
  charEncoding: "percent",
111
111
  }),
112
112
  };
113
-
114
113
  const path = pathToFunc("/tenants/{tenant_id}/destinations")(pathParams);
115
114
 
116
115
  const headers = new Headers(compactMap({
@@ -112,7 +112,6 @@ async function $do(
112
112
  charEncoding: "percent",
113
113
  }),
114
114
  };
115
-
116
115
  const path = pathToFunc("/tenants/{tenant_id}/destinations/{destination_id}")(
117
116
  pathParams,
118
117
  );
@@ -112,7 +112,6 @@ async function $do(
112
112
  charEncoding: "percent",
113
113
  }),
114
114
  };
115
-
116
115
  const path = pathToFunc(
117
116
  "/tenants/{tenant_id}/destinations/{destination_id}/disable",
118
117
  )(pathParams);
@@ -112,7 +112,6 @@ async function $do(
112
112
  charEncoding: "percent",
113
113
  }),
114
114
  };
115
-
116
115
  const path = pathToFunc(
117
116
  "/tenants/{tenant_id}/destinations/{destination_id}/enable",
118
117
  )(pathParams);
@@ -112,7 +112,6 @@ async function $do(
112
112
  charEncoding: "percent",
113
113
  }),
114
114
  };
115
-
116
115
  const path = pathToFunc("/tenants/{tenant_id}/destinations/{destination_id}")(
117
116
  pathParams,
118
117
  );
@@ -124,7 +124,6 @@ async function $do(
124
124
  charEncoding: "percent",
125
125
  }),
126
126
  };
127
-
128
127
  const path = pathToFunc(
129
128
  "/tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}",
130
129
  )(pathParams);
@@ -113,7 +113,6 @@ async function $do(
113
113
  charEncoding: "percent",
114
114
  }),
115
115
  };
116
-
117
116
  const path = pathToFunc("/tenants/{tenant_id}/destinations")(pathParams);
118
117
 
119
118
  const query = encodeFormQuery({
@@ -118,7 +118,6 @@ async function $do(
118
118
  charEncoding: "percent",
119
119
  }),
120
120
  };
121
-
122
121
  const path = pathToFunc(
123
122
  "/tenants/{tenant_id}/destinations/{destination_id}/attempts",
124
123
  )(pathParams);
@@ -118,7 +118,6 @@ async function $do(
118
118
  charEncoding: "percent",
119
119
  }),
120
120
  };
121
-
122
121
  const path = pathToFunc("/tenants/{tenant_id}/destinations/{destination_id}")(
123
122
  pathParams,
124
123
  );
@@ -106,7 +106,6 @@ async function $do(
106
106
  charEncoding: "percent",
107
107
  }),
108
108
  };
109
-
110
109
  const path = pathToFunc("/events/{event_id}")(pathParams);
111
110
 
112
111
  const headers = new Headers(compactMap({
@@ -0,0 +1,206 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { OutpostCore } from "../core.js";
6
+ import { encodeFormQuery } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import * as components from "../models/components/index.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { OutpostError } from "../models/errors/outposterror.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Get Attempt Metrics
31
+ *
32
+ * @remarks
33
+ * Returns aggregated delivery attempt metrics. Supports time bucketing via granularity,
34
+ * dimensional grouping, and filtering.
35
+ *
36
+ * **Measures:** `count`, `successful_count`, `failed_count`, `error_rate`,
37
+ * `first_attempt_count`, `retry_count`, `manual_retry_count`, `avg_attempt_number`,
38
+ * `rate`, `successful_rate`, `failed_rate`
39
+ *
40
+ * **Dimensions:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
41
+ *
42
+ * **Filters:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number`
43
+ */
44
+ export function metricsGetAttemptMetrics(
45
+ client: OutpostCore,
46
+ request: operations.GetAttemptMetricsRequest,
47
+ options?: RequestOptions,
48
+ ): APIPromise<
49
+ Result<
50
+ components.MetricsResponse,
51
+ | errors.BadRequestError
52
+ | errors.UnauthorizedError
53
+ | errors.APIErrorResponse
54
+ | errors.InternalServerError
55
+ | OutpostError
56
+ | ResponseValidationError
57
+ | ConnectionError
58
+ | RequestAbortedError
59
+ | RequestTimeoutError
60
+ | InvalidRequestError
61
+ | UnexpectedClientError
62
+ | SDKValidationError
63
+ >
64
+ > {
65
+ return new APIPromise($do(
66
+ client,
67
+ request,
68
+ options,
69
+ ));
70
+ }
71
+
72
+ async function $do(
73
+ client: OutpostCore,
74
+ request: operations.GetAttemptMetricsRequest,
75
+ options?: RequestOptions,
76
+ ): Promise<
77
+ [
78
+ Result<
79
+ components.MetricsResponse,
80
+ | errors.BadRequestError
81
+ | errors.UnauthorizedError
82
+ | errors.APIErrorResponse
83
+ | errors.InternalServerError
84
+ | OutpostError
85
+ | ResponseValidationError
86
+ | ConnectionError
87
+ | RequestAbortedError
88
+ | RequestTimeoutError
89
+ | InvalidRequestError
90
+ | UnexpectedClientError
91
+ | SDKValidationError
92
+ >,
93
+ APICall,
94
+ ]
95
+ > {
96
+ const parsed = safeParse(
97
+ request,
98
+ (value) => operations.GetAttemptMetricsRequest$outboundSchema.parse(value),
99
+ "Input validation failed",
100
+ );
101
+ if (!parsed.ok) {
102
+ return [parsed, { status: "invalid" }];
103
+ }
104
+ const payload = parsed.value;
105
+ const body = null;
106
+
107
+ const path = pathToFunc("/metrics/attempts")();
108
+
109
+ const query = encodeFormQuery({
110
+ "dimensions": payload.dimensions,
111
+ "filters[attempt_number]": payload["filters[attempt_number]"],
112
+ "filters[code]": payload["filters[code]"],
113
+ "filters[destination_id]": payload["filters[destination_id]"],
114
+ "filters[manual]": payload["filters[manual]"],
115
+ "filters[status]": payload["filters[status]"],
116
+ "filters[tenant_id]": payload["filters[tenant_id]"],
117
+ "filters[topic]": payload["filters[topic]"],
118
+ "granularity": payload.granularity,
119
+ "measures": payload.measures,
120
+ "time[end]": payload["time[end]"],
121
+ "time[start]": payload["time[start]"],
122
+ });
123
+
124
+ const headers = new Headers(compactMap({
125
+ Accept: "application/json",
126
+ }));
127
+
128
+ const secConfig = await extractSecurity(client._options.apiKey);
129
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
130
+ const requestSecurity = resolveGlobalSecurity(securityInput);
131
+
132
+ const context = {
133
+ options: client._options,
134
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
135
+ operationID: "getAttemptMetrics",
136
+ oAuth2Scopes: null,
137
+
138
+ resolvedSecurity: requestSecurity,
139
+
140
+ securitySource: client._options.apiKey,
141
+ retryConfig: options?.retries
142
+ || client._options.retryConfig
143
+ || { strategy: "none" },
144
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
145
+ };
146
+
147
+ const requestRes = client._createRequest(context, {
148
+ security: requestSecurity,
149
+ method: "GET",
150
+ baseURL: options?.serverURL,
151
+ path: path,
152
+ headers: headers,
153
+ query: query,
154
+ body: body,
155
+ userAgent: client._options.userAgent,
156
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
157
+ }, options);
158
+ if (!requestRes.ok) {
159
+ return [requestRes, { status: "invalid" }];
160
+ }
161
+ const req = requestRes.value;
162
+
163
+ const doResult = await client._do(req, {
164
+ context,
165
+ errorCodes: ["400", "401", "403", "4XX", "500", "5XX"],
166
+ retryConfig: context.retryConfig,
167
+ retryCodes: context.retryCodes,
168
+ });
169
+ if (!doResult.ok) {
170
+ return [doResult, { status: "request-error", request: req }];
171
+ }
172
+ const response = doResult.value;
173
+
174
+ const responseFields = {
175
+ HttpMeta: { Response: response, Request: req },
176
+ };
177
+
178
+ const [result] = await M.match<
179
+ components.MetricsResponse,
180
+ | errors.BadRequestError
181
+ | errors.UnauthorizedError
182
+ | errors.APIErrorResponse
183
+ | errors.InternalServerError
184
+ | OutpostError
185
+ | ResponseValidationError
186
+ | ConnectionError
187
+ | RequestAbortedError
188
+ | RequestTimeoutError
189
+ | InvalidRequestError
190
+ | UnexpectedClientError
191
+ | SDKValidationError
192
+ >(
193
+ M.json(200, components.MetricsResponse$inboundSchema),
194
+ M.jsonErr(400, errors.BadRequestError$inboundSchema),
195
+ M.jsonErr(401, errors.UnauthorizedError$inboundSchema),
196
+ M.jsonErr(403, errors.APIErrorResponse$inboundSchema),
197
+ M.jsonErr(500, errors.InternalServerError$inboundSchema),
198
+ M.fail("4XX"),
199
+ M.fail("5XX"),
200
+ )(response, req, { extraFields: responseFields });
201
+ if (!result.ok) {
202
+ return [result, { status: "complete", request: req, response }];
203
+ }
204
+
205
+ return [result, { status: "complete", request: req, response }];
206
+ }
@@ -0,0 +1,200 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { OutpostCore } from "../core.js";
6
+ import { encodeFormQuery } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import * as components from "../models/components/index.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { OutpostError } from "../models/errors/outposterror.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Get Event Metrics
31
+ *
32
+ * @remarks
33
+ * Returns aggregated event publish metrics. Supports time bucketing via granularity,
34
+ * dimensional grouping, and filtering.
35
+ *
36
+ * **Measures:** `count`, `rate`
37
+ *
38
+ * **Dimensions:** `tenant_id` (admin-only), `topic`, `destination_id`
39
+ *
40
+ * **Filters:** `tenant_id` (admin-only), `topic`, `destination_id`
41
+ */
42
+ export function metricsGetEventMetrics(
43
+ client: OutpostCore,
44
+ request: operations.GetEventMetricsRequest,
45
+ options?: RequestOptions,
46
+ ): APIPromise<
47
+ Result<
48
+ components.MetricsResponse,
49
+ | errors.BadRequestError
50
+ | errors.UnauthorizedError
51
+ | errors.APIErrorResponse
52
+ | errors.InternalServerError
53
+ | OutpostError
54
+ | ResponseValidationError
55
+ | ConnectionError
56
+ | RequestAbortedError
57
+ | RequestTimeoutError
58
+ | InvalidRequestError
59
+ | UnexpectedClientError
60
+ | SDKValidationError
61
+ >
62
+ > {
63
+ return new APIPromise($do(
64
+ client,
65
+ request,
66
+ options,
67
+ ));
68
+ }
69
+
70
+ async function $do(
71
+ client: OutpostCore,
72
+ request: operations.GetEventMetricsRequest,
73
+ options?: RequestOptions,
74
+ ): Promise<
75
+ [
76
+ Result<
77
+ components.MetricsResponse,
78
+ | errors.BadRequestError
79
+ | errors.UnauthorizedError
80
+ | errors.APIErrorResponse
81
+ | errors.InternalServerError
82
+ | OutpostError
83
+ | ResponseValidationError
84
+ | ConnectionError
85
+ | RequestAbortedError
86
+ | RequestTimeoutError
87
+ | InvalidRequestError
88
+ | UnexpectedClientError
89
+ | SDKValidationError
90
+ >,
91
+ APICall,
92
+ ]
93
+ > {
94
+ const parsed = safeParse(
95
+ request,
96
+ (value) => operations.GetEventMetricsRequest$outboundSchema.parse(value),
97
+ "Input validation failed",
98
+ );
99
+ if (!parsed.ok) {
100
+ return [parsed, { status: "invalid" }];
101
+ }
102
+ const payload = parsed.value;
103
+ const body = null;
104
+
105
+ const path = pathToFunc("/metrics/events")();
106
+
107
+ const query = encodeFormQuery({
108
+ "dimensions": payload.dimensions,
109
+ "filters[destination_id]": payload["filters[destination_id]"],
110
+ "filters[tenant_id]": payload["filters[tenant_id]"],
111
+ "filters[topic]": payload["filters[topic]"],
112
+ "granularity": payload.granularity,
113
+ "measures": payload.measures,
114
+ "time[end]": payload["time[end]"],
115
+ "time[start]": payload["time[start]"],
116
+ });
117
+
118
+ const headers = new Headers(compactMap({
119
+ Accept: "application/json",
120
+ }));
121
+
122
+ const secConfig = await extractSecurity(client._options.apiKey);
123
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
124
+ const requestSecurity = resolveGlobalSecurity(securityInput);
125
+
126
+ const context = {
127
+ options: client._options,
128
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
129
+ operationID: "getEventMetrics",
130
+ oAuth2Scopes: null,
131
+
132
+ resolvedSecurity: requestSecurity,
133
+
134
+ securitySource: client._options.apiKey,
135
+ retryConfig: options?.retries
136
+ || client._options.retryConfig
137
+ || { strategy: "none" },
138
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
139
+ };
140
+
141
+ const requestRes = client._createRequest(context, {
142
+ security: requestSecurity,
143
+ method: "GET",
144
+ baseURL: options?.serverURL,
145
+ path: path,
146
+ headers: headers,
147
+ query: query,
148
+ body: body,
149
+ userAgent: client._options.userAgent,
150
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
151
+ }, options);
152
+ if (!requestRes.ok) {
153
+ return [requestRes, { status: "invalid" }];
154
+ }
155
+ const req = requestRes.value;
156
+
157
+ const doResult = await client._do(req, {
158
+ context,
159
+ errorCodes: ["400", "401", "403", "4XX", "500", "5XX"],
160
+ retryConfig: context.retryConfig,
161
+ retryCodes: context.retryCodes,
162
+ });
163
+ if (!doResult.ok) {
164
+ return [doResult, { status: "request-error", request: req }];
165
+ }
166
+ const response = doResult.value;
167
+
168
+ const responseFields = {
169
+ HttpMeta: { Response: response, Request: req },
170
+ };
171
+
172
+ const [result] = await M.match<
173
+ components.MetricsResponse,
174
+ | errors.BadRequestError
175
+ | errors.UnauthorizedError
176
+ | errors.APIErrorResponse
177
+ | errors.InternalServerError
178
+ | OutpostError
179
+ | ResponseValidationError
180
+ | ConnectionError
181
+ | RequestAbortedError
182
+ | RequestTimeoutError
183
+ | InvalidRequestError
184
+ | UnexpectedClientError
185
+ | SDKValidationError
186
+ >(
187
+ M.json(200, components.MetricsResponse$inboundSchema),
188
+ M.jsonErr(400, errors.BadRequestError$inboundSchema),
189
+ M.jsonErr(401, errors.UnauthorizedError$inboundSchema),
190
+ M.jsonErr(403, errors.APIErrorResponse$inboundSchema),
191
+ M.jsonErr(500, errors.InternalServerError$inboundSchema),
192
+ M.fail("4XX"),
193
+ M.fail("5XX"),
194
+ )(response, req, { extraFields: responseFields });
195
+ if (!result.ok) {
196
+ return [result, { status: "complete", request: req, response }];
197
+ }
198
+
199
+ return [result, { status: "complete", request: req, response }];
200
+ }
@@ -110,7 +110,6 @@ async function $do(
110
110
  charEncoding: "percent",
111
111
  }),
112
112
  };
113
-
114
113
  const path = pathToFunc("/destination-types/{type}")(pathParams);
115
114
 
116
115
  const headers = new Headers(compactMap({