@kirimdev/sdk 2.0.0 → 2.0.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.
package/README.md CHANGED
@@ -1,63 +1,63 @@
1
- # @kirimdev/sdk
2
-
3
- Official TypeScript SDK for the [Kirim](https://kirim.chat) Public API.
4
-
5
- ## Install
6
-
7
- ```bash
8
- npm install @kirimdev/sdk
9
- # or
10
- bun add @kirimdev/sdk
11
- ```
12
-
13
- ## Quickstart
14
-
15
- ```ts
16
- import { Kirim } from '@kirimdev/sdk'
17
-
18
- const kirim = new Kirim({ apiKey: process.env.KIRIM_API_KEY! })
19
-
20
- // Send a message
21
- const msg = await kirim.messages.send({
22
- to: '628123456789',
23
- type: 'text',
24
- text: { body: 'Halo dari SDK!' },
25
- })
26
-
27
- // Paginate
28
- for await (const m of kirim.messages.list({ limit: 50 })) {
29
- console.log(m.id, m.status)
30
- }
31
-
32
- // Webhook verification
33
- import { verifyWebhookSignature } from '@kirimdev/sdk/webhooks'
34
-
35
- const ok = verifyWebhookSignature(rawBody, req.headers['x-kirim-signature'], secret)
36
- ```
37
-
38
- ## Features
39
-
40
- - Full coverage of the Kirim `/v1` API (~35 endpoints)
41
- - Type-safe — generated from the live OpenAPI 3.1 spec
42
- - Automatic retries with exponential backoff (429, 5xx, network errors)
43
- - Automatic `Idempotency-Key` injection for POST requests
44
- - Async iterator pagination (`for await ... of kirim.messages.list(...)`)
45
- - Typed error class hierarchy keyed off stable API error codes
46
- - Webhook HMAC-SHA256 verifier
47
- - Zero Node-specific dependencies — works in Node 18+, Bun, Deno
48
-
49
- ## Configuration
50
-
51
- ```ts
52
- new Kirim({
53
- apiKey: 'kdv_live_...', // required
54
- baseUrl: 'https://api-kckit.kirim.chat/v1', // optional
55
- timeout: 30_000, // ms, default 30s
56
- maxRetries: 2, // default 2
57
- fetch: globalThis.fetch, // injectable for testing
58
- })
59
- ```
60
-
61
- ## License
62
-
63
- MIT
1
+ # @kirimdev/sdk
2
+
3
+ Official TypeScript SDK for the [Kirim](https://kirim.chat) Public API.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @kirimdev/sdk
9
+ # or
10
+ bun add @kirimdev/sdk
11
+ ```
12
+
13
+ ## Quickstart
14
+
15
+ ```ts
16
+ import { Kirim } from '@kirimdev/sdk'
17
+
18
+ const kirim = new Kirim({ apiKey: process.env.KIRIM_API_KEY! })
19
+
20
+ // Send a message
21
+ const msg = await kirim.messages.send({
22
+ to: '628123456789',
23
+ type: 'text',
24
+ text: { body: 'Halo dari SDK!' },
25
+ })
26
+
27
+ // Paginate
28
+ for await (const m of kirim.messages.list({ limit: 50 })) {
29
+ console.log(m.id, m.status)
30
+ }
31
+
32
+ // Webhook verification
33
+ import { verifyWebhookSignature } from '@kirimdev/sdk/webhooks'
34
+
35
+ const ok = verifyWebhookSignature(rawBody, req.headers['x-kirim-signature'], secret)
36
+ ```
37
+
38
+ ## Features
39
+
40
+ - Full coverage of the Kirim `/v1` API (~35 endpoints)
41
+ - Type-safe — generated from the live OpenAPI 3.1 spec
42
+ - Automatic retries with exponential backoff (429, 5xx, network errors)
43
+ - Automatic `Idempotency-Key` injection for POST requests
44
+ - Async iterator pagination (`for await ... of kirim.messages.list(...)`)
45
+ - Typed error class hierarchy keyed off stable API error codes
46
+ - Webhook HMAC-SHA256 verifier
47
+ - Zero Node-specific dependencies — works in Node 18+, Bun, Deno
48
+
49
+ ## Configuration
50
+
51
+ ```ts
52
+ new Kirim({
53
+ apiKey: 'kdv_live_...', // required
54
+ baseUrl: 'https://api.kirim.chat/v1', // optional
55
+ timeout: 30_000, // ms, default 30s
56
+ maxRetries: 2, // default 2
57
+ fetch: globalThis.fetch, // injectable for testing
58
+ })
59
+ ```
60
+
61
+ ## License
62
+
63
+ MIT
package/dist/client.js CHANGED
@@ -24,7 +24,7 @@ import { PhoneNumberClient } from './resources/phone-number.js';
24
24
  import { WebhookDeliveriesResource } from './resources/webhook-deliveries.js';
25
25
  import { WebhookSubscriptionsResource } from './resources/webhook-subscriptions.js';
26
26
  export const SDK_VERSION = '2.0.0';
27
- const DEFAULT_BASE_URL = 'https://api-kckit.kirim.chat/v1';
27
+ const DEFAULT_BASE_URL = 'https://api.kirim.chat/v1';
28
28
  const DEFAULT_TIMEOUT_MS = 30_000;
29
29
  const DEFAULT_MAX_RETRIES = 2;
30
30
  export class Kirim {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -25,5 +25,32 @@ export declare class MessagesResource {
25
25
  * decide whether to stream).
26
26
  */
27
27
  media(id: string, options?: RequestOptions): Promise<MessageMediaRedirect>;
28
+ /**
29
+ * POST /{phone_number_id}/messages with `{status: "read", ...}` —
30
+ * convenience wrapper around {@link send} for the Meta-native
31
+ * read-receipt body shape. Sends a read receipt for an inbound
32
+ * message so the double-tick turns blue on the sender's phone, and
33
+ * (optionally) shows a typing indicator alongside.
34
+ *
35
+ * `wamid` is the Meta-native id (`wamid....`) you receive in the
36
+ * inbound webhook payload — NOT a Kirim `msg_*` external id, since
37
+ * Meta itself uses wamids for this operation.
38
+ *
39
+ * Idempotent: the API returns 200 with the same shape even when the
40
+ * message is already in `read` state, so retry safely. Only valid
41
+ * for inbound messages — calling on an outbound message rejects with
42
+ * a 400 `invalid_field_value`.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * await phone.messages.markAsRead('wamid.HBgN…')
47
+ * // with typing indicator (auto-dismisses on response or after 25s):
48
+ * await phone.messages.markAsRead('wamid.HBgN…', { typing: true })
49
+ * ```
50
+ */
51
+ markAsRead(wamid: string, opts?: {
52
+ typing?: boolean;
53
+ options?: RequestOptions;
54
+ }): Promise<Message>;
28
55
  }
29
56
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGjC,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E,kFAAkF;IAClF,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAWvF,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAO3E"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,oBAAoB,EAEpB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGjC,uFAAuF;IACvF,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E,kFAAkF;IAClF,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;IAWvF,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQ1E;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CACR,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,GACpD,OAAO,CAAC,OAAO,CAAC;CAcpB"}
@@ -50,5 +50,42 @@ export class MessagesResource {
50
50
  ...(options ? { options } : {}),
51
51
  });
