@inkbox/sdk 0.4.13 → 0.4.14
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 +31 -7
- package/dist/agent_identity.d.ts +60 -1
- package/dist/agent_identity.d.ts.map +1 -1
- package/dist/agent_identity.js +90 -0
- package/dist/agent_identity.js.map +1 -1
- package/dist/identities/resources/identities.d.ts +7 -0
- package/dist/identities/resources/identities.d.ts.map +1 -1
- package/dist/identities/resources/identities.js +9 -0
- package/dist/identities/resources/identities.js.map +1 -1
- package/dist/identities/types.d.ts +20 -0
- package/dist/identities/types.d.ts.map +1 -1
- package/dist/identities/types.js +4 -0
- package/dist/identities/types.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inkbox.d.ts +35 -3
- package/dist/inkbox.d.ts.map +1 -1
- package/dist/inkbox.js +40 -3
- package/dist/inkbox.js.map +1 -1
- package/dist/mail/resources/contactRules.d.ts +5 -0
- package/dist/mail/resources/contactRules.d.ts.map +1 -1
- package/dist/mail/resources/contactRules.js +5 -0
- package/dist/mail/resources/contactRules.js.map +1 -1
- package/dist/mail/resources/identityContactRules.d.ts +67 -0
- package/dist/mail/resources/identityContactRules.d.ts.map +1 -0
- package/dist/mail/resources/identityContactRules.js +100 -0
- package/dist/mail/resources/identityContactRules.js.map +1 -0
- package/dist/mail/types.d.ts +36 -0
- package/dist/mail/types.d.ts.map +1 -1
- package/dist/mail/types.js +12 -0
- package/dist/mail/types.js.map +1 -1
- package/dist/phone/resources/contactRules.d.ts +5 -0
- package/dist/phone/resources/contactRules.d.ts.map +1 -1
- package/dist/phone/resources/contactRules.js +5 -0
- package/dist/phone/resources/contactRules.js.map +1 -1
- package/dist/phone/resources/identityContactRules.d.ts +71 -0
- package/dist/phone/resources/identityContactRules.d.ts.map +1 -0
- package/dist/phone/resources/identityContactRules.js +103 -0
- package/dist/phone/resources/identityContactRules.js.map +1 -0
- package/dist/phone/types.d.ts +37 -0
- package/dist/phone/types.d.ts.map +1 -1
- package/dist/phone/types.js +12 -0
- package/dist/phone/types.js.map +1 -1
- package/dist/signing_keys.d.ts +50 -7
- package/dist/signing_keys.d.ts.map +1 -1
- package/dist/signing_keys.js +56 -9
- package/dist/signing_keys.js.map +1 -1
- package/dist/webhooks/subscriptions.d.ts +30 -1
- package/dist/webhooks/subscriptions.d.ts.map +1 -1
- package/dist/webhooks/subscriptions.js +14 -1
- package/dist/webhooks/subscriptions.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,13 @@ export interface WebhookSubscription {
|
|
|
25
25
|
phoneNumberId: string | null;
|
|
26
26
|
/** Owning agent identity, for identity-owned iMessage subscriptions. */
|
|
27
27
|
agentIdentityId: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Resolved owning agent identity for every subscription regardless of
|
|
30
|
+
* channel — mail/phone subs resolve it server-side through the mailbox /
|
|
31
|
+
* phone number, while iMessage subs carry it directly. `null` on servers
|
|
32
|
+
* that predate the field.
|
|
33
|
+
*/
|
|
34
|
+
ownerIdentityId: string | null;
|
|
28
35
|
url: string;
|
|
29
36
|
/** Wire event-type strings (e.g. `"message.received"`, `"text.sent"`). Not narrowed to a literal union — the catalog is the source of truth. */
|
|
30
37
|
eventTypes: string[];
|
|
@@ -32,19 +39,35 @@ export interface WebhookSubscription {
|
|
|
32
39
|
createdAt: Date;
|
|
33
40
|
updatedAt: Date;
|
|
34
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* The response from creating a webhook subscription.
|
|
44
|
+
*
|
|
45
|
+
* Extends {@link WebhookSubscription} with a one-time `signingKey`. It is
|
|
46
|
+
* populated **only** on the request that first mints the owning identity's
|
|
47
|
+
* signing key (returned once — store it securely); on every other create it
|
|
48
|
+
* is `null`. List/get/update never return it.
|
|
49
|
+
*/
|
|
50
|
+
export interface WebhookSubscriptionCreateResponse extends WebhookSubscription {
|
|
51
|
+
signingKey: string | null;
|
|
52
|
+
}
|
|
35
53
|
export interface RawWebhookSubscription {
|
|
36
54
|
id: string;
|
|
37
55
|
organization_id: string;
|
|
38
56
|
mailbox_id: string | null;
|
|
39
57
|
phone_number_id: string | null;
|
|
40
58
|
agent_identity_id?: string | null;
|
|
59
|
+
owner_identity_id?: string | null;
|
|
41
60
|
url: string;
|
|
42
61
|
event_types: string[];
|
|
43
62
|
status: WebhookSubscriptionStatus;
|
|
44
63
|
created_at: string;
|
|
45
64
|
updated_at: string;
|
|
46
65
|
}
|
|
66
|
+
export interface RawWebhookSubscriptionCreateResponse extends RawWebhookSubscription {
|
|
67
|
+
signing_key?: string | null;
|
|
68
|
+
}
|
|
47
69
|
export declare function parseWebhookSubscription(r: RawWebhookSubscription): WebhookSubscription;
|
|
70
|
+
export declare function parseWebhookSubscriptionCreateResponse(r: RawWebhookSubscriptionCreateResponse): WebhookSubscriptionCreateResponse;
|
|
48
71
|
export interface CreateWebhookSubscriptionOptions {
|
|
49
72
|
mailboxId?: string;
|
|
50
73
|
phoneNumberId?: string;
|
|
@@ -81,8 +104,14 @@ export declare class WebhookSubscriptionsResource {
|
|
|
81
104
|
* be a non-empty list of distinct values belonging to the owner's
|
|
82
105
|
* channel (mailbox → `message.*`, phone number → `text.*`, agent
|
|
83
106
|
* identity → `imessage.*`).
|
|
107
|
+
*
|
|
108
|
+
* Returns a {@link WebhookSubscriptionCreateResponse}. Its `signingKey`
|
|
109
|
+
* is populated **once** when this is the first subscription for an
|
|
110
|
+
* identity that had no signing key yet — store it securely; it is the
|
|
111
|
+
* only time the plaintext secret is shown. Otherwise `signingKey` is
|
|
112
|
+
* `null`.
|
|
84
113
|
*/
|
|
85
|
-
create(options: CreateWebhookSubscriptionOptions): Promise<
|
|
114
|
+
create(options: CreateWebhookSubscriptionOptions): Promise<WebhookSubscriptionCreateResponse>;
|
|
86
115
|
/**
|
|
87
116
|
* Update the destination URL and/or event-type list of a subscription.
|
|
88
117
|
* Omitting both is a no-op. `eventTypes`, if supplied, replaces the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/webhooks/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,0IAA0I;AAC1I,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,oGAAoG;IACpG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yGAAyG;IACzG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gJAAgJ;IAChJ,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,sBAAsB,GACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/webhooks/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export function parseWebhookSubscription(r) {
|
|
|
20
20
|
mailboxId: r.mailbox_id,
|
|
21
21
|
phoneNumberId: r.phone_number_id,
|
|
22
22
|
agentIdentityId: r.agent_identity_id ?? null,
|
|
23
|
+
ownerIdentityId: r.owner_identity_id ?? null,
|
|
23
24
|
url: r.url,
|
|
24
25
|
eventTypes: r.event_types,
|
|
25
26
|
status: r.status,
|
|
@@ -27,6 +28,12 @@ export function parseWebhookSubscription(r) {
|
|
|
27
28
|
updatedAt: new Date(r.updated_at),
|
|
28
29
|
};
|
|
29
30
|
}
|
|
31
|
+
export function parseWebhookSubscriptionCreateResponse(r) {
|
|
32
|
+
return {
|
|
33
|
+
...parseWebhookSubscription(r),
|
|
34
|
+
signingKey: r.signing_key ?? null,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
30
37
|
const INCOMING_CALL = "phone.incoming_call";
|
|
31
38
|
function assertUrlNotNull(url) {
|
|
32
39
|
if (url === null) {
|
|
@@ -113,6 +120,12 @@ export class WebhookSubscriptionsResource {
|
|
|
113
120
|
* be a non-empty list of distinct values belonging to the owner's
|
|
114
121
|
* channel (mailbox → `message.*`, phone number → `text.*`, agent
|
|
115
122
|
* identity → `imessage.*`).
|
|
123
|
+
*
|
|
124
|
+
* Returns a {@link WebhookSubscriptionCreateResponse}. Its `signingKey`
|
|
125
|
+
* is populated **once** when this is the first subscription for an
|
|
126
|
+
* identity that had no signing key yet — store it securely; it is the
|
|
127
|
+
* only time the plaintext secret is shown. Otherwise `signingKey` is
|
|
128
|
+
* `null`.
|
|
116
129
|
*/
|
|
117
130
|
async create(options) {
|
|
118
131
|
const owners = {
|
|
@@ -137,7 +150,7 @@ export class WebhookSubscriptionsResource {
|
|
|
137
150
|
[`${owner}_id`]: ownerId,
|
|
138
151
|
};
|
|
139
152
|
const data = await this.http.post(PATH, body);
|
|
140
|
-
return
|
|
153
|
+
return parseWebhookSubscriptionCreateResponse(data);
|
|
141
154
|
}
|
|
142
155
|
/**
|
|
143
156
|
* Update the destination URL and/or event-type list of a subscription.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/webhooks/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,IAAI,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/webhooks/subscriptions.ts"],"names":[],"mappings":"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"}
|