@zavudev/sdk 0.6.0 → 0.8.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 (124) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/client.d.mts +17 -8
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +17 -8
  5. package/client.d.ts.map +1 -1
  6. package/client.js +11 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +11 -0
  9. package/client.mjs.map +1 -1
  10. package/core/pagination.d.mts +54 -0
  11. package/core/pagination.d.mts.map +1 -0
  12. package/core/pagination.d.ts +54 -0
  13. package/core/pagination.d.ts.map +1 -0
  14. package/core/pagination.js +101 -0
  15. package/core/pagination.js.map +1 -0
  16. package/core/pagination.mjs +95 -0
  17. package/core/pagination.mjs.map +1 -0
  18. package/index.d.mts +1 -0
  19. package/index.d.mts.map +1 -1
  20. package/index.d.ts +1 -0
  21. package/index.d.ts.map +1 -1
  22. package/index.js +3 -1
  23. package/index.js.map +1 -1
  24. package/index.mjs +1 -0
  25. package/index.mjs.map +1 -1
  26. package/package.json +11 -1
  27. package/pagination.d.mts +2 -0
  28. package/pagination.d.mts.map +1 -0
  29. package/pagination.d.ts +2 -0
  30. package/pagination.d.ts.map +1 -0
  31. package/pagination.js +6 -0
  32. package/pagination.js.map +1 -0
  33. package/pagination.mjs +2 -0
  34. package/pagination.mjs.map +1 -0
  35. package/resources/broadcasts/broadcasts.d.mts +361 -0
  36. package/resources/broadcasts/broadcasts.d.mts.map +1 -0
  37. package/resources/broadcasts/broadcasts.d.ts +361 -0
  38. package/resources/broadcasts/broadcasts.d.ts.map +1 -0
  39. package/resources/broadcasts/broadcasts.js +131 -0
  40. package/resources/broadcasts/broadcasts.js.map +1 -0
  41. package/resources/broadcasts/broadcasts.mjs +126 -0
  42. package/resources/broadcasts/broadcasts.mjs.map +1 -0
  43. package/resources/broadcasts/contacts.d.mts +120 -0
  44. package/resources/broadcasts/contacts.d.mts.map +1 -0
  45. package/resources/broadcasts/contacts.d.ts +120 -0
  46. package/resources/broadcasts/contacts.d.ts.map +1 -0
  47. package/resources/broadcasts/contacts.js +76 -0
  48. package/resources/broadcasts/contacts.js.map +1 -0
  49. package/resources/broadcasts/contacts.mjs +72 -0
  50. package/resources/broadcasts/contacts.mjs.map +1 -0
  51. package/resources/broadcasts/index.d.mts +3 -0
  52. package/resources/broadcasts/index.d.mts.map +1 -0
  53. package/resources/broadcasts/index.d.ts +3 -0
  54. package/resources/broadcasts/index.d.ts.map +1 -0
  55. package/resources/broadcasts/index.js +9 -0
  56. package/resources/broadcasts/index.js.map +1 -0
  57. package/resources/broadcasts/index.mjs +4 -0
  58. package/resources/broadcasts/index.mjs.map +1 -0
  59. package/resources/broadcasts.d.mts +2 -0
  60. package/resources/broadcasts.d.mts.map +1 -0
  61. package/resources/broadcasts.d.ts +2 -0
  62. package/resources/broadcasts.d.ts.map +1 -0
  63. package/resources/broadcasts.js +6 -0
  64. package/resources/broadcasts.js.map +1 -0
  65. package/resources/broadcasts.mjs +3 -0
  66. package/resources/broadcasts.mjs.map +1 -0
  67. package/resources/contacts.d.mts +5 -9
  68. package/resources/contacts.d.mts.map +1 -1
  69. package/resources/contacts.d.ts +5 -9
  70. package/resources/contacts.d.ts.map +1 -1
  71. package/resources/contacts.js +2 -1
  72. package/resources/contacts.js.map +1 -1
  73. package/resources/contacts.mjs +2 -1
  74. package/resources/contacts.mjs.map +1 -1
  75. package/resources/index.d.mts +5 -4
  76. package/resources/index.d.mts.map +1 -1
  77. package/resources/index.d.ts +5 -4
  78. package/resources/index.d.ts.map +1 -1
  79. package/resources/index.js +3 -1
  80. package/resources/index.js.map +1 -1
  81. package/resources/index.mjs +1 -0
  82. package/resources/index.mjs.map +1 -1
  83. package/resources/messages.d.mts +9 -10
  84. package/resources/messages.d.mts.map +1 -1
  85. package/resources/messages.d.ts +9 -10
  86. package/resources/messages.d.ts.map +1 -1
  87. package/resources/messages.js +6 -2
  88. package/resources/messages.js.map +1 -1
  89. package/resources/messages.mjs +6 -2
  90. package/resources/messages.mjs.map +1 -1
  91. package/resources/senders.d.mts +5 -9
  92. package/resources/senders.d.mts.map +1 -1
  93. package/resources/senders.d.ts +5 -9
  94. package/resources/senders.d.ts.map +1 -1
  95. package/resources/senders.js +2 -1
  96. package/resources/senders.js.map +1 -1
  97. package/resources/senders.mjs +2 -1
  98. package/resources/senders.mjs.map +1 -1
  99. package/resources/templates.d.mts +9 -10
  100. package/resources/templates.d.mts.map +1 -1
  101. package/resources/templates.d.ts +9 -10
  102. package/resources/templates.d.ts.map +1 -1
  103. package/resources/templates.js +6 -2
  104. package/resources/templates.js.map +1 -1
  105. package/resources/templates.mjs +6 -2
  106. package/resources/templates.mjs.map +1 -1
  107. package/src/client.ts +77 -8
  108. package/src/core/pagination.ts +152 -0
  109. package/src/index.ts +1 -0
  110. package/src/pagination.ts +2 -0
  111. package/src/resources/broadcasts/broadcasts.ts +519 -0
  112. package/src/resources/broadcasts/contacts.ts +160 -0
  113. package/src/resources/broadcasts/index.ts +31 -0
  114. package/src/resources/broadcasts.ts +3 -0
  115. package/src/resources/contacts.ts +7 -14
  116. package/src/resources/index.ts +26 -4
  117. package/src/resources/messages.ts +11 -15
  118. package/src/resources/senders.ts +7 -14
  119. package/src/resources/templates.ts +11 -15
  120. package/src/version.ts +1 -1
  121. package/version.d.mts +1 -1
  122. package/version.d.ts +1 -1
  123. package/version.js +1 -1
  124. package/version.mjs +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE;OAE1C,EAAE,cAAc,EAAE;AAGzB,qBAAa,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAIlF;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAI5E;;;;;;;;;;OAUG;IACH,IAAI,CACF,KAAK,GAAE,kBAAkB,GAAG,IAAI,GAAG,SAAc,EACjD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC;IAIzC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;CAMvE;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAEvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC9B;AAED,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,MAAM;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd;IAED;;OAEG;IACH,UAAiB,QAAQ;QACvB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;CACF;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;CAAG;AAE3D,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,OAAO,EACL,KAAK,QAAQ,IAAI,QAAQ,EACzB,KAAK,gBAAgB,IAAI,gBAAgB,EACzC,KAAK,eAAe,IAAI,eAAe,EACvC,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,kBAAkB,IAAI,kBAAkB,GAC9C,CAAC;CACH"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Templates = void 0;
