@agentuity/core 1.0.40 → 1.0.42

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 (254) hide show
  1. package/dist/services/api-reference.d.ts +68 -0
  2. package/dist/services/api-reference.d.ts.map +1 -0
  3. package/dist/services/api-reference.js +91 -0
  4. package/dist/services/api-reference.js.map +1 -0
  5. package/dist/services/apikey/api-reference.d.ts +4 -0
  6. package/dist/services/apikey/api-reference.d.ts.map +1 -0
  7. package/dist/services/apikey/api-reference.js +96 -0
  8. package/dist/services/apikey/api-reference.js.map +1 -0
  9. package/dist/services/db/api-reference.d.ts +4 -0
  10. package/dist/services/db/api-reference.d.ts.map +1 -0
  11. package/dist/services/db/api-reference.js +149 -0
  12. package/dist/services/db/api-reference.js.map +1 -0
  13. package/dist/services/db/types.d.ts +7 -0
  14. package/dist/services/db/types.d.ts.map +1 -0
  15. package/dist/services/db/types.js +9 -0
  16. package/dist/services/db/types.js.map +1 -0
  17. package/dist/services/email/api-reference.d.ts +4 -0
  18. package/dist/services/email/api-reference.d.ts.map +1 -0
  19. package/dist/services/email/api-reference.js +342 -0
  20. package/dist/services/email/api-reference.js.map +1 -0
  21. package/dist/services/email/service.d.ts.map +1 -1
  22. package/dist/services/email/service.js +1 -2
  23. package/dist/services/email/service.js.map +1 -1
  24. package/dist/services/email/types.d.ts +13 -0
  25. package/dist/services/email/types.d.ts.map +1 -0
  26. package/dist/services/email/types.js +11 -0
  27. package/dist/services/email/types.js.map +1 -0
  28. package/dist/services/eval/api-reference.d.ts +4 -0
  29. package/dist/services/eval/api-reference.d.ts.map +1 -0
  30. package/dist/services/eval/api-reference.js +121 -0
  31. package/dist/services/eval/api-reference.js.map +1 -0
  32. package/dist/services/index.d.ts +2 -0
  33. package/dist/services/index.d.ts.map +1 -1
  34. package/dist/services/index.js +2 -0
  35. package/dist/services/index.js.map +1 -1
  36. package/dist/services/keyvalue/api-reference.d.ts +4 -0
  37. package/dist/services/keyvalue/api-reference.d.ts.map +1 -0
  38. package/dist/services/keyvalue/api-reference.js +270 -0
  39. package/dist/services/keyvalue/api-reference.js.map +1 -0
  40. package/dist/services/keyvalue/types.d.ts +18 -0
  41. package/dist/services/keyvalue/types.d.ts.map +1 -0
  42. package/dist/services/keyvalue/types.js +19 -0
  43. package/dist/services/keyvalue/types.js.map +1 -0
  44. package/dist/services/machine/api-reference.d.ts +4 -0
  45. package/dist/services/machine/api-reference.d.ts.map +1 -0
  46. package/dist/services/machine/api-reference.js +152 -0
  47. package/dist/services/machine/api-reference.js.map +1 -0
  48. package/dist/services/machine/types.d.ts +18 -0
  49. package/dist/services/machine/types.d.ts.map +1 -0
  50. package/dist/services/machine/types.js +15 -0
  51. package/dist/services/machine/types.js.map +1 -0
  52. package/dist/services/monitoring/index.d.ts +3 -0
  53. package/dist/services/monitoring/index.d.ts.map +1 -0
  54. package/dist/services/monitoring/index.js +3 -0
  55. package/dist/services/monitoring/index.js.map +1 -0
  56. package/dist/services/monitoring/service.d.ts +55 -0
  57. package/dist/services/monitoring/service.d.ts.map +1 -0
  58. package/dist/services/monitoring/service.js +503 -0
  59. package/dist/services/monitoring/service.js.map +1 -0
  60. package/dist/services/monitoring/types.d.ts +173 -0
  61. package/dist/services/monitoring/types.d.ts.map +1 -0
  62. package/dist/services/monitoring/types.js +2 -0
  63. package/dist/services/monitoring/types.js.map +1 -0
  64. package/dist/services/oauth/activity.d.ts +5 -0
  65. package/dist/services/oauth/activity.d.ts.map +1 -0
  66. package/dist/services/oauth/activity.js +17 -0
  67. package/dist/services/oauth/activity.js.map +1 -0
  68. package/dist/services/oauth/api-reference.d.ts +4 -0
  69. package/dist/services/oauth/api-reference.d.ts.map +1 -0
  70. package/dist/services/oauth/api-reference.js +344 -0
  71. package/dist/services/oauth/api-reference.js.map +1 -0
  72. package/dist/services/oauth/clients.d.ts +18 -0
  73. package/dist/services/oauth/clients.d.ts.map +1 -0
  74. package/dist/services/oauth/clients.js +66 -0
  75. package/dist/services/oauth/clients.js.map +1 -0
  76. package/dist/services/oauth/consent.d.ts +7 -0
  77. package/dist/services/oauth/consent.d.ts.map +1 -0
  78. package/dist/services/oauth/consent.js +17 -0
  79. package/dist/services/oauth/consent.js.map +1 -0
  80. package/dist/services/oauth/index.d.ts +9 -0
  81. package/dist/services/oauth/index.d.ts.map +1 -0
  82. package/dist/services/oauth/index.js +9 -0
  83. package/dist/services/oauth/index.js.map +1 -0
  84. package/dist/services/oauth/keys.d.ts +5 -0
  85. package/dist/services/oauth/keys.d.ts.map +1 -0
  86. package/dist/services/oauth/keys.js +10 -0
  87. package/dist/services/oauth/keys.js.map +1 -0
  88. package/dist/services/oauth/members.d.ts +4 -0
  89. package/dist/services/oauth/members.d.ts.map +1 -0
  90. package/dist/services/oauth/members.js +10 -0
  91. package/dist/services/oauth/members.js.map +1 -0
  92. package/dist/services/oauth/scopes.d.ts +4 -0
  93. package/dist/services/oauth/scopes.d.ts.map +1 -0
  94. package/dist/services/oauth/scopes.js +10 -0
  95. package/dist/services/oauth/scopes.js.map +1 -0
  96. package/dist/services/oauth/types.d.ts +587 -0
  97. package/dist/services/oauth/types.d.ts.map +1 -0
  98. package/dist/services/oauth/types.js +160 -0
  99. package/dist/services/oauth/types.js.map +1 -0
  100. package/dist/services/oauth/util.d.ts +23 -0
  101. package/dist/services/oauth/util.d.ts.map +1 -0
  102. package/dist/services/oauth/util.js +3 -0
  103. package/dist/services/oauth/util.js.map +1 -0
  104. package/dist/services/org/api-reference.d.ts +4 -0
  105. package/dist/services/org/api-reference.d.ts.map +1 -0
  106. package/dist/services/org/api-reference.js +145 -0
  107. package/dist/services/org/api-reference.js.map +1 -0
  108. package/dist/services/org/types.d.ts +8 -0
  109. package/dist/services/org/types.d.ts.map +1 -0
  110. package/dist/services/org/types.js +7 -0
  111. package/dist/services/org/types.js.map +1 -0
  112. package/dist/services/project/api-reference.d.ts +4 -0
  113. package/dist/services/project/api-reference.d.ts.map +1 -0
  114. package/dist/services/project/api-reference.js +618 -0
  115. package/dist/services/project/api-reference.js.map +1 -0
  116. package/dist/services/project/types.d.ts +29 -0
  117. package/dist/services/project/types.d.ts.map +1 -0
  118. package/dist/services/project/types.js +40 -0
  119. package/dist/services/project/types.js.map +1 -0
  120. package/dist/services/queue/api-reference.d.ts +4 -0
  121. package/dist/services/queue/api-reference.d.ts.map +1 -0
  122. package/dist/services/queue/api-reference.js +713 -0
  123. package/dist/services/queue/api-reference.js.map +1 -0
  124. package/dist/services/queue/types.d.ts +281 -0
  125. package/dist/services/queue/types.d.ts.map +1 -1
  126. package/dist/services/queue/types.js +81 -0
  127. package/dist/services/queue/types.js.map +1 -1
  128. package/dist/services/region/api-reference.d.ts +4 -0
  129. package/dist/services/region/api-reference.d.ts.map +1 -0
  130. package/dist/services/region/api-reference.js +98 -0
  131. package/dist/services/region/api-reference.js.map +1 -0
  132. package/dist/services/region/types.d.ts +18 -0
  133. package/dist/services/region/types.d.ts.map +1 -0
  134. package/dist/services/region/types.js +18 -0
  135. package/dist/services/region/types.js.map +1 -0
  136. package/dist/services/sandbox/api-reference.d.ts +4 -0
  137. package/dist/services/sandbox/api-reference.d.ts.map +1 -0
  138. package/dist/services/sandbox/api-reference.js +1006 -0
  139. package/dist/services/sandbox/api-reference.js.map +1 -0
  140. package/dist/services/sandbox/run.d.ts +1 -1
  141. package/dist/services/sandbox/types.d.ts +64 -1
  142. package/dist/services/sandbox/types.d.ts.map +1 -1
  143. package/dist/services/sandbox/types.js +87 -0
  144. package/dist/services/sandbox/types.js.map +1 -1
  145. package/dist/services/schedule/api-reference.d.ts +4 -0
  146. package/dist/services/schedule/api-reference.d.ts.map +1 -0
  147. package/dist/services/schedule/api-reference.js +216 -0
  148. package/dist/services/schedule/api-reference.js.map +1 -0
  149. package/dist/services/schedule/types.d.ts +36 -0
  150. package/dist/services/schedule/types.d.ts.map +1 -0
  151. package/dist/services/schedule/types.js +20 -0
  152. package/dist/services/schedule/types.js.map +1 -0
  153. package/dist/services/session/api-reference.d.ts +4 -0
  154. package/dist/services/session/api-reference.d.ts.map +1 -0
  155. package/dist/services/session/api-reference.js +154 -0
  156. package/dist/services/session/api-reference.js.map +1 -0
  157. package/dist/services/storage/api-reference.d.ts +4 -0
  158. package/dist/services/storage/api-reference.d.ts.map +1 -0
  159. package/dist/services/storage/api-reference.js +196 -0
  160. package/dist/services/storage/api-reference.js.map +1 -0
  161. package/dist/services/storage/types.d.ts.map +1 -1
  162. package/dist/services/storage/types.js +9 -3
  163. package/dist/services/storage/types.js.map +1 -1
  164. package/dist/services/stream/api-reference.d.ts +4 -0
  165. package/dist/services/stream/api-reference.d.ts.map +1 -0
  166. package/dist/services/stream/api-reference.js +153 -0
  167. package/dist/services/stream/api-reference.js.map +1 -0
  168. package/dist/services/stream/types.d.ts +49 -0
  169. package/dist/services/stream/types.d.ts.map +1 -0
  170. package/dist/services/stream/types.js +49 -0
  171. package/dist/services/stream/types.js.map +1 -0
  172. package/dist/services/task/api-reference.d.ts +4 -0
  173. package/dist/services/task/api-reference.d.ts.map +1 -0
  174. package/dist/services/task/api-reference.js +802 -0
  175. package/dist/services/task/api-reference.js.map +1 -0
  176. package/dist/services/task/service.d.ts.map +1 -1
  177. package/dist/services/task/service.js +35 -39
  178. package/dist/services/task/service.js.map +1 -1
  179. package/dist/services/task/types.d.ts +48 -0
  180. package/dist/services/task/types.d.ts.map +1 -0
  181. package/dist/services/task/types.js +55 -0
  182. package/dist/services/task/types.js.map +1 -0
  183. package/dist/services/thread/api-reference.d.ts +4 -0
  184. package/dist/services/thread/api-reference.d.ts.map +1 -0
  185. package/dist/services/thread/api-reference.js +89 -0
  186. package/dist/services/thread/api-reference.js.map +1 -0
  187. package/dist/services/user/api-reference.d.ts +4 -0
  188. package/dist/services/user/api-reference.d.ts.map +1 -0
  189. package/dist/services/user/api-reference.js +27 -0
  190. package/dist/services/user/api-reference.js.map +1 -0
  191. package/dist/services/vector/api-reference.d.ts +4 -0
  192. package/dist/services/vector/api-reference.d.ts.map +1 -0
  193. package/dist/services/vector/api-reference.js +213 -0
  194. package/dist/services/vector/api-reference.js.map +1 -0
  195. package/dist/services/vector/types.d.ts +63 -0
  196. package/dist/services/vector/types.d.ts.map +1 -0
  197. package/dist/services/vector/types.js +90 -0
  198. package/dist/services/vector/types.js.map +1 -0
  199. package/dist/services/webhook/api-reference.d.ts +4 -0
  200. package/dist/services/webhook/api-reference.d.ts.map +1 -0
  201. package/dist/services/webhook/api-reference.js +388 -0
  202. package/dist/services/webhook/api-reference.js.map +1 -0
  203. package/package.json +2 -2
  204. package/src/services/api-reference.ts +198 -0
  205. package/src/services/apikey/api-reference.ts +99 -0
  206. package/src/services/db/api-reference.ts +152 -0
  207. package/src/services/db/types.ts +12 -0
  208. package/src/services/email/api-reference.ts +349 -0
  209. package/src/services/email/service.ts +1 -6
  210. package/src/services/email/types.ts +15 -0
  211. package/src/services/eval/api-reference.ts +124 -0
  212. package/src/services/index.ts +2 -0
  213. package/src/services/keyvalue/api-reference.ts +280 -0
  214. package/src/services/keyvalue/types.ts +25 -0
  215. package/src/services/machine/api-reference.ts +158 -0
  216. package/src/services/machine/types.ts +21 -0
  217. package/src/services/monitoring/index.ts +2 -0
  218. package/src/services/monitoring/service.ts +639 -0
  219. package/src/services/monitoring/types.ts +209 -0
  220. package/src/services/oauth/activity.ts +41 -0
  221. package/src/services/oauth/api-reference.ts +380 -0
  222. package/src/services/oauth/clients.ts +161 -0
  223. package/src/services/oauth/consent.ts +33 -0
  224. package/src/services/oauth/index.ts +8 -0
  225. package/src/services/oauth/keys.ts +13 -0
  226. package/src/services/oauth/members.ts +13 -0
  227. package/src/services/oauth/scopes.ts +13 -0
  228. package/src/services/oauth/types.ts +240 -0
  229. package/src/services/oauth/util.ts +3 -0
  230. package/src/services/org/api-reference.ts +148 -0
  231. package/src/services/org/types.ts +9 -0
  232. package/src/services/project/api-reference.ts +636 -0
  233. package/src/services/project/types.ts +47 -0
  234. package/src/services/queue/api-reference.ts +734 -0
  235. package/src/services/queue/types.ts +112 -0
  236. package/src/services/region/api-reference.ts +105 -0
  237. package/src/services/region/types.ts +27 -0
  238. package/src/services/sandbox/api-reference.ts +1042 -0
  239. package/src/services/sandbox/types.ts +100 -0
  240. package/src/services/schedule/api-reference.ts +228 -0
  241. package/src/services/schedule/types.ts +26 -0
  242. package/src/services/session/api-reference.ts +160 -0
  243. package/src/services/storage/api-reference.ts +207 -0
  244. package/src/services/storage/types.ts +9 -3
  245. package/src/services/stream/api-reference.ts +163 -0
  246. package/src/services/stream/types.ts +64 -0
  247. package/src/services/task/api-reference.ts +830 -0
  248. package/src/services/task/service.ts +35 -93
  249. package/src/services/task/types.ts +73 -0
  250. package/src/services/thread/api-reference.ts +91 -0
  251. package/src/services/user/api-reference.ts +31 -0
  252. package/src/services/vector/api-reference.ts +231 -0
  253. package/src/services/vector/types.ts +112 -0
  254. package/src/services/webhook/api-reference.ts +403 -0