52
52
  }
53
+ /**
54
+ * POST /{phone_number_id}/messages with `{status: "read", ...}` —
55
+ * convenience wrapper around {@link send} for the Meta-native
56
+ * read-receipt body shape. Sends a read receipt for an inbound
57
+ * message so the double-tick turns blue on the sender's phone, and
58
+ * (optionally) shows a typing indicator alongside.
59
+ *
60
+ * `wamid` is the Meta-native id (`wamid....`) you receive in the
61
+ * inbound webhook payload — NOT a Kirim `msg_*` external id, since
62
+ * Meta itself uses wamids for this operation.
63
+ *
64
+ * Idempotent: the API returns 200 with the same shape even when the
65
+ * message is already in `read` state, so retry safely. Only valid
66
+ * for inbound messages — calling on an outbound message rejects with
67
+ * a 400 `invalid_field_value`.
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * await phone.messages.markAsRead('wamid.HBgN…')
72
+ * // with typing indicator (auto-dismisses on response or after 25s):
73
+ * await phone.messages.markAsRead('wamid.HBgN…', { typing: true })
74
+ * ```
75
+ */
76
+ markAsRead(wamid, opts) {
77
+ const body = {
78
+ messaging_product: 'whatsapp',
79
+ status: 'read',
80
+ message_id: wamid,
81
+ ...(opts?.typing ? { typing_indicator: { type: 'text' } } : {}),
82
+ };
83
+ return this.http.requestData({
84
+ method: 'POST',
85
+ path: `${this.prefix}/messages`,
86
+ body,
87
+ ...(opts?.options ? { options: opts.options } : {}),
88
+ });
89
+ }
53
90
  }
