@inkbox/sdk 0.7.2 → 0.7.4

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 (102) hide show
  1. package/README.md +218 -0
  2. package/dist/_http.d.ts +8 -1
  3. package/dist/_http.d.ts.map +1 -1
  4. package/dist/_http.js +15 -1
  5. package/dist/_http.js.map +1 -1
  6. package/dist/a2a/client.d.ts +3 -0
  7. package/dist/a2a/client.d.ts.map +1 -1
  8. package/dist/a2a/client.js +5 -0
  9. package/dist/a2a/client.js.map +1 -1
  10. package/dist/agent_identity.d.ts +4 -0
  11. package/dist/agent_identity.d.ts.map +1 -1
  12. package/dist/agent_identity.js +5 -1
  13. package/dist/agent_identity.js.map +1 -1
  14. package/dist/companion.d.ts +122 -0
  15. package/dist/companion.d.ts.map +1 -0
  16. package/dist/companion.js +170 -0
  17. package/dist/companion.js.map +1 -0
  18. package/dist/contact_rules.d.ts +9 -0
  19. package/dist/contact_rules.d.ts.map +1 -0
  20. package/dist/contact_rules.js +18 -0
  21. package/dist/contact_rules.js.map +1 -0
  22. package/dist/contacts/index.d.ts +1 -1
  23. package/dist/contacts/index.d.ts.map +1 -1
  24. package/dist/contacts/resources/communicationPolicy.d.ts +18 -2
  25. package/dist/contacts/resources/communicationPolicy.d.ts.map +1 -1
  26. package/dist/contacts/resources/communicationPolicy.js +21 -4
  27. package/dist/contacts/resources/communicationPolicy.js.map +1 -1
  28. package/dist/contacts/resources/contactAccess.d.ts +18 -0
  29. package/dist/contacts/resources/contactAccess.d.ts.map +1 -1
  30. package/dist/contacts/resources/contactAccess.js +44 -5
  31. package/dist/contacts/resources/contactAccess.js.map +1 -1
  32. package/dist/contacts/resources/contacts.d.ts +26 -10
  33. package/dist/contacts/resources/contacts.d.ts.map +1 -1
  34. package/dist/contacts/resources/contacts.js +18 -9
  35. package/dist/contacts/resources/contacts.js.map +1 -1
  36. package/dist/contacts/resources/permissions.d.ts +6 -0
  37. package/dist/contacts/resources/permissions.d.ts.map +1 -1
  38. package/dist/contacts/resources/permissions.js +51 -6
  39. package/dist/contacts/resources/permissions.js.map +1 -1
  40. package/dist/identities/resources/identities.d.ts.map +1 -1
  41. package/dist/identities/resources/identities.js +15 -0
  42. package/dist/identities/resources/identities.js.map +1 -1
  43. package/dist/identities/types.d.ts +20 -0
  44. package/dist/identities/types.d.ts.map +1 -1
  45. package/dist/identities/types.js +8 -0
  46. package/dist/identities/types.js.map +1 -1
  47. package/dist/imessage/resources/contactRules.d.ts +10 -4
  48. package/dist/imessage/resources/contactRules.d.ts.map +1 -1
  49. package/dist/imessage/resources/contactRules.js +11 -4
  50. package/dist/imessage/resources/contactRules.js.map +1 -1
  51. package/dist/imessage/types.d.ts +2 -0
  52. package/dist/imessage/types.d.ts.map +1 -1
  53. package/dist/imessage/types.js +1 -0
  54. package/dist/imessage/types.js.map +1 -1
  55. package/dist/index.d.ts +4 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +1 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/inkbox.d.ts +8 -0
  60. package/dist/inkbox.d.ts.map +1 -1
  61. package/dist/inkbox.js +47 -9
  62. package/dist/inkbox.js.map +1 -1
  63. package/dist/mail/resources/contactRules.d.ts +7 -1
  64. package/dist/mail/resources/contactRules.d.ts.map +1 -1
  65. package/dist/mail/resources/contactRules.js +8 -1
  66. package/dist/mail/resources/contactRules.js.map +1 -1
  67. package/dist/mail/resources/identityContactRules.d.ts +10 -4
  68. package/dist/mail/resources/identityContactRules.d.ts.map +1 -1
  69. package/dist/mail/resources/identityContactRules.js +11 -4
  70. package/dist/mail/resources/identityContactRules.js.map +1 -1
  71. package/dist/mail/resources/imports.d.ts.map +1 -1
  72. package/dist/mail/resources/imports.js +2 -0
  73. package/dist/mail/resources/imports.js.map +1 -1
  74. package/dist/mail/types.d.ts +9 -0
  75. package/dist/mail/types.d.ts.map +1 -1
  76. package/dist/mail/types.js +4 -0
  77. package/dist/mail/types.js.map +1 -1
  78. package/dist/phone/resources/contactRules.d.ts +7 -1
  79. package/dist/phone/resources/contactRules.d.ts.map +1 -1
  80. package/dist/phone/resources/contactRules.js +8 -1
  81. package/dist/phone/resources/contactRules.js.map +1 -1
  82. package/dist/phone/resources/identityContactRules.d.ts +10 -4
  83. package/dist/phone/resources/identityContactRules.d.ts.map +1 -1
  84. package/dist/phone/resources/identityContactRules.js +11 -4
  85. package/dist/phone/resources/identityContactRules.js.map +1 -1
  86. package/dist/phone/types.d.ts +8 -0
  87. package/dist/phone/types.d.ts.map +1 -1
  88. package/dist/phone/types.js +4 -0
  89. package/dist/phone/types.js.map +1 -1
  90. package/dist/response_metadata.d.ts +22 -0
  91. package/dist/response_metadata.d.ts.map +1 -0
  92. package/dist/response_metadata.js +63 -0
  93. package/dist/response_metadata.js.map +1 -0
  94. package/dist/vault/resources/vault.d.ts +11 -2
  95. package/dist/vault/resources/vault.d.ts.map +1 -1
  96. package/dist/vault/resources/vault.js +34 -7
  97. package/dist/vault/resources/vault.js.map +1 -1
  98. package/dist/version.d.ts +1 -1
  99. package/dist/version.js +1 -1
  100. package/dist/webhooks/types.d.ts +4 -0
  101. package/dist/webhooks/types.d.ts.map +1 -1
  102. package/package.json +1 -1
