@inkbox/sdk 0.5.0 → 0.5.2

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 (53) hide show
  1. package/README.md +4 -0
  2. package/dist/_http.d.ts +7 -2
  3. package/dist/_http.d.ts.map +1 -1
  4. package/dist/_http.js +19 -5
  5. package/dist/_http.js.map +1 -1
  6. package/dist/contacts/correspondence.d.ts +172 -0
  7. package/dist/contacts/correspondence.d.ts.map +1 -0
  8. package/dist/contacts/correspondence.js +91 -0
  9. package/dist/contacts/correspondence.js.map +1 -0
  10. package/dist/contacts/facts.d.ts +73 -0
  11. package/dist/contacts/facts.d.ts.map +1 -0
  12. package/dist/contacts/facts.js +44 -0
  13. package/dist/contacts/facts.js.map +1 -0
  14. package/dist/contacts/index.d.ts +6 -1
  15. package/dist/contacts/index.d.ts.map +1 -1
  16. package/dist/contacts/index.js +2 -0
  17. package/dist/contacts/index.js.map +1 -1
  18. package/dist/contacts/resources/contactAccess.d.ts +6 -9
  19. package/dist/contacts/resources/contactAccess.d.ts.map +1 -1
  20. package/dist/contacts/resources/contactAccess.js +6 -14
  21. package/dist/contacts/resources/contactAccess.js.map +1 -1
  22. package/dist/contacts/resources/contactFacts.d.ts +13 -0
  23. package/dist/contacts/resources/contactFacts.d.ts.map +1 -0
  24. package/dist/contacts/resources/contactFacts.js +40 -0
  25. package/dist/contacts/resources/contactFacts.js.map +1 -0
  26. package/dist/contacts/resources/contacts.d.ts +21 -10
  27. package/dist/contacts/resources/contacts.d.ts.map +1 -1
  28. package/dist/contacts/resources/contacts.js +44 -10
  29. package/dist/contacts/resources/contacts.js.map +1 -1
  30. package/dist/contacts/resources/correspondence.d.ts +26 -0
  31. package/dist/contacts/resources/correspondence.d.ts.map +1 -0
  32. package/dist/contacts/resources/correspondence.js +35 -0
  33. package/dist/contacts/resources/correspondence.js.map +1 -0
  34. package/dist/contacts/resources/vcards.d.ts +3 -1
  35. package/dist/contacts/resources/vcards.d.ts.map +1 -1
  36. package/dist/contacts/resources/vcards.js +8 -1
  37. package/dist/contacts/resources/vcards.js.map +1 -1
  38. package/dist/contacts/types.d.ts +81 -3
  39. package/dist/contacts/types.d.ts.map +1 -1
  40. package/dist/contacts/types.js +42 -0
  41. package/dist/contacts/types.js.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/inkbox.d.ts +1 -1
  46. package/dist/inkbox.d.ts.map +1 -1
  47. package/dist/inkbox.js +1 -1
  48. package/dist/inkbox.js.map +1 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/dist/webhooks/types.d.ts +4 -0
  52. package/dist/webhooks/types.d.ts.map +1 -1
  53. package/package.json +1 -1
@@ -1,21 +1,18 @@
1
1
  /**
2
2
  * inkbox-contacts/resources/contactAccess.ts
3
3
  *
4
- * Per-contact access grant management.
4
+ * Deprecated read-only compatibility metadata that does not restrict
5
+ * organization-wide contact visibility.
5
6
  */
6
7
  import { HttpTransport } from "../../_http.js";
7
8
  import { ContactAccess } from "../types.js";
8
- export interface GrantContactAccessOptions {
9
- /** Identity UUID to grant. Mutually exclusive with `wildcard`. */
10
- identityId?: string;
11
- /** When true, reset to a wildcard grant (every active identity sees it). */
12
- wildcard?: boolean;
13
- }
14
9
  export declare class ContactAccessResource {
15
10
  private readonly http;
16
11
  constructor(http: HttpTransport);
12
+ /**
13
+ * List deprecated read-only compatibility metadata for a contact.
14
+ * These records do not restrict organization-wide contact visibility.
15
+ */
17
16
  list(contactId: string): Promise<ContactAccess[]>;
18
- grant(contactId: string, options: GrantContactAccessOptions): Promise<ContactAccess>;
19
- revoke(contactId: string, identityId: string): Promise<void>;
20
17
  }
