@zavudev/sdk 0.55.0 → 0.57.0

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 (371) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/client.d.mts +25 -13
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +25 -13
  5. package/client.d.ts.map +1 -1
  6. package/client.js +15 -3
  7. package/client.js.map +1 -1
  8. package/client.mjs +15 -3
  9. package/client.mjs.map +1 -1
  10. package/internal/qs/formats.d.mts +7 -0
  11. package/internal/qs/formats.d.mts.map +1 -0
  12. package/internal/qs/formats.d.ts +7 -0
  13. package/internal/qs/formats.d.ts.map +1 -0
  14. package/internal/qs/formats.js +13 -0
  15. package/internal/qs/formats.js.map +1 -0
  16. package/internal/qs/formats.mjs +9 -0
  17. package/internal/qs/formats.mjs.map +1 -0
  18. package/internal/qs/index.d.mts +10 -0
  19. package/internal/qs/index.d.mts.map +1 -0
  20. package/internal/qs/index.d.ts +10 -0
  21. package/internal/qs/index.d.ts.map +1 -0
  22. package/internal/qs/index.js +14 -0
  23. package/internal/qs/index.js.map +1 -0
  24. package/internal/qs/index.mjs +10 -0
  25. package/internal/qs/index.mjs.map +1 -0
  26. package/internal/qs/stringify.d.mts +3 -0
  27. package/internal/qs/stringify.d.mts.map +1 -0
  28. package/internal/qs/stringify.d.ts +3 -0
  29. package/internal/qs/stringify.d.ts.map +1 -0
  30. package/internal/qs/stringify.js +277 -0
  31. package/internal/qs/stringify.js.map +1 -0
  32. package/internal/qs/stringify.mjs +274 -0
  33. package/internal/qs/stringify.mjs.map +1 -0
  34. package/internal/qs/types.d.mts +57 -0
  35. package/internal/qs/types.d.mts.map +1 -0
  36. package/internal/qs/types.d.ts +57 -0
  37. package/internal/qs/types.d.ts.map +1 -0
  38. package/internal/qs/types.js +3 -0
  39. package/internal/qs/types.js.map +1 -0
  40. package/internal/qs/types.mjs +2 -0
  41. package/internal/qs/types.mjs.map +1 -0
  42. package/internal/qs/utils.d.mts +15 -0
  43. package/internal/qs/utils.d.mts.map +1 -0
  44. package/internal/qs/utils.d.ts +15 -0
  45. package/internal/qs/utils.d.ts.map +1 -0
  46. package/internal/qs/utils.js +230 -0
  47. package/internal/qs/utils.js.map +1 -0
  48. package/internal/qs/utils.mjs +217 -0
  49. package/internal/qs/utils.mjs.map +1 -0
  50. package/internal/tslib.js +17 -17
  51. package/internal/utils/query.d.mts +0 -3
  52. package/internal/utils/query.d.mts.map +1 -1
  53. package/internal/utils/query.d.ts +0 -3
  54. package/internal/utils/query.d.ts.map +1 -1
  55. package/internal/utils/query.js +3 -16
  56. package/internal/utils/query.js.map +1 -1
  57. package/internal/utils/query.mjs +2 -16
  58. package/internal/utils/query.mjs.map +1 -1
  59. package/package.json +1 -1
  60. package/resources/agent-templates.d.mts +97 -0
  61. package/resources/agent-templates.d.mts.map +1 -0
  62. package/resources/agent-templates.d.ts +97 -0
  63. package/resources/agent-templates.d.ts.map +1 -0
  64. package/resources/agent-templates.js +39 -0
  65. package/resources/agent-templates.js.map +1 -0
  66. package/resources/agent-templates.mjs +35 -0
  67. package/resources/agent-templates.mjs.map +1 -0
  68. package/resources/agents/agents.d.mts +462 -0
  69. package/resources/agents/agents.d.mts.map +1 -0
  70. package/resources/agents/agents.d.ts +462 -0
  71. package/resources/agents/agents.d.ts.map +1 -0
  72. package/resources/agents/agents.js +129 -0
  73. package/resources/agents/agents.js.map +1 -0
  74. package/resources/agents/agents.mjs +124 -0
  75. package/resources/agents/agents.mjs.map +1 -0
  76. package/resources/agents/index.d.mts +3 -0
  77. package/resources/agents/index.d.mts.map +1 -0
  78. package/resources/agents/index.d.ts +3 -0
  79. package/resources/agents/index.d.ts.map +1 -0
  80. package/resources/agents/index.js +9 -0
  81. package/resources/agents/index.js.map +1 -0
  82. package/resources/agents/index.mjs +4 -0
  83. package/resources/agents/index.mjs.map +1 -0
  84. package/resources/agents/senders.d.mts +54 -0
  85. package/resources/agents/senders.d.mts.map +1 -0
  86. package/resources/agents/senders.d.ts +54 -0
  87. package/resources/agents/senders.d.ts.map +1 -0
  88. package/resources/agents/senders.js +45 -0
  89. package/resources/agents/senders.js.map +1 -0
  90. package/resources/agents/senders.mjs +41 -0
  91. package/resources/agents/senders.mjs.map +1 -0
  92. package/resources/agents.d.mts +2 -0
  93. package/resources/agents.d.mts.map +1 -0
  94. package/resources/agents.d.ts +2 -0
  95. package/resources/agents.d.ts.map +1 -0
  96. package/resources/agents.js +6 -0
  97. package/resources/agents.js.map +1 -0
  98. package/resources/agents.mjs +3 -0
  99. package/resources/agents.mjs.map +1 -0
  100. package/resources/broadcasts/broadcasts.d.mts +16 -9
  101. package/resources/broadcasts/broadcasts.d.mts.map +1 -1
  102. package/resources/broadcasts/broadcasts.d.ts +16 -9
  103. package/resources/broadcasts/broadcasts.d.ts.map +1 -1
  104. package/resources/broadcasts/broadcasts.js +16 -9
  105. package/resources/broadcasts/broadcasts.js.map +1 -1
  106. package/resources/broadcasts/broadcasts.mjs +16 -9
  107. package/resources/broadcasts/broadcasts.mjs.map +1 -1
  108. package/resources/calls.d.mts +539 -0
  109. package/resources/calls.d.mts.map +1 -0
  110. package/resources/calls.d.ts +539 -0
  111. package/resources/calls.d.ts.map +1 -0
  112. package/resources/calls.js +85 -0
  113. package/resources/calls.js.map +1 -0
  114. package/resources/calls.mjs +81 -0
  115. package/resources/calls.mjs.map +1 -0
  116. package/resources/contacts/contacts.d.mts +32 -13
  117. package/resources/contacts/contacts.d.mts.map +1 -1
  118. package/resources/contacts/contacts.d.ts +32 -13
  119. package/resources/contacts/contacts.d.ts.map +1 -1
  120. package/resources/contacts/contacts.js +0 -14
  121. package/resources/contacts/contacts.js.map +1 -1
  122. package/resources/contacts/contacts.mjs +0 -14
  123. package/resources/contacts/contacts.mjs.map +1 -1
  124. package/resources/conversations.d.mts +360 -0
  125. package/resources/conversations.d.mts.map +1 -0
  126. package/resources/conversations.d.ts +360 -0
  127. package/resources/conversations.d.ts.map +1 -0
  128. package/resources/conversations.js +47 -0
  129. package/resources/conversations.js.map +1 -0
  130. package/resources/conversations.mjs +43 -0
  131. package/resources/conversations.mjs.map +1 -0
  132. package/resources/email-domains.d.mts +260 -0
  133. package/resources/email-domains.d.mts.map +1 -0
  134. package/resources/email-domains.d.ts +260 -0
  135. package/resources/email-domains.d.ts.map +1 -0
  136. package/resources/email-domains.js +77 -0
  137. package/resources/email-domains.js.map +1 -0
  138. package/resources/email-domains.mjs +73 -0
  139. package/resources/email-domains.mjs.map +1 -0
  140. package/resources/functions/functions.d.mts +122 -1
  141. package/resources/functions/functions.d.mts.map +1 -1
  142. package/resources/functions/functions.d.ts +122 -1
  143. package/resources/functions/functions.d.ts.map +1 -1
  144. package/resources/functions/functions.js +53 -0
  145. package/resources/functions/functions.js.map +1 -1
  146. package/resources/functions/functions.mjs +53 -0
  147. package/resources/functions/functions.mjs.map +1 -1
  148. package/resources/functions/git-link.d.mts +295 -0
  149. package/resources/functions/git-link.d.mts.map +1 -0
  150. package/resources/functions/git-link.d.ts +295 -0
  151. package/resources/functions/git-link.d.ts.map +1 -0
  152. package/resources/functions/git-link.js +97 -0
  153. package/resources/functions/git-link.js.map +1 -0
  154. package/resources/functions/git-link.mjs +93 -0
  155. package/resources/functions/git-link.mjs.map +1 -0
  156. package/resources/functions/index.d.mts +3 -1
  157. package/resources/functions/index.d.mts.map +1 -1
  158. package/resources/functions/index.d.ts +3 -1
  159. package/resources/functions/index.d.ts.map +1 -1
  160. package/resources/functions/index.js +5 -1
  161. package/resources/functions/index.js.map +1 -1
  162. package/resources/functions/index.mjs +2 -0
  163. package/resources/functions/index.mjs.map +1 -1
  164. package/resources/functions/triggers.d.mts +164 -0
  165. package/resources/functions/triggers.d.mts.map +1 -0
  166. package/resources/functions/triggers.d.ts +164 -0
  167. package/resources/functions/triggers.d.ts.map +1 -0
  168. package/resources/functions/triggers.js +74 -0
  169. package/resources/functions/triggers.js.map +1 -0
  170. package/resources/functions/triggers.mjs +70 -0
  171. package/resources/functions/triggers.mjs.map +1 -0
  172. package/resources/index.d.mts +10 -5
  173. package/resources/index.d.mts.map +1 -1
  174. package/resources/index.d.ts +10 -5
  175. package/resources/index.d.ts.map +1 -1
  176. package/resources/index.js +11 -1
  177. package/resources/index.js.map +1 -1
  178. package/resources/index.mjs +5 -0
  179. package/resources/index.mjs.map +1 -1
  180. package/resources/introspect.d.mts +74 -1
  181. package/resources/introspect.d.mts.map +1 -1
  182. package/resources/introspect.d.ts +74 -1
  183. package/resources/introspect.d.ts.map +1 -1
  184. package/resources/introspect.js +22 -0
  185. package/resources/introspect.js.map +1 -1
  186. package/resources/introspect.mjs +22 -0
  187. package/resources/introspect.mjs.map +1 -1
  188. package/resources/messages.d.mts +89 -1
  189. package/resources/messages.d.mts.map +1 -1
  190. package/resources/messages.d.ts +89 -1
  191. package/resources/messages.d.ts.map +1 -1
  192. package/resources/messages.js +48 -0
  193. package/resources/messages.js.map +1 -1
  194. package/resources/messages.mjs +48 -0
  195. package/resources/messages.mjs.map +1 -1
  196. package/resources/number-10dlc/brands.d.mts +10 -5
  197. package/resources/number-10dlc/brands.d.mts.map +1 -1
  198. package/resources/number-10dlc/brands.d.ts +10 -5
  199. package/resources/number-10dlc/brands.d.ts.map +1 -1
  200. package/resources/number-10dlc/brands.js +10 -5
  201. package/resources/number-10dlc/brands.js.map +1 -1
  202. package/resources/number-10dlc/brands.mjs +10 -5
  203. package/resources/number-10dlc/brands.mjs.map +1 -1
  204. package/resources/number-10dlc/campaigns/campaigns.d.mts +8 -7
  205. package/resources/number-10dlc/campaigns/campaigns.d.mts.map +1 -1
  206. package/resources/number-10dlc/campaigns/campaigns.d.ts +8 -7
  207. package/resources/number-10dlc/campaigns/campaigns.d.ts.map +1 -1
  208. package/resources/number-10dlc/campaigns/campaigns.js +8 -7
  209. package/resources/number-10dlc/campaigns/campaigns.js.map +1 -1
  210. package/resources/number-10dlc/campaigns/campaigns.mjs +8 -7
  211. package/resources/number-10dlc/campaigns/campaigns.mjs.map +1 -1
  212. package/resources/phone-numbers.d.mts +6 -1
  213. package/resources/phone-numbers.d.mts.map +1 -1
  214. package/resources/phone-numbers.d.ts +6 -1
  215. package/resources/phone-numbers.d.ts.map +1 -1
  216. package/resources/senders/agent/agent.d.mts +4 -3
  217. package/resources/senders/agent/agent.d.mts.map +1 -1
  218. package/resources/senders/agent/agent.d.ts +4 -3
  219. package/resources/senders/agent/agent.d.ts.map +1 -1
  220. package/resources/senders/agent/agent.js +2 -2
  221. package/resources/senders/agent/agent.js.map +1 -1
  222. package/resources/senders/agent/agent.mjs +2 -2
  223. package/resources/senders/agent/agent.mjs.map +1 -1
  224. package/resources/senders/agent/index.d.mts +2 -2
  225. package/resources/senders/agent/index.d.mts.map +1 -1
  226. package/resources/senders/agent/index.d.ts +2 -2
  227. package/resources/senders/agent/index.d.ts.map +1 -1
  228. package/resources/senders/agent/index.js +2 -2
  229. package/resources/senders/agent/index.js.map +1 -1
  230. package/resources/senders/agent/index.mjs +1 -1
  231. package/resources/senders/agent/index.mjs.map +1 -1
  232. package/resources/senders/agent/knowledge-bases/documents.d.mts +56 -1
  233. package/resources/senders/agent/knowledge-bases/documents.d.mts.map +1 -1
  234. package/resources/senders/agent/knowledge-bases/documents.d.ts +56 -1
  235. package/resources/senders/agent/knowledge-bases/documents.d.ts.map +1 -1
  236. package/resources/senders/agent/knowledge-bases/documents.js +33 -0
  237. package/resources/senders/agent/knowledge-bases/documents.js.map +1 -1
  238. package/resources/senders/agent/knowledge-bases/documents.mjs +33 -0
  239. package/resources/senders/agent/knowledge-bases/documents.mjs.map +1 -1
  240. package/resources/senders/agent/knowledge-bases/index.d.mts +1 -1
  241. package/resources/senders/agent/knowledge-bases/index.d.mts.map +1 -1
  242. package/resources/senders/agent/knowledge-bases/index.d.ts +1 -1
  243. package/resources/senders/agent/knowledge-bases/index.d.ts.map +1 -1
  244. package/resources/senders/agent/knowledge-bases/index.js.map +1 -1
  245. package/resources/senders/agent/knowledge-bases/index.mjs.map +1 -1
  246. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts +2 -2
  247. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts.map +1 -1
  248. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts +2 -2
  249. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts.map +1 -1
  250. package/resources/senders/agent/knowledge-bases/knowledge-bases.js.map +1 -1
  251. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs.map +1 -1
  252. package/resources/senders/agent/tools/index.d.mts +3 -0
  253. package/resources/senders/agent/tools/index.d.mts.map +1 -0
  254. package/resources/senders/agent/tools/index.d.ts +3 -0
  255. package/resources/senders/agent/tools/index.d.ts.map +1 -0
  256. package/resources/senders/agent/tools/index.js +9 -0
  257. package/resources/senders/agent/tools/index.js.map +1 -0
  258. package/resources/senders/agent/tools/index.mjs +4 -0
  259. package/resources/senders/agent/tools/index.mjs.map +1 -0
  260. package/resources/senders/agent/tools/tools.d.mts +338 -0
  261. package/resources/senders/agent/tools/tools.d.mts.map +1 -0
  262. package/resources/senders/agent/tools/tools.d.ts +338 -0
  263. package/resources/senders/agent/tools/tools.d.ts.map +1 -0
  264. package/resources/senders/agent/tools/tools.js +163 -0
  265. package/resources/senders/agent/tools/tools.js.map +1 -0
  266. package/resources/senders/agent/tools/tools.mjs +158 -0
  267. package/resources/senders/agent/tools/tools.mjs.map +1 -0
  268. package/resources/senders/agent/tools/webhook.d.mts +28 -0
  269. package/resources/senders/agent/tools/webhook.d.mts.map +1 -0
  270. package/resources/senders/agent/tools/webhook.d.ts +28 -0
  271. package/resources/senders/agent/tools/webhook.d.ts.map +1 -0
  272. package/resources/senders/agent/tools/webhook.js +28 -0
  273. package/resources/senders/agent/tools/webhook.js.map +1 -0
  274. package/resources/senders/agent/tools/webhook.mjs +24 -0
  275. package/resources/senders/agent/tools/webhook.mjs.map +1 -0
  276. package/resources/senders/agent/tools.d.mts +1 -270
  277. package/resources/senders/agent/tools.d.mts.map +1 -1
  278. package/resources/senders/agent/tools.d.ts +1 -270
  279. package/resources/senders/agent/tools.d.ts.map +1 -1
  280. package/resources/senders/agent/tools.js +2 -131
  281. package/resources/senders/agent/tools.js.map +1 -1
  282. package/resources/senders/agent/tools.mjs +1 -129
  283. package/resources/senders/agent/tools.mjs.map +1 -1
  284. package/resources/senders/index.d.mts +2 -1
  285. package/resources/senders/index.d.mts.map +1 -1
  286. package/resources/senders/index.d.ts +2 -1
  287. package/resources/senders/index.d.ts.map +1 -1
  288. package/resources/senders/index.js +3 -1
  289. package/resources/senders/index.js.map +1 -1
  290. package/resources/senders/index.mjs +1 -0
  291. package/resources/senders/index.mjs.map +1 -1
  292. package/resources/senders/senders.d.mts +4 -0
  293. package/resources/senders/senders.d.mts.map +1 -1
  294. package/resources/senders/senders.d.ts +4 -0
  295. package/resources/senders/senders.d.ts.map +1 -1
  296. package/resources/senders/senders.js +4 -0
  297. package/resources/senders/senders.js.map +1 -1
  298. package/resources/senders/senders.mjs +4 -0
  299. package/resources/senders/senders.mjs.map +1 -1
  300. package/resources/senders/telegram.d.mts +48 -0
  301. package/resources/senders/telegram.d.mts.map +1 -0
  302. package/resources/senders/telegram.d.ts +48 -0
  303. package/resources/senders/telegram.d.ts.map +1 -0
  304. package/resources/senders/telegram.js +41 -0
  305. package/resources/senders/telegram.js.map +1 -0
  306. package/resources/senders/telegram.mjs +37 -0
  307. package/resources/senders/telegram.mjs.map +1 -0
  308. package/resources/templates.d.mts +66 -1
  309. package/resources/templates.d.mts.map +1 -1
  310. package/resources/templates.d.ts +66 -1
  311. package/resources/templates.d.ts.map +1 -1
  312. package/resources/templates.js +31 -0
  313. package/resources/templates.js.map +1 -1
  314. package/resources/templates.mjs +31 -0
  315. package/resources/templates.mjs.map +1 -1
  316. package/resources/urls.d.mts +24 -1
  317. package/resources/urls.d.mts.map +1 -1
  318. package/resources/urls.d.ts +24 -1
  319. package/resources/urls.d.ts.map +1 -1
  320. package/resources/urls.js +15 -0
  321. package/resources/urls.js.map +1 -1
  322. package/resources/urls.mjs +15 -0
  323. package/resources/urls.mjs.map +1 -1
  324. package/src/client.ts +129 -3
  325. package/src/internal/qs/LICENSE.md +13 -0
  326. package/src/internal/qs/README.md +3 -0
  327. package/src/internal/qs/formats.ts +10 -0
  328. package/src/internal/qs/index.ts +13 -0
  329. package/src/internal/qs/stringify.ts +385 -0
  330. package/src/internal/qs/types.ts +71 -0
  331. package/src/internal/qs/utils.ts +265 -0
  332. package/src/internal/utils/query.ts +2 -18
  333. package/src/resources/agent-templates.ts +128 -0
  334. package/src/resources/agents/agents.ts +603 -0
  335. package/src/resources/agents/index.ts +21 -0
  336. package/src/resources/agents/senders.ts +79 -0
  337. package/src/resources/agents.ts +3 -0
  338. package/src/resources/broadcasts/broadcasts.ts +16 -9
  339. package/src/resources/calls.ts +647 -0
  340. package/src/resources/contacts/contacts.ts +35 -20
  341. package/src/resources/conversations.ts +472 -0
  342. package/src/resources/email-domains.ts +337 -0
  343. package/src/resources/functions/functions.ts +202 -0
  344. package/src/resources/functions/git-link.ts +398 -0
  345. package/src/resources/functions/index.ts +22 -0
  346. package/src/resources/functions/triggers.ts +227 -0
  347. package/src/resources/index.ts +57 -0
  348. package/src/resources/introspect.ts +105 -0
  349. package/src/resources/messages.ts +102 -0
  350. package/src/resources/number-10dlc/brands.ts +10 -5
  351. package/src/resources/number-10dlc/campaigns/campaigns.ts +8 -7
  352. package/src/resources/phone-numbers.ts +6 -1
  353. package/src/resources/senders/agent/agent.ts +23 -17
  354. package/src/resources/senders/agent/index.ts +4 -1
  355. package/src/resources/senders/agent/knowledge-bases/documents.ts +89 -0
  356. package/src/resources/senders/agent/knowledge-bases/index.ts +4 -0
  357. package/src/resources/senders/agent/knowledge-bases/knowledge-bases.ts +8 -0
  358. package/src/resources/senders/agent/tools/index.ts +21 -0
  359. package/src/resources/senders/agent/tools/tools.ts +460 -0
  360. package/src/resources/senders/agent/tools/webhook.ts +40 -0
  361. package/src/resources/senders/agent/tools.ts +1 -364
  362. package/src/resources/senders/index.ts +2 -0
  363. package/src/resources/senders/senders.ts +10 -0
  364. package/src/resources/senders/telegram.ts +73 -0
  365. package/src/resources/templates.ts +80 -0
  366. package/src/resources/urls.ts +35 -0
  367. package/src/version.ts +1 -1
  368. package/version.d.mts +1 -1
  369. package/version.d.ts +1 -1
  370. package/version.js +1 -1
  371. package/version.mjs +1 -1