@@ -1,9 +1,14 @@
1
1
  import { HttpTransport } from "../../_http.js";
2
- import type { ContactAccessSettings } from "./contactAccess.js";
2
+ import { type ContactAccessSettings } from "./contactAccess.js";
3
+ import type { RuleDirection } from "../../contact_rules.js";
3
4
  import { type Contact, type ContactReviewStatus } from "../types.js";
4
5
  /** An explicit exact-address choice overrides the agent's channel mode. */
5
6
  export type ContactDecision = "inherit" | "allow" | "block";
6
7
  export interface ContactAddressPermission {
8
+ inboundAction?: ContactDecision;
9
+ outboundAction?: ContactDecision;
10
+ allowedInbound?: boolean;
11
+ allowedOutbound?: boolean;
7
12
  kind: "email" | "phone";
8
13
  value: string;
9
14
  label: string | null;
@@ -11,10 +16,13 @@ export interface ContactAddressPermission {
11
16
  allowed: boolean;
12
17
  }
13
18
  export interface ContactAddressUpdate {
19
+ direction?: RuleDirection;
20
+ expectedInboundAction?: ContactDecision;
21
+ expectedOutboundAction?: ContactDecision;
14
22
  kind: "email" | "phone";
15
23
  value: string;
16
24
  action: ContactDecision;
17
- expectedAction: ContactDecision;
25
+ expectedAction?: ContactDecision;
18
26
  }
19
27
  /** Profile and dependent memory visibility decisions. */
20
28
  export interface ContactVisibilityDecisions {
@@ -50,6 +58,10 @@ export interface ReplaceContactCommunicationPolicy {
50
58
  visibility?: ContactVisibilityPolicy;
51
59
  }
52
60
  export interface ContactCommunicationPreview {
61
+ inboundEmail?: boolean;
62
+ outboundEmail?: boolean;
63
+ inboundPhone?: boolean;
64
+ outboundPhone?: boolean;
53
65
  identityId: string;
54
66
  contact: Contact | null;
55
67
  email: boolean;
@@ -70,6 +82,10 @@ export interface ContactPermissionVisibility {
70
82
  identityOverride: ContactVisibilityDecisions;
71
83
  }
72
84
  export interface ContactPermissionEffective extends ContactVisibilityResult {
85
+ inboundEmail?: IdentifierPermission;
86
+ outboundEmail?: IdentifierPermission;
87
+ inboundPhone?: IdentifierPermission;
88
+ outboundPhone?: IdentifierPermission;
73
89
  email: IdentifierPermission;
74
90
  phone: IdentifierPermission;
75
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"communicationPolicy.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/communicationPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communicationPolicy.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/communicationPolicy.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
+ import { parseContactAccessSettings } from "./contactAccess.js";
1
2
  import { parseContact, parseContactEmail, parseContactPhone } from "../types.js";
2
3
  /** Parse both required policy portions. */
3
4
  function parsePolicy(raw) {
4
5
  return { contactId: raw.contact_id, revision: raw.revision, identityId: raw.identity_id,
5
- addresses: raw.addresses, effectiveVisibility: raw.effective_visibility,
6
+ addresses: raw.addresses.map(({ inbound_action, outbound_action, allowed_inbound, allowed_outbound, ...row }) => ({
7
+ ...row, inboundAction: inbound_action ?? row.action, outboundAction: outbound_action ?? row.action,
8
+ allowedInbound: allowed_inbound ?? row.allowed, allowedOutbound: allowed_outbound ?? row.allowed,
9
+ })), effectiveVisibility: raw.effective_visibility,
6
10
  visibility: { defaults: raw.visibility.defaults,
7
11
  identities: raw.visibility.identities.map((row) => ({ identityId: row.identity_id, profile: row.profile, memories: row.memories })) } };
8
12
  }
9
13
  /** Parse a filtered contact and independently reported visibility. */
10
14
  function parsePreview(raw) {
11
15
  return { identityId: raw.identity_id, contact: raw.contact ? parseContact(raw.contact) : null,
16
+ inboundEmail: raw.inbound_email, outboundEmail: raw.outbound_email,
17
+ inboundPhone: raw.inbound_phone, outboundPhone: raw.outbound_phone,
12
18
  email: raw.email, phone: raw.phone, fullProfile: raw.full_profile,
13
19
  visibility: raw.visibility };
14
20
  }
@@ -47,7 +53,11 @@ export class ContactCommunicationPolicyResource {
47
53
  }
48
54
  return parsePolicy(await this.http.put(`/contacts/${encodeURIComponent(contactId)}/communication-policy`, {
49
55
  expected_revision: options.expectedRevision, identity_id: options.identityId,
50
- addresses: options.addresses.map((row) => ({ kind: row.kind, value: row.value, action: row.action, expected_action: row.expectedAction })),
56
+ addresses: options.addresses.map((row) => ({ kind: row.kind, value: row.value, action: row.action, expected_action: row.expectedAction,
57
+ ...(row.direction !== undefined ? { direction: row.direction } : {}),
58
+ ...(row.expectedInboundAction !== undefined ? { expected_inbound_action: row.expectedInboundAction } : {}),
59
+ ...(row.expectedOutboundAction !== undefined ? { expected_outbound_action: row.expectedOutboundAction } : {}),
60
+ })),
51
61
  ...(options.visibility !== undefined ? { visibility: {
52
62
  defaults: options.visibility.defaults,
53
63
  identities: options.visibility.identities.map((row) => ({ identity_id: row.identityId, profile: row.profile, memories: row.memories })),
@@ -74,8 +84,15 @@ export class ContactCommunicationPolicyResource {
74
84
  reviewStatus: row.contact.review_status, emails: (row.contact.emails ?? []).map(parseContactEmail), phones: (row.contact.phones ?? []).map(parseContactPhone) },
75
85
  revision: row.revision,
76
86
  visibility: { defaults: row.visibility.defaults, identityOverride: row.visibility.identity_override },
77
- effective: row.effective,
78
- ...(row.access !== undefined ? { access: row.access } : {}),
87
+ effective: {
88
+ profile: row.effective.profile, memories: row.effective.memories,
89
+ email: row.effective.email, phone: row.effective.phone,
90
+ inboundEmail: row.effective.inbound_email ?? row.effective.email,
91
+ outboundEmail: row.effective.outbound_email ?? row.effective.email,
92
+ inboundPhone: row.effective.inbound_phone ?? row.effective.phone,
93
+ outboundPhone: row.effective.outbound_phone ?? row.effective.phone,
94
+ },
95
+ ...(row.access !== undefined ? { access: row.access === null ? null : parseContactAccessSettings(row.access) } : {}),
79
96
  })) };
80
97
  }
81
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"communicationPolicy.js","sourceRoot":"","sources":["../../../src/contacts/resources/communicationPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communicationPolicy.js","sourceRoot":"","sources":["../../../src/contacts/resources/communicationPolicy.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,10 @@ import { HttpTransport } from "../../_http.js";
7
7
  import { ContactAccess } from "../types.js";
8
8
  export interface ContactChannelAccess {
9
9
  visible: boolean;
10
+ /** Legacy read projection: addresses the agent may send to. */
10
11
  contactable: string[];
12
+ inboundContactable?: string[];
13
+ outboundContactable?: string[];
11
14
  }
12
15
  export interface ContactAccessSettings {
13
16
  email: ContactChannelAccess;
@@ -23,6 +26,21 @@ export interface UpdateContactAccess {
23
26
  profile?: boolean;
24
27
  memories?: boolean;
25
28
  }
29
+ /** @internal */
30
+ export interface RawContactAccessSettings extends Omit<ContactAccessSettings, "email" | "phone"> {
31
+ email: ContactChannelAccess & {
32
+ inbound_contactable?: string[];
33
+ outbound_contactable?: string[];
34
+ };
35
+ phone: ContactChannelAccess & {
36
+ inbound_contactable?: string[];
37
+ outbound_contactable?: string[];
38
+ };
39
+ }
40
+ /** @internal */
41
+ export declare function parseContactAccessSettings(raw: RawContactAccessSettings): ContactAccessSettings;
42
+ /** @internal */
43
+ export declare function contactAccessToWire(options: UpdateContactAccess): Record<string, unknown>;
26
44
  export declare class ContactAccessResource {
27
45
  private readonly http;
28
46
  constructor(http: HttpTransport);
@@ -1 +1 @@
1
- {"version":3,"file":"contactAccess.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,aAAa,EAGd,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,+EAA+E;IACzE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,6EAA6E;IACvE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQ7G;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAOxD"}
1
+ {"version":3,"file":"contactAccess.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,aAAa,EAGd,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9F,KAAK,EAAE,oBAAoB,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClG,KAAK,EAAE,oBAAoB,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACnG;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,wBAAwB,GAAG,qBAAqB,CAQ/F;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzF;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,+EAA+E;IACzE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,6EAA6E;IACvE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK7G;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAOxD"}
@@ -5,6 +5,47 @@
5
5
  */
6
6
  import { parseContactAccess, } from "../types.js";
7
7
  const BASE = "/contacts";
8
+ /** @internal */
9
+ export function parseContactAccessSettings(raw) {
10
+ const group = (value) => ({
11
+ visible: value.visible,
12
+ contactable: value.contactable,
13
+ inboundContactable: value.inbound_contactable ?? value.contactable,
14
+ outboundContactable: value.outbound_contactable ?? value.contactable,
15
+ });
16
+ return { profile: raw.profile, memories: raw.memories, email: group(raw.email), phone: group(raw.phone) };
17
+ }
18
+ /** @internal */
19
+ export function contactAccessToWire(options) {
20
+ const result = { ...options };
21
+ let enabled = options.memories === true;
22
+ for (const channel of ["email", "phone"]) {
23
+ const group = options[channel];
24
+ if (group === undefined)
25
+ continue;
26
+ if (group === null || Object.values(group).some((value) => value === null)) {
27
+ throw new TypeError("Contact access settings cannot be null");
28
+ }
29
+ if (group.contactable !== undefined && (group.inboundContactable !== undefined || group.outboundContactable !== undefined)) {
30
+ throw new TypeError("contactable cannot be combined with directional contactable lists");
31
+ }
32
+ const contactable = [group.contactable, group.inboundContactable, group.outboundContactable].some((values) => Boolean(values?.length));
33
+ if (group.visible === false && contactable)
34
+ throw new TypeError("Hidden addresses cannot be contactable");
35
+ enabled ||= group.visible === true || contactable;
36
+ const { inboundContactable, outboundContactable, ...shared } = group;
37
+ result[channel] = {
38
+ ...shared,
39
+ ...(inboundContactable !== undefined ? { inbound_contactable: inboundContactable } : {}),
40
+ ...(outboundContactable !== undefined ? { outbound_contactable: outboundContactable } : {}),
41
+ };
42
+ }
43
+ if (options.profile === null || options.memories === null)
44
+ throw new TypeError("Contact access settings cannot be null");
45
+ if (options.profile === false && enabled)
46
+ throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
47
+ return result;
48
+ }
8
49
  export class ContactAccessResource {
9
50
  http;
10
51
  constructor(http) {
@@ -12,14 +53,12 @@ export class ContactAccessResource {
12
53
  }
13
54
  /** Read group visibility and contactable addresses using admin credentials. */
14
55
  async get(handle, contactId) {
15
- return this.http.get(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/access`);
56
+ return parseContactAccessSettings(await this.http.get(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/access`));
16
57
  }
17
58
  /** Save partial access choices; hiding Profile also hides omitted groups. */
18
59
  async update(handle, contactId, options) {
19
- if (options.profile === false && (options.memories === true
20
- || [options.email, options.phone].some((group) => group?.visible === true || Boolean(group?.contactable?.length))))
21
- throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
22
- return this.http.patch(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/access`, options);
60
+ const body = contactAccessToWire(options);
61
+ return parseContactAccessSettings(await this.http.patch(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/access`, body));
23
62
  }
24
63
  /**
25
64
  * List deprecated read-only compatibility metadata for a contact.
@@ -1 +1 @@
1
- {"version":3,"file":"contactAccess.js","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AAwBzB,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,+EAA+E;IAC/E,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,SAAiB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrH,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,SAAiB,EAAE,OAA4B;QAC1E,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,CAC/B,OAAO,CAAC,QAAQ,KAAK,IAAI;eACtB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAClH;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChI,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAE9B,GAAG,IAAI,IAAI,SAAS,SAAS,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"contactAccess.js","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AAiCzB,gBAAgB;AAChB,MAAM,UAAU,0BAA0B,CAAC,GAA6B;IACtE,MAAM,KAAK,GAAG,CAAC,KAAwC,EAAwB,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,kBAAkB,EAAE,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,WAAW;QAClE,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,WAAW;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,MAAM,MAAM,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IACvD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,EAAE,CAAC;YAC3H,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW;YAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAC1G,OAAO,KAAK,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;QAClD,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,GAAG;YAChB,GAAG,MAAM;YACT,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACzH,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACnI,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,+EAA+E;IAC/E,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,SAAiB;QACzC,OAAO,0BAA0B,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACvJ,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,SAAiB,EAAE,OAA4B;QAC1E,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,0BAA0B,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/J,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAE9B,GAAG,IAAI,IAAI,SAAS,SAAS,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { HttpTransport } from "../../_http.js";
7
7
  import { ContactAccessResource, type ContactChannelAccessUpdate } from "./contactAccess.js";
8
- import { ContactCommunicationPolicyResource } from "./communicationPolicy.js";
8
+ import { ContactCommunicationPolicyResource, type ContactAddressUpdate, type ContactDecision } from "./communicationPolicy.js";
9
9
  import { ContactPermissionsResource, type UpdateContactPermissions } from "./permissions.js";
10
10
  import { ContactCorrespondenceResource } from "./correspondence.js";
11
11
  import { ContactFactsResource } from "./contactFacts.js";
@@ -26,21 +26,33 @@ export interface LookupContactsOptions {
26
26
  phone?: string;
27
27
  phoneContains?: string;
28
28
  }
29
- interface ContactCreatePermissionsBase extends Omit<UpdateContactPermissions, "emails" | "phones"> {
29
+ type ContactPermissionMaps = Omit<UpdateContactPermissions, "profile" | "memories">;
30
+ interface ContactCreatePermissionsBase extends Pick<UpdateContactPermissions, "profile" | "memories"> {
30
31
  identityId: string;
31
32
  }
32
- /** Use group access objects or boolean address maps, without mixing the two shapes. */
33
- export type ContactCreatePermissions = ContactCreatePermissionsBase & ({
34
- emails?: Record<string, boolean>;
35
- phones?: Record<string, boolean>;
33
+ /** Use group access or boolean address maps without mixing shapes. */
34
+ export type ContactCreatePermissions = ContactCreatePermissionsBase & ((ContactPermissionMaps & {
36
35
  email?: never;
37
36
  phone?: never;
38
- } | {
39
- emails?: never;
40
- phones?: never;
37
+ addresses?: never;
38
+ }) | ({
39
+ [Key in keyof ContactPermissionMaps]?: never;
40
+ } & {
41
41
  email?: ContactChannelAccessUpdate;
42
42
  phone?: ContactChannelAccessUpdate;
43
- });
43
+ addresses?: never;
44
+ }));
45
+ /** Initial explicit address decisions, including independent choices for each direction. */
46
+ export type ContactCreateAddressPermissions = {
47
+ [Key in keyof ContactPermissionMaps]?: never;
48
+ } & {
49
+ identityId: string;
50
+ email?: never;
51
+ phone?: never;
52
+ addresses: Pick<ContactAddressUpdate, "kind" | "value" | "action" | "direction">[];
53
+ profile?: ContactDecision;
54
+ memories?: ContactDecision;
55
+ };
44
56
  export interface CreateContactOptions {
45
57
  preferredName?: string;
46
58
  namePrefix?: string;
@@ -62,6 +74,9 @@ export interface CreateContactOptions {
62
74
  /** Initial selected-agent access saved atomically; requires an admin API key. */
63
75
  permissions?: ContactCreatePermissions;
64
76
  }
77
+ export type CreateContactWithAddressPermissionsOptions = Omit<CreateContactOptions, "permissions"> & {
78
+ permissions: ContactCreateAddressPermissions;
79
+ };
65
80
  export interface UpdateContactOptions {
66
81
  preferredName?: string | null;
67
82
  namePrefix?: string | null;
@@ -99,6 +114,7 @@ export declare class ContactsResource {
99
114
  list(options?: ListContactsOptions): Promise<Contact[]>;
100
115
  lookup(options: LookupContactsOptions): Promise<Contact[]>;
101
116
  get(contactId: string): Promise<Contact>;
117
+ create(options: CreateContactWithAddressPermissionsOptions): Promise<Contact>;
102
118
  create(options?: CreateContactOptions): Promise<Contact>;
103
119
  update(contactId: string, options: UpdateContactOptions): Promise<Contact>;
104
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Contacts CRUD + search + lookup.
5
5
  */
6
- import { ContactAccessResource } from "./contactAccess.js";
6
+ import { ContactAccessResource, contactAccessToWire } from "./contactAccess.js";
7
7
  import { ContactCommunicationPolicyResource } from "./communicationPolicy.js";
8
- import { ContactPermissionsResource } from "./permissions.js";
8
+ import { ContactPermissionsResource, contactPermissionsToWire } from "./permissions.js";
9
9
  import { ContactCorrespondenceResource } from "./correspondence.js";
10
10
  import { ContactFactsResource } from "./contactFacts.js";
11
11
  import { VCardsResource } from "./vcards.js";
@@ -101,16 +101,25 @@ export class ContactsResource {
101
101
  body.custom_fields = options.customFields.map(contactCustomFieldToWire);
102
102
  if (options.permissions !== undefined) {
103
103
  const { identityId, ...permissions } = options.permissions;
104
- const usesMaps = permissions.emails !== undefined || permissions.phones !== undefined;
104
+ const usesMaps = [permissions.emails, permissions.phones, permissions.inboundEmails,
105
+ permissions.outboundEmails, permissions.inboundPhones, permissions.outboundPhones].some((value) => value !== undefined);
105
106
  const usesGroups = permissions.email !== undefined || permissions.phone !== undefined;
106
107
  if (usesMaps && usesGroups)
107
108
  throw new Error("Use boolean address maps or group access objects, not both");
108
- if (permissions.profile === false && (permissions.memories === true
109
- || Object.values(permissions.emails ?? {}).some(Boolean)
110
- || Object.values(permissions.phones ?? {}).some(Boolean)
111
- || [permissions.email, permissions.phone].some((group) => group?.visible === true || Boolean(group?.contactable?.length))))
112
- throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
113
- body.permissions = { ...permissions, identity_id: identityId };
109
+ if (permissions.addresses !== undefined) {
110
+ if (usesMaps || usesGroups)
111
+ throw new Error("Address decisions cannot be combined with permission maps or groups");
112
+ if (!Array.isArray(permissions.addresses) || permissions.addresses.length > 200) {
113
+ throw new TypeError("Initial address decisions must be an array of at most 200 entries");
114
+ }
115
+ if (permissions.profile === "block" && (permissions.memories === "allow" || permissions.addresses.some((row) => row.action === "allow"))) {
116
+ throw new Error("Profile cannot be blocked while email, phone, or memories is allowed");
117
+ }
118
+ body.permissions = { ...permissions, identity_id: identityId };
119
+ }
120
+ else {
121
+ body.permissions = { ...(usesGroups ? contactAccessToWire(permissions) : contactPermissionsToWire(permissions)), identity_id: identityId };
122
+ }
114
123
  }
115
124
  const data = await this.http.post(options.permissions !== undefined ? `${BASE}/with-permissions` : BASE, body);
116
125
  return parseContact(data);
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,17 @@ import { HttpTransport } from "../../_http.js";
3
3
  export interface ContactPermissions {
4
4
  emails: Record<string, boolean>;
5
5
  phones: Record<string, boolean>;
6
+ inboundEmails?: Record<string, boolean>;
7
+ outboundEmails?: Record<string, boolean>;
8
+ inboundPhones?: Record<string, boolean>;
9
+ outboundPhones?: Record<string, boolean>;
6
10
  profile: boolean;
7
11
  memories: boolean;
8
12
  }
9
13
  /** Omitted fields and addresses keep their existing settings. */
10
14
  export type UpdateContactPermissions = Partial<ContactPermissions>;
15
+ /** @internal Used for updates and atomic initial permissions. */
16
+ export declare function contactPermissionsToWire(options: UpdateContactPermissions): Record<string, unknown>;
11
17
  export declare class ContactPermissionsResource {
12
18
  private readonly http;
13
19
  constructor(http: HttpTransport);
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEnE,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,qDAAqD;IAC/C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzE,4DAA4D;IACtD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQhH"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AA0BnE,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BnG;AAED,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,qDAAqD;IAC/C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzE,4DAA4D;IACtD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAIhH"}
@@ -1,3 +1,51 @@
1
+ function parseContactPermissions(raw) {
2
+ return {
3
+ emails: { ...(raw.outbound_emails ?? raw.emails) },
4
+ phones: { ...(raw.outbound_phones ?? raw.phones) },
5
+ inboundEmails: { ...(raw.inbound_emails ?? raw.emails) },
6
+ outboundEmails: { ...(raw.outbound_emails ?? raw.emails) },
7
+ inboundPhones: { ...(raw.inbound_phones ?? raw.phones) },
8
+ outboundPhones: { ...(raw.outbound_phones ?? raw.phones) },
9
+ profile: raw.profile,
10
+ memories: raw.memories,
11
+ };
12
+ }
13
+ /** @internal Used for updates and atomic initial permissions. */
14
+ export function contactPermissionsToWire(options) {
15
+ const body = {};
16
+ let enabled = options.memories === true;
17
+ for (const [shared, inbound, outbound] of [
18
+ ["emails", "inboundEmails", "outboundEmails"],
19
+ ["phones", "inboundPhones", "outboundPhones"],
20
+ ]) {
21
+ if (options[shared] !== undefined && (options[inbound] !== undefined || options[outbound] !== undefined)) {
22
+ throw new TypeError(`Cannot combine shared and directional ${shared}`);
23
+ }
24
+ for (const [key, wire] of [[shared, shared], [inbound, `inbound_${shared}`], [outbound, `outbound_${shared}`]]) {
25
+ const values = options[key];
26
+ if (values === undefined)
27
+ continue;
28
+ if (values === null || typeof values !== "object" || Array.isArray(values)
29
+ || Object.values(values).some((value) => typeof value !== "boolean")) {
30
+ throw new TypeError(`${key} must be an address-to-boolean object`);
31
+ }
32
+ if (Object.keys(values).length > 50)
33
+ throw new RangeError(`${key} cannot exceed 50 entries`);
34
+ enabled ||= Object.values(values).some(Boolean);
35
+ body[wire] = values;
36
+ }
37
+ }
38
+ for (const key of ["profile", "memories"]) {
39
+ if (options[key] === undefined)
40
+ continue;
41
+ if (typeof options[key] !== "boolean")
42
+ throw new TypeError(`${key} must be true or false`);
43
+ body[key] = options[key];
44
+ }
45
+ if (options.profile === false && enabled)
46
+ throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
47
+ return body;
48
+ }
1
49
  export class ContactPermissionsResource {
2
50
  http;
3
51
  constructor(http) {
@@ -5,15 +53,12 @@ export class ContactPermissionsResource {
5
53
  }
6
54
  /** Read effective access using admin credentials. */
7
55
  async get(handle, contactId) {
8
- return this.http.get(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/permissions`);
56
+ return parseContactPermissions(await this.http.get(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/permissions`));
9
57
  }
10
58
  /** Save explicit yes/no choices using admin credentials. */
11
59
  async update(handle, contactId, options) {
12
- if (options.profile === false && (options.memories === true
13
- || Object.values(options.emails ?? {}).some(Boolean)
14
- || Object.values(options.phones ?? {}).some(Boolean)))
15
- throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
16
- return this.http.patch(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/permissions`, options);
60
+ const body = contactPermissionsToWire(options);
61
+ return parseContactPermissions(await this.http.patch(`/identities/${encodeURIComponent(handle)}/contacts/${encodeURIComponent(contactId)}/permissions`, body));
17
62
  }
18
63
  }
19
64
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/contacts/resources/permissions.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,qDAAqD;IACrD,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,SAAiB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1H,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAiC;QAC/E,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,CAC/B,OAAO,CAAC,QAAQ,KAAK,IAAI;eACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;eACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CACrD;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrI,CAAC;CACF"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/contacts/resources/permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../src/identities/resources/identities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAA0C,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EASnB,MAAM,aAAa,CAAC;AAErB,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,mBAAmB,CAAC,EAAE,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,4BAA4B,CAAC;QACvC,MAAM,CAAC,EAAE,2BAA2B,CAAC;QACrC,WAAW,CAAC,EAAE,gCAAgC,CAAC;QAC/C,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;KAClD,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4B/B,iEAAiE;IAC3D,IAAI,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAK7C;;;;OAIG;IACG,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK3D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IAmD9B;;;;;;;;OAQG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;OAOG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI7D"}
1
+ {"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../src/identities/resources/identities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAA0C,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EASnB,MAAM,aAAa,CAAC;AAErB,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,mBAAmB,CAAC,EAAE,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,4BAA4B,CAAC;QACvC,MAAM,CAAC,EAAE,2BAA2B,CAAC;QACrC,WAAW,CAAC,EAAE,gCAAgC,CAAC;QAC/C,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;KAClD,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4B/B,iEAAiE;IAC3D,IAAI,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAK7C;;;;OAIG;IACG,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK3D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IA+D9B;;;;;;;;OAQG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;OAOG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI7D"}
@@ -161,6 +161,21 @@ export class IdentitiesResource {
161
161
  body["mail_filter_mode"] = options.mailFilterMode;
162
162
  if (options.phoneFilterMode !== undefined)
163
163
  body["phone_filter_mode"] = options.phoneFilterMode;
164
+ for (const channel of ["mail", "phone"]) {
165
+ const inbound = options[`${channel}InboundFilterMode`];
166
+ const outbound = options[`${channel}OutboundFilterMode`];
167
+ const shared = options[`${channel}FilterMode`] !== undefined
168
+ || (channel === "phone" && options.imessageFilterMode !== undefined);
169
+ if (shared && (inbound !== undefined || outbound !== undefined)) {
170
+ throw new TypeError(`Shared and directional ${channel} filter modes cannot be combined`);
171
+ }
172
+ if (inbound === null || outbound === null)
173
+ throw new TypeError("Filter modes cannot be null");
174
+ if (inbound !== undefined)
175
+ body[`${channel}_inbound_filter_mode`] = inbound;
176
+ if (outbound !== undefined)
177
+ body[`${channel}_outbound_filter_mode`] = outbound;
178
+ }
164
179
  try {
165
180
  const data = options.idempotencyKey === undefined
166
181
  ? await this.http.patch(`/${agentHandle}`, body)