@proteos/sdk 0.26.3 → 0.28.0

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AuditFields, L as ListOptions, a as Attribute, U as UserRef$2, P as PageIterator, b as ListResult, c as ProteosClient, F as FileRef, d as PublicAccessOperation } from './types-B0LqBATf.js';
2
- export { e as App, f as AppSchema, g as AppService, h as AttributeSchema, i as AttributeType, j as AuditFieldsSchema, C as ClientOptions, k as Column, l as ColumnSchema, m as ComparisonOperator, n as Component, o as ComponentSchema, p as ComponentService, q as CreateAppRequest, r as CreateComponentRequest, s as CreateDesignReferenceRequest, t as CreateEntityRequest, u as CreateListRequest, v as CreateListViewRequest, w as CreateMenuConfigurationRequest, x as CreatePageRequest, y as CreateVariableRequest, z as CurrencyAttributeMeta, B as CurrencyAttributeMetaSchema, D as CurrencySymbolSide, E as CurrencyValue, G as DEFAULT_OPTIONS, H as DEFAULT_PAGE_SIZE, I as DONE, J as DeployModuleRequest, K as DesignReference, M as DesignReferenceContent, N as DesignReferenceSchema, O as DesignReferenceService, Q as Done, R as Entity, S as EntitySchema, T as EntityService, V as EntityWithSchema, W as EntityWithSchemaSchema, X as FileAttributeMeta, Y as FileRefSchema, Z as FilterElement, _ as FilterElementSchema, $ as FilterGroup, a0 as FilterGroupSchema, a1 as List, a2 as ListAppsOptions, a3 as ListComponentsOptions, a4 as ListDesignReferencesOptions, a5 as ListEntitiesOptions, a6 as ListFn, a7 as ListListViewsOptions, a8 as ListListsOptions, a9 as ListMenuConfigurationsOptions, aa as ListModulesOptions, ab as ListPagesOptions, ac as ListSchema, ad as ListService, ae as ListVariablesOptions, af as ListView, ag as ListViewSchema, ah as ListViewService, ai as LogicalOperator, aj as MenuConfiguration, ak as MenuConfigurationSchema, al as MenuConfigurationService, am as MenuItem, an as MenuItemSchema, ao as MenuItemType, ap as MetaClient, aq as MetaListOptions, ar as Module, as as ModuleSchema, at as ModuleService, au as ModuleStatus, av as OnDeleteAction, aw as OnDeleteActionSchema, ax as PLATFORM_ATTRIBUTE_NAMES, ay as PLATFORM_USER_ID, az as Page, aA as PageAction, aB as PageActionSchema, aC as PageLayout, aD as PageLayoutSchema, aE as PageSchema, aF as PageService, aG as PageType, aH as PublicPageComponent, aI as PublicPageResponse, aJ as RelationAttributeMeta, aK as RelationAttributeMetaSchema, aL as RequestOptions, aM as ResolvedClientOptions, aN as ResponseMeta, aO as ResponseMetaSchema, aP as SortConfig, aQ as SortConfigSchema, aR as SortDirection, aS as Timestamps, aT as TokenProvider, aU as UpdateAppRequest, aV as UpdateComponentRequest, aW as UpdateDesignReferenceRequest, aX as UpdateEntityRequest, aY as UpdateListRequest, aZ as UpdateListViewRequest, a_ as UpdateMenuConfigurationRequest, a$ as UpdatePageRequest, b0 as UpdateVariableRequest, b1 as UserRefSchema, b2 as UserType, b3 as Variable, b4 as VariableSchema, b5 as VariableService, b6 as allCurrencyCodes, b7 as createIterator, b8 as createListResultSchema, b9 as currencyLabel, ba as currencySymbol, bb as currencySymbolSide, bc as formatAmount, bd as formatMoney, be as isPlatformAttributeName, bf as localeNumberSeparators, bg as parseAmount, bh as parseCurrencyMeta, bi as parseFileMeta, bj as parseRelationMeta, bk as platformAttributes, bl as resolveOptions } from './types-B0LqBATf.js';
1
+ import { A as AuditFields, L as ListOptions, a as Attribute, U as UserRef$2, P as PageIterator, b as ListResult, c as ProteosClient, F as FileRef, d as PublicAccessOperation } from './types-BguERkVI.js';
2
+ export { e as App, f as AppSchema, g as AppService, h as AttributeSchema, i as AttributeType, j as AuditFieldsSchema, C as ClientOptions, k as Column, l as ColumnSchema, m as ComparisonOperator, n as Component, o as ComponentSchema, p as ComponentService, q as CreateAppRequest, r as CreateComponentRequest, s as CreateDesignReferenceRequest, t as CreateEntityRequest, u as CreateListRequest, v as CreateListViewRequest, w as CreateMenuConfigurationRequest, x as CreatePageRequest, y as CreateVariableRequest, z as CurrencyAttributeMeta, B as CurrencyAttributeMetaSchema, D as CurrencySymbolSide, E as CurrencyValue, G as DEFAULT_OPTIONS, H as DEFAULT_PAGE_SIZE, I as DONE, J as DeployModuleRequest, K as DesignReference, M as DesignReferenceContent, N as DesignReferenceSchema, O as DesignReferenceService, Q as Done, R as Entity, S as EntitySchema, T as EntityService, V as EntityWithSchema, W as EntityWithSchemaSchema, X as FileAttributeMeta, Y as FileRefSchema, Z as FilterElement, _ as FilterElementSchema, $ as FilterGroup, a0 as FilterGroupSchema, a1 as List, a2 as ListAppsOptions, a3 as ListComponentsOptions, a4 as ListDesignReferencesOptions, a5 as ListEntitiesOptions, a6 as ListFn, a7 as ListListViewsOptions, a8 as ListListsOptions, a9 as ListMenuConfigurationsOptions, aa as ListModulesOptions, ab as ListPagesOptions, ac as ListSchema, ad as ListService, ae as ListVariablesOptions, af as ListView, ag as ListViewSchema, ah as ListViewService, ai as LogicalOperator, aj as MenuConfiguration, ak as MenuConfigurationSchema, al as MenuConfigurationService, am as MenuItem, an as MenuItemSchema, ao as MenuItemType, ap as MetaClient, aq as MetaListOptions, ar as Module, as as ModuleSchema, at as ModuleService, au as ModuleStatus, av as OnDeleteAction, aw as OnDeleteActionSchema, ax as PLATFORM_ATTRIBUTE_NAMES, ay as PLATFORM_USER_ID, az as Page, aA as PageAction, aB as PageActionSchema, aC as PageLayout, aD as PageLayoutSchema, aE as PageSchema, aF as PageService, aG as PageType, aH as PublicPageComponent, aI as PublicPageResponse, aJ as RelationAttributeMeta, aK as RelationAttributeMetaSchema, aL as RequestOptions, aM as ResolvedClientOptions, aN as ResponseMeta, aO as ResponseMetaSchema, aP as SortConfig, aQ as SortConfigSchema, aR as SortDirection, aS as Timestamps, aT as TokenProvider, aU as UpdateAppRequest, aV as UpdateComponentRequest, aW as UpdateDesignReferenceRequest, aX as UpdateEntityRequest, aY as UpdateListRequest, aZ as UpdateListViewRequest, a_ as UpdateMenuConfigurationRequest, a$ as UpdatePageRequest, b0 as UpdateVariableRequest, b1 as UserRefSchema, b2 as UserType, b3 as Variable, b4 as VariableSchema, b5 as VariableService, b6 as allCurrencyCodes, b7 as createIterator, b8 as createListResultSchema, b9 as currencyLabel, ba as currencySymbol, bb as currencySymbolSide, bc as formatAmount, bd as formatMoney, be as isPlatformAttributeName, bf as localeNumberSeparators, bg as parseAmount, bh as parseCurrencyMeta, bi as parseFileMeta, bj as parseRelationMeta, bk as platformAttributes, bl as resolveOptions } from './types-BguERkVI.js';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /**
@@ -2045,12 +2045,15 @@ interface UserRef {
2045
2045
  }
2046
2046
  /**
2047
2047
  * Inline snapshot of a person on a message/reaction — the integration-side
2048
- * identity plus, when resolved via email match, the platform user.
2048
+ * identity plus, when resolved, the platform user and the contact id.
2049
+ * (Renamed from ParticipantRef in the contacts model; wire keys unchanged.)
2049
2050
  */