54
91
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAS5C;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAER;IACA;IAFnB,YACmB,IAAgB,EAChB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,uFAAuF;IACvF,IAAI,CAAC,MAAyB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,MAA2B,EAAE,OAAwB;QACxD,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT;YACE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrG,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,2CAA2C;IAC3C,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAU,EAAE,OAAwB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAuB;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;YAC/D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/resources/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAU5C;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAER;IACA;IAFnB,YACmB,IAAgB,EAChB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,uFAAuF;IACvF,IAAI,CAAC,MAAyB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,MAA2B,EAAE,OAAwB;QACxD,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,IAAI,EACT;YACE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAsE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrG,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,2CAA2C;IAC3C,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAU,EAAE,OAAwB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAuB;YACjD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;YAC/D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CACR,KAAa,EACb,IAAqD;QAErD,MAAM,IAAI,GAAsB;YAC9B,iBAAiB,EAAE,UAAU;YAC7B,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,KAAK;YACjB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAU;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,WAAW;YAC/B,IAAI;YACJ,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAA;IACJ,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -16,7 +16,25 @@ export type Account = ListData<Schemas['ListAccountsResponse']>;
16
16
  export type ListAccountsParams = NonNullable<paths['/accounts']['get']['parameters']['query']>;
17
17
  export type Message = SingleData<Schemas['GetMessageResponse']>;
18
18
  export type MessageListItem = ListData<Schemas['ListMessagesResponse']>;
19
+ /**
20
+ * Full union of request bodies accepted by `POST /{phone_number_id}/messages`.
21
+ *
22
+ * Includes both the outbound-send variants (text/image/.../interactive)
23
+ * and the Meta-style read-receipt shape (`{status:'read', message_id,
24
+ * typing_indicator?}`). The generated type from the OpenAPI schema
25
+ * already expresses this as a union; SDK consumers branch on the
26
+ * presence of `type` vs `status` to know which side of the API they're
27
+ * calling.
28
+ */
19
29
  export type SendMessageParams = NonNullable<paths['/{phone_number_id}/messages']['post']['requestBody']>['content']['application/json'];
30
+ /**
31
+ * Narrowed type for just the read-receipt branch — used by the
32
+ * `messages.markAsRead()` convenience wrapper so consumers don't have
33
+ * to construct `messaging_product: 'whatsapp'` themselves.
34
+ */
35
+ export type ReadReceiptParams = Extract<SendMessageParams, {
36
+ status: 'read';
37
+ }>;
20
38
  export type ListMessagesParams = NonNullable<paths['/{phone_number_id}/messages']['get']['parameters']['query']>;
21
39
  export type MessageMediaRedirect = {
22
40
  url: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;AAG3C,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAC5D,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAGjE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;AAGzD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAG9F,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CACzC,KAAK,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAC5D,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CACnE,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAGpF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAC3C,KAAK,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CACpE,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAC9C,KAAK,CAAC,qCAAqC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAC3E,CAAA;AAGD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACjF,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,KAAK,CAAC,kCAAkC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CACxE,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAChD,KAAK,CAAC,uCAAuC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CACvE,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,6BAA6B,GAAG,WAAW,CACrD,KAAK,CAAC,8CAA8C,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAC7E,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAGhC,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACvE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CACnE,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAC3C,KAAK,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAC5D,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAC3C,KAAK,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAClE,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAChD,KAAK,CAAC,yCAAyC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CACxE,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,KAAK,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CACvE,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAGhC,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC3D,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;AACnE,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1F,MAAM,MAAM,iBAAiB,GAAG,WAAW,CACzC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CACxC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,iBAAiB,GAAG,WAAW,CACzC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAC9C,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAGhC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAA;AACvF,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAA;AAC/F,MAAM,MAAM,+BAA+B,GAAG,WAAW,CACvD,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CACvD,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,+BAA+B,GAAG,WAAW,CACvD,KAAK,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAC7D,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAG9E,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAC/E,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAA;AACxF,MAAM,MAAM,2BAA2B,GAAG,WAAW,CACnD,KAAK,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAC3D,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CACxC,KAAK,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAChE,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}