@@ -0,0 +1,388 @@
1
+ import { CreateWebhookDestinationRequestSchema, CreateWebhookRequestSchema, UpdateWebhookDestinationRequestSchema, UpdateWebhookRequestSchema, WebhookReceiptSchema, WebhookSchema, } from "./types.js";
2
+ const service = {
3
+ name: 'Webhooks',
4
+ slug: 'webhooks',
5
+ description: 'Manage webhook endpoints, destinations, receipts, deliveries, and analytics',
6
+ endpoints: [
7
+ {
8
+ id: 'create-webhook',
9
+ title: 'Create Webhook',
10
+ sectionTitle: 'Webhook Management',
11
+ method: 'POST',
12
+ path: '/webhook/create',
13
+ description: 'Create a new webhook endpoint.',
14
+ pathParams: [],
15
+ queryParams: [],
16
+ requestBody: {
17
+ description: 'Webhook creation payload.',
18
+ fields: { schema: CreateWebhookRequestSchema },
19
+ },
20
+ responseDescription: 'Returns the created webhook. The ingest URL is only returned at creation.',
21
+ responseFields: { schema: WebhookSchema },
22
+ statuses: [
23
+ { code: 201, description: 'Webhook created' },
24
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
25
+ ],
26
+ examplePath: '/webhook/create',
27
+ exampleBody: { name: 'Payment Events' },
28
+ },
29
+ {
30
+ id: 'get-webhook',
31
+ title: 'Get Webhook',
32
+ sectionTitle: 'Webhook Management',
33
+ method: 'GET',
34
+ path: '/webhook/get/{webhookId}',
35
+ description: 'Get a specific webhook by ID.',
36
+ pathParams: [
37
+ {
38
+ name: 'webhookId',
39
+ type: 'string',
40
+ description: 'Webhook ID (wh_ prefix)',
41
+ required: true,
42
+ },
43
+ ],
44
+ queryParams: [],
45
+ requestBody: null,
46
+ responseDescription: 'Returns the webhook object.',
47
+ statuses: [
48
+ { code: 200, description: 'Webhook returned' },
49
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
50
+ { code: 404, description: 'Webhook not found' },
51
+ ],
52
+ examplePath: '/webhook/get/wh_abc123',
53
+ },
54
+ {
55
+ id: 'list-webhooks',
56
+ title: 'List Webhooks',
57
+ sectionTitle: 'Webhook Management',
58
+ method: 'GET',
59
+ path: '/webhook/list',
60
+ description: 'List all webhooks with optional pagination.',
61
+ pathParams: [],
62
+ queryParams: [
63
+ {
64
+ name: 'limit',
65
+ type: 'number',
66
+ description: 'Maximum results to return',
67
+ required: false,
68
+ },
69
+ { name: 'offset', type: 'number', description: 'Pagination offset', required: false },
70
+ ],
71
+ requestBody: null,
72
+ responseDescription: 'Returns paginated list of webhooks.',
73
+ statuses: [
74
+ { code: 200, description: 'Webhooks returned' },
75
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
76
+ ],
77
+ examplePath: '/webhook/list',
78
+ },
79
+ {
80
+ id: 'update-webhook',
81
+ title: 'Update Webhook',
82
+ sectionTitle: 'Webhook Management',
83
+ method: 'PUT',
84
+ path: '/webhook/update/{webhookId}',
85
+ description: "Update a webhook's name or description.",
86
+ pathParams: [
87
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
88
+ ],
89
+ queryParams: [],
90
+ requestBody: {
91
+ description: 'Webhook update payload.',
92
+ fields: { schema: UpdateWebhookRequestSchema },
93
+ },
94
+ responseDescription: 'Returns the updated webhook.',
95
+ statuses: [
96
+ { code: 200, description: 'Webhook updated' },
97
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
98
+ { code: 404, description: 'Webhook not found' },
99
+ ],
100
+ examplePath: '/webhook/update/wh_abc123',
101
+ exampleBody: { name: 'Updated Webhook' },
102
+ },
103
+ {
104
+ id: 'delete-webhook',
105
+ title: 'Delete Webhook',
106
+ sectionTitle: 'Webhook Management',
107
+ method: 'DELETE',
108
+ path: '/webhook/delete/{webhookId}',
109
+ description: 'Delete a webhook and all associated destinations, receipts, and deliveries.',
110
+ pathParams: [
111
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
112
+ ],
113
+ queryParams: [],
114
+ requestBody: null,
115
+ responseDescription: 'Deletes the webhook and all associated destinations, receipts, and deliveries.',
116
+ statuses: [
117
+ { code: 204, description: 'Webhook deleted' },
118
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
119
+ { code: 404, description: 'Webhook not found' },
120
+ ],
121
+ examplePath: '/webhook/delete/wh_abc123',
122
+ },
123
+ {
124
+ id: 'create-webhook-destination',
125
+ title: 'Create Destination',
126
+ sectionTitle: 'Destinations',
127
+ method: 'POST',
128
+ path: '/webhook/destination-create/{webhookId}',
129
+ description: 'Add a destination to a webhook.',
130
+ pathParams: [
131
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
132
+ ],
133
+ queryParams: [],
134
+ requestBody: {
135
+ description: 'Destination creation payload.',
136
+ fields: { schema: CreateWebhookDestinationRequestSchema },
137
+ },
138
+ responseDescription: 'Returns the created destination.',
139
+ statuses: [
140
+ { code: 201, description: 'Destination created' },
141
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
142
+ { code: 404, description: 'Webhook not found' },
143
+ ],
144
+ examplePath: '/webhook/destination-create/wh_abc123',
145
+ exampleBody: { type: 'url', config: { url: 'https://example.com/handler' } },
146
+ },
147
+ {
148
+ id: 'list-webhook-destinations',
149
+ title: 'List Destinations',
150
+ sectionTitle: 'Destinations',
151
+ method: 'GET',
152
+ path: '/webhook/destination-list/{webhookId}',
153
+ description: 'List all destinations for a webhook.',
154
+ pathParams: [
155
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
156
+ ],
157
+ queryParams: [],
158
+ requestBody: null,
159
+ responseDescription: 'Returns list of destinations.',
160
+ statuses: [
161
+ { code: 200, description: 'Destinations returned' },
162
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
163
+ { code: 404, description: 'Webhook not found' },
164
+ ],
165
+ examplePath: '/webhook/destination-list/wh_abc123',
166
+ },
167
+ {
168
+ id: 'update-webhook-destination',
169
+ title: 'Update Destination',
170
+ sectionTitle: 'Destinations',
171
+ method: 'PUT',
172
+ path: '/webhook/destination-update/{webhookId}/{destinationId}',
173
+ description: "Update a destination's configuration.",
174
+ pathParams: [
175
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
176
+ {
177
+ name: 'destinationId',
178
+ type: 'string',
179
+ description: 'Destination ID (whds_ prefix)',
180
+ required: true,
181
+ },
182
+ ],
183
+ queryParams: [],
184
+ requestBody: {
185
+ description: 'Destination update payload.',
186
+ fields: { schema: UpdateWebhookDestinationRequestSchema },
187
+ },
188
+ responseDescription: 'Returns the updated destination.',
189
+ statuses: [
190
+ { code: 200, description: 'Destination updated' },
191
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
192
+ { code: 404, description: 'Webhook or destination not found' },
193
+ ],
194
+ examplePath: '/webhook/destination-update/wh_abc123/whds_def456',
195
+ exampleBody: { config: { url: 'https://example.com/new-handler' } },
196
+ },
197
+ {
198
+ id: 'delete-webhook-destination',
199
+ title: 'Delete Destination',
200
+ sectionTitle: 'Destinations',
201
+ method: 'DELETE',
202
+ path: '/webhook/destination-delete/{webhookId}/{destinationId}',
203
+ description: 'Delete a destination from a webhook.',
204
+ pathParams: [
205
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
206
+ {
207
+ name: 'destinationId',
208
+ type: 'string',
209
+ description: 'Destination ID',
210
+ required: true,
211
+ },
212
+ ],
213
+ queryParams: [],
214
+ requestBody: null,
215
+ responseDescription: 'Empty response on success.',
216
+ statuses: [
217
+ { code: 204, description: 'Destination deleted' },
218
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
219
+ { code: 404, description: 'Webhook or destination not found' },
220
+ ],
221
+ examplePath: '/webhook/destination-delete/wh_abc123/whds_def456',
222
+ },
223
+ {
224
+ id: 'list-webhook-receipts',
225
+ title: 'List Receipts',
226
+ sectionTitle: 'Receipts',
227
+ method: 'GET',
228
+ path: '/webhook/receipt-list/{webhookId}',
229
+ description: 'List incoming request records (receipts) for a webhook.',
230
+ pathParams: [
231
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
232
+ ],
233
+ queryParams: [
234
+ {
235
+ name: 'limit',
236
+ type: 'number',
237
+ description: 'Maximum results to return',
238
+ required: false,
239
+ },
240
+ { name: 'offset', type: 'number', description: 'Pagination offset', required: false },
241
+ ],
242
+ requestBody: null,
243
+ responseDescription: 'Returns incoming request records (receipts) for a webhook.',
244
+ statuses: [
245
+ { code: 200, description: 'Receipts returned' },
246
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
247
+ { code: 404, description: 'Webhook not found' },
248
+ ],
249
+ examplePath: '/webhook/receipt-list/wh_abc123',
250
+ },
251
+ {
252
+ id: 'get-webhook-receipt',
253
+ title: 'Get Receipt',
254
+ sectionTitle: 'Receipts',
255
+ method: 'GET',
256
+ path: '/webhook/receipt-get/{webhookId}/{receiptId}',
257
+ description: 'Get a specific receipt by ID.',
258
+ pathParams: [
259
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
260
+ {
261
+ name: 'receiptId',
262
+ type: 'string',
263
+ description: 'Receipt ID (whrc_ prefix)',
264
+ required: true,
265
+ },
266
+ ],
267
+ queryParams: [],
268
+ requestBody: null,
269
+ responseDescription: 'Returns the receipt with headers and payload.',
270
+ responseFields: { schema: WebhookReceiptSchema },
271
+ statuses: [
272
+ { code: 200, description: 'Receipt returned' },
273
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
274
+ { code: 404, description: 'Webhook or receipt not found' },
275
+ ],
276
+ examplePath: '/webhook/receipt-get/wh_abc123/whrc_def456',
277
+ },
278
+ {
279
+ id: 'list-webhook-deliveries',
280
+ title: 'List Deliveries',
281
+ sectionTitle: 'Deliveries',
282
+ method: 'GET',
283
+ path: '/webhook/delivery-list/{webhookId}',
284
+ description: 'List delivery attempts for a webhook.',
285
+ pathParams: [
286
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
287
+ ],
288
+ queryParams: [
289
+ {
290
+ name: 'limit',
291
+ type: 'number',
292
+ description: 'Maximum results to return',
293
+ required: false,
294
+ },
295
+ { name: 'offset', type: 'number', description: 'Pagination offset', required: false },
296
+ ],
297
+ requestBody: null,
298
+ responseDescription: 'Returns list of delivery attempts.',
299
+ statuses: [
300
+ { code: 200, description: 'Deliveries returned' },
301
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
302
+ { code: 404, description: 'Webhook not found' },
303
+ ],
304
+ examplePath: '/webhook/delivery-list/wh_abc123',
305
+ },
306
+ {
307
+ id: 'retry-webhook-delivery',
308
+ title: 'Retry Delivery',
309
+ sectionTitle: 'Deliveries',
310
+ method: 'POST',
311
+ path: '/webhook/delivery-retry/{webhookId}/{deliveryId}',
312
+ description: "Retry a failed delivery. Only deliveries with 'failed' status can be retried.",
313
+ pathParams: [
314
+ { name: 'webhookId', type: 'string', description: 'Webhook ID', required: true },
315
+ {
316
+ name: 'deliveryId',
317
+ type: 'string',
318
+ description: 'Delivery ID (whdv_ prefix)',
319
+ required: true,
320
+ },
321
+ ],
322
+ queryParams: [],
323
+ requestBody: null,
324
+ responseDescription: "Retries a failed delivery. Only deliveries with 'failed' status can be retried.",
325
+ statuses: [
326
+ { code: 200, description: 'Delivery retried' },
327
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
328
+ { code: 404, description: 'Webhook or delivery not found' },
329
+ ],
330
+ examplePath: '/webhook/delivery-retry/wh_abc123/whdv_def456',
331
+ exampleBody: {},
332
+ },
333
+ {
334
+ id: 'get-webhook-org-analytics',
335
+ title: 'Get Org Analytics',
336
+ sectionTitle: 'Analytics',
337
+ method: 'GET',
338
+ path: '/webhook/analytics/org',
339
+ description: 'Get aggregate webhook analytics for the organization.',
340
+ pathParams: [],
341
+ queryParams: [
342
+ { name: 'start', type: 'string', description: 'ISO 8601 start date', required: false },
343
+ { name: 'end', type: 'string', description: 'ISO 8601 end date', required: false },
344
+ {
345
+ name: 'granularity',
346
+ type: 'string',
347
+ description: "'minute', 'hour', or 'day'",
348
+ required: false,
349
+ },
350
+ ],
351
+ requestBody: null,
352
+ responseDescription: 'Returns aggregate analytics including total received, delivered, and failed counts.',
353
+ statuses: [
354
+ { code: 200, description: 'Analytics returned' },
355
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
356
+ ],
357
+ examplePath: '/webhook/analytics/org',
358
+ },
359
+ {
360
+ id: 'get-webhook-org-timeseries',
361
+ title: 'Get Analytics Time Series',
362
+ sectionTitle: 'Analytics',
363
+ method: 'GET',
364
+ path: '/webhook/analytics/org/timeseries',
365
+ description: 'Get time series webhook analytics for the organization.',
366
+ pathParams: [],
367
+ queryParams: [
368
+ { name: 'start', type: 'string', description: 'ISO 8601 start date', required: false },
369
+ { name: 'end', type: 'string', description: 'ISO 8601 end date', required: false },
370
+ {
371
+ name: 'granularity',
372
+ type: 'string',
373
+ description: "'minute', 'hour', or 'day'",
374
+ required: false,
375
+ },
376
+ ],
377
+ requestBody: null,
378
+ responseDescription: 'Returns time series data with received, delivered, and failed counts per time bucket.',
379
+ statuses: [
380
+ { code: 200, description: 'Time series data returned' },
381
+ { code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
382
+ ],
383
+ examplePath: '/webhook/analytics/org/timeseries',
384
+ },
385
+ ],
386
+ };
387
+ export default service;
388
+ //# sourceMappingURL=api-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-reference.js","sourceRoot":"","sources":["../../../src/services/webhook/api-reference.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/core",
3
- "version": "1.0.40",
3
+ "version": "1.0.42",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -89,7 +89,7 @@
89
89
  "zod": "^4.3.5"
90
90
  },
