@inkbox/sdk 0.4.13 → 0.4.15

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 (66) hide show
  1. package/README.md +68 -16
  2. package/dist/agent_identity.d.ts +79 -3
  3. package/dist/agent_identity.d.ts.map +1 -1
  4. package/dist/agent_identity.js +131 -8
  5. package/dist/agent_identity.js.map +1 -1
  6. package/dist/identities/resources/identities.d.ts +7 -0
  7. package/dist/identities/resources/identities.d.ts.map +1 -1
  8. package/dist/identities/resources/identities.js +9 -0
  9. package/dist/identities/resources/identities.js.map +1 -1
  10. package/dist/identities/types.d.ts +20 -0
  11. package/dist/identities/types.d.ts.map +1 -1
  12. package/dist/identities/types.js +4 -0
  13. package/dist/identities/types.js.map +1 -1
  14. package/dist/index.d.ts +8 -5
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/inkbox.d.ts +40 -8
  19. package/dist/inkbox.d.ts.map +1 -1
  20. package/dist/inkbox.js +46 -9
  21. package/dist/inkbox.js.map +1 -1
  22. package/dist/mail/resources/contactRules.d.ts +5 -0
  23. package/dist/mail/resources/contactRules.d.ts.map +1 -1
  24. package/dist/mail/resources/contactRules.js +5 -0
  25. package/dist/mail/resources/contactRules.js.map +1 -1
  26. package/dist/mail/resources/identityContactRules.d.ts +67 -0
  27. package/dist/mail/resources/identityContactRules.d.ts.map +1 -0
  28. package/dist/mail/resources/identityContactRules.js +100 -0
  29. package/dist/mail/resources/identityContactRules.js.map +1 -0
  30. package/dist/mail/types.d.ts +36 -0
  31. package/dist/mail/types.d.ts.map +1 -1
  32. package/dist/mail/types.js +12 -0
  33. package/dist/mail/types.js.map +1 -1
  34. package/dist/phone/resources/calls.d.ts +31 -13
  35. package/dist/phone/resources/calls.d.ts.map +1 -1
  36. package/dist/phone/resources/calls.js +44 -15
  37. package/dist/phone/resources/calls.js.map +1 -1
  38. package/dist/phone/resources/contactRules.d.ts +5 -0
  39. package/dist/phone/resources/contactRules.d.ts.map +1 -1
  40. package/dist/phone/resources/contactRules.js +5 -0
  41. package/dist/phone/resources/contactRules.js.map +1 -1
  42. package/dist/phone/resources/identityContactRules.d.ts +71 -0
  43. package/dist/phone/resources/identityContactRules.d.ts.map +1 -0
  44. package/dist/phone/resources/identityContactRules.js +103 -0
  45. package/dist/phone/resources/identityContactRules.js.map +1 -0
  46. package/dist/phone/resources/incomingCallAction.d.ts +41 -0
  47. package/dist/phone/resources/incomingCallAction.d.ts.map +1 -0
  48. package/dist/phone/resources/incomingCallAction.js +57 -0
  49. package/dist/phone/resources/incomingCallAction.js.map +1 -0
  50. package/dist/phone/types.d.ts +85 -2
  51. package/dist/phone/types.d.ts.map +1 -1
  52. package/dist/phone/types.js +42 -1
  53. package/dist/phone/types.js.map +1 -1
  54. package/dist/signing_keys.d.ts +50 -7
  55. package/dist/signing_keys.d.ts.map +1 -1
  56. package/dist/signing_keys.js +56 -9
  57. package/dist/signing_keys.js.map +1 -1
  58. package/dist/webhooks/subscriptions.d.ts +30 -1
  59. package/dist/webhooks/subscriptions.d.ts.map +1 -1
  60. package/dist/webhooks/subscriptions.js +14 -1
  61. package/dist/webhooks/subscriptions.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/phone/resources/transcripts.d.ts +0 -19
  64. package/dist/phone/resources/transcripts.d.ts.map +0 -1
  65. package/dist/phone/resources/transcripts.js +0 -23
  66. package/dist/phone/resources/transcripts.js.map +0 -1