5
5
  const resource_1 = require("../core/resource.js");
6
+ const pagination_1 = require("../core/pagination.js");
6
7
  const headers_1 = require("../internal/headers.js");
7
8
  const path_1 = require("../internal/utils/path.js");
8
9
  class Templates extends resource_1.APIResource {
@@ -42,11 +43,14 @@ class Templates extends resource_1.APIResource {
42
43
  *
43
44
  * @example
44
45
  * ```ts
45
- * const templates = await client.templates.list();
46
+ * // Automatically fetches more pages as needed.
47
+ * for await (const template of client.templates.list()) {
48
+ * // ...
49
+ * }
46
50
  * ```
47
51
  */
48
52
  list(query = {}, options) {
49
- return this._client.get('/v1/templates', { query, ...options });
53
+ return this._client.getAPIList('/v1/templates', (pagination_1.Cursor), { query, ...options });
50
54
  }
51
55
  /**
52
56
  * Delete template
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,SAAU,SAAQ,sBAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,8BA+DC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAA4E;AAC5E,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,SAAU,SAAQ,sBAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA,mBAAgB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAlED,8BAkEC"}
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
  import { APIResource } from "../core/resource.mjs";
3
+ import { Cursor } from "../core/pagination.mjs";
3
4
  import { buildHeaders } from "../internal/headers.mjs";
4
5
  import { path } from "../internal/utils/path.mjs";
5
6
  export class Templates extends APIResource {
@@ -39,11 +40,14 @@ export class Templates extends APIResource {
39
40
  *
40
41
  * @example
41
42
  * ```ts
42
- * const templates = await client.templates.list();
43
+ * // Automatically fetches more pages as needed.
44
+ * for await (const template of client.templates.list()) {
45
+ * // ...
46
+ * }
43
47
  * ```
44
48
  */
45
49
  list(query = {}, options) {
46
- return this._client.get('/v1/templates', { query, ...options });
50
+ return this._client.getAPIList('/v1/templates', (Cursor), { query, ...options });
47
51
  }
48
52
  /**
49
53
  * Delete template
@@ -1 +1 @@
1
- {"version":3,"file":"templates.mjs","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"templates.mjs","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,MAAM,EAAkC;OAC1C,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA,MAAgB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
package/src/client.ts CHANGED
@@ -13,15 +13,17 @@ import * as Shims from './internal/shims';
13
13
  import * as Opts from './internal/request-options';
14
14
  import { VERSION } from './version';
15
15
  import * as Errors from './core/error';
16
+ import * as Pagination from './core/pagination';
17
+ import { AbstractPage, type CursorParams, CursorResponse } from './core/pagination';
16
18
  import * as Uploads from './core/uploads';
17
19
  import * as API from './resources/index';
18
20
  import { APIPromise } from './core/api-promise';
19
21
  import {
20
22
  Contact,
21
23
  ContactListParams,
22
- ContactListResponse,
23
24
  ContactUpdateParams,
24
25
  Contacts,
26
+ ContactsCursor,
25
27
  } from './resources/contacts';
26
28
  import {
27
29
  Introspect,
@@ -34,30 +36,51 @@ import {
34
36
  Message,
35
37
  MessageContent,
36
38
  MessageListParams,
37
- MessageListResponse,
38
39
  MessageReactParams,
39
40
  MessageResponse,
40
41
  MessageSendParams,
41
42
  MessageStatus,
42
43
  MessageType,
43
44
  Messages,
45
+ MessagesCursor,
44
46
  } from './resources/messages';
45
47
  import {
46
48
  Sender,
47
49
  SenderCreateParams,
48
50
  SenderListParams,
49
- SenderListResponse,
50
51
  SenderUpdateParams,
51
52
  Senders,
53
+ SendersCursor,
52
54
  } from './resources/senders';
53
55
  import {
54
56
  Template,
55
57
  TemplateCreateParams,
56
58
  TemplateListParams,
57
- TemplateListResponse,
58
59
  Templates,
60
+ TemplatesCursor,
59
61
  WhatsappCategory,
60
62
  } from './resources/templates';
63
+ import {
64
+ Broadcast,
65
+ BroadcastCancelResponse,
66
+ BroadcastChannel,
67
+ BroadcastContact,
68
+ BroadcastContactStatus,
69
+ BroadcastContent,
70
+ BroadcastCreateParams,
71
+ BroadcastCreateResponse,
72
+ BroadcastListParams,
73
+ BroadcastMessageType,
74
+ BroadcastProgress,
75
+ BroadcastRetrieveResponse,
76
+ BroadcastSendParams,
77
+ BroadcastSendResponse,
78
+ BroadcastStatus,
79
+ BroadcastUpdateParams,
80
+ BroadcastUpdateResponse,
81
+ Broadcasts,
82
+ BroadcastsCursor,
83
+ } from './resources/broadcasts/broadcasts';
61
84
  import { type Fetch } from './internal/builtin-types';
62
85
  import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
63
86
  import { FinalRequestOptions, RequestOptions } from './internal/request-options';
@@ -523,6 +546,25 @@ export class Zavudev {
523
546
  return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
524
547
  }
525
548
 
549
+ getAPIList<Item, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(
550
+ path: string,
551
+ Page: new (...args: any[]) => PageClass,
552
+ opts?: RequestOptions,
553
+ ): Pagination.PagePromise<PageClass, Item> {
554
+ return this.requestAPIList(Page, { method: 'get', path, ...opts });
555
+ }
556
+
557
+ requestAPIList<
558
+ Item = unknown,
559
+ PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>,
560
+ >(
561
+ Page: new (...args: ConstructorParameters<typeof Pagination.AbstractPage>) => PageClass,
562
+ options: FinalRequestOptions,
563
+ ): Pagination.PagePromise<PageClass, Item> {
564
+ const request = this.makeRequest(options, null, undefined);
565
+ return new Pagination.PagePromise<PageClass, Item>(this as any as Zavudev, request, Page);
566
+ }
567
+
526
568
  async fetchWithTimeout(
527
569
  url: RequestInfo,
528
570
  init: RequestInit | undefined,
@@ -759,6 +801,7 @@ export class Zavudev {
759
801
  templates: API.Templates = new API.Templates(this);
760
802
  senders: API.Senders = new API.Senders(this);
761
803
  contacts: API.Contacts = new API.Contacts(this);
804
+ broadcasts: API.Broadcasts = new API.Broadcasts(this);
762
805
  introspect: API.Introspect = new API.Introspect(this);
763
806
  }
764
807
 
@@ -766,11 +809,15 @@ Zavudev.Messages = Messages;
766
809
  Zavudev.Templates = Templates;
767
810
  Zavudev.Senders = Senders;
768
811
  Zavudev.Contacts = Contacts;
812
+ Zavudev.Broadcasts = Broadcasts;
769
813
  Zavudev.Introspect = Introspect;
770
814
 
771
815
  export declare namespace Zavudev {
772
816
  export type RequestOptions = Opts.RequestOptions;
773
817
 
818
+ export import Cursor = Pagination.Cursor;
819
+ export { type CursorParams as CursorParams, type CursorResponse as CursorResponse };
820
+
774
821
  export {
775
822
  Messages as Messages,
776
823
  type Channel as Channel,
@@ -779,7 +826,7 @@ export declare namespace Zavudev {
779
826
  type MessageResponse as MessageResponse,
780
827
  type MessageStatus as MessageStatus,
781
828
  type MessageType as MessageType,
782
- type MessageListResponse as MessageListResponse,
829
+ type MessagesCursor as MessagesCursor,
783
830
  type MessageListParams as MessageListParams,
784
831
  type MessageReactParams as MessageReactParams,
785
832
  type MessageSendParams as MessageSendParams,
@@ -789,7 +836,7 @@ export declare namespace Zavudev {
789
836
  Templates as Templates,
790
837
  type Template as Template,
791
838
  type WhatsappCategory as WhatsappCategory,
792
- type TemplateListResponse as TemplateListResponse,
839
+ type TemplatesCursor as TemplatesCursor,
793
840
  type TemplateCreateParams as TemplateCreateParams,
794
841
  type TemplateListParams as TemplateListParams,
795
842
  };
@@ -797,7 +844,7 @@ export declare namespace Zavudev {
797
844
  export {
798
845
  Senders as Senders,
799
846
  type Sender as Sender,
800
- type SenderListResponse as SenderListResponse,
847
+ type SendersCursor as SendersCursor,
801
848
  type SenderCreateParams as SenderCreateParams,
802
849
  type SenderUpdateParams as SenderUpdateParams,
803
850
  type SenderListParams as SenderListParams,
@@ -806,11 +853,33 @@ export declare namespace Zavudev {
806
853
  export {
807
854
  Contacts as Contacts,
808
855
  type Contact as Contact,
809
- type ContactListResponse as ContactListResponse,
856
+ type ContactsCursor as ContactsCursor,
810
857
  type ContactUpdateParams as ContactUpdateParams,
811
858
  type ContactListParams as ContactListParams,
812
859
  };
813
860
 
861
+ export {
862
+ Broadcasts as Broadcasts,
863
+ type Broadcast as Broadcast,
864
+ type BroadcastChannel as BroadcastChannel,
865
+ type BroadcastContact as BroadcastContact,
866
+ type BroadcastContactStatus as BroadcastContactStatus,
867
+ type BroadcastContent as BroadcastContent,
868
+ type BroadcastMessageType as BroadcastMessageType,
869
+ type BroadcastProgress as BroadcastProgress,
870
+ type BroadcastStatus as BroadcastStatus,
871
+ type BroadcastCreateResponse as BroadcastCreateResponse,
872
+ type BroadcastRetrieveResponse as BroadcastRetrieveResponse,
873
+ type BroadcastUpdateResponse as BroadcastUpdateResponse,
874
+ type BroadcastCancelResponse as BroadcastCancelResponse,
875
+ type BroadcastSendResponse as BroadcastSendResponse,
876
+ type BroadcastsCursor as BroadcastsCursor,
877
+ type BroadcastCreateParams as BroadcastCreateParams,
878
+ type BroadcastUpdateParams as BroadcastUpdateParams,
879
+ type BroadcastListParams as BroadcastListParams,
880
+ type BroadcastSendParams as BroadcastSendParams,
881
+ };
882
+
814
883
  export {
815
884
  Introspect as Introspect,
816
885
  type LineType as LineType,
@@ -0,0 +1,152 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { ZavudevError } from './error';
4
+ import { FinalRequestOptions } from '../internal/request-options';
5
+ import { defaultParseResponse } from '../internal/parse';
6
+ import { type Zavudev } from '../client';
7
+ import { APIPromise } from './api-promise';
8
+ import { type APIResponseProps } from '../internal/parse';
9
+ import { maybeObj } from '../internal/utils/values';
10
+
11
+ export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
12
+
13
+ export abstract class AbstractPage<Item> implements AsyncIterable<Item> {
14
+ #client: Zavudev;
15
+ protected options: FinalRequestOptions;
16
+
17
+ protected response: Response;
18
+ protected body: unknown;
19
+
20
+ constructor(client: Zavudev, response: Response, body: unknown, options: FinalRequestOptions) {
21
+ this.#client = client;
22
+ this.options = options;
23
+ this.response = response;
24
+ this.body = body;
25
+ }
26
+
27
+ abstract nextPageRequestOptions(): PageRequestOptions | null;
28
+
29
+ abstract getPaginatedItems(): Item[];
30
+
31
+ hasNextPage(): boolean {
32
+ const items = this.getPaginatedItems();
33
+ if (!items.length) return false;
34
+ return this.nextPageRequestOptions() != null;
35
+ }
36
+
37
+ async getNextPage(): Promise<this> {
38
+ const nextOptions = this.nextPageRequestOptions();
39
+ if (!nextOptions) {
40
+ throw new ZavudevError(
41
+ 'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',
42
+ );
43
+ }
44
+
45
+ return await this.#client.requestAPIList(this.constructor as any, nextOptions);
46
+ }
47
+
48
+ async *iterPages(): AsyncGenerator<this> {
49
+ let page: this = this;
50
+ yield page;
51
+ while (page.hasNextPage()) {
52
+ page = await page.getNextPage();
53
+ yield page;
54
+ }
55
+ }
56
+
57
+ async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
58
+ for await (const page of this.iterPages()) {
59
+ for (const item of page.getPaginatedItems()) {
60
+ yield item;
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ /**
67
+ * This subclass of Promise will resolve to an instantiated Page once the request completes.
68
+ *
69
+ * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
70
+ *
71
+ * for await (const item of client.items.list()) {
72
+ * console.log(item)
73
+ * }
74
+ */
75
+ export class PagePromise<
76
+ PageClass extends AbstractPage<Item>,
77
+ Item = ReturnType<PageClass['getPaginatedItems']>[number],
78
+ >
79
+ extends APIPromise<PageClass>
80
+ implements AsyncIterable<Item>
81
+ {
82
+ constructor(
83
+ client: Zavudev,
84
+ request: Promise<APIResponseProps>,
85
+ Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
86
+ ) {
87
+ super(
88
+ client,
89
+ request,
90
+ async (client, props) =>
91
+ new Page(client, props.response, await defaultParseResponse(client, props), props.options),
92
+ );
93
+ }
94
+
95
+ /**
96
+ * Allow auto-paginating iteration on an unawaited list call, eg:
97
+ *
98
+ * for await (const item of client.items.list()) {
99
+ * console.log(item)
100
+ * }
101
+ */
102
+ async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
103
+ const page = await this;
104
+ for await (const item of page) {
105
+ yield item;
106
+ }
107
+ }
108
+ }
109
+
110
+ export interface CursorResponse<Item> {
111
+ items: Array<Item>;
112
+
113
+ nextCursor: string;
114
+ }
115
+
116
+ export interface CursorParams {
117
+ cursor?: string;
118
+
119
+ limit?: number;
120
+ }
121
+
122
+ export class Cursor<Item> extends AbstractPage<Item> implements CursorResponse<Item> {
123
+ items: Array<Item>;
124
+
125
+ nextCursor: string;
126
+
127
+ constructor(client: Zavudev, response: Response, body: CursorResponse<Item>, options: FinalRequestOptions) {
128
+ super(client, response, body, options);
129
+
130
+ this.items = body.items || [];
131
+ this.nextCursor = body.nextCursor || '';
132
+ }
133
+
134
+ getPaginatedItems(): Item[] {
135
+ return this.items ?? [];
136
+ }
137
+
138
+ nextPageRequestOptions(): PageRequestOptions | null {
139
+ const cursor = this.nextCursor;
140
+ if (!cursor) {
141
+ return null;
142
+ }
143
+
144
+ return {
145
+ ...this.options,
146
+ query: {
147
+ ...maybeObj(this.options.query),
148
+ cursor,
149
+ },
150
+ };
151
+ }
152
+ }
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ export { Zavudev as default } from './client';
5
5
  export { type Uploadable, toFile } from './core/uploads';
6
6
  export { APIPromise } from './core/api-promise';
7
7
  export { Zavudev, type ClientOptions } from './client';
8
+ export { PagePromise } from './core/pagination';
8
9
  export {
9
10
  ZavudevError,
10
11
  APIError,
@@ -0,0 +1,2 @@
1
+ /** @deprecated Import from ./core/pagination instead */
2
+ export * from './core/pagination';