21
18
  //# sourceMappingURL=contactAccess.d.ts.map
@@ -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,yBAAyB;IACxC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQjD,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC;IAcnB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnE"}
1
+ {"version":3,"file":"contactAccess.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,aAAa,EAGd,MAAM,aAAa,CAAC;AAIrB,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAOxD"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * inkbox-contacts/resources/contactAccess.ts
3
3
  *
4
- * Per-contact access grant management.
4
+ * Deprecated read-only compatibility metadata that does not restrict
5
+ * organization-wide contact visibility.
5
6
  */
6
7
  import { parseContactAccess, } from "../types.js";
7
8
  const BASE = "/contacts";
@@ -10,23 +11,14 @@ export class ContactAccessResource {
10
11
  constructor(http) {
11
12
  this.http = http;
12
13
  }
14
+ /**
15
+ * List deprecated read-only compatibility metadata for a contact.
16
+ * These records do not restrict organization-wide contact visibility.
17
+ */
13
18
  async list(contactId) {
14
19
  const data = await this.http.get(`${BASE}/${contactId}/access`);
15
20
  const items = Array.isArray(data) ? data : data.items;
16
21
  return items.map(parseContactAccess);
17
22
  }
18
- async grant(contactId, options) {
19
- if (options.wildcard && options.identityId !== undefined) {
20
- throw new Error("Pass either identityId or wildcard: true, not both.");
21
- }
22
- const body = {
23
- identity_id: options.wildcard ? null : options.identityId ?? null,
24
- };
25
- const data = await this.http.post(`${BASE}/${contactId}/access`, body);
26
- return parseContactAccess(data);
27
- }
28
- async revoke(contactId, identityId) {
29
- await this.http.delete(`${BASE}/${contactId}/access/${identityId}`);
30
- }
31
23
  }
32
24
  //# sourceMappingURL=contactAccess.js.map
@@ -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;AASzB,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,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;IAED,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,OAAkC;QAElC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI;SAClE,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,GAAG,IAAI,IAAI,SAAS,SAAS,EAC7B,IAAI,CACL,CAAC;QACF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,UAAkB;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,SAAS,WAAW,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"contactAccess.js","sourceRoot":"","sources":["../../../src/contacts/resources/contactAccess.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAGL,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;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"}
@@ -0,0 +1,13 @@
1
+ import { HttpTransport } from "../../_http.js";
2
+ import { ContactFact, ContactFactCitationDetail, ContactFactDeleteResult } from "../facts.js";
3
+ export declare class ContactFactsResource {
4
+ private readonly http;
5
+ constructor(http: HttpTransport);
6
+ list(contactId: string): Promise<ContactFact[]>;
7
+ get(contactId: string, factId: string): Promise<ContactFact>;
8
+ resolveCitation(contactId: string, factId: string, citationId: string): Promise<ContactFactCitationDetail>;
9
+ resolveCitationUrl(sourceUrl: string): Promise<ContactFactCitationDetail>;
10
+ /** Delete a fact using an admin-scoped API key. */
11
+ delete(contactId: string, factId: string): Promise<ContactFactDeleteResult>;
12
+ }
13
+ //# sourceMappingURL=contactFacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactFacts.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contactFacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EAOxB,MAAM,aAAa,CAAC;AAIrB,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAK/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO5D,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,CAAC;IAO/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAe/E,mDAAmD;IAC7C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAMlF"}
@@ -0,0 +1,40 @@
1
+ import { parseContactFact, parseContactFactCitationDetail, parseContactFactDeleteResult, } from "../facts.js";
2
+ const BASE = "/contacts";
3
+ export class ContactFactsResource {
4
+ http;
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ async list(contactId) {
9
+ const data = await this.http.get(`${BASE}/${contactId}/facts`);
10
+ return data.map(parseContactFact);
11
+ }
12
+ async get(contactId, factId) {
13
+ const data = await this.http.get(`${BASE}/${contactId}/facts/${factId}`);
14
+ return parseContactFact(data);
15
+ }
16
+ async resolveCitation(contactId, factId, citationId) {
17
+ const data = await this.http.get(`${BASE}/${contactId}/facts/${factId}/citations/${citationId}`);
18
+ return parseContactFactCitationDetail(data);
19
+ }
20
+ async resolveCitationUrl(sourceUrl) {
21
+ const path = sourceUrl.startsWith("http://") || sourceUrl.startsWith("https://")
22
+ ? (() => {
23
+ const parsed = new URL(sourceUrl);
24
+ return `${parsed.pathname}${parsed.search}`;
25
+ })()
26
+ : sourceUrl;
27
+ const relativePath = path.startsWith("/api/v1/") ? path.slice("/api/v1".length) : path;
28
+ if (!relativePath.startsWith("/contacts/")) {
29
+ throw new Error("sourceUrl must be a contact citation URL");
30
+ }
31
+ const data = await this.http.get(relativePath);
32
+ return parseContactFactCitationDetail(data);
33
+ }
34
+ /** Delete a fact using an admin-scoped API key. */
35
+ async delete(contactId, factId) {
36
+ const data = await this.http.deleteWithResponse(`${BASE}/${contactId}/facts/${factId}`);
37
+ return parseContactFactDeleteResult(data);
38
+ }
39
+ }
40
+ //# sourceMappingURL=contactFacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactFacts.js","sourceRoot":"","sources":["../../../src/contacts/resources/contactFacts.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,gBAAgB,EAChB,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,GAAG,IAAI,IAAI,SAAS,QAAQ,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,MAAc;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,GAAG,IAAI,IAAI,SAAS,UAAU,MAAM,EAAE,CACvC,CAAC;QACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,MAAc,EACd,UAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,GAAG,IAAI,IAAI,SAAS,UAAU,MAAM,cAAc,UAAU,EAAE,CAC/D,CAAC;QACF,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9E,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClC,OAAO,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9C,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA+B,YAAY,CAAC,CAAC;QAC7E,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAc;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAC7C,GAAG,IAAI,IAAI,SAAS,UAAU,MAAM,EAAE,CACvC,CAAC;QACF,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -5,13 +5,17 @@
5
5
  */
6
6
  import { HttpTransport } from "../../_http.js";
7
7
  import { ContactAccessResource } from "./contactAccess.js";
8
+ import { ContactCorrespondenceResource } from "./correspondence.js";
9
+ import { ContactFactsResource } from "./contactFacts.js";
8
10
  import { VCardsResource } from "./vcards.js";
9
- import { Contact, ContactAddress, ContactCustomField, ContactDate, ContactEmail, ContactPhone, ContactWebsite } from "../types.js";
11
+ import { Contact, ContactAddress, ContactBulkDeleteResult, ContactCustomField, ContactDate, ContactEmail, ContactPhone, ContactReviewStatus, ContactWebsite } from "../types.js";
10
12
  export interface ListContactsOptions {
11
13
  q?: string;
12
14
  order?: "name" | "recent" | string;
13
15
  limit?: number;
16
+ /** Offset from 0 through 10,000. */
14
17
  offset?: number;
18
+ reviewStatus?: ContactReviewStatus[];
15
19
  }
16
20
  export interface LookupContactsOptions {
17
21
  email?: string;
@@ -38,15 +42,6 @@ export interface CreateContactOptions {
38
42
  dates?: ContactDate[];
39
43
  addresses?: ContactAddress[];
40
44
  customFields?: ContactCustomField[];
41
- /**
42
- * Access control at create time.
43
- * - `undefined` (default) / `"wildcard"` — one wildcard row, every active
44
- * identity sees the contact.
45
- * - `[]` — zero grants (only admin + human callers see it).
46
- * - Explicit list of identity UUIDs — one per-identity grant each. Capped
47
- * at 500 entries server-side.
48
- */
49
- accessIdentityIds?: string[] | "wildcard" | null;
50
45
  }
51
46
  export interface UpdateContactOptions {
52
47
  preferredName?: string | null;
@@ -66,10 +61,18 @@ export interface UpdateContactOptions {
66
61
  dates?: ContactDate[] | null;
67
62
  addresses?: ContactAddress[] | null;
68
63
  customFields?: ContactCustomField[] | null;
64
+ reviewStatus?: ContactReviewStatus;
65
+ }
66
+ export type ContactMergeField = "preferredName" | "namePrefix" | "givenName" | "middleName" | "familyName" | "nameSuffix" | "companyName" | "jobTitle" | "birthday" | "notes";
67
+ export interface MergeContactsOptions {
68
+ losingContactIds: string[];
69
+ fieldSources?: Partial<Record<ContactMergeField, string>>;
69
70
  }
70
71
  export declare class ContactsResource {
71
72
  private readonly http;
72
73
  readonly access: ContactAccessResource;
74
+ readonly correspondence: ContactCorrespondenceResource;
75
+ readonly facts: ContactFactsResource;
73
76
  readonly vcards: VCardsResource;
74
77
  constructor(http: HttpTransport);
75
78
  list(options?: ListContactsOptions): Promise<Contact[]>;
@@ -77,6 +80,14 @@ export declare class ContactsResource {
77
80
  get(contactId: string): Promise<Contact>;
78
81
  create(options?: CreateContactOptions): Promise<Contact>;
79
82
  update(contactId: string, options: UpdateContactOptions): Promise<Contact>;
83
+ /**
84
+ * Merge contacts using an admin-scoped API key.
85
+ *
86
+ * The server rejects the merge atomically if the result would exceed 25 active
87
+ * memories. Delete unwanted facts and retry.
88
+ */
89
+ merge(contactId: string, options: MergeContactsOptions): Promise<Contact>;
80
90
  delete(contactId: string): Promise<void>;
91
+ bulkDelete(contactIds: string[]): Promise<ContactBulkDeleteResult>;
81
92
  }
82
93
  //# sourceMappingURL=contacts.d.ts.map
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EAWf,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,mBAAmB;IAClC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,UAAU,GACV,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3D;AAED,qBAAa,gBAAgB;IAMf,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEH,IAAI,EAAE,aAAa;IAO1C,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAe3D,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuB1D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,MAAM,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwChF;;;;;OAKG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBzE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAMzE"}
@@ -4,16 +4,22 @@
4
4
  * Contacts CRUD + search + lookup.
5
5
  */
6
6
  import { ContactAccessResource } from "./contactAccess.js";
7
+ import { ContactCorrespondenceResource } from "./correspondence.js";
8
+ import { ContactFactsResource } from "./contactFacts.js";
7
9
  import { VCardsResource } from "./vcards.js";
8
- import { contactAddressToWire, contactCustomFieldToWire, contactDateToWire, contactEmailToWire, contactPhoneToWire, contactWebsiteToWire, parseContact, } from "../types.js";
10
+ import { contactAddressToWire, contactCustomFieldToWire, contactDateToWire, contactEmailToWire, contactPhoneToWire, contactWebsiteToWire, parseContact, parseContactBulkDeleteResult, } from "../types.js";
9
11
  const BASE = "/contacts";
10
12
  export class ContactsResource {
11
13
  http;
12
14
  access;
15
+ correspondence;
16
+ facts;
13
17
  vcards;
14
18
  constructor(http) {
15
19
  this.http = http;
16
20
  this.access = new ContactAccessResource(http);
21
+ this.correspondence = new ContactCorrespondenceResource(http);
22
+ this.facts = new ContactFactsResource(http);
17
23
  this.vcards = new VCardsResource(http);
18
24
  }
19
25
  async list(options = {}) {
@@ -26,6 +32,8 @@ export class ContactsResource {
26
32
  params.limit = options.limit;
27
33
  if (options.offset !== undefined)
28
34
  params.offset = options.offset;
35
+ if (options.reviewStatus !== undefined)
36
+ params.review_status = options.reviewStatus;
29
37
  const data = await this.http.get(BASE, params);
30
38
  const items = Array.isArray(data) ? data : data.items;
31
39
  return items.map(parseContact);
@@ -85,15 +93,6 @@ export class ContactsResource {
85
93
  body.addresses = options.addresses.map(contactAddressToWire);
86
94
  if (options.customFields !== undefined)
87
95
  body.custom_fields = options.customFields.map(contactCustomFieldToWire);
88
- if (options.accessIdentityIds === undefined || options.accessIdentityIds === "wildcard") {
89
- // omit — server wildcards by default
90
- }
91
- else if (options.accessIdentityIds === null) {
92
- body.access_identity_ids = null;
93
- }
94
- else {
95
- body.access_identity_ids = options.accessIdentityIds;
96
- }
97
96
  const data = await this.http.post(BASE, body);
98
97
  return parseContact(data);
99
98
  }
@@ -110,6 +109,7 @@ export class ContactsResource {
110
109
  ["jobTitle", "job_title"],
111
110
  ["birthday", "birthday"],
112
111
  ["notes", "notes"],
112
+ ["reviewStatus", "review_status"],
113
113
  ]) {
114
114
  if (key in options)
115
115
  body[wire] = options[key];
@@ -136,8 +136,42 @@ export class ContactsResource {
136
136
  const data = await this.http.patch(`${BASE}/${contactId}`, body);
137
137
  return parseContact(data);
138
138
  }
139
+ /**
140
+ * Merge contacts using an admin-scoped API key.
141
+ *
142
+ * The server rejects the merge atomically if the result would exceed 25 active
143
+ * memories. Delete unwanted facts and retry.
144
+ */
145
+ async merge(contactId, options) {
146
+ const fieldSources = Object.fromEntries(Object.entries(options.fieldSources ?? {}).map(([key, value]) => [
147
+ {
148
+ preferredName: "preferred_name",
149
+ namePrefix: "name_prefix",
150
+ givenName: "given_name",
151
+ middleName: "middle_name",
152
+ familyName: "family_name",
153
+ nameSuffix: "name_suffix",
154
+ companyName: "company_name",
155
+ jobTitle: "job_title",
156
+ birthday: "birthday",
157
+ notes: "notes",
158
+ }[key],
159
+ value,
160
+ ]));
161
+ const data = await this.http.post(`${BASE}/${contactId}/merge`, {
162
+ losing_contact_ids: options.losingContactIds,
163
+ field_sources: fieldSources,
164
+ });
165
+ return parseContact(data);
166
+ }
139
167
  async delete(contactId) {
140
168
  await this.http.delete(`${BASE}/${contactId}`);
141
169
  }
170
+ async bulkDelete(contactIds) {
171
+ const data = await this.http.post(`${BASE}/bulk-delete`, {
172
+ contact_ids: contactIds,
173
+ });
174
+ return parseContactBulkDeleteResult(data);
175
+ }
142
176
  }
143
177
  //# sourceMappingURL=contacts.js.map
@@ -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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"}
@@ -0,0 +1,26 @@
1
+ import { HttpTransport } from "../../_http.js";
2
+ import { ContactCorrespondence, CorrespondenceChannel, CorrespondenceContentMode, CorrespondenceOrder, CorrespondenceTranscriptMode } from "../correspondence.js";
3
+ export interface ContactCorrespondenceOptions {
4
+ channels?: CorrespondenceChannel[];
5
+ after?: Date | string;
6
+ before?: Date | string;
7
+ limitPerChannel?: number;
8
+ emailLimit?: number;
9
+ smsLimit?: number;
10
+ imessageLimit?: number;
11
+ callsLimit?: number;
12
+ cursor?: string;
13
+ order?: CorrespondenceOrder;
14
+ content?: CorrespondenceContentMode;
15
+ transcripts?: CorrespondenceTranscriptMode;
16
+ includeFailed?: boolean;
17
+ identityId?: string;
18
+ }
19
+ export type GetContactCorrespondenceOptions = ContactCorrespondenceOptions;
20
+ export declare class ContactCorrespondenceResource {
21
+ private readonly http;
22
+ constructor(http: HttpTransport);
23
+ get(contactId: string, options?: ContactCorrespondenceOptions): Promise<ContactCorrespondence>;
24
+ list(contactId: string, options?: ContactCorrespondenceOptions): Promise<ContactCorrespondence>;
25
+ }
26
+ //# sourceMappingURL=correspondence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correspondence.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/correspondence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAG7B,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,WAAW,CAAC,EAAE,4BAA4B,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAM3E,qBAAa,6BAA6B;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,qBAAqB,CAAC;IA2B3B,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,qBAAqB,CAAC;CAGlC"}
@@ -0,0 +1,35 @@
1
+ import { parseContactCorrespondence, } from "../correspondence.js";
2
+ const BASE = "/contacts";
3
+ function serializeDate(value) {
4
+ return value instanceof Date ? value.toISOString() : value;
5
+ }
6
+ export class ContactCorrespondenceResource {
7
+ http;
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ async get(contactId, options = {}) {
12
+ const params = {
13
+ channels: options.channels,
14
+ after: options.after === undefined ? undefined : serializeDate(options.after),
15
+ before: options.before === undefined ? undefined : serializeDate(options.before),
16
+ limit_per_channel: options.limitPerChannel,
17
+ email_limit: options.emailLimit,
18
+ sms_limit: options.smsLimit,
19
+ imessage_limit: options.imessageLimit,
20
+ calls_limit: options.callsLimit,
21
+ cursor: options.cursor,
22
+ order: options.order,
23
+ content: options.content,
24
+ transcripts: options.transcripts,
25
+ include_failed: options.includeFailed,
26
+ identity_id: options.identityId,
27
+ };
28
+ const data = await this.http.get(`${BASE}/${contactId}/correspondence`, params);
29
+ return parseContactCorrespondence(data);
30
+ }
31
+ async list(contactId, options = {}) {
32
+ return this.get(contactId, options);
33
+ }
34
+ }
35
+ //# sourceMappingURL=correspondence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correspondence.js","sourceRoot":"","sources":["../../../src/contacts/resources/correspondence.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,IAAI,GAAG,WAAW,CAAC;AAqBzB,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,MAAM,OAAO,6BAA6B;IACX;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,UAAwC,EAAE;QAE1C,MAAM,MAAM,GAGR;YACF,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7E,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAChF,iBAAiB,EAAE,OAAO,CAAC,eAAe;YAC1C,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,WAAW,EAAE,OAAO,CAAC,UAAU;SAChC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,GAAG,IAAI,IAAI,SAAS,iBAAiB,EACrC,MAAM,CACP,CAAC;QACF,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CACR,SAAiB,EACjB,UAAwC,EAAE;QAE1C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -4,7 +4,7 @@
4
4
  * vCard import / export.
5
5
  */
6
6
  import { HttpTransport } from "../../_http.js";
7
- import { ContactImportResult } from "../types.js";
7
+ import { ContactImportResult, ContactVCardExportResult } from "../types.js";
8
8
  export declare class VCardsResource {
9
9
  private readonly http;
10
10
  constructor(http: HttpTransport);
@@ -19,5 +19,7 @@ export declare class VCardsResource {
19
19
  import(content: string | Uint8Array, contentType?: string): Promise<ContactImportResult>;
20
20
  /** Export a single contact as vCard 4.0 text. */
21
21
  export(contactId: string): Promise<string>;
22
+ /** Export up to 25 contacts as one vCard document. */
23
+ exportMany(contactIds: string[]): Promise<ContactVCardExportResult>;
22
24
  }
23
25
  //# sourceMappingURL=vcards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcards.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/vcards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EAGpB,MAAM,aAAa,CAAC;AAKrB,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;OAOG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,WAAW,GAAE,MAA2B,GACvC,OAAO,CAAC,mBAAmB,CAAC;IAS/B,iDAAiD;IAC3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjD"}
1
+ {"version":3,"file":"vcards.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/vcards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EAKzB,MAAM,aAAa,CAAC;AAKrB,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;OAOG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,WAAW,GAAE,MAA2B,GACvC,OAAO,CAAC,mBAAmB,CAAC;IAS/B,iDAAiD;IAC3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,sDAAsD;IAChD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAM1E"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * vCard import / export.
5
5
  */
6
- import { parseContactImportResult, } from "../types.js";
6
+ import { parseContactImportResult, parseContactVCardExportResult, } from "../types.js";
7
7
  const BASE = "/contacts";
8
8
  const VCARD_CONTENT_TYPE = "text/vcard";
9
9
  export class VCardsResource {
@@ -27,5 +27,12 @@ export class VCardsResource {
27
27
  async export(contactId) {
28
28
  return this.http.getText(`${BASE}/${contactId}.vcf`, VCARD_CONTENT_TYPE);
29
29
  }
30
+ /** Export up to 25 contacts as one vCard document. */
31
+ async exportMany(contactIds) {
32
+ const data = await this.http.post(`${BASE}/vcard-export`, {
33
+ contact_ids: contactIds,
34
+ });
35
+ return parseContactVCardExportResult(data);
36
+ }
30
37
  }
31
38
  //# sourceMappingURL=vcards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcards.js","sourceRoot":"","sources":["../../../src/contacts/resources/vcards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA4B,EAC5B,cAAsB,kBAAkB;QAExC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAClC,GAAG,IAAI,SAAS,EAChB,OAAO,EACP,WAAW,CACZ,CAAC;QACF,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,SAAS,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"vcards.js","sourceRoot":"","sources":["../../../src/contacts/resources/vcards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA4B,EAC5B,cAAsB,kBAAkB;QAExC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAClC,GAAG,IAAI,SAAS,EAChB,OAAO,EACP,WAAW,CACZ,CAAC;QACF,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,SAAS,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,UAAU,CAAC,UAAoB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,GAAG,IAAI,eAAe,EAAE;YACrF,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QACH,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -32,13 +32,25 @@ export interface ContactCustomField {
32
32
  label: string;
33
33
  value: string;
34
34
  }
35
+ /**
36
+ * Deprecated read-only compatibility metadata.
37
+ * These records do not restrict organization-wide contact visibility.
38
+ */
35
39
  export interface ContactAccess {
36
40
  id: string;
37
41
  contactId: string;
38
- /** null = wildcard grant (every active identity sees the contact) */
42
+ /** null is the legacy wildcard sentinel. */
39
43
  identityId: string | null;
40
44
  createdAt: Date;
41
45
  }
46
+ export type ContactCreationSource = "manual" | "vcard" | "communication" | "backfill";
47
+ export type ContactReviewStatus = "unreviewed" | "confirmed";
48
+ export type ContactNameSource = "manual" | "vcard" | "provider" | "mail_header" | "identifier_fallback";
49
+ export interface ContactMemorySummary {
50
+ id: string;
51
+ content: string;
52
+ updatedAt: Date;
53
+ }
42
54
  export interface Contact {
43
55
  id: string;
44
56
  organizationId: string | null;
@@ -60,6 +72,18 @@ export interface Contact {
60
72
  addresses: ContactAddress[];
61
73
  customFields: ContactCustomField[];
62
74
  access: ContactAccess[];
75
+ creationSource: ContactCreationSource;
76
+ reviewStatus: ContactReviewStatus;
77
+ reviewedAt: Date | null;
78
+ reviewedBy: string | null;
79
+ preferredNameSource: ContactNameSource;
80
+ preferredNameLockedAt: Date | null;
81
+ createdByIdentityId: string | null;
82
+ mergedIntoContactId: string | null;
83
+ isAutoCreated: boolean;
84
+ isConfirmed: boolean;
85
+ memoryCount: number | null;
86
+ latestMemory: ContactMemorySummary | null;
63
87
  status: string | null;
64
88
  createdAt: Date;
65
89
  updatedAt: Date;
@@ -70,12 +94,14 @@ export interface Contact {
70
94
  * `contact` is populated when `status === "created"` (and `error` is null);
71
95
  * `error` is populated when `status === "error"` (and `contact` is null).
72
96
  */
97
+ export type ContactImportStatus = "created" | "conflict" | "error";
73
98
  export interface ContactImportResultItem {
74
99
  /** 0-based position within the uploaded vCard stream. */
75
100
  index: number;
76
- status: "created" | "error";
101
+ status: ContactImportStatus;
77
102
  contact: Contact | null;
78
103
  error: string | null;
104
+ conflictingContactId: string | null;
79
105
  }
80
106
  export interface ContactImportResult {
81
107
  createdCount: number;
@@ -86,6 +112,24 @@ export interface ContactImportResult {
86
112
  readonly createdIds: string[];
87
113
  /** Convenience: per-card entries where `status === "error"`. */
88
114
  readonly errors: ContactImportResultItem[];
115
+ /** Convenience: per-card entries where `status === "conflict"`. */
116
+ readonly conflicts: ContactImportResultItem[];
117
+ }
118
+ export type ContactBulkDeleteStatus = "deleted" | "error";
119
+ export interface ContactBulkDeleteResultItem {
120
+ contactId: string;
121
+ status: ContactBulkDeleteStatus;
122
+ error: string | null;
123
+ }
124
+ export interface ContactBulkDeleteResult {
125
+ deletedCount: number;
126
+ errorCount: number;
127
+ results: ContactBulkDeleteResultItem[];
128
+ }
129
+ export interface ContactVCardExportResult {
130
+ contentType: string;
131
+ contactCount: number;
132
+ vcard: string;
89
133
  }
90
134
  export interface RawContactEmail {
91
135
  label?: string | null;
@@ -143,15 +187,47 @@ export interface RawContact {
143
187
  addresses: RawContactAddress[] | null;
144
188
  custom_fields: RawContactCustomField[] | null;
145
189
  access: RawContactAccess[] | null;
190
+ creation_source?: ContactCreationSource;
191
+ review_status?: ContactReviewStatus;
192
+ reviewed_at?: string | null;
193
+ reviewed_by?: string | null;
194
+ preferred_name_source?: ContactNameSource;
195
+ preferred_name_locked_at?: string | null;
196
+ created_by_identity_id?: string | null;
197
+ merged_into_contact_id?: string | null;
198
+ is_auto_created?: boolean;
199
+ is_confirmed?: boolean;
200
+ memory_count?: number | null;
201
+ latest_memory?: RawContactMemorySummary | null;
146
202
  status?: string | null;
147
203
  created_at: string;
148
204
  updated_at: string;
149
205
  }
206
+ export interface RawContactMemorySummary {
207
+ id: string;
208
+ content: string;
209
+ updated_at: string;
210
+ }
211
+ export interface RawContactBulkDeleteResult {
212
+ deleted_count: number;
213
+ error_count: number;
214
+ results: Array<{
215
+ contact_id: string;
216
+ status: "deleted" | "error";
217
+ error?: string | null;
218
+ }>;
219
+ }
220
+ export interface RawContactVCardExportResult {
221
+ content_type: string;
222
+ contact_count: number;
223
+ vcard: string;
224
+ }
150
225
  export interface RawContactImportResultItem {
151
226
  index: number;
152
- status: "created" | "error";
227
+ status: ContactImportStatus;
153
228
  contact?: RawContact | null;
154
229
  error?: string | null;
230
+ conflicting_contact_id?: string | null;
155
231
  }
156
232
  export interface RawContactImportResult {
157
233
  created_count: number;
@@ -166,6 +242,8 @@ export declare function parseContactAddress(r: RawContactAddress): ContactAddres
166
242
  export declare function parseContactCustomField(r: RawContactCustomField): ContactCustomField;
167
243
  export declare function parseContactAccess(r: RawContactAccess): ContactAccess;
168
244
  export declare function parseContact(r: RawContact): Contact;
245
+ export declare function parseContactBulkDeleteResult(r: RawContactBulkDeleteResult): ContactBulkDeleteResult;
246
+ export declare function parseContactVCardExportResult(r: RawContactVCardExportResult): ContactVCardExportResult;
169
247
  export declare function parseContactImportResultItem(r: RawContactImportResultItem): ContactImportResultItem;
170
248
  export declare function parseContactImportResult(r: RawContactImportResult): ContactImportResult;
171
249
  export declare function contactEmailToWire(e: ContactEmail): RawContactEmail;