@inkbox/sdk 0.4.26 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_http.d.ts +7 -2
- package/dist/_http.d.ts.map +1 -1
- package/dist/_http.js +19 -5
- package/dist/_http.js.map +1 -1
- package/dist/agent_identity.d.ts +7 -4
- package/dist/agent_identity.d.ts.map +1 -1
- package/dist/agent_identity.js +5 -2
- package/dist/agent_identity.js.map +1 -1
- package/dist/contacts/correspondence.d.ts +172 -0
- package/dist/contacts/correspondence.d.ts.map +1 -0
- package/dist/contacts/correspondence.js +91 -0
- package/dist/contacts/correspondence.js.map +1 -0
- package/dist/contacts/facts.d.ts +73 -0
- package/dist/contacts/facts.d.ts.map +1 -0
- package/dist/contacts/facts.js +44 -0
- package/dist/contacts/facts.js.map +1 -0
- package/dist/contacts/index.d.ts +6 -1
- package/dist/contacts/index.d.ts.map +1 -1
- package/dist/contacts/index.js +2 -0
- package/dist/contacts/index.js.map +1 -1
- package/dist/contacts/resources/contactAccess.d.ts +6 -9
- package/dist/contacts/resources/contactAccess.d.ts.map +1 -1
- package/dist/contacts/resources/contactAccess.js +6 -14
- package/dist/contacts/resources/contactAccess.js.map +1 -1
- package/dist/contacts/resources/contactFacts.d.ts +13 -0
- package/dist/contacts/resources/contactFacts.d.ts.map +1 -0
- package/dist/contacts/resources/contactFacts.js +40 -0
- package/dist/contacts/resources/contactFacts.js.map +1 -0
- package/dist/contacts/resources/contacts.d.ts +21 -10
- package/dist/contacts/resources/contacts.d.ts.map +1 -1
- package/dist/contacts/resources/contacts.js +44 -10
- package/dist/contacts/resources/contacts.js.map +1 -1
- package/dist/contacts/resources/correspondence.d.ts +26 -0
- package/dist/contacts/resources/correspondence.d.ts.map +1 -0
- package/dist/contacts/resources/correspondence.js +35 -0
- package/dist/contacts/resources/correspondence.js.map +1 -0
- package/dist/contacts/resources/vcards.d.ts +3 -1
- package/dist/contacts/resources/vcards.d.ts.map +1 -1
- package/dist/contacts/resources/vcards.js +8 -1
- package/dist/contacts/resources/vcards.js.map +1 -1
- package/dist/contacts/types.d.ts +81 -3
- package/dist/contacts/types.d.ts.map +1 -1
- package/dist/contacts/types.js +42 -0
- package/dist/contacts/types.js.map +1 -1
- package/dist/identities/resources/identities.d.ts +1 -1
- package/dist/identities/resources/identities.d.ts.map +1 -1
- package/dist/identities/resources/identities.js +1 -1
- package/dist/identities/resources/identities.js.map +1 -1
- package/dist/identities/types.d.ts +25 -6
- package/dist/identities/types.d.ts.map +1 -1
- package/dist/identities/types.js +9 -2
- package/dist/identities/types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inkbox.d.ts +2 -2
- package/dist/inkbox.d.ts.map +1 -1
- package/dist/inkbox.js +2 -2
- package/dist/inkbox.js.map +1 -1
- package/dist/tunnels/types.d.ts +41 -7
- package/dist/tunnels/types.d.ts.map +1 -1
- package/dist/tunnels/types.js +21 -3
- package/dist/tunnels/types.js.map +1 -1
- package/dist/vault/types.d.ts +7 -0
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js +1 -0
- package/dist/vault/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
function parseBase(r) {
|
|
2
|
+
return {
|
|
3
|
+
sourceId: r.source_id,
|
|
4
|
+
direction: r.direction,
|
|
5
|
+
occurredAt: new Date(r.occurred_at),
|
|
6
|
+
identityId: r.identity_id,
|
|
7
|
+
status: r.status,
|
|
8
|
+
detailUrl: r.detail_url,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function parseCorrespondenceItem(r) {
|
|
12
|
+
const base = parseBase(r);
|
|
13
|
+
switch (r.channel) {
|
|
14
|
+
case "email":
|
|
15
|
+
return {
|
|
16
|
+
...base,
|
|
17
|
+
channel: r.channel,
|
|
18
|
+
mailboxEmail: r.mailbox_email,
|
|
19
|
+
threadId: r.thread_id,
|
|
20
|
+
fromAddress: r.from_address,
|
|
21
|
+
toAddresses: r.to_addresses,
|
|
22
|
+
ccAddresses: r.cc_addresses,
|
|
23
|
+
bccAddresses: r.bcc_addresses,
|
|
24
|
+
subject: r.subject,
|
|
25
|
+
snippet: r.snippet,
|
|
26
|
+
bodyText: r.body_text,
|
|
27
|
+
contentUnavailable: r.content_unavailable,
|
|
28
|
+
attachments: r.attachments.map((a) => ({
|
|
29
|
+
filename: a.filename,
|
|
30
|
+
contentType: a.content_type,
|
|
31
|
+
size: a.size,
|
|
32
|
+
})),
|
|
33
|
+
};
|
|
34
|
+
case "sms":
|
|
35
|
+
return {
|
|
36
|
+
...base,
|
|
37
|
+
channel: r.channel,
|
|
38
|
+
conversationId: r.conversation_id,
|
|
39
|
+
localResourceId: r.local_resource_id,
|
|
40
|
+
localPhoneNumber: r.local_phone_number,
|
|
41
|
+
senderPhoneNumber: r.sender_phone_number,
|
|
42
|
+
participants: r.participants,
|
|
43
|
+
matchedContactPhone: r.matched_contact_phone,
|
|
44
|
+
isGroup: r.is_group,
|
|
45
|
+
text: r.text,
|
|
46
|
+
media: r.media,
|
|
47
|
+
};
|
|
48
|
+
case "imessage":
|
|
49
|
+
return {
|
|
50
|
+
...base,
|
|
51
|
+
channel: r.channel,
|
|
52
|
+
conversationId: r.conversation_id,
|
|
53
|
+
remoteHandle: r.remote_handle,
|
|
54
|
+
service: r.service,
|
|
55
|
+
text: r.text,
|
|
56
|
+
media: r.media,
|
|
57
|
+
};
|
|
58
|
+
case "calls":
|
|
59
|
+
return {
|
|
60
|
+
...base,
|
|
61
|
+
channel: r.channel,
|
|
62
|
+
remotePhoneNumber: r.remote_phone_number,
|
|
63
|
+
localPhoneNumber: r.local_phone_number,
|
|
64
|
+
startedAt: r.started_at ? new Date(r.started_at) : null,
|
|
65
|
+
endedAt: r.ended_at ? new Date(r.ended_at) : null,
|
|
66
|
+
durationSeconds: r.duration_seconds,
|
|
67
|
+
transcript: r.transcript?.map((t) => ({
|
|
68
|
+
id: t.id,
|
|
69
|
+
seq: t.seq,
|
|
70
|
+
party: t.party,
|
|
71
|
+
text: t.text,
|
|
72
|
+
tsMs: t.ts_ms,
|
|
73
|
+
marker: t.marker,
|
|
74
|
+
omittedTurns: t.omitted_turns,
|
|
75
|
+
omittedMs: t.omitted_ms,
|
|
76
|
+
})) ?? null,
|
|
77
|
+
transcriptAbridged: r.transcript_abridged,
|
|
78
|
+
transcriptUnavailable: r.transcript_unavailable,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export function parseContactCorrespondence(r) {
|
|
83
|
+
return {
|
|
84
|
+
contactId: r.contact_id,
|
|
85
|
+
identityId: r.identity_id,
|
|
86
|
+
items: r.items.map(parseCorrespondenceItem),
|
|
87
|
+
channels: r.channels,
|
|
88
|
+
nextCursor: r.next_cursor,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=correspondence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correspondence.js","sourceRoot":"","sources":["../../src/contacts/correspondence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export type ContactFactCitationAvailability = "available" | "purged" | "source_unavailable_to_caller";
|
|
2
|
+
export type ContactFactOrigin = "generated" | "user";
|
|
3
|
+
export interface ContactFactCitation {
|
|
4
|
+
sourceType: string;
|
|
5
|
+
availability: ContactFactCitationAvailability;
|
|
6
|
+
sourceId: string | null;
|
|
7
|
+
sourceUrl: string | null;
|
|
8
|
+
sourceLocator: Record<string, unknown> | null;
|
|
9
|
+
}
|
|
10
|
+
export interface ContactFact {
|
|
11
|
+
id: string;
|
|
12
|
+
contactId: string;
|
|
13
|
+
content: string;
|
|
14
|
+
confidence: number | null;
|
|
15
|
+
origin: ContactFactOrigin;
|
|
16
|
+
lockedAt: Date | null;
|
|
17
|
+
createdAt: Date;
|
|
18
|
+
updatedAt: Date;
|
|
19
|
+
citations: ContactFactCitation[];
|
|
20
|
+
}
|
|
21
|
+
export interface ContactFactCitationDetail {
|
|
22
|
+
sourceType: string;
|
|
23
|
+
sourceId: string;
|
|
24
|
+
sourceLocator: Record<string, unknown>;
|
|
25
|
+
sourceUrl: string | null;
|
|
26
|
+
}
|
|
27
|
+
export interface ContactFactDeleteResult {
|
|
28
|
+
deletedFactId: string;
|
|
29
|
+
memoryCount: number;
|
|
30
|
+
latestMemory: {
|
|
31
|
+
id: string;
|
|
32
|
+
content: string;
|
|
33
|
+
updatedAt: Date;
|
|
34
|
+
} | null;
|
|
35
|
+
}
|
|
36
|
+
export interface RawContactFactCitation {
|
|
37
|
+
source_type: string;
|
|
38
|
+
availability: ContactFactCitationAvailability;
|
|
39
|
+
source_id: string | null;
|
|
40
|
+
source_url: string | null;
|
|
41
|
+
source_locator: Record<string, unknown> | null;
|
|
42
|
+
}
|
|
43
|
+
export interface RawContactFact {
|
|
44
|
+
id: string;
|
|
45
|
+
contact_id: string;
|
|
46
|
+
content: string;
|
|
47
|
+
confidence: string | number | null;
|
|
48
|
+
origin: ContactFactOrigin;
|
|
49
|
+
locked_at: string | null;
|
|
50
|
+
created_at: string;
|
|
51
|
+
updated_at: string;
|
|
52
|
+
citations: RawContactFactCitation[];
|
|
53
|
+
}
|
|
54
|
+
export interface RawContactFactCitationDetail {
|
|
55
|
+
source_type: string;
|
|
56
|
+
source_id: string;
|
|
57
|
+
source_locator: Record<string, unknown>;
|
|
58
|
+
source_url: string | null;
|
|
59
|
+
}
|
|
60
|
+
export interface RawContactFactDeleteResult {
|
|
61
|
+
deleted_fact_id: string;
|
|
62
|
+
memory_count: number;
|
|
63
|
+
latest_memory: {
|
|
64
|
+
id: string;
|
|
65
|
+
content: string;
|
|
66
|
+
updated_at: string;
|
|
67
|
+
} | null;
|
|
68
|
+
}
|
|
69
|
+
export declare function parseContactFactCitation(r: RawContactFactCitation): ContactFactCitation;
|
|
70
|
+
export declare function parseContactFact(r: RawContactFact): ContactFact;
|
|
71
|
+
export declare function parseContactFactCitationDetail(r: RawContactFactCitationDetail): ContactFactCitationDetail;
|
|
72
|
+
export declare function parseContactFactDeleteResult(r: RawContactFactDeleteResult): ContactFactDeleteResult;
|
|
73
|
+
//# sourceMappingURL=facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/contacts/facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export function parseContactFactCitation(r) {
|
|
2
|
+
return {
|
|
3
|
+
sourceType: r.source_type,
|
|
4
|
+
availability: r.availability,
|
|
5
|
+
sourceId: r.source_id,
|
|
6
|
+
sourceUrl: r.source_url,
|
|
7
|
+
sourceLocator: r.source_locator,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function parseContactFact(r) {
|
|
11
|
+
return {
|
|
12
|
+
id: r.id,
|
|
13
|
+
contactId: r.contact_id,
|
|
14
|
+
content: r.content,
|
|
15
|
+
confidence: r.confidence === null ? null : Number(r.confidence),
|
|
16
|
+
origin: r.origin,
|
|
17
|
+
lockedAt: r.locked_at ? new Date(r.locked_at) : null,
|
|
18
|
+
createdAt: new Date(r.created_at),
|
|
19
|
+
updatedAt: new Date(r.updated_at),
|
|
20
|
+
citations: r.citations.map(parseContactFactCitation),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function parseContactFactCitationDetail(r) {
|
|
24
|
+
return {
|
|
25
|
+
sourceType: r.source_type,
|
|
26
|
+
sourceId: r.source_id,
|
|
27
|
+
sourceLocator: r.source_locator,
|
|
28
|
+
sourceUrl: r.source_url,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function parseContactFactDeleteResult(r) {
|
|
32
|
+
return {
|
|
33
|
+
deletedFactId: r.deleted_fact_id,
|
|
34
|
+
memoryCount: r.memory_count,
|
|
35
|
+
latestMemory: r.latest_memory
|
|
36
|
+
? {
|
|
37
|
+
id: r.latest_memory.id,
|
|
38
|
+
content: r.latest_memory.content,
|
|
39
|
+
updatedAt: new Date(r.latest_memory.updated_at),
|
|
40
|
+
}
|
|
41
|
+
: null,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=facts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts.js","sourceRoot":"","sources":["../../src/contacts/facts.ts"],"names":[],"mappings":"AAiFA,MAAM,UAAU,wBAAwB,CAAC,CAAyB;IAChE,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,aAAa,EAAE,CAAC,CAAC,cAAc;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IAChD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,UAAU,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/D,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,CAA+B;IAE/B,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,aAAa,EAAE,CAAC,CAAC,cAAc;QAC/B,SAAS,EAAE,CAAC,CAAC,UAAU;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,CAA6B;IAE7B,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,eAAe;QAChC,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,YAAY,EAAE,CAAC,CAAC,aAAa;YAC3B,CAAC,CAAC;gBACE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE;gBACtB,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;gBAChC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;aAChD;YACH,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC"}
|
package/dist/contacts/index.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
export * from "./types.js";
|
|
2
|
-
export
|
|
2
|
+
export * from "./facts.js";
|
|
3
|
+
export * from "./correspondence.js";
|
|
4
|
+
export type { CreateContactOptions, ListContactsOptions, LookupContactsOptions, ContactMergeField, MergeContactsOptions, UpdateContactOptions, } from "./resources/contacts.js";
|
|
5
|
+
export type { ContactCorrespondenceOptions, GetContactCorrespondenceOptions, } from "./resources/correspondence.js";
|
|
6
|
+
export type { ContactFactsResource } from "./resources/contactFacts.js";
|
|
7
|
+
export type { ContactCorrespondenceResource } from "./resources/correspondence.js";
|
|
3
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contacts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contacts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,YAAY,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/contacts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contacts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contacts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* inkbox-contacts/resources/contactAccess.ts
|
|
3
3
|
*
|
|
4
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,
|
|
1
|
+
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/contacts/resources/contacts.ts"],"names":[],"mappings":"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"}
|