@geekapps/post-nextjs 0.1.1

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 (107) hide show
  1. package/dist/client.d.ts +31 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +29 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/errors.d.ts +11 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/errors.js +14 -0
  8. package/dist/errors.js.map +1 -0
  9. package/dist/http.d.ts +25 -0
  10. package/dist/http.d.ts.map +1 -0
  11. package/dist/http.js +51 -0
  12. package/dist/http.js.map +1 -0
  13. package/dist/index.d.ts +19 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +16 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/react-exports.d.ts +3 -0
  18. package/dist/react-exports.d.ts.map +1 -0
  19. package/dist/react-exports.js +3 -0
  20. package/dist/react-exports.js.map +1 -0
  21. package/dist/react.d.ts +12 -0
  22. package/dist/react.d.ts.map +1 -0
  23. package/dist/react.js +22 -0
  24. package/dist/react.js.map +1 -0
  25. package/dist/resources/domains.d.ts +14 -0
  26. package/dist/resources/domains.d.ts.map +1 -0
  27. package/dist/resources/domains.js +21 -0
  28. package/dist/resources/domains.js.map +1 -0
  29. package/dist/resources/history.d.ts +9 -0
  30. package/dist/resources/history.d.ts.map +1 -0
  31. package/dist/resources/history.js +26 -0
  32. package/dist/resources/history.js.map +1 -0
  33. package/dist/resources/managed-numbers.d.ts +28 -0
  34. package/dist/resources/managed-numbers.d.ts.map +1 -0
  35. package/dist/resources/managed-numbers.js +24 -0
  36. package/dist/resources/managed-numbers.js.map +1 -0
  37. package/dist/resources/messages.d.ts +8 -0
  38. package/dist/resources/messages.d.ts.map +1 -0
  39. package/dist/resources/messages.js +9 -0
  40. package/dist/resources/messages.js.map +1 -0
  41. package/dist/resources/plans.d.ts +10 -0
  42. package/dist/resources/plans.d.ts.map +1 -0
  43. package/dist/resources/plans.js +15 -0
  44. package/dist/resources/plans.js.map +1 -0
  45. package/dist/resources/smtp.d.ts +14 -0
  46. package/dist/resources/smtp.d.ts.map +1 -0
  47. package/dist/resources/smtp.js +18 -0
  48. package/dist/resources/smtp.js.map +1 -0
  49. package/dist/resources/statistics.d.ts +8 -0
  50. package/dist/resources/statistics.d.ts.map +1 -0
  51. package/dist/resources/statistics.js +17 -0
  52. package/dist/resources/statistics.js.map +1 -0
  53. package/dist/resources/templates.d.ts +17 -0
  54. package/dist/resources/templates.d.ts.map +1 -0
  55. package/dist/resources/templates.js +33 -0
  56. package/dist/resources/templates.js.map +1 -0
  57. package/dist/resources/webhooks.d.ts +13 -0
  58. package/dist/resources/webhooks.d.ts.map +1 -0
  59. package/dist/resources/webhooks.js +24 -0
  60. package/dist/resources/webhooks.js.map +1 -0
  61. package/dist/resources/whatsapp-numbers.d.ts +23 -0
  62. package/dist/resources/whatsapp-numbers.d.ts.map +1 -0
  63. package/dist/resources/whatsapp-numbers.js +54 -0
  64. package/dist/resources/whatsapp-numbers.js.map +1 -0
  65. package/dist/resources/whatsapp-templates.d.ts +12 -0
  66. package/dist/resources/whatsapp-templates.d.ts.map +1 -0
  67. package/dist/resources/whatsapp-templates.js +21 -0
  68. package/dist/resources/whatsapp-templates.js.map +1 -0
  69. package/dist/server-exports.d.ts +8 -0
  70. package/dist/server-exports.d.ts.map +1 -0
  71. package/dist/server-exports.js +5 -0
  72. package/dist/server-exports.js.map +1 -0
  73. package/dist/server.d.ts +21 -0
  74. package/dist/server.d.ts.map +1 -0
  75. package/dist/server.js +25 -0
  76. package/dist/server.js.map +1 -0
  77. package/dist/service-account.d.ts +23 -0
  78. package/dist/service-account.d.ts.map +1 -0
  79. package/dist/service-account.js +69 -0
  80. package/dist/service-account.js.map +1 -0
  81. package/dist/types.d.ts +346 -0
  82. package/dist/types.d.ts.map +1 -0
  83. package/dist/types.js +3 -0
  84. package/dist/types.js.map +1 -0
  85. package/package.json +38 -0
  86. package/src/client.ts +48 -0
  87. package/src/errors.ts +16 -0
  88. package/src/http.ts +75 -0
  89. package/src/index.ts +76 -0
  90. package/src/react-exports.ts +4 -0
  91. package/src/react.ts +38 -0
  92. package/src/resources/domains.ts +26 -0
  93. package/src/resources/history.ts +22 -0
  94. package/src/resources/managed-numbers.ts +47 -0
  95. package/src/resources/messages.ts +10 -0
  96. package/src/resources/plans.ts +18 -0
  97. package/src/resources/smtp.ts +22 -0
  98. package/src/resources/statistics.ts +15 -0
  99. package/src/resources/templates.ts +44 -0
  100. package/src/resources/webhooks.ts +37 -0
  101. package/src/resources/whatsapp-numbers.ts +80 -0
  102. package/src/resources/whatsapp-templates.ts +31 -0
  103. package/src/server-exports.ts +8 -0
  104. package/src/server.ts +42 -0
  105. package/src/service-account.ts +97 -0
  106. package/src/types.ts +418 -0
  107. package/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../src/resources/statistics.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IAC7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,GAAG,CAAC,MAAyB,EAAE,IAAqB;QAClD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,IAAI;YAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,EAAE;YAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,OAAO;YAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,cAAc,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { HttpClient, RequestOptions } from "../http.js";