2050
- interface ParticipantRef {
2051
+ interface ContactRef {
2051
2052
  external_id?: string;
2052
2053
  name: string;
2053
2054
  email?: string;
2055
+ /** The resolved person; absent on pre-contacts snapshots and wire fallbacks. */
2056
+ contact_id?: string;
2054
2057
  /** Resolved platform identity (email match); absent when unresolved. */
2055
2058
  platform_user?: UserRef;
2056
2059
  }
@@ -2060,7 +2063,7 @@ interface ParticipantRef {
2060
2063
  * renders "who it's with" as the non-self subset (1 → single avatar, ≥2 →
2061
2064
  * stacked).
2062
2065
  */
2063
- interface ConversationParticipant extends ParticipantRef {
2066
+ interface ConversationParticipant extends ContactRef {
2064
2067
  is_self: boolean;
2065
2068
  }
2066
2069
  /** How a MessageRecipient was addressed: primary, carbon copy, blind copy. */
@@ -2069,7 +2072,7 @@ type RecipientRole = 'to' | 'cc' | 'bcc';
2069
2072
  * One addressee of a message with the role it was addressed under. Bcc is only
2070
2073
  * present on messages the platform itself sent (inbound bcc is SMTP-stripped).
2071
2074
  */
2072
- interface MessageRecipient extends ParticipantRef {
2075
+ interface MessageRecipient extends ContactRef {
2073
2076
  role: RecipientRole;
2074
2077
  }
2075
2078
  /**
@@ -2126,7 +2129,7 @@ interface Connection {
2126
2129
  scope: ConnectionScope;
2127
2130
  /** Set only when scope=user (the connecting user); absent for org-wide. */
2128
2131
  owner?: UserRef;
2129
- external_workspace_id: string;
2132
+ external_account_id: string;
2130
2133
  credentials: ConnectionCredentials;
2131
2134
  settings: Record<string, unknown>;
2132
2135
  status: ConnectionStatus;
@@ -2193,7 +2196,7 @@ interface Conversation {
2193
2196
  latest_message?: MessagePreview;
2194
2197
  messages_total?: number;
2195
2198
  /** Up to 3 most recent distinct senders excluding the root sender. */
2196
- last_repliers?: ParticipantRef[];
2199
+ last_repliers?: ContactRef[];
2197
2200
  /** Requesting user's read marker; absent = never opened. */
2198
2201
  last_read_at?: string;
2199
2202
  /**
@@ -2212,7 +2215,7 @@ interface Conversation {
2212
2215
  * ~500 chars of text, direction/status for outbound identity.
2213
2216
  */
2214
2217
  interface MessagePreview {
2215
- sender: ParticipantRef;
2218
+ sender: ContactRef;
2216
2219
  text: string;
2217
2220
  direction: MessageDirection;
2218
2221
  status: MessageStatus;
@@ -2247,7 +2250,7 @@ interface Attachment {
2247
2250
  interface Reaction {
2248
2251
  emoji: string;
2249
2252
  count: number;
2250
- participants: ParticipantRef[];
2253
+ participants: ContactRef[];
2251
2254
  }
2252
2255
  interface Message {
2253
2256
  id: string;
@@ -2257,7 +2260,7 @@ interface Message {
2257
2260
  channel: Channel;
2258
2261
  direction: MessageDirection;
2259
2262
  external_message_id: string;
2260
- sender: ParticipantRef;
2263
+ sender: ContactRef;
2261
2264
  /** Who the message was addressed to (To/Cc/Bcc), each tagged with its role. */
2262
2265
  recipients?: MessageRecipient[];
2263
2266
  content: ContentBlock[];
@@ -2474,7 +2477,8 @@ interface ListConversationsQuery extends PaginationQuery {
2474
2477
  */
2475
2478
  parent_conversation_id?: string;
2476
2479
  /** Threads whose roster contains this external party — the person stream. */
2477
- participant_external_id?: string;
2480
+ /** Contact stream: threads whose roster contains the resolved person. */
2481
+ contact_id?: string;
2478
2482
  /** Opt into the root/latest message projection on each row. */
2479
2483
  include?: 'messages_summary';
2480
2484
  }
@@ -2499,38 +2503,112 @@ interface ListAgentListenersQuery extends PaginationQuery {
2499
2503
  agent_key?: string;
2500
2504
  is_enabled?: boolean;
2501
2505
  }
2502
- /** Discriminates a send target: a person or a venue. */
2503
- type RecipientKind = 'participant' | 'room';
2504
- type ParticipantSource = 'sync' | 'ingest';
2506
+ /**
2507
+ * Discriminates a send target: a person's contact address or a venue. The
2508
+ * server also accepts the legacy 'participant' value as an alias for
2509
+ * 'contact-address'.
2510
+ */
2511
+ type RecipientKind = 'contact-address' | 'room';
2512
+ type ContactAddressKind = 'email' | 'phone' | 'slack' | 'linkedin' | 'telegram' | 'instagram' | 'messenger' | 'x' | 'whatsapp';
2513
+ type ContactAddressSource = 'sync' | 'ingest' | 'manual' | 'merge';
2514
+ type ContactSource = 'sync' | 'ingest' | 'manual' | 'merge';
2515
+ type ContactStatus = 'active' | 'merged' | 'archived' | 'erased';
2516
+ type ConsentStatus = 'unknown' | 'opted_in' | 'opted_out';
2517
+ type PermissionEventType = 'opt_in' | 'opt_out' | 'block' | 'unblock';
2518
+ type PermissionEventSource = 'manual' | 'import' | 'link_click' | 'reply' | 'api' | 'system';
2519
+ type MergeProposalStatus = 'proposed' | 'approved' | 'rejected' | 'superseded';
2520
+ type ErasureRequestStatus = 'requested' | 'completed';
2505
2521
  type RoomSource = 'sync' | 'ingest';
2506
2522
  /**
2507
2523
  * Send-time addressing VO: who/where an originated message goes. Points at a
2508
- * Participant or a Room by kind + external id (never a stored entity itself).
2524
+ * ContactAddress or a Room by kind + external id (never a stored entity itself).
2509
2525
  */
2510
2526
  interface SendRecipient {
2511
2527
  kind: RecipientKind;
2512
- /** The connector-side id: a room's (Slack channel id) or a participant's (Slack user id, email address). */
2528
+ /** The connector-side id: a room's (Slack channel id) or a contact address's wire identifier (Slack user id, email address). */
2513
2529
  external_id: string;
2514
2530
  }
2515
- /** A PERSON known on a connection (directory row; resolvable to a platform user). */
2516
- interface Participant {
2531
+ /** The actual PERSON an org communicates with org-scoped, channel-agnostic. */
2532
+ interface Contact {
2517
2533
  id: string;
2518
2534
  org_id: string;
2519
- connection_id: string;
2520
- /** Slack user id / email address — the id to DM or email. */
2521
- external_id: string;
2522
2535
  name: string;
2523
- email?: string;
2524
- /** Resolved platform identity (email match); absent when unresolved. */
2536
+ status: ContactStatus;
2537
+ /** Person-level suppression only block/unblock events move it. */
2538
+ is_blocked: boolean;
2539
+ has_legal_hold: boolean;
2540
+ consent_status: ConsentStatus;
2541
+ consent_updated_at?: string;
2542
+ /** Resolved platform identity when the person is a colleague. */
2525
2543
  platform_user?: UserRef;
2544
+ /** Merge tombstone redirect (set when status is 'merged'). */
2545
+ merged_into_contact_id?: string;
2546
+ source: ContactSource;
2547
+ has_manual_edits: boolean;
2548
+ /** The contact's reachable endpoints, embedded on reads. */
2549
+ addresses?: ContactAddress[];
2550
+ created_at: string;
2551
+ created_by: UserRef;
2552
+ updated_at: string;
2553
+ updated_by: UserRef;
2554
+ }
2555
+ /** ONE canonical digital endpoint to reach a contact — the dedup backbone. */
2556
+ interface ContactAddress {
2557
+ id: string;
2558
+ org_id: string;
2559
+ contact_id: string;
2560
+ kind: ContactAddressKind;
2561
+ /** Provider-tenant qualifier (Slack workspace id); empty for global kinds. */
2562
+ scope?: string;
2563
+ /** Canonical scalar (lowercased email, E.164 phone) — the lookup key. */
2564
+ value: string;
2565
+ /** The identifier as observed on the wire (WhatsApp JID, original casing). */
2566
+ raw_value?: string;
2567
+ /** Per-channel display name. */
2568
+ name: string;
2569
+ consent_status: ConsentStatus;
2570
+ consent_updated_at?: string;
2571
+ is_blocked: boolean;
2572
+ source: ContactAddressSource;
2526
2573
  metadata: Record<string, unknown>;
2527
- source: ParticipantSource;
2528
- last_seen_at: string;
2529
2574
  created_at: string;
2530
2575
  created_by: UserRef;
2531
2576
  updated_at: string;
2532
2577
  updated_by: UserRef;
2533
2578
  }
2579
+ /** One candidate duplicate pair awaiting review. */
2580
+ interface ContactMergeProposal {
2581
+ id: string;
2582
+ org_id: string;
2583
+ contact_a_id: string;
2584
+ contact_b_id: string;
2585
+ suggested_winner_id?: string;
2586
+ confidence?: number;
2587
+ evidence?: Record<string, unknown>;
2588
+ verdict?: Record<string, unknown>;
2589
+ status: MergeProposalStatus;
2590
+ resolved_by?: UserRef;
2591
+ resolved_at?: string;
2592
+ created_at: string;
2593
+ created_by: UserRef;
2594
+ updated_at: string;
2595
+ updated_by: UserRef;
2596
+ }
2597
+ /** A GDPR Art. 17 erasure request (requested → completed). */
2598
+ interface ContactErasureRequest {
2599
+ id: string;
2600
+ org_id: string;
2601
+ contact_id: string;
2602
+ identifier_hashes: Array<{
2603
+ kind: ContactAddressKind;
2604
+ hmac: string;
2605
+ }>;
2606
+ status: ErasureRequestStatus;
2607
+ completed_at?: string;
2608
+ stats?: Record<string, unknown>;
2609
+ created_at: string;
2610
+ created_by: UserRef;
2611
+ }
2534
2612
  /** An addressable VENUE on a connection (Slack channel; later meeting rooms). */
2535
2613
  interface Room {
2536
2614
  id: string;
@@ -2548,9 +2626,46 @@ interface Room {
2548
2626
  updated_at: string;
2549
2627
  updated_by: UserRef;
2550
2628
  }
2551
- interface ListParticipantsQuery extends PaginationQuery {
2552
- /** Free-text needle matched against display name + external id. */
2629
+ interface ListContactAddressesQuery extends PaginationQuery {
2630
+ /** Free-text needle matched against display name + canonical value. */
2631
+ q?: string;
2632
+ kinds?: ContactAddressKind[];
2633
+ scope?: string;
2634
+ }
2635
+ interface ListContactsQuery extends PaginationQuery {
2636
+ /** Free-text needle matched against contact name + address values. */
2553
2637
  q?: string;
2638
+ status?: ContactStatus;
2639
+ }
2640
+ interface UpdateContactRequest {
2641
+ name?: string;
2642
+ status?: 'active' | 'archived';
2643
+ has_legal_hold?: boolean;
2644
+ }
2645
+ interface AttachContactAddressRequest {
2646
+ kind: ContactAddressKind;
2647
+ scope?: string;
2648
+ value: string;
2649
+ name?: string;
2650
+ }
2651
+ interface MergeContactsRequest {
2652
+ source_contact_id: string;
2653
+ }
2654
+ interface RecordPermissionEventRequest {
2655
+ contact_address_id?: string;
2656
+ event: PermissionEventType;
2657
+ basis?: string;
2658
+ source?: PermissionEventSource;
2659
+ occurred_at?: string;
2660
+ note?: string;
2661
+ evidence?: Record<string, unknown>;
2662
+ }
2663
+ interface BlockContactRequest {
2664
+ contact_address_id?: string;
2665
+ note?: string;
2666
+ }
2667
+ interface ListContactMergeProposalsQuery extends PaginationQuery {
2668
+ status?: MergeProposalStatus;
2554
2669
  }
2555
2670
  interface ListRoomsQuery extends PaginationQuery {
2556
2671
  /** Free-text needle matched against name + external id. */
@@ -2648,6 +2763,8 @@ interface DispatchMeetingBotRequest {
2648
2763
  declare class ConversationClient {
2649
2764
  readonly connections: ConnectionService;
2650
2765
  readonly conversations: ConversationService;
2766
+ /** The person-level identity layer: contacts, addresses, merges, permissions. */
2767
+ readonly contacts: ContactService;
2651
2768
  readonly messages: MessageService;
2652
2769
  readonly agentListeners: AgentListenerService;
2653
2770
  /** Per-org glossary: custom vocabulary that boosts transcription accuracy. */
@@ -2686,11 +2803,29 @@ interface ConnectionService {
2686
2803
  delete(id: string): Promise<void>;
2687
2804
  /** Begin the connector's install flow; open the returned URL in a popup. */
2688
2805
  install(id: string): Promise<InstallConnectionResponse>;
2689
- /** Search a connection's known PEOPLE (workspace members, correspondents) for the compose picker. */
2690
- listParticipants(connectionId: string, query?: ListParticipantsQuery): Promise<ListResponse<Participant>>;
2806
+ /** Search the contact addresses this connection can reach (org-deduped) for the compose picker. */
2807
+ listContactAddresses(connectionId: string, query?: ListContactAddressesQuery): Promise<ListResponse<ContactAddress>>;
2691
2808
  /** Search a connection's addressable VENUES (Slack channels) for the compose picker. */
2692
2809
  listRooms(connectionId: string, query?: ListRoomsQuery): Promise<ListResponse<Room>>;
2693
2810
  }
2811
+ /** The person-level identity layer: contacts, addresses, merges, permissions, erasure. */
2812
+ interface ContactService {
2813
+ list(query?: ListContactsQuery): Promise<ListResponse<Contact>>;
2814
+ get(id: string): Promise<Contact>;
2815
+ update(id: string, request: UpdateContactRequest): Promise<Contact>;
2816
+ attachAddress(contactId: string, request: AttachContactAddressRequest): Promise<Contact>;
2817
+ detachAddress(contactId: string, addressId: string): Promise<Contact>;
2818
+ /** Fold source_contact_id into contactId (contactId wins). */
2819
+ merge(contactId: string, request: MergeContactsRequest): Promise<Contact>;
2820
+ recordPermissionEvent(contactId: string, request: RecordPermissionEventRequest): Promise<Contact>;
2821
+ block(contactId: string, request?: BlockContactRequest): Promise<Contact>;
2822
+ unblock(contactId: string, request?: BlockContactRequest): Promise<Contact>;
2823
+ requestErasure(contactId: string): Promise<ContactErasureRequest>;
2824
+ listErasureRequests(contactId: string): Promise<ContactErasureRequest[]>;
2825
+ listMergeProposals(query?: ListContactMergeProposalsQuery): Promise<ListResponse<ContactMergeProposal>>;
2826
+ approveMergeProposal(proposalId: string): Promise<ContactMergeProposal>;
2827
+ rejectMergeProposal(proposalId: string): Promise<ContactMergeProposal>;
2828
+ }
2694
2829
  /** Conversation threads across every channel (inbox order: last_message_at). */
2695
2830
  interface ConversationService {
2696
2831
  list(query?: ListConversationsQuery): Promise<ListResponse<Conversation>>;
@@ -4722,11 +4857,15 @@ interface FileService {
4722
4857
  */
4723
4858
  create(metadata: CreateFileMetadata): Promise<StorageFile>;
4724
4859
  /**
4725
- * Updates a file's metadata (name, `public_access`). Only the fields present
4726
- * in `metadata` are changed. Setting `public_access: ["read"]` exposes the
4727
- * file on the UNAUTHENTICATED public download route; `[]` revokes it.
4860
+ * Updates a file's metadata (name, `public_access`) and, when `file` is
4861
+ * given, replaces the bytes IN PLACE a new version under the SAME id, so
4862
+ * every `FileRef { id }` pointing at it now resolves to the new content.
4863
+ * Only the metadata fields present are changed. Setting
4864
+ * `public_access: ["read"]` exposes the file on the UNAUTHENTICATED public
4865
+ * download route; `[]` revokes it. Replacing a locked file is rejected by
4866
+ * the storage-service.
4728
4867
  */
4729
- update(id: string, metadata: UpdateFileMetadata): Promise<StorageFile>;
4868
+ update(id: string, metadata: UpdateFileMetadata, file?: File): Promise<StorageFile>;
4730
4869
  /**
4731
4870
  * Mints a short-lived upload URL for a file. The bytes are PUT directly to this URL
4732
4871
  * (raw body, no auth) — keeping large files off the SDK/MCP path. Single-use, ~3 min.
@@ -5445,4 +5584,4 @@ declare class WorkflowClient {
5445
5584
  constructor(client: ProteosClient);
5446
5585
  }
5447
5586
 
5448
- export { AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentKickoff, type AgentListener, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type ApiErrorResponse, type AppendEventRequest, type AssignPermissionRequest, type AssignRoleRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type Channel, type ClientEventType, type ClientToolSchema, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type Connector, ConnectorClient, type ConnectorConnection, type ConnectionScope$1 as ConnectorConnectionScope, type ConnectionStatus$1 as ConnectorConnectionStatus, type ConnectionTokenResponse as ConnectorConnectionTokenResponse, type CredentialKind as ConnectorCredentialKind, type ConnectorKey, type ConnectorMethod, type ConnectorProvider, type ConsumerGroup, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, ConversationClient, type ConversationParticipant, type ConversationService, type ConversationStatus, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSessionRequest, type CreateToolRequest, type CreateUserRequest, type CreateWorkflowRequest, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DispatchMeetingBotRequest, type DisplayOptions, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmptyPayload, ErrorCode, type ErrorCodeType, type ErrorPayload, type EventTriggerParams, type EventType, type EventVerb, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, FunctionsClient, type GetExecutionDetailResponse, type GetGraphOptions, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type InlineLinkRequest, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InvokeActionResponse, type InvokeNodeMethodRequest, type InvokeNodeMethodResponse, type Item, type KickoffSource, type KickoffType, KnowledgeClient, type KnowledgeGraph, type KnowledgeGraphLink, type KnowledgeGraphNode, type KnowledgeLabel, KnowledgeLabelSchema, type KnowledgeLink, KnowledgeLinkSchema, type KnowledgeNode, type KnowledgeNodeLabel, KnowledgeNodeLabelSchema, type KnowledgeNodeMetadata, KnowledgeNodeMetadataSchema, KnowledgeNodeSchema, type KnowledgeNodeSearchResult, KnowledgeNodeSearchResultSchema, type KnowledgeRecordLink, KnowledgeRecordLinkSchema, type LabelService, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMessagesQuery, type ListNodesOptions, ListOptions, type ListOrganizationsOptions, type ListParticipantsQuery, type ListPromptsOptions, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSessionsOptions, type ListSkillsOptions, type ListToolsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type ManualTriggerParams, type MatchMode, type McpBinding, type McpConnectionState, type McpConnectionStatus, type McpServer, type McpServerAuth, type McpServerOAuth, type McpServerService, type McpToolSummary, type MeService, type MeetingService, type Message, type ContentBlock as MessageContentBlock, type MessageDirection, type MessageKickoff, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelUsage, type NeighborDirection, type NeighborEdge, type NeighborNode, type NeighborsOptions, type NodeContentMatches, type NodeDescriptor, type NodeExecution, type NodeGroup, type NodeMethodOption, type NodeNeighborhood, NodeNeighborhoodSchema, type NodeOutline, type NodePosition, type NodeProperty, type NodeRetryPolicy, type NodeRuntime, type NodeService, type NodeStatus, type NodeType, type NodeTypeKey, type NodeTypeService, type NodeTypeStatus, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutcomeKickoff, type OutcomeRubric, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageIterator, type PairedItem, type ParseStatus, type Participant, type ParticipantRef, type ParticipantSource, type Permission, type PlatformEntity, type PlatformEvent, type PortSpec, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublishEventRequest, type QueryExecuteMeta, type QueryExecuteResponse, type QueryObject, type QueryRow, type QueryService, type QueryValidateMeta, type QueryValidateResponse, type QueryValue, type Reaction, type ReactionCapability, type ReactionOption, type ReactionSetKind, type ReasoningPayload, type RecipientKind, type RecipientRole, type RecordData, type RecordLinkService, type RecordService, type RedriveResult, type ResultBlock, type Role, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RunWorkflowRequest, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendMessageRequest, type SendRecipient, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type Skill, type SkillBundle, type SkillService, type SkillVersion, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type TailOptions, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TriggerKind, type Turn, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateToolRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type User, type UserMessagePayload, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WebhookTriggerParams, type Workflow, WorkflowClient, type WorkflowConnection, type WorkflowContentBlock, type WorkflowExecution, type WorkflowGraph, type WorkflowNode, type WorkflowNodeType, type WorkflowStatus, type WorkflowVersion, type WorkflowVersionAuthor, type WorkflowVersionSummary, type WriteContentResponse, type WriteCredentialsRequest, buildUrl, getDefaultErrorCode, isBadRequest, isConflict, isForbidden, isNotFound, isPlatformEntity, isProteosError, isUnauthorized, parseErrorResponse, toQueryParams, toQueryString };
5587
+ export { AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentKickoff, type AgentListener, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type ApiErrorResponse, type AppendEventRequest, type AssignPermissionRequest, type AssignRoleRequest, type AttachContactAddressRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type BlockContactRequest, type Channel, type ClientEventType, type ClientToolSchema, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type Connector, ConnectorClient, type ConnectorConnection, type ConnectionScope$1 as ConnectorConnectionScope, type ConnectionStatus$1 as ConnectorConnectionStatus, type ConnectionTokenResponse as ConnectorConnectionTokenResponse, type CredentialKind as ConnectorCredentialKind, type ConnectorKey, type ConnectorMethod, type ConnectorProvider, type ConsentStatus, type ConsumerGroup, type Contact, type ContactAddress, type ContactAddressKind, type ContactAddressSource, type ContactErasureRequest, type ContactMergeProposal, type ContactRef, type ContactService, type ContactSource, type ContactStatus, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, ConversationClient, type ConversationParticipant, type ConversationService, type ConversationStatus, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSessionRequest, type CreateToolRequest, type CreateUserRequest, type CreateWorkflowRequest, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DispatchMeetingBotRequest, type DisplayOptions, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmptyPayload, type ErasureRequestStatus, ErrorCode, type ErrorCodeType, type ErrorPayload, type EventTriggerParams, type EventType, type EventVerb, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, FunctionsClient, type GetExecutionDetailResponse, type GetGraphOptions, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type InlineLinkRequest, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InvokeActionResponse, type InvokeNodeMethodRequest, type InvokeNodeMethodResponse, type Item, type KickoffSource, type KickoffType, KnowledgeClient, type KnowledgeGraph, type KnowledgeGraphLink, type KnowledgeGraphNode, type KnowledgeLabel, KnowledgeLabelSchema, type KnowledgeLink, KnowledgeLinkSchema, type KnowledgeNode, type KnowledgeNodeLabel, KnowledgeNodeLabelSchema, type KnowledgeNodeMetadata, KnowledgeNodeMetadataSchema, KnowledgeNodeSchema, type KnowledgeNodeSearchResult, KnowledgeNodeSearchResultSchema, type KnowledgeRecordLink, KnowledgeRecordLinkSchema, type LabelService, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListContactAddressesQuery, type ListContactMergeProposalsQuery, type ListContactsQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMessagesQuery, type ListNodesOptions, ListOptions, type ListOrganizationsOptions, type ListPromptsOptions, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSessionsOptions, type ListSkillsOptions, type ListToolsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type ManualTriggerParams, type MatchMode, type McpBinding, type McpConnectionState, type McpConnectionStatus, type McpServer, type McpServerAuth, type McpServerOAuth, type McpServerService, type McpToolSummary, type MeService, type MeetingService, type MergeContactsRequest, type MergeProposalStatus, type Message, type ContentBlock as MessageContentBlock, type MessageDirection, type MessageKickoff, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelUsage, type NeighborDirection, type NeighborEdge, type NeighborNode, type NeighborsOptions, type NodeContentMatches, type NodeDescriptor, type NodeExecution, type NodeGroup, type NodeMethodOption, type NodeNeighborhood, NodeNeighborhoodSchema, type NodeOutline, type NodePosition, type NodeProperty, type NodeRetryPolicy, type NodeRuntime, type NodeService, type NodeStatus, type NodeType, type NodeTypeKey, type NodeTypeService, type NodeTypeStatus, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutcomeKickoff, type OutcomeRubric, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageIterator, type PairedItem, type ParseStatus, type Permission, type PermissionEventSource, type PermissionEventType, type PlatformEntity, type PlatformEvent, type PortSpec, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublishEventRequest, type QueryExecuteMeta, type QueryExecuteResponse, type QueryObject, type QueryRow, type QueryService, type QueryValidateMeta, type QueryValidateResponse, type QueryValue, type Reaction, type ReactionCapability, type ReactionOption, type ReactionSetKind, type ReasoningPayload, type RecipientKind, type RecipientRole, type RecordData, type RecordLinkService, type RecordPermissionEventRequest, type RecordService, type RedriveResult, type ResultBlock, type Role, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RunWorkflowRequest, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendMessageRequest, type SendRecipient, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type Skill, type SkillBundle, type SkillService, type SkillVersion, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type TailOptions, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TriggerKind, type Turn, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateContactRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateToolRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type User, type UserMessagePayload, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WebhookTriggerParams, type Workflow, WorkflowClient, type WorkflowConnection, type WorkflowContentBlock, type WorkflowExecution, type WorkflowGraph, type WorkflowNode, type WorkflowNodeType, type WorkflowStatus, type WorkflowVersion, type WorkflowVersionAuthor, type WorkflowVersionSummary, type WriteContentResponse, type WriteCredentialsRequest, buildUrl, getDefaultErrorCode, isBadRequest, isConflict, isForbidden, isNotFound, isPlatformEntity, isProteosError, isUnauthorized, parseErrorResponse, toQueryParams, toQueryString };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { AuditFieldsSchema, AttributeSchema, UserRefSchema, PageIterator } from './chunk-YMRMKSZL.js';
2
- export { AppSchema, AttributeSchema, AuditFieldsSchema, ColumnSchema, ComponentSchema, CurrencyAttributeMetaSchema, DEFAULT_PAGE_SIZE, DONE, DesignReferenceSchema, EntitySchema, EntityWithSchemaSchema, FileRefSchema, FilterElementSchema, FilterGroupSchema, ListSchema, ListViewSchema, MenuConfigurationSchema, MenuItemSchema, MenuItemType, MetaClient, ModuleSchema, OnDeleteActionSchema, PLATFORM_ATTRIBUTE_NAMES, PLATFORM_USER_ID, PageActionSchema, PageIterator, PageLayoutSchema, PageSchema, RelationAttributeMetaSchema, ResponseMetaSchema, SortConfigSchema, UserRefSchema, VariableSchema, allCurrencyCodes, createIterator, createListResultSchema, currencyLabel, currencySymbol, currencySymbolSide, formatAmount, formatMoney, isPlatformAttributeName, localeNumberSeparators, parseAmount, parseCurrencyMeta, parseFileMeta, parseRelationMeta, platformAttributes } from './chunk-YMRMKSZL.js';
1
+ import { AuditFieldsSchema, AttributeSchema, UserRefSchema, PageIterator } from './chunk-Y5RY27JB.js';
2
+ export { AppSchema, AttributeSchema, AuditFieldsSchema, ColumnSchema, ComponentSchema, CurrencyAttributeMetaSchema, DEFAULT_PAGE_SIZE, DONE, DesignReferenceSchema, EntitySchema, EntityWithSchemaSchema, FileRefSchema, FilterElementSchema, FilterGroupSchema, ListSchema, ListViewSchema, MenuConfigurationSchema, MenuItemSchema, MenuItemType, MetaClient, ModuleSchema, OnDeleteActionSchema, PLATFORM_ATTRIBUTE_NAMES, PLATFORM_USER_ID, PageActionSchema, PageIterator, PageLayoutSchema, PageSchema, RelationAttributeMetaSchema, ResponseMetaSchema, SortConfigSchema, UserRefSchema, VariableSchema, allCurrencyCodes, createIterator, createListResultSchema, currencyLabel, currencySymbol, currencySymbolSide, formatAmount, formatMoney, isPlatformAttributeName, localeNumberSeparators, parseAmount, parseCurrencyMeta, parseFileMeta, parseRelationMeta, platformAttributes } from './chunk-Y5RY27JB.js';
3
3
  import { z } from 'zod';
4
4
  import { fetchEventSource } from '@microsoft/fetch-event-source';
5
5
 
@@ -1205,6 +1205,8 @@ var CONVERSATION_BASE_PATH = "/conversations/v1";
1205
1205
  var ConversationClient = class {
1206
1206
  connections;
1207
1207
  conversations;
1208
+ /** The person-level identity layer: contacts, addresses, merges, permissions. */
1209
+ contacts;
1208
1210
  messages;
1209
1211
  agentListeners;
1210
1212
  /** Per-org glossary: custom vocabulary that boosts transcription accuracy. */
@@ -1217,6 +1219,7 @@ var ConversationClient = class {
1217
1219
  constructor(client) {
1218
1220
  this.connections = new ConnectionServiceImpl(client);
1219
1221
  this.conversations = new ConversationServiceImpl(client);
1222
+ this.contacts = new ContactServiceImpl(client);
1220
1223
  this.messages = new MessageServiceImpl(client);
1221
1224
  this.agentListeners = new AgentListenerServiceImpl(client);
1222
1225
  this.glossaryTerms = new GlossaryTermServiceImpl(client);
@@ -1263,10 +1266,10 @@ var ConnectionServiceImpl = class {
1263
1266
  install(id) {
1264
1267
  return this.client.request("POST", `${CONVERSATION_BASE_PATH}/connections/${encodeURIComponent(id)}/install`);
1265
1268
  }
1266
- listParticipants(connectionId, query = {}) {
1269
+ listContactAddresses(connectionId, query = {}) {
1267
1270
  return this.client.requestWithQuery(
1268
1271
  "GET",
1269
- `${CONVERSATION_BASE_PATH}/connections/${encodeURIComponent(connectionId)}/participants`,
1272
+ `${CONVERSATION_BASE_PATH}/connections/${encodeURIComponent(connectionId)}/contact-addresses`,
1270
1273
  query
1271
1274
  );
1272
1275
  }
@@ -1278,6 +1281,89 @@ var ConnectionServiceImpl = class {
1278
1281
  );
1279
1282
  }
1280
1283
  };
1284
+ var ContactServiceImpl = class {
1285
+ constructor(client) {
1286
+ this.client = client;
1287
+ }
1288
+ client;
1289
+ list(query = {}) {
1290
+ return this.client.requestWithQuery("GET", `${CONVERSATION_BASE_PATH}/contacts`, query);
1291
+ }
1292
+ get(id) {
1293
+ return this.client.request("GET", `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(id)}`);
1294
+ }
1295
+ update(id, request) {
1296
+ return this.client.request("PATCH", `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(id)}`, request);
1297
+ }
1298
+ attachAddress(contactId, request) {
1299
+ return this.client.request(
1300
+ "POST",
1301
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/addresses`,
1302
+ request
1303
+ );
1304
+ }
1305
+ detachAddress(contactId, addressId) {
1306
+ return this.client.request(
1307
+ "DELETE",
1308
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/addresses/${encodeURIComponent(addressId)}`
1309
+ );
1310
+ }
1311
+ merge(contactId, request) {
1312
+ return this.client.request(
1313
+ "POST",
1314
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/merge`,
1315
+ request
1316
+ );
1317
+ }
1318
+ recordPermissionEvent(contactId, request) {
1319
+ return this.client.request(
1320
+ "POST",
1321
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/permission-events`,
1322
+ request
1323
+ );
1324
+ }
1325
+ block(contactId, request = {}) {
1326
+ return this.client.request(
1327
+ "POST",
1328
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/block`,
1329
+ request
1330
+ );
1331
+ }
1332
+ unblock(contactId, request = {}) {
1333
+ return this.client.request(
1334
+ "POST",
1335
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/unblock`,
1336
+ request
1337
+ );
1338
+ }
1339
+ requestErasure(contactId) {
1340
+ return this.client.request(
1341
+ "POST",
1342
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/erasure-requests`
1343
+ );
1344
+ }
1345
+ listErasureRequests(contactId) {
1346
+ return this.client.request(
1347
+ "GET",
1348
+ `${CONVERSATION_BASE_PATH}/contacts/${encodeURIComponent(contactId)}/erasure-requests`
1349
+ );
1350
+ }
1351
+ listMergeProposals(query = {}) {
1352
+ return this.client.requestWithQuery("GET", `${CONVERSATION_BASE_PATH}/contact-merge-proposals`, query);
1353
+ }
1354
+ approveMergeProposal(proposalId) {
1355
+ return this.client.request(
1356
+ "POST",
1357
+ `${CONVERSATION_BASE_PATH}/contact-merge-proposals/${encodeURIComponent(proposalId)}/approve`
1358
+ );
1359
+ }
1360
+ rejectMergeProposal(proposalId) {
1361
+ return this.client.request(
1362
+ "POST",
1363
+ `${CONVERSATION_BASE_PATH}/contact-merge-proposals/${encodeURIComponent(proposalId)}/reject`
1364
+ );
1365
+ }
1366
+ };
1281
1367
  var ConversationServiceImpl = class {
1282
1368
  constructor(client) {
1283
1369
  this.client = client;
@@ -2024,12 +2110,13 @@ var FileServiceImpl = class {
2024
2110
  );
2025
2111
  return response.data;
2026
2112
  }
2027
- async update(id, metadata) {
2113
+ async update(id, metadata, file) {
2028
2114
  const formData = new FormData();
2029
2115
  formData.append(
2030
2116
  "metadata",
2031
2117
  new Blob([JSON.stringify(metadata)], { type: "application/json" })
2032
2118
  );
2119
+ if (file) formData.append("file", file, metadata.name ?? file.name);
2033
2120
  const response = await this.client.requestMultipart(
2034
2121
  "PATCH",
2035
2122
  `${FILES_BASE_PATH}/${id}`,