91
91
  "devDependencies": {
92
- "@agentuity/test-utils": "1.0.40",
92
+ "@agentuity/test-utils": "1.0.42",
93
93
  "@types/bun": "latest",
94
94
  "bun-types": "latest",
95
95
  "esbuild": "^0.25.0",
@@ -0,0 +1,198 @@
1
+ import { z } from 'zod';
2
+
3
+ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
+
5
+ interface NamedField {
6
+ name: string;
7
+ type: string;
8
+ description: string;
9
+ required?: boolean;
10
+ }
11
+
12
+ interface FieldSource {
13
+ schema: z.ZodType;
14
+ prefix?: string;
15
+ pick?: string[];
16
+ omit?: string[];
17
+ overrides?: Record<string, Partial<Pick<NamedField, 'type' | 'description'>>>;
18
+ stripRequired?: boolean;
19
+ }
20
+
21
+ type FieldDefinition = NamedField[] | FieldSource;
22
+
23
+ interface RequestBody {
24
+ description: string;
25
+ fields?: FieldDefinition;
26
+ }
27
+
28
+ interface Param {
29
+ name: string;
30
+ type: string;
31
+ description: string;
32
+ required?: boolean;
33
+ }
34
+
35
+ interface EndpointStatus {
36
+ code: number;
37
+ description: string;
38
+ }
39
+
40
+ interface ResponseHeader {
41
+ name: string;
42
+ description: string;
43
+ }
44
+
45
+ interface Endpoint {
46
+ id: string;
47
+ title: string;
48
+ sectionTitle?: string;
49
+ method: HttpMethod;
50
+ path: string;
51
+ description: string;
52
+ pathParams: Param[];
53
+ queryParams: Param[];
54
+ requestBody: RequestBody | null;
55
+ responseDescription: string;
56
+ responseHeaders?: ResponseHeader[];
57
+ responseFields?: FieldDefinition;
58
+ statuses: EndpointStatus[];
59
+ examplePath: string;
60
+ exampleBody?: string | object;
61
+ exampleHeaders?: Record<string, string>;
62
+ ttlNote?: string;
63
+ }
64
+
65
+ interface Service {
66
+ name: string;
67
+ slug: string;
68
+ description: string;
69
+ host?: string;
70
+ hasPublicEndpoints?: boolean;
71
+ endpoints: Endpoint[];
72
+ icon?: string;
73
+ }
74
+
75
+ function jsonSchemaTypeToFieldType(schema: any): string {
76
+ if (!schema || typeof schema !== 'object') return 'any';
77
+
78
+ if (Array.isArray(schema.anyOf) && schema.anyOf.length > 0) {
79
+ const mapped = schema.anyOf.map((part: any) => jsonSchemaTypeToFieldType(part));
80
+ return [...new Set(mapped)].join(' | ');
81
+ }
82
+
83
+ if (Array.isArray(schema.oneOf) && schema.oneOf.length > 0) {
84
+ const mapped = schema.oneOf.map((part: any) => jsonSchemaTypeToFieldType(part));
85
+ return [...new Set(mapped)].join(' | ');
86
+ }
87
+
88
+ if (Array.isArray(schema.type)) {
89
+ const mapped = schema.type.map((t: string) => (t === 'integer' ? 'number' : t));
90
+ return [...new Set(mapped)].join(' | ');
91
+ }
92
+
93
+ if (schema.type === 'integer') return 'number';
94
+ if (schema.type === 'array') {
95
+ if (schema.items) {
96
+ const itemType = jsonSchemaTypeToFieldType(schema.items);
97
+ return itemType === 'any' ? 'array' : `${itemType}[]`;
98
+ }
99
+ return 'array';
100
+ }
101
+
102
+ if (typeof schema.type === 'string') return schema.type;
103
+
104
+ return 'any';
105
+ }
106
+
107
+ function fieldName(prefix: string | undefined, key: string): string {
108
+ return prefix ? `${prefix}.${key}` : key;
109
+ }
110
+
111
+ function extractFields(
112
+ jsonSchema: any,
113
+ prefix: string | undefined,
114
+ requiredSet: Set<string>
115
+ ): NamedField[] {
116
+ const properties = jsonSchema?.properties;
117
+ if (!properties || typeof properties !== 'object') return [];
118
+
119
+ const fields: NamedField[] = [];
120
+
121
+ for (const [key, value] of Object.entries(properties)) {
122
+ const prop = value as any;
123
+ const name = fieldName(prefix, key);
124
+
125
+ fields.push({
126
+ name,
127
+ type: jsonSchemaTypeToFieldType(prop),
128
+ description: typeof prop?.description === 'string' ? prop.description : '',
129
+ required: requiredSet.has(key),
130
+ });
131
+
132
+ // Note: nullable objects (anyOf: [object, null]) are not recursed into.
133
+ // Use a non-nullable sub-schema or manually list sub-fields if expansion is needed.
134
+ if (prop.type === 'object' && prop.properties) {
135
+ const nestedRequired = new Set<string>(Array.isArray(prop.required) ? prop.required : []);
136
+ fields.push(...extractFields(prop, name, nestedRequired));
137
+ }
138
+
139
+ if (prop.type === 'array' && prop.items?.type === 'object' && prop.items?.properties) {
140
+ const itemRequired = new Set<string>(
141
+ Array.isArray(prop.items.required) ? prop.items.required : []
142
+ );
143
+ fields.push(...extractFields(prop.items, `${name}[]`, itemRequired));
144
+ }
145
+ }
146
+
147
+ return fields;
148
+ }
149
+
150
+ function fieldsFromSchema(schema: z.ZodType, prefix?: string): NamedField[] {
151
+ const jsonSchema = z.toJSONSchema(schema, { unrepresentable: 'any' }) as any;
152
+ const required = new Set<string>(Array.isArray(jsonSchema?.required) ? jsonSchema.required : []);
153
+ return extractFields(jsonSchema, prefix, required);
154
+ }
155
+
156
+ function resolveFields(definition: FieldDefinition | undefined): NamedField[] | undefined {
157
+ if (!definition) return undefined;
158
+ if (Array.isArray(definition)) return definition;
159
+
160
+ let fields = fieldsFromSchema(definition.schema, definition.prefix);
161
+
162
+ if (definition.pick) {
163
+ const pickSet = new Set(definition.pick);
164
+ fields = fields.filter((field) => pickSet.has(field.name));
165
+ }
166
+
167
+ if (definition.omit) {
168
+ const omitSet = new Set(definition.omit);
169
+ fields = fields.filter((field) => !omitSet.has(field.name));
170
+ }
171
+
172
+ if (definition.overrides) {
173
+ fields = fields.map((field) => {
174
+ const override = definition.overrides?.[field.name];
175
+ return override ? { ...field, ...override } : field;
176
+ });
177
+ }
178
+
179
+ if (definition.stripRequired) {
180
+ fields = fields.map(({ required, ...rest }) => rest);
181
+ }
182
+
183
+ return fields;
184
+ }
185
+
186
+ export type {
187
+ HttpMethod,
188
+ NamedField,
189
+ FieldSource,
190
+ FieldDefinition,
191
+ RequestBody,
192
+ Param,
193
+ EndpointStatus,
194
+ ResponseHeader,
195
+ Endpoint,
196
+ Service,
197
+ };
198
+ export { fieldsFromSchema, resolveFields };