@@ -0,0 +1,71 @@
1
+ export type Format = 'RFC1738' | 'RFC3986';
2
+
3
+ export type DefaultEncoder = (str: any, defaultEncoder?: any, charset?: string) => string;
4
+ export type DefaultDecoder = (str: string, decoder?: any, charset?: string) => string;
5
+
6
+ export type BooleanOptional = boolean | undefined;
7
+
8
+ export type StringifyBaseOptions = {
9
+ delimiter?: string;
10
+ allowDots?: boolean;
11
+ encodeDotInKeys?: boolean;
12
+ strictNullHandling?: boolean;
13
+ skipNulls?: boolean;
14
+ encode?: boolean;
15
+ encoder?: (
16
+ str: any,
17
+ defaultEncoder: DefaultEncoder,
18
+ charset: string,
19
+ type: 'key' | 'value',
20
+ format?: Format,
21
+ ) => string;
22
+ filter?: Array<PropertyKey> | ((prefix: PropertyKey, value: any) => any);
23
+ arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';
24
+ indices?: boolean;
25
+ sort?: ((a: PropertyKey, b: PropertyKey) => number) | null;
26
+ serializeDate?: (d: Date) => string;
27
+ format?: 'RFC1738' | 'RFC3986';
28
+ formatter?: (str: PropertyKey) => string;
29
+ encodeValuesOnly?: boolean;
30
+ addQueryPrefix?: boolean;
31
+ charset?: 'utf-8' | 'iso-8859-1';
32
+ charsetSentinel?: boolean;
33
+ allowEmptyArrays?: boolean;
34
+ commaRoundTrip?: boolean;
35
+ };
36
+
37
+ export type StringifyOptions = StringifyBaseOptions;
38
+
39
+ export type ParseBaseOptions = {
40
+ comma?: boolean;
41
+ delimiter?: string | RegExp;
42
+ depth?: number | false;
43
+ decoder?: (str: string, defaultDecoder: DefaultDecoder, charset: string, type: 'key' | 'value') => any;
44
+ arrayLimit?: number;
45
+ parseArrays?: boolean;
46
+ plainObjects?: boolean;
47
+ allowPrototypes?: boolean;
48
+ allowSparse?: boolean;
49
+ parameterLimit?: number;
50
+ strictDepth?: boolean;
51
+ strictNullHandling?: boolean;
52
+ ignoreQueryPrefix?: boolean;
53
+ charset?: 'utf-8' | 'iso-8859-1';
54
+ charsetSentinel?: boolean;
55
+ interpretNumericEntities?: boolean;
56
+ allowEmptyArrays?: boolean;
57
+ duplicates?: 'combine' | 'first' | 'last';
58
+ allowDots?: boolean;
59
+ decodeDotInKeys?: boolean;
60
+ };
61
+
62
+ export type ParseOptions = ParseBaseOptions;
63
+
64
+ export type ParsedQs = {
65
+ [key: string]: undefined | string | string[] | ParsedQs | ParsedQs[];
66
+ };
67
+
68
+ // Type to remove null or undefined union from each property
69
+ export type NonNullableProperties<T> = {
70
+ [K in keyof T]-?: Exclude<T[K], undefined | null>;
71
+ };
@@ -0,0 +1,265 @@
1
+ import { RFC1738 } from './formats';
2
+ import type { DefaultEncoder, Format } from './types';
3
+ import { isArray } from '../utils/values';
4
+
5
+ export let has = (obj: object, key: PropertyKey): boolean => (
6
+ (has = (Object as any).hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty)),
7
+ has(obj, key)
8
+ );
9
+
10
+ const hex_table = /* @__PURE__ */ (() => {
11
+ const array = [];
12
+ for (let i = 0; i < 256; ++i) {
13
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
14
+ }
15
+
16
+ return array;
17
+ })();
18
+
19
+ function compact_queue<T extends Record<string, any>>(queue: Array<{ obj: T; prop: string }>) {
20
+ while (queue.length > 1) {
21
+ const item = queue.pop();
22
+ if (!item) continue;
23
+
24
+ const obj = item.obj[item.prop];
25
+
26
+ if (isArray(obj)) {
27
+ const compacted: unknown[] = [];
28
+
29
+ for (let j = 0; j < obj.length; ++j) {
30
+ if (typeof obj[j] !== 'undefined') {
31
+ compacted.push(obj[j]);
32
+ }
33
+ }
34
+
35
+ // @ts-ignore
36
+ item.obj[item.prop] = compacted;
37
+ }
38
+ }
39
+ }
40
+
41
+ function array_to_object(source: any[], options: { plainObjects: boolean }) {
42
+ const obj = options && options.plainObjects ? Object.create(null) : {};
43
+ for (let i = 0; i < source.length; ++i) {
44
+ if (typeof source[i] !== 'undefined') {
45
+ obj[i] = source[i];
46
+ }
47
+ }
48
+
49
+ return obj;
50
+ }
51
+
52
+ export function merge(
53
+ target: any,
54
+ source: any,
55
+ options: { plainObjects?: boolean; allowPrototypes?: boolean } = {},
56
+ ) {
57
+ if (!source) {
58
+ return target;
59
+ }
60
+
61
+ if (typeof source !== 'object') {
62
+ if (isArray(target)) {
63
+ target.push(source);
64
+ } else if (target && typeof target === 'object') {
65
+ if ((options && (options.plainObjects || options.allowPrototypes)) || !has(Object.prototype, source)) {
66
+ target[source] = true;
67
+ }
68
+ } else {
69
+ return [target, source];
70
+ }
71
+
72
+ return target;
73
+ }
74
+
75
+ if (!target || typeof target !== 'object') {
76
+ return [target].concat(source);
77
+ }
78
+
79
+ let mergeTarget = target;
80
+ if (isArray(target) && !isArray(source)) {
81
+ // @ts-ignore
82
+ mergeTarget = array_to_object(target, options);
83
+ }
84
+
85
+ if (isArray(target) && isArray(source)) {
86
+ source.forEach(function (item, i) {
87
+ if (has(target, i)) {
88
+ const targetItem = target[i];
89
+ if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
90
+ target[i] = merge(targetItem, item, options);
91
+ } else {
92
+ target.push(item);
93
+ }
94
+ } else {
95
+ target[i] = item;
96
+ }
97
+ });
98
+ return target;
99
+ }
100
+
101
+ return Object.keys(source).reduce(function (acc, key) {
102
+ const value = source[key];
103
+
104
+ if (has(acc, key)) {
105
+ acc[key] = merge(acc[key], value, options);
106
+ } else {
107
+ acc[key] = value;
108
+ }
109
+ return acc;
110
+ }, mergeTarget);
111
+ }
112
+
113
+ export function assign_single_source(target: any, source: any) {
114
+ return Object.keys(source).reduce(function (acc, key) {
115
+ acc[key] = source[key];
116
+ return acc;
117
+ }, target);
118
+ }
119
+
120
+ export function decode(str: string, _: any, charset: string) {
121
+ const strWithoutPlus = str.replace(/\+/g, ' ');
122
+ if (charset === 'iso-8859-1') {
123
+ // unescape never throws, no try...catch needed:
124
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
125
+ }
126
+ // utf-8
127
+ try {
128
+ return decodeURIComponent(strWithoutPlus);
129
+ } catch (e) {
130
+ return strWithoutPlus;
131
+ }
132
+ }
133
+
134
+ const limit = 1024;
135
+
136
+ export const encode: (
137
+ str: any,
138
+ defaultEncoder: DefaultEncoder,
139
+ charset: string,
140
+ type: 'key' | 'value',
141
+ format: Format,
142
+ ) => string = (str, _defaultEncoder, charset, _kind, format: Format) => {
143
+ // This code was originally written by Brian White for the io.js core querystring library.
144
+ // It has been adapted here for stricter adherence to RFC 3986
145
+ if (str.length === 0) {
146
+ return str;
147
+ }
148
+
149
+ let string = str;
150
+ if (typeof str === 'symbol') {
151
+ string = Symbol.prototype.toString.call(str);
152
+ } else if (typeof str !== 'string') {
153
+ string = String(str);
154
+ }
155
+
156
+ if (charset === 'iso-8859-1') {
157
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
158
+ return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
159
+ });
160
+ }
161
+
162
+ let out = '';
163
+ for (let j = 0; j < string.length; j += limit) {
164
+ const segment = string.length >= limit ? string.slice(j, j + limit) : string;
165
+ const arr = [];
166
+
167
+ for (let i = 0; i < segment.length; ++i) {
168
+ let c = segment.charCodeAt(i);
169
+ if (
170
+ c === 0x2d || // -
171
+ c === 0x2e || // .
172
+ c === 0x5f || // _
173
+ c === 0x7e || // ~
174
+ (c >= 0x30 && c <= 0x39) || // 0-9
175
+ (c >= 0x41 && c <= 0x5a) || // a-z
176
+ (c >= 0x61 && c <= 0x7a) || // A-Z
177
+ (format === RFC1738 && (c === 0x28 || c === 0x29)) // ( )
178
+ ) {
179
+ arr[arr.length] = segment.charAt(i);
180
+ continue;
181
+ }
182
+
183
+ if (c < 0x80) {
184
+ arr[arr.length] = hex_table[c];
185
+ continue;
186
+ }
187
+
188
+ if (c < 0x800) {
189
+ arr[arr.length] = hex_table[0xc0 | (c >> 6)]! + hex_table[0x80 | (c & 0x3f)];
190
+ continue;
191
+ }
192
+
193
+ if (c < 0xd800 || c >= 0xe000) {
194
+ arr[arr.length] =
195
+ hex_table[0xe0 | (c >> 12)]! + hex_table[0x80 | ((c >> 6) & 0x3f)] + hex_table[0x80 | (c & 0x3f)];
196
+ continue;
197
+ }
198
+
199
+ i += 1;
200
+ c = 0x10000 + (((c & 0x3ff) << 10) | (segment.charCodeAt(i) & 0x3ff));
201
+
202
+ arr[arr.length] =
203
+ hex_table[0xf0 | (c >> 18)]! +
204
+ hex_table[0x80 | ((c >> 12) & 0x3f)] +
205
+ hex_table[0x80 | ((c >> 6) & 0x3f)] +
206
+ hex_table[0x80 | (c & 0x3f)];
207
+ }
208
+
209
+ out += arr.join('');
210
+ }
211
+
212
+ return out;
213
+ };
214
+
215
+ export function compact(value: any) {
216
+ const queue = [{ obj: { o: value }, prop: 'o' }];
217
+ const refs = [];
218
+
219
+ for (let i = 0; i < queue.length; ++i) {
220
+ const item = queue[i];
221
+ // @ts-ignore
222
+ const obj = item.obj[item.prop];
223
+
224
+ const keys = Object.keys(obj);
225
+ for (let j = 0; j < keys.length; ++j) {
226
+ const key = keys[j]!;
227
+ const val = obj[key];
228
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
229
+ queue.push({ obj: obj, prop: key });
230
+ refs.push(val);
231
+ }
232
+ }
233
+ }
234
+
235
+ compact_queue(queue);
236
+
237
+ return value;
238
+ }
239
+
240
+ export function is_regexp(obj: any) {
241
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
242
+ }
243
+
244
+ export function is_buffer(obj: any) {
245
+ if (!obj || typeof obj !== 'object') {
246
+ return false;
247
+ }
248
+
249
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
250
+ }
251
+
252
+ export function combine(a: any, b: any) {
253
+ return [].concat(a, b);
254
+ }
255
+
256
+ export function maybe_map<T>(val: T[], fn: (v: T) => T) {
257
+ if (isArray(val)) {
258
+ const mapped = [];
259
+ for (let i = 0; i < val.length; i += 1) {
260
+ mapped.push(fn(val[i]!));
261
+ }
262
+ return mapped;
263
+ }
264
+ return fn(val);
265
+ }
@@ -1,23 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { ZavudevError } from '../../core/error';
3
+ import * as qs from '../qs/stringify';
4
4
 