2
+ import type { CreateTemplateInput, MessageTemplate, MessageType, SaveDraftInput, UpdateTemplateInput } from "../types.js";
3
+ export declare class TemplatesResource {
4
+ private readonly http;
5
+ constructor(http: HttpClient);
6
+ list(params?: {
7
+ type?: MessageType;
8
+ isActive?: boolean;
9
+ }, opts?: RequestOptions): Promise<MessageTemplate[]>;
10
+ get(id: string, opts?: RequestOptions): Promise<MessageTemplate>;
11
+ create(input: CreateTemplateInput, opts?: RequestOptions): Promise<MessageTemplate>;
12
+ update(id: string, input: UpdateTemplateInput, opts?: RequestOptions): Promise<MessageTemplate>;
13
+ saveDraft(id: string, input: SaveDraftInput, opts?: RequestOptions): Promise<MessageTemplate>;
14
+ publish(id: string, opts?: RequestOptions): Promise<MessageTemplate>;
15
+ delete(id: string, opts?: RequestOptions): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAQ5G,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhE,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAInF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/F,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzD"}
@@ -0,0 +1,33 @@
1
+ export class TemplatesResource {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ list(params, opts) {
6
+ const qs = new URLSearchParams();
7
+ if (params?.type)
8
+ qs.set("type", params.type);
9
+ if (params?.isActive !== undefined)
10
+ qs.set("isActive", String(params.isActive));
11
+ const query = qs.toString();
12
+ return this.http.get(`/templates${query ? `?${query}` : ""}`, opts);
13
+ }
14
+ get(id, opts) {
15
+ return this.http.get(`/templates/${id}`, opts);
16
+ }
17
+ create(input, opts) {
18
+ return this.http.post("/templates", input, opts);
19
+ }
20
+ update(id, input, opts) {
21
+ return this.http.put(`/templates/${id}`, input, opts);
22
+ }
23
+ saveDraft(id, input, opts) {
24
+ return this.http.patch(`/templates/${id}/draft`, input, opts);
25
+ }
26
+ publish(id, opts) {
27
+ return this.http.post(`/templates/${id}/publish`, undefined, opts);
28
+ }
29
+ delete(id, opts) {
30
+ return this.http.delete(`/templates/${id}`, opts);
31
+ }
32
+ }
33
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAC5B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,MAAmD,EAAE,IAAqB;QAC7E,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,IAAI;YAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,QAAQ,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,aAAa,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,IAAqB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,KAA0B,EAAE,IAAqB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAA0B,EAAE,IAAqB;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,KAAqB,EAAE,IAAqB;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAkB,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,IAAqB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,IAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { HttpClient, RequestOptions } from "../http.js";
2
+ import type { CreateWebhookInput, OrgWebhook, OrgWebhookWithSecret, RotateSecretResult, UpdateWebhookInput, WebhookDelivery } from "../types.js";
3
+ export declare class WebhooksResource {
4
+ private readonly http;
5
+ constructor(http: HttpClient);
6
+ list(opts?: RequestOptions): Promise<OrgWebhook[]>;
7
+ create(input: CreateWebhookInput, opts?: RequestOptions): Promise<OrgWebhookWithSecret>;
8
+ update(id: string, input: UpdateWebhookInput, opts?: RequestOptions): Promise<OrgWebhook>;
9
+ delete(id: string, opts?: RequestOptions): Promise<void>;
10
+ listDeliveries(id: string, opts?: RequestOptions): Promise<WebhookDelivery[]>;
11
+ rotateSecret(id: string, opts?: RequestOptions): Promise<RotateSecretResult>;
12
+ }
13
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlD,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIvF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAIzF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7E,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAG7E"}
@@ -0,0 +1,24 @@
1
+ export class WebhooksResource {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ list(opts) {
6
+ return this.http.get("/webhooks", opts);
7
+ }
8
+ create(input, opts) {
9
+ return this.http.post("/webhooks", input, opts);
10
+ }
11
+ update(id, input, opts) {
12
+ return this.http.put(`/webhooks/${id}`, input, opts);
13
+ }
14
+ delete(id, opts) {
15
+ return this.http.delete(`/webhooks/${id}`, opts);
16
+ }
17
+ listDeliveries(id, opts) {
18
+ return this.http.get(`/webhooks/${id}/deliveries`, opts);
19
+ }
20
+ rotateSecret(id, opts) {
21
+ return this.http.post(`/webhooks/${id}/rotate-secret`, undefined, opts);
22
+ }
23
+ }
24
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,gBAAgB;IAC3B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,IAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,WAAW,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAyB,EAAE,IAAqB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuB,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAAyB,EAAE,IAAqB;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,IAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,IAAqB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,IAAqB;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { HttpClient, RequestOptions } from "../http.js";
2
+ import type { ConnectWabaInput, ConnectWhatsappNumberInput, OrgWaba, PhoneNumberStatusResult, RegisterWhatsappNumberInput, UpdateWhatsappProfileInput, WabaHealthResult, WhatsappNumber, WhatsappNumberProfile } from "../types.js";
3
+ export declare class WhatsappNumbersResource {
4
+ private readonly http;
5
+ constructor(http: HttpClient);
6
+ listWabas(opts?: RequestOptions): Promise<OrgWaba[]>;
7
+ connectWaba(input: ConnectWabaInput, opts?: RequestOptions): Promise<OrgWaba>;
8
+ reconnectWaba(id: string, opts?: RequestOptions): Promise<OrgWaba>;
9
+ disconnectWaba(id: string, opts?: RequestOptions): Promise<void>;
10
+ getWabaHealth(id: string, opts?: RequestOptions): Promise<WabaHealthResult>;
11
+ listNumbers(opts?: RequestOptions): Promise<WhatsappNumber[]>;
12
+ connectNumber(input: ConnectWhatsappNumberInput, opts?: RequestOptions): Promise<WhatsappNumber>;
13
+ registerNumber(input: RegisterWhatsappNumberInput, opts?: RequestOptions): Promise<WhatsappNumber>;
14
+ verifyCode(id: string, code: string, opts?: RequestOptions): Promise<WhatsappNumber>;
15
+ resendCode(id: string, opts?: RequestOptions): Promise<void>;
16
+ getProfile(id: string, opts?: RequestOptions): Promise<WhatsappNumberProfile>;
17
+ updateProfile(id: string, input: UpdateWhatsappProfileInput, opts?: RequestOptions): Promise<WhatsappNumberProfile>;
18
+ updateDisplayName(id: string, displayName: string, opts?: RequestOptions): Promise<WhatsappNumber>;
19
+ getStatus(id: string, opts?: RequestOptions): Promise<PhoneNumberStatusResult>;
20
+ refreshNumbers(opts?: RequestOptions): Promise<WhatsappNumber[]>;
21
+ deleteNumber(id: string, opts?: RequestOptions): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=whatsapp-numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp-numbers.d.ts","sourceRoot":"","sources":["../../src/resources/whatsapp-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,OAAO,EACP,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIpD,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI3E,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI7D,aAAa,CAAC,KAAK,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhG,cAAc,CAAC,KAAK,EAAE,2BAA2B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIlG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpF,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAInH,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIlG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI9E,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIhE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,54 @@
1
+ export class WhatsappNumbersResource {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ listWabas(opts) {
6
+ return this.http.get("/whatsapp/wabas", opts);
7
+ }
8
+ connectWaba(input, opts) {
9
+ return this.http.post("/whatsapp/wabas/connect", input, opts);
10
+ }
11
+ reconnectWaba(id, opts) {
12
+ return this.http.post(`/whatsapp/wabas/${id}/reconnect`, undefined, opts);
13
+ }
14
+ disconnectWaba(id, opts) {
15
+ return this.http.delete(`/whatsapp/wabas/${id}`, opts);
16
+ }
17
+ getWabaHealth(id, opts) {
18
+ return this.http.get(`/whatsapp/wabas/${id}/health`, opts);
19
+ }
20
+ listNumbers(opts) {
21
+ return this.http.get("/whatsapp/numbers", opts);
22
+ }
23
+ connectNumber(input, opts) {
24
+ return this.http.post("/whatsapp/numbers/connect", input, opts);
25
+ }
26
+ registerNumber(input, opts) {
27
+ return this.http.post("/whatsapp/numbers", input, opts);
28
+ }
29
+ verifyCode(id, code, opts) {
30
+ return this.http.post(`/whatsapp/numbers/${id}/verify-code`, { code }, opts);
31
+ }
32
+ resendCode(id, opts) {
33
+ return this.http.post(`/whatsapp/numbers/${id}/resend-code`, undefined, opts);
34
+ }
35
+ getProfile(id, opts) {
36
+ return this.http.get(`/whatsapp/numbers/${id}/profile`, opts);
37
+ }
38
+ updateProfile(id, input, opts) {
39
+ return this.http.patch(`/whatsapp/numbers/${id}/profile`, input, opts);
40
+ }
41
+ updateDisplayName(id, displayName, opts) {
42
+ return this.http.patch(`/whatsapp/numbers/${id}`, { displayName }, opts);
43
+ }
44
+ getStatus(id, opts) {
45
+ return this.http.get(`/whatsapp/numbers/${id}/status`, opts);
46
+ }
47
+ refreshNumbers(opts) {
48
+ return this.http.post("/whatsapp/numbers/refresh", undefined, opts);
49
+ }
50
+ deleteNumber(id, opts) {
51
+ return this.http.delete(`/whatsapp/numbers/${id}`, opts);
52
+ }
53
+ }
54
+ //# sourceMappingURL=whatsapp-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp-numbers.js","sourceRoot":"","sources":["../../src/resources/whatsapp-numbers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { HttpClient, RequestOptions } from "../http.js";
2
+ import type { CreateWhatsappTemplateInput, SyncWhatsappTemplatesResult, UpdateWhatsappTemplateInput, WhatsappTemplate } from "../types.js";
3
+ export declare class WhatsappTemplatesResource {
4
+ private readonly http;
5
+ constructor(http: HttpClient);
6
+ list(opts?: RequestOptions): Promise<WhatsappTemplate[]>;
7
+ create(input: CreateWhatsappTemplateInput, opts?: RequestOptions): Promise<WhatsappTemplate>;
8
+ update(id: string, input: UpdateWhatsappTemplateInput, opts?: RequestOptions): Promise<WhatsappTemplate>;
9
+ sync(opts?: RequestOptions): Promise<SyncWhatsappTemplatesResult>;
10
+ delete(id: string, opts?: RequestOptions): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=whatsapp-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp-templates.d.ts","sourceRoot":"","sources":["../../src/resources/whatsapp-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIxD,MAAM,CAAC,KAAK,EAAE,2BAA2B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI5F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIxG,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzD"}
@@ -0,0 +1,21 @@
1
+ export class WhatsappTemplatesResource {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ list(opts) {
6
+ return this.http.get("/whatsapp/templates", opts);
7
+ }
8
+ create(input, opts) {
9
+ return this.http.post("/whatsapp/templates", input, opts);
10
+ }
11
+ update(id, input, opts) {
12
+ return this.http.put(`/whatsapp/templates/${id}`, input, opts);
13
+ }
14
+ sync(opts) {
15
+ return this.http.post("/whatsapp/templates/sync", undefined, opts);
16
+ }
17
+ delete(id, opts) {
18
+ return this.http.delete(`/whatsapp/templates/${id}`, opts);
19
+ }
20
+ }
21
+ //# sourceMappingURL=whatsapp-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp-templates.js","sourceRoot":"","sources":["../../src/resources/whatsapp-templates.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,yBAAyB;IACpC,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,IAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,KAAkC,EAAE,IAAqB;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAAkC,EAAE,IAAqB;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,uBAAuB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,IAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,0BAA0B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,IAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export { createPostClient } from "./server.js";
2
+ export type { PostNextjsOptions, PostNextjsServiceAccountOptions, CreatePostClientOptions } from "./server.js";
3
+ export { PostClient } from "./client.js";
4
+ export { PostApiError } from "./errors.js";
5
+ export type { HttpClientOptions, TokenResolver } from "./http.js";
6
+ export { ServiceAccountTokenProvider, createServiceAccountToken } from "./service-account.js";
7
+ export type { ServiceAccountOptions } from "./service-account.js";
8
+ //# sourceMappingURL=server-exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-exports.d.ts","sourceRoot":"","sources":["../src/server-exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { createPostClient } from "./server.js";
2
+ export { PostClient } from "./client.js";
3
+ export { PostApiError } from "./errors.js";
4
+ export { ServiceAccountTokenProvider, createServiceAccountToken } from "./service-account.js";
5
+ //# sourceMappingURL=server-exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-exports.js","sourceRoot":"","sources":["../src/server-exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { PostClient } from "./client.js";
2
+ import { type ServiceAccountOptions } from "./service-account.js";
3
+ import type { TokenResolver } from "./http.js";
4
+ export interface PostNextjsServiceAccountOptions {
5
+ baseUrl?: string;
6
+ serviceAccount: ServiceAccountOptions;
7
+ }
8
+ export interface PostNextjsOptions {
9
+ baseUrl?: string;
10
+ }
11
+ export type CreatePostClientOptions = PostNextjsServiceAccountOptions | PostNextjsOptions;
12
+ /**
13
+ * Creates a PostClient for use in Server Components, Route Handlers, and Server Actions.
14
+ *
15
+ * Two modes:
16
+ * - Service account: pass `serviceAccount` credentials, the SDK handles token acquisition internally
17
+ * - Token per request: call with no token config, pass `{ token }` in each method call
18
+ */
19
+ export declare function createPostClient(options?: CreatePostClientOptions): PostClient;
20
+ export type { TokenResolver, ServiceAccountOptions };
21
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GAAG,iBAAiB,CAAC;AAM1F;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,UAAU,CAa9E;AAED,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC"}
package/dist/server.js ADDED
@@ -0,0 +1,25 @@
1
+ import { PostClient } from "./client.js";
2
+ import { ServiceAccountTokenProvider } from "./service-account.js";
3
+ function isServiceAccountOptions(opts) {
4
+ return "serviceAccount" in opts;
5
+ }
6
+ /**
7
+ * Creates a PostClient for use in Server Components, Route Handlers, and Server Actions.
8
+ *
9
+ * Two modes:
10
+ * - Service account: pass `serviceAccount` credentials, the SDK handles token acquisition internally
11
+ * - Token per request: call with no token config, pass `{ token }` in each method call
12
+ */
13
+ export function createPostClient(options) {
14
+ const baseUrl = options?.baseUrl ?? process.env.POST_API_URL ?? "https://api.usepost.com.br";
15
+ if (options && isServiceAccountOptions(options)) {
16
+ const provider = new ServiceAccountTokenProvider(options.serviceAccount);
17
+ return new PostClient({
18
+ baseUrl,
19
+ token: () => provider.getToken(),
20
+ organizationId: () => provider.getOrganizationId(),
21
+ });
22
+ }
23
+ return new PostClient({ baseUrl });
24
+ }
25
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAA8B,MAAM,sBAAsB,CAAC;AAc/F,SAAS,uBAAuB,CAAC,IAA6B;IAC5D,OAAO,gBAAgB,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAiC;IAChE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,4BAA4B,CAAC;IAE7F,IAAI,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzE,OAAO,IAAI,UAAU,CAAC;YACpB,OAAO;YACP,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAChC,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAqB;SACtE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TokenResolver } from "./http.js";
2
+ export interface ServiceAccountOptions {
3
+ issuerUrl: string;
4
+ clientId: string;
5
+ clientSecret: string;
6
+ refreshBeforeExpirySeconds?: number;
7
+ }
8
+ export declare class ServiceAccountTokenProvider {
9
+ private readonly issuerUrl;
10
+ private readonly clientId;
11
+ private readonly clientSecret;
12
+ private readonly refreshBeforeMs;
13
+ private cached;
14
+ private inflight;
15
+ constructor(options: ServiceAccountOptions);
16
+ private ensureFresh;
17
+ getToken(): Promise<string>;
18
+ getOrganizationId(): Promise<string | undefined>;
19
+ private fetchToken;
20
+ asTokenResolver(): TokenResolver;
21
+ }
22
+ export declare function createServiceAccountToken(options: ServiceAccountOptions): TokenResolver;
23
+ //# sourceMappingURL=service-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-account.d.ts","sourceRoot":"","sources":["../src/service-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAmBD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAqC;gBAEzC,OAAO,EAAE,qBAAqB;YAO5B,WAAW;IAUzB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3B,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAIlC,UAAU;IA8BxB,eAAe,IAAI,aAAa;CAGjC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAEvF"}
@@ -0,0 +1,69 @@
1
+ function decodeJwtPayload(token) {
2
+ try {
3
+ const [, payload] = token.split(".");
4
+ if (!payload)
5
+ return {};
6
+ const json = atob(payload.replace(/-/g, "+").replace(/_/g, "/"));
7
+ return JSON.parse(json);
8
+ }
9
+ catch {
10
+ return {};
11
+ }
12
+ }
13
+ export class ServiceAccountTokenProvider {
14
+ constructor(options) {
15
+ this.cached = null;
16
+ this.inflight = null;
17
+ this.issuerUrl = options.issuerUrl.replace(/\/$/, "");
18
+ this.clientId = options.clientId;
19
+ this.clientSecret = options.clientSecret;
20
+ this.refreshBeforeMs = (options.refreshBeforeExpirySeconds ?? 30) * 1000;
21
+ }
22
+ async ensureFresh() {
23
+ const now = Date.now();
24
+ if (this.cached && this.cached.expiresAt - now > this.refreshBeforeMs) {
25
+ return this.cached;
26
+ }
27
+ if (this.inflight)
28
+ return this.inflight;
29
+ this.inflight = this.fetchToken().finally(() => { this.inflight = null; });
30
+ return this.inflight;
31
+ }
32
+ getToken() {
33
+ return this.ensureFresh().then((c) => c.value);
34
+ }
35
+ getOrganizationId() {
36
+ return this.ensureFresh().then((c) => c.organizationId);
37
+ }
38
+ async fetchToken() {
39
+ const credentials = btoa(`${this.clientId}:${this.clientSecret}`);
40
+ const res = await fetch(`${this.issuerUrl}/auth/token`, {
41
+ method: "POST",
42
+ headers: {
43
+ "Content-Type": "application/json",
44
+ Authorization: `Basic ${credentials}`,
45
+ },
46
+ body: JSON.stringify({ grant_type: "service_account" }),
47
+ cache: "no-store",
48
+ });
49
+ if (!res.ok) {
50
+ const err = await res.json().catch(() => ({}));
51
+ throw new Error(`ServiceAccount token fetch failed (${res.status}): ${err.error ?? "unknown error"}`);
52
+ }
53
+ const data = await res.json();
54
+ const claims = decodeJwtPayload(data.access_token);
55
+ const organizationId = typeof claims.organizationId === "string" ? claims.organizationId :
56
+ typeof claims.organization_id === "string" ? claims.organization_id :
57
+ undefined;
58
+ const expiresInMs = (data.expires_in ?? 420) * 1000;
59
+ this.cached = { value: data.access_token, expiresAt: Date.now() + expiresInMs, organizationId };
60
+ return this.cached;
61
+ }
62
+ asTokenResolver() {
63
+ return () => this.getToken();
64
+ }
65
+ }
66
+ export function createServiceAccountToken(options) {
67
+ return new ServiceAccountTokenProvider(options).asTokenResolver();
68
+ }
69
+ //# sourceMappingURL=service-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-account.js","sourceRoot":"","sources":["../src/service-account.ts"],"names":[],"mappings":"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"}