@@ -1,7 +1,13 @@
1
1
  /**
2
- * Org-level webhook signing key management.
2
+ * Per-identity webhook signing key management.
3
3
  *
4
- * Shared across all Inkbox clients (mail, phone, etc.).
4
+ * Each agent identity has its own signing key used to verify the webhooks
5
+ * (and WebSocket upgrades) for that identity's mail / phone / iMessage
6
+ * traffic. Manage it via `inkbox.signingKeys.createOrRotate(handle)` /
7
+ * `getStatus(handle)`, or the `identity.createSigningKey()` /
8
+ * `identity.getSigningKeyStatus()` convenience methods.
9
+ *
10
+ * The legacy no-arg / org-level calls are kept as deprecated bridges.
5
11
  */
6
12
  import { HttpTransport } from "./_http.js";
7
13
  export interface SigningKey {
@@ -9,6 +15,16 @@ export interface SigningKey {
9
15
  signingKey: string;
10
16
  createdAt: Date;
11
17
  }
18
+ /**
19
+ * Status of an identity's webhook signing key.
20
+ *
21
+ * `configured` is `true` once a key exists; `createdAt` is when it was
22
+ * created or last rotated (`null` when not configured).
23
+ */
24
+ export interface SigningKeyStatus {
25
+ configured: boolean;
26
+ createdAt: Date | null;
27
+ }
12
28
  /**
13
29
  * Verify that an incoming webhook request was sent by Inkbox.
14
30
  *
@@ -22,19 +38,46 @@ export declare function verifyWebhook({ payload, headers, secret, }: {
22
38
  headers: Record<string, string | string[] | undefined>;
23
39
  secret: string;
24
40
  }): boolean;
41
+ /**
42
+ * Webhook signing key management.
43
+ *
44
+ * Rides the api-root transport (`{base}/api/v1`) so it can address both
45
+ * the per-identity routes (`/identities/{handle}/signing-key`) and the
46
+ * deprecated org-level route (`/signing-keys`).
47
+ */
25
48
  export declare class SigningKeysResource {
26
49
  private readonly http;
27
50
  constructor(http: HttpTransport);
28
51
  /**
29
- * Create or rotate the webhook signing key for your organisation.
52
+ * Create or rotate a webhook signing key.
30
53
  *
31
- * The first call creates a new key; subsequent calls rotate (replace) the
32
- * existing key. The plaintext `signingKey` is returned **once**
33
- * store it securely as it cannot be retrieved again.
54
+ * Pass `agentHandle` to create/rotate **that identity's** key (the
55
+ * forward-looking surface). The first call mints a key; subsequent calls
56
+ * rotate (replace) it. The plaintext `signingKey` is returned **once**
57
+ * store it securely, it cannot be retrieved again.
34
58
  *
35
59
  * Use the returned key to verify `X-Inkbox-Signature` headers on
36
60
  * incoming webhook requests.
61
+ *
62
+ * @deprecated Calling with no `agentHandle` hits the deprecated org-level
63
+ * `/signing-keys` route. With an agent-scoped API key the server rotates
64
+ * that key's identity; with an admin key it returns 409
65
+ * (`InkboxAPIError`) pointing at the per-identity route. Prefer
66
+ * `createOrRotate(agentHandle)` or `identity.createSigningKey()`.
67
+ */
68
+ createOrRotate(agentHandle?: string): Promise<SigningKey>;
69
+ /**
70
+ * Report whether a signing key is configured.
71
+ *
72
+ * Pass `agentHandle` for that identity's status (the forward-looking
73
+ * surface).
74
+ *
75
+ * @deprecated Calling with no `agentHandle` hits the deprecated org-level
76
+ * `/signing-keys` route: with an agent-scoped key it reports that
77
+ * identity's status; with an admin key it reports an org-aggregate
78
+ * status (`configured` true if any identity in the org has a key).
79
+ * Prefer `getStatus(agentHandle)` or `identity.getSigningKeyStatus()`.
37
80
  */
38
- createOrRotate(): Promise<SigningKey>;
81
+ getStatus(agentHandle?: string): Promise<SigningKeyStatus>;
39
82
  }
40
83
  //# sourceMappingURL=signing_keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing_keys.d.ts","sourceRoot":"","sources":["../src/signing_keys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAcD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAeV;AAED,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;OASG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;CAI5C"}
1
+ {"version":3,"file":"signing_keys.d.ts","sourceRoot":"","sources":["../src/signing_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AA0BD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAeV;AAED;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM/D;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAKjE"}
@@ -1,16 +1,31 @@
1
1
  /**
2
- * Org-level webhook signing key management.
2
+ * Per-identity webhook signing key management.
3
3
  *
4
- * Shared across all Inkbox clients (mail, phone, etc.).
4
+ * Each agent identity has its own signing key used to verify the webhooks
5
+ * (and WebSocket upgrades) for that identity's mail / phone / iMessage
6
+ * traffic. Manage it via `inkbox.signingKeys.createOrRotate(handle)` /
7
+ * `getStatus(handle)`, or the `identity.createSigningKey()` /
8
+ * `identity.getSigningKeyStatus()` convenience methods.
9
+ *
10
+ * The legacy no-arg / org-level calls are kept as deprecated bridges.
5
11
  */
6
12
  import { createHmac, timingSafeEqual } from "crypto";
7
- const PATH = "/signing-keys";
13
+ const ORG_PATH = "/signing-keys";
14
+ function identityPath(agentHandle) {
15
+ return `/identities/${agentHandle}/signing-key`;
16
+ }
8
17
  function parseSigningKey(r) {
9
18
  return {
10
19
  signingKey: r.signing_key,
11
20
  createdAt: new Date(r.created_at),
12
21
  };
13
22
  }
23
+ function parseSigningKeyStatus(r) {
24
+ return {
25
+ configured: r.configured ?? false,
26
+ createdAt: r.created_at ? new Date(r.created_at) : null,
27
+ };
28
+ }
14
29
  /**
15
30
  * Verify that an incoming webhook request was sent by Inkbox.
16
31
  *
@@ -36,24 +51,56 @@ export function verifyWebhook({ payload, headers, secret, }) {
36
51
  const received = signature.slice("sha256=".length);
37
52
  return timingSafeEqual(Buffer.from(expected), Buffer.from(received));
38
53
  }
54
+ /**
55
+ * Webhook signing key management.
56
+ *
57
+ * Rides the api-root transport (`{base}/api/v1`) so it can address both
58
+ * the per-identity routes (`/identities/{handle}/signing-key`) and the
59
+ * deprecated org-level route (`/signing-keys`).
60
+ */
39
61
  export class SigningKeysResource {
40
62
  http;
41
63
  constructor(http) {
42
64
  this.http = http;
43
65
  }
44
66
  /**
45
- * Create or rotate the webhook signing key for your organisation.
67
+ * Create or rotate a webhook signing key.
46
68
  *
47
- * The first call creates a new key; subsequent calls rotate (replace) the
48
- * existing key. The plaintext `signingKey` is returned **once**
49
- * store it securely as it cannot be retrieved again.
69
+ * Pass `agentHandle` to create/rotate **that identity's** key (the
70
+ * forward-looking surface). The first call mints a key; subsequent calls
71
+ * rotate (replace) it. The plaintext `signingKey` is returned **once**
72
+ * store it securely, it cannot be retrieved again.
50
73
  *
51
74
  * Use the returned key to verify `X-Inkbox-Signature` headers on
52
75
  * incoming webhook requests.
76
+ *
77
+ * @deprecated Calling with no `agentHandle` hits the deprecated org-level
78
+ * `/signing-keys` route. With an agent-scoped API key the server rotates
79
+ * that key's identity; with an admin key it returns 409
80
+ * (`InkboxAPIError`) pointing at the per-identity route. Prefer
81
+ * `createOrRotate(agentHandle)` or `identity.createSigningKey()`.
53
82
  */
54
- async createOrRotate() {
55
- const data = await this.http.post(PATH, {});
83
+ async createOrRotate(agentHandle) {
84
+ const path = agentHandle === undefined ? ORG_PATH : identityPath(agentHandle);
85
+ const data = await this.http.post(path, {});
56
86
  return parseSigningKey(data);
57
87
  }
88
+ /**
89
+ * Report whether a signing key is configured.
90
+ *
91
+ * Pass `agentHandle` for that identity's status (the forward-looking
92
+ * surface).
93
+ *
94
+ * @deprecated Calling with no `agentHandle` hits the deprecated org-level
95
+ * `/signing-keys` route: with an agent-scoped key it reports that
96
+ * identity's status; with an admin key it reports an org-aggregate
97
+ * status (`configured` true if any identity in the org has a key).
98
+ * Prefer `getStatus(agentHandle)` or `identity.getSigningKeyStatus()`.
99
+ */
100
+ async getStatus(agentHandle) {
101
+ const path = agentHandle === undefined ? ORG_PATH : identityPath(agentHandle);
102
+ const data = await this.http.get(path);
103
+ return parseSigningKeyStatus(data);
104
+ }
58
105
  }
59
106
  //# sourceMappingURL=signing_keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing_keys.js","sourceRoot":"","sources":["../src/signing_keys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGrD,MAAM,IAAI,GAAG,eAAe,CAAC;AAa7B,SAAS,eAAe,CAAC,CAAgB;IACvC,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,GAKP;IACC,MAAM,CAAC,GAAuC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"signing_keys.js","sourceRoot":"","sources":["../src/signing_keys.ts"],"names":[],"mappings":"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"}
@@ -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<WebhookSubscription>;
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,CAarB;AAoED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gCAAgC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;OAKG;IACG,IAAI,CACR,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAWjC,2HAA2H;IACrH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKtD;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,mBAAmB,CAAC;IA6B/B;;;;;OAKG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,mBAAmB,CAAC;IAmB/B,iFAAiF;IAC3E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C"}
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 parseWebhookSubscription(data);
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":"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"}
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/webhooks/subscriptions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkbox/sdk",
3
- "version": "0.4.13",
3
+ "version": "0.4.15",
4
4
  "description": "TypeScript SDK for the Inkbox API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,19 +0,0 @@
1
- /**
2
- * inkbox-phone/resources/transcripts.ts
3
- *
4
- * Transcript retrieval.
5
- */
6
- import { HttpTransport } from "../../_http.js";
7
- import { PhoneTranscript } from "../types.js";
8
- export declare class TranscriptsResource {
9
- private readonly http;
10
- constructor(http: HttpTransport);
11
- /**
12
- * List all transcript segments for a call, ordered by sequence number.
13
- *
14
- * @param phoneNumberId - UUID of the phone number.
15
- * @param callId - UUID of the call.
16
- */
17
- list(phoneNumberId: string, callId: string): Promise<PhoneTranscript[]>;
18
- }
19
- //# sourceMappingURL=transcripts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcripts.d.ts","sourceRoot":"","sources":["../../../src/phone/resources/transcripts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;OAKG;IACG,IAAI,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;CAM9B"}
@@ -1,23 +0,0 @@
1
- /**
2
- * inkbox-phone/resources/transcripts.ts
3
- *
4
- * Transcript retrieval.
5
- */
6
- import { parsePhoneTranscript, } from "../types.js";
7
- export class TranscriptsResource {
8
- http;
9
- constructor(http) {
10
- this.http = http;
11
- }
12
- /**
13
- * List all transcript segments for a call, ordered by sequence number.
14
- *
15
- * @param phoneNumberId - UUID of the phone number.
16
- * @param callId - UUID of the call.
17
- */
18
- async list(phoneNumberId, callId) {
19
- const data = await this.http.get(`/numbers/${phoneNumberId}/calls/${callId}/transcripts`);
20
- return data.map(parsePhoneTranscript);
21
- }
22
- }
23
- //# sourceMappingURL=transcripts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcripts.js","sourceRoot":"","sources":["../../../src/phone/resources/transcripts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,aAAqB,EACrB,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,YAAY,aAAa,UAAU,MAAM,cAAc,CACxD,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;CACF"}