5
- /**
6
- * Basic re-implementation of `qs.stringify` for primitive types.
7
- */
8
5
  export function stringifyQuery(query: object | Record<string, unknown>) {
9
- return Object.entries(query)
10
- .filter(([_, value]) => typeof value !== 'undefined')
11
- .map(([key, value]) => {
12
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
13
- return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
14
- }
15
- if (value === null) {
16
- return `${encodeURIComponent(key)}=`;
17
- }
18
- throw new ZavudevError(
19
- `Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,
20
- );
21
- })
22
- .join('&');
6
+ return qs.stringify(query, { arrayFormat: 'comma' });
23
7
  }
@@ -0,0 +1,128 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { RequestOptions } from '../internal/request-options';
6
+ import { path } from '../internal/utils/path';
7
+
8
+ export class AgentTemplates extends APIResource {
9
+ /**
10
+ * Fetch a single factory agent fully rendered: the function files to scaffold (an
11
+ * `index.ts` that declares the agent with `defineAgent` and its skills with
12
+ * `defineTool`) plus the secrets it needs. This is what
13
+ * `npx zavudev agents pull <id>` writes to disk before `npx zavudev deploy`.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const agentTemplate = await client.agentTemplates.retrieve(
18
+ * 'fermi',
19
+ * );
20
+ * ```
21
+ */
22
+ retrieve(templateID: string, options?: RequestOptions): APIPromise<AgentTemplateRetrieveResponse> {
23
+ return this._client.get(path`/v1/agent-templates/${templateID}`, options);
24
+ }
25
+
26
+ /**
27
+ * List the factory agents available to scaffold with `npx zavudev agents pull`.
28
+ * Each entry is a ready-made voice or text agent (system prompt, skills, and — for
29
+ * voice agents — a co-located voice config).
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const agentTemplates = await client.agentTemplates.list();
34
+ * ```
35
+ */
36
+ list(options?: RequestOptions): APIPromise<AgentTemplateListResponse> {
37
+ return this._client.get('/v1/agent-templates', options);
38
+ }
39
+ }
40
+
41
+ export interface AgentTemplateRetrieveResponse {
42
+ /**
43
+ * A fully rendered factory agent: the function files to scaffold plus the secrets
44
+ * it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by
45
+ * `npx zavudev agents pull`.
46
+ */
47
+ template: AgentTemplateRetrieveResponse.Template;
48
+ }
49
+
50
+ export namespace AgentTemplateRetrieveResponse {
51
+ /**
52
+ * A fully rendered factory agent: the function files to scaffold plus the secrets
53
+ * it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by
54
+ * `npx zavudev agents pull`.
55
+ */
56
+ export interface Template {
57
+ id: string;
58
+
59
+ category: 'sales' | 'support' | 'frontDesk' | 'ops';
60
+
61
+ defaultSlug: string;
62
+
63
+ /**
64
+ * npm dependencies for the scaffolded function.
65
+ */
66
+ dependencies: { [key: string]: string };
67
+
68
+ files: Array<Template.File>;
69
+
70
+ name: string;
71
+
72
+ requiredSecrets: Array<Template.RequiredSecret>;
73
+
74
+ summary: string;
75
+
76
+ voice: boolean;
77
+ }
78
+
79
+ export namespace Template {
80
+ export interface File {
81
+ /**
82
+ * File contents to write verbatim.
83
+ */
84
+ content: string;
85
+
86
+ path: string;
87
+ }
88
+
89
+ export interface RequiredSecret {
90
+ hint: string;
91
+
92
+ key: string;
93
+ }
94
+ }
95
+ }
96
+
97
+ export interface AgentTemplateListResponse {
98
+ items: Array<AgentTemplateListResponse.Item>;
99
+ }
100
+
101
+ export namespace AgentTemplateListResponse {
102
+ /**
103
+ * Compact catalog entry for a factory agent.
104
+ */
105
+ export interface Item {
106
+ id: string;
107
+
108
+ category: 'sales' | 'support' | 'frontDesk' | 'ops';
109
+
110
+ name: string;
111
+
112
+ summary: string;
113
+
114
+ toolCount: number;
115
+
116
+ /**
117
+ * Whether this agent answers phone calls.
118
+ */
119
+ voice: boolean;
120
+ }
121
+ }
122
+
123
+ export declare namespace AgentTemplates {
124
+ export {
125
+ type AgentTemplateRetrieveResponse as AgentTemplateRetrieveResponse,
126
+ type AgentTemplateListResponse as AgentTemplateListResponse,
127
+ };
128
+ }