@proteos/sdk 0.61.0 → 0.76.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.
Files changed (40) hide show
  1. package/dist/{chunk-OOOTPEJK.js → chunk-C5642XOH.js} +79 -11
  2. package/dist/chunk-C5642XOH.js.map +1 -0
  3. package/dist/{chunk-25PD6TYH.cjs → chunk-Z773P4RO.cjs} +85 -10
  4. package/dist/chunk-Z773P4RO.cjs.map +1 -0
  5. package/dist/index.cjs +387 -130
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +815 -81
  8. package/dist/index.d.ts +815 -81
  9. package/dist/index.js +250 -13
  10. package/dist/index.js.map +1 -1
  11. package/dist/meta/index.cjs +117 -89
  12. package/dist/meta/index.d.cts +1 -1
  13. package/dist/meta/index.d.ts +1 -1
  14. package/dist/meta/index.js +1 -1
  15. package/dist/{types-DQmqR_G8.d.cts → types-Bn5y5wHZ.d.cts} +744 -48
  16. package/dist/{types-DQmqR_G8.d.ts → types-Bn5y5wHZ.d.ts} +744 -48
  17. package/package.json +1 -1
  18. package/src/agent/session-types.ts +8 -1
  19. package/src/agent/sessions.ts +6 -4
  20. package/src/agent/types.ts +9 -0
  21. package/src/auth/platform-entities.ts +6 -0
  22. package/src/client.ts +28 -4
  23. package/src/conversation/index.ts +327 -15
  24. package/src/conversation/types.ts +596 -5
  25. package/src/data/entity-indexes.ts +54 -0
  26. package/src/data/index.ts +12 -0
  27. package/src/data/types.ts +66 -0
  28. package/src/errors.ts +5 -0
  29. package/src/index.ts +60 -0
  30. package/src/meta/components.ts +23 -3
  31. package/src/meta/index.ts +11 -0
  32. package/src/meta/layout/common-props.ts +9 -0
  33. package/src/meta/layout/elements.ts +57 -0
  34. package/src/meta/layout/index.ts +5 -0
  35. package/src/meta/layout/page-layout.ts +15 -3
  36. package/src/meta/types.ts +253 -21
  37. package/src/scheduling/types.ts +5 -1
  38. package/src/workflow/types.ts +10 -2
  39. package/dist/chunk-25PD6TYH.cjs.map +0 -1
  40. package/dist/chunk-OOOTPEJK.js.map +0 -1
package/dist/index.d.cts 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 PrincipalRef, R as ResponseMeta$1, e as PublicAccessOperation } from './types-DQmqR_G8.cjs';
2
- export { f as App, g as AppConfiguration, h as AppConfigurationSchema, i as AppConfigurationService, j as AppHome, k as AppHomeSchema, l as AppHomeType, m as AppSchema, n as AppService, o as ArrayAttributeMeta, p as AttributeAccessRule, q as AttributeRestrictions, r as AttributeSchema, s as AttributeType, t as AuditFieldsSchema, C as CURRENT_USER, u as CURRENT_USER_DEFAULT, v as ClientOptions, w as Column, x as ColumnSchema, y as ComparisonOperator, z as Component, B as ComponentSchema, D as ComponentService, E as ContactAddressAttributeKind, G as ContactAddressAttributeMeta, H as ContactAddressAttributeMetaSchema, I as ContactBindingDuplicatePolicy, J as CreateAppConfigurationRequest, K as CreateAppRequest, M as CreateComponentRequest, N as CreateDesignReferenceRequest, O as CreateEntityExtensionRequest, Q as CreateEntityRequest, S as CreateListExtensionRequest, T as CreateListRequest, V as CreateListViewRequest, W as CreateMenuConfigurationExtensionRequest, X as CreateMenuConfigurationRequest, Y as CreatePageExtensionRequest, Z as CreatePageRequest, _ as CreateVariableRequest, $ as CurrencyAttributeMeta, a0 as CurrencyAttributeMetaSchema, a1 as CurrencySymbolSide, a2 as CurrencyValue, a3 as CurrentUserDefault, a4 as DEFAULT_OPTIONS, a5 as DEFAULT_PAGE_SIZE, a6 as DONE, a7 as DeployModuleRequest, a8 as DesignReference, a9 as DesignReferenceContent, aa as DesignReferenceSchema, ab as DesignReferenceService, ac as Done, ad as Entity, ae as EntityContactBinding, af as EntityContactBindingSchema, ag as EntityExtension, ah as EntityExtensionSchema, ai as EntityExtensionService, aj as EntitySchema, ak as EntityService, al as EntityWithSchema, am as EntityWithSchemaSchema, an as EnumAttributeMeta, ao as EnumValue, ap as ExtensionPosition, aq as ExtensionPositionSchema, ar as FileAttributeMeta, as as FileRefSchema, at as FilterElement, au as FilterElementSchema, av as FilterGroup, aw as FilterGroupSchema, ax as List, ay as ListAppConfigurationsOptions, az as ListAppsOptions, aA as ListComponentsOptions, aB as ListDesignReferencesOptions, aC as ListEntitiesOptions, aD as ListEntityExtensionsOptions, aE as ListExtension, aF as ListExtensionColumnPlacement, aG as ListExtensionColumnPlacementSchema, aH as ListExtensionSchema, aI as ListExtensionService, aJ as ListFn, aK as ListListExtensionsOptions, aL as ListListViewsOptions, aM as ListListsOptions, aN as ListMenuConfigurationExtensionsOptions, aO as ListMenuConfigurationsOptions, aP as ListModulesOptions, aQ as ListPageExtensionsOptions, aR as ListPagesOptions, aS as ListSchema, aT as ListService, aU as ListVariablesOptions, aV as ListView, aW as ListViewSchema, aX as ListViewService, aY as LogicalOperator, aZ as MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS, a_ as MenuConfiguration, a$ as MenuConfigurationExtension, b0 as MenuConfigurationExtensionPlacement, b1 as MenuConfigurationExtensionPlacementSchema, b2 as MenuConfigurationExtensionPosition, b3 as MenuConfigurationExtensionPositionSchema, b4 as MenuConfigurationExtensionSchema, b5 as MenuConfigurationExtensionService, b6 as MenuConfigurationSchema, b7 as MenuConfigurationService, b8 as MenuItem, b9 as MenuItemSchema, ba as MenuItemType, bb as MetaClient, bc as MetaListOptions, bd as Module, be as ModuleSchema, bf as ModuleService, bg as ModuleStatus, bh as OnDeleteAction, bi as OnDeleteActionSchema, bj as PAGE_EXTENSION_ANCHOR_MAIN, bk as PAGE_EXTENSION_ANCHOR_SIDE_PANEL, bl as PLATFORM_ATTRIBUTE_NAMES, bm as PLATFORM_USER_ID, bn as Page, bo as PageAction, bp as PageActionKind, bq as PageActionSchema, br as PageExtension, bs as PageExtensionPlacement, bt as PageExtensionPlacementSchema, bu as PageExtensionSchema, bv as PageExtensionService, bw as PageLayout, bx as PageLayoutSchema, by as PageSchema, bz as PageService, bA as PageType, bB as PublicPageComponent, bC as PublicPageResponse, bD as RelationAttributeMeta, bE as RelationAttributeMetaSchema, bF as RequestOptions, bG as ResolvedClientOptions, bH as ResponseMetaSchema, bI as SortConfig, bJ as SortConfigSchema, bK as SortDirection, bL as Timestamps, bM as TokenProvider, bN as UpdateAppConfigurationRequest, bO as UpdateAppRequest, bP as UpdateComponentRequest, bQ as UpdateDesignReferenceRequest, bR as UpdateEntityExtensionRequest, bS as UpdateEntityRequest, bT as UpdateListExtensionRequest, bU as UpdateListRequest, bV as UpdateListViewRequest, bW as UpdateMenuConfigurationExtensionRequest, bX as UpdateMenuConfigurationRequest, bY as UpdatePageExtensionRequest, bZ as UpdatePageRequest, b_ as UpdateVariableRequest, b$ as UserRefSchema, c0 as UserType, c1 as Variable, c2 as VariableSchema, c3 as VariableService, c4 as acceptsCurrentUserDefault, c5 as allCurrencyCodes, c6 as createIterator, c7 as createListResultSchema, c8 as currencyLabel, c9 as currencySymbol, ca as currencySymbolSide, cb as formatAmount, cc as formatMoney, cd as isCurrentUser, ce as isCurrentUserDefault, cf as isPlatformAttributeName, cg as localeNumberSeparators, ch as parseAmount, ci as parseContactAddressMeta, cj as parseCurrencyMeta, ck as parseFileMeta, cl as parseRelationMeta, cm as platformAttributes, cn as resolveOptions } from './types-DQmqR_G8.cjs';
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 PrincipalRef, e as PageAction, R as ResponseMeta$1, f as PublicAccessOperation } from './types-Bn5y5wHZ.cjs';
2
+ export { g as App, h as AppConfiguration, i as AppConfigurationSchema, j as AppConfigurationService, k as AppHome, l as AppHomeSchema, m as AppHomeType, n as AppSchema, o as AppService, p as ArrayAttributeMeta, q as AttributeAccessRule, r as AttributeRestrictions, s as AttributeSchema, t as AttributeType, u as AuditFieldsSchema, C as CURRENT_USER, v as CURRENT_USER_DEFAULT, w as ClientOptions, x as Column, y as ColumnSchema, z as ComparisonOperator, B as Component, D as ComponentSchema, E as ComponentService, G as ContactAddressAttributeKind, H as ContactAddressAttributeMeta, I as ContactAddressAttributeMetaSchema, J as ContactBindingDuplicatePolicy, K as CreateAppConfigurationRequest, M as CreateAppRequest, N as CreateComponentRequest, O as CreateDesignReferenceRequest, Q as CreateEntityExtensionRequest, S as CreateEntityRequest, T as CreateListExtensionRequest, V as CreateListRequest, W as CreateListViewRequest, X as CreateMenuConfigurationExtensionRequest, Y as CreateMenuConfigurationRequest, Z as CreatePageExtensionRequest, _ as CreatePageRequest, $ as CreateVariableRequest, a0 as CurrencyAttributeMeta, a1 as CurrencyAttributeMetaSchema, a2 as CurrencySymbolSide, a3 as CurrencyValue, a4 as CurrentUserDefault, a5 as DEFAULT_OPTIONS, a6 as DEFAULT_PAGE_SIZE, a7 as DONE, a8 as DeployModuleRequest, a9 as DesignReference, aa as DesignReferenceContent, ab as DesignReferenceSchema, ac as DesignReferenceService, ad as Done, ae as Entity, af as EntityContactBinding, ag as EntityContactBindingSchema, ah as EntityExtension, ai as EntityExtensionSchema, aj as EntityExtensionService, ak as EntitySchema, al as EntityService, am as EntityWithSchema, an as EntityWithSchemaSchema, ao as EnumAttributeMeta, ap as EnumValue, aq as ExtensionPosition, ar as ExtensionPositionSchema, as as FileAttributeMeta, at as FileRefSchema, au as FilterElement, av as FilterElementSchema, aw as FilterGroup, ax as FilterGroupSchema, ay as List, az as ListAppConfigurationsOptions, aA as ListAppsOptions, aB as ListComponentsOptions, aC as ListDesignReferencesOptions, aD as ListEntitiesOptions, aE as ListEntityExtensionsOptions, aF as ListExtension, aG as ListExtensionColumnPlacement, aH as ListExtensionColumnPlacementSchema, aI as ListExtensionSchema, aJ as ListExtensionService, aK as ListFn, aL as ListListExtensionsOptions, aM as ListListViewsOptions, aN as ListListsOptions, aO as ListMenuConfigurationExtensionsOptions, aP as ListMenuConfigurationsOptions, aQ as ListModulesOptions, aR as ListPageExtensionsOptions, aS as ListPagesOptions, aT as ListSchema, aU as ListService, aV as ListVariablesOptions, aW as ListView, aX as ListViewSchema, aY as ListViewService, aZ as LogicalOperator, a_ as MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS, a$ as MenuConfiguration, b0 as MenuConfigurationExtension, b1 as MenuConfigurationExtensionPlacement, b2 as MenuConfigurationExtensionPlacementSchema, b3 as MenuConfigurationExtensionPosition, b4 as MenuConfigurationExtensionPositionSchema, b5 as MenuConfigurationExtensionSchema, b6 as MenuConfigurationExtensionService, b7 as MenuConfigurationSchema, b8 as MenuConfigurationService, b9 as MenuItem, ba as MenuItemSchema, bb as MenuItemType, bc as MetaClient, bd as MetaListOptions, be as Module, bf as ModuleSchema, bg as ModuleService, bh as ModuleStatus, bi as OnDeleteAction, bj as OnDeleteActionSchema, bk as PAGE_ACTION_MATCH_MAX_LIMIT, bl as PAGE_EXTENSION_ANCHOR_MAIN, bm as PAGE_EXTENSION_ANCHOR_SIDE_PANEL, bn as PLATFORM_ATTRIBUTE_NAMES, bo as PLATFORM_USER_ID, bp as Page, bq as PageActionIntent, br as PageActionKind, bs as PageActionMatch, bt as PageActionMatchSchema, bu as PageActionSchema, bv as PageExtension, bw as PageExtensionPlacement, bx as PageExtensionPlacementSchema, by as PageExtensionSchema, bz as PageExtensionService, bA as PageLayout, bB as PageLayoutSchema, bC as PageMode, bD as PageSchema, bE as PageService, bF as PageType, bG as PublicPageComponent, bH as PublicPageResponse, bI as RecordPageBinding, bJ as RecordPageBindingSchema, bK as RelationAttributeMeta, bL as RelationAttributeMetaSchema, bM as RequestOptions, bN as ResolvedClientOptions, bO as ResponseMetaSchema, bP as SortConfig, bQ as SortConfigSchema, bR as SortDirection, bS as Timestamps, bT as TokenProvider, bU as TriggerPageBinding, bV as TriggerPageBindingSchema, bW as TriggerPhase, bX as UpdateAppConfigurationRequest, bY as UpdateAppRequest, bZ as UpdateComponentRequest, b_ as UpdateDesignReferenceRequest, b$ as UpdateEntityExtensionRequest, c0 as UpdateEntityRequest, c1 as UpdateListExtensionRequest, c2 as UpdateListRequest, c3 as UpdateListViewRequest, c4 as UpdateMenuConfigurationExtensionRequest, c5 as UpdateMenuConfigurationRequest, c6 as UpdatePageExtensionRequest, c7 as UpdatePageRequest, c8 as UpdateVariableRequest, c9 as UserRefSchema, ca as UserType, cb as Variable, cc as VariableSchema, cd as VariableService, ce as acceptsCurrentUserDefault, cf as allCurrencyCodes, cg as bundleVersionOf, ch as createIterator, ci as createListResultSchema, cj as currencyLabel, ck as currencySymbol, cl as currencySymbolSide, cm as formatAmount, cn as formatMoney, co as isCurrentUser, cp as isCurrentUserDefault, cq as isPlatformAttributeName, cr as localeNumberSeparators, cs as parseAmount, ct as parseContactAddressMeta, cu as parseCurrencyMeta, cv as parseFileMeta, cw as parseRelationMeta, cx as platformAttributes, cy as resolveOptions } from './types-Bn5y5wHZ.cjs';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /**
@@ -58,6 +58,13 @@ interface Agent extends AuditFields {
58
58
  toolsets: string[];
59
59
  /** Marks the single agent surfaced by default for the org (at most one). */
60
60
  is_org_default: boolean;
61
+ /**
62
+ * Runs beside the tabbed workspace in the web app: the platform appends the
63
+ * workspace-mode instructions (open_tab / switch_tab / close_tab, app context) to
64
+ * the synced system prompt and the web client offers the tab tools instead of
65
+ * navigate / open_record.
66
+ */
67
+ has_workspace: boolean;
61
68
  version: number;
62
69
  }
63
70
  interface CreateAgentRequest {
@@ -73,6 +80,7 @@ interface CreateAgentRequest {
73
80
  mcp_servers?: string[];
74
81
  toolsets?: string[];
75
82
  is_org_default?: boolean;
83
+ has_workspace?: boolean;
76
84
  }
77
85
  interface UpdateAgentRequest {
78
86
  name?: string;
@@ -86,6 +94,7 @@ interface UpdateAgentRequest {
86
94
  mcp_servers?: string[];
87
95
  toolsets?: string[];
88
96
  is_org_default?: boolean;
97
+ has_workspace?: boolean;
89
98
  }
90
99
  type ListAgentsOptions = AgentResourceListOptions;
91
100
  /**
@@ -552,9 +561,16 @@ interface ResultBlock {
552
561
  image?: FileBlock;
553
562
  json?: unknown;
554
563
  }
555
- /** A user message body (text + file blocks). */
564
+ /**
565
+ * A user message body (text + file blocks). `context` is what the launching
566
+ * surface hands the model alongside the message (a call's summary and linked
567
+ * records, say): stored with the event, sent to the model as an extra text
568
+ * block, never rendered as part of the person's message. Not for secrets —
569
+ * the session owner can read it back through the events API.
570
+ */
556
571
  interface UserMessagePayload {
557
572
  content: ContentBlock$1[];
573
+ context?: string;
558
574
  }
559
575
  /** An agent message body (text blocks only). */
560
576
  interface AgentMessagePayload {
@@ -1076,12 +1092,14 @@ interface SessionService {
1076
1092
  * attachments. Each {@link FileBlock} carries the storage-service `file_id`; the
1077
1093
  * backend uploads it to the model provider and mounts it into the agent's sandbox
1078
1094
  * at send time. Pass `turnId` (a UUID) for optimistic rendering. At least one of
1079
- * `text` / `files` should be present.
1095
+ * `text` / `files` should be present. `context` rides the payload for the model
1096
+ * only (see {@link UserMessagePayload.context}).
1080
1097
  */
1081
1098
  sendUserMessage(id: string, input: {
1082
1099
  text?: string;
1083
1100
  files?: FileBlock[];
1084
1101
  turnId?: string;
1102
+ context?: string;
1085
1103
  }): Promise<SessionEvent>;
1086
1104
  /** Convenience: appends a `user.interrupt` to halt the running turn. */
1087
1105
  interrupt(id: string): Promise<SessionEvent>;
@@ -2974,6 +2992,15 @@ type ConnectorKey = 'slack' | 'gmail' | 'outlook' | 'echo' | 'unipile-whatsapp'
2974
2992
  interface MintCallTokenRequest {
2975
2993
  connection_id: string;
2976
2994
  }
2995
+ /**
2996
+ * PUT /conversations/:id/recording — the in-call recording control on a live
2997
+ * phone conversation: true starts (or resumes) the recording, false pauses
2998
+ * it. A recording that did not run from answer to hangup is marked
2999
+ * `has_partial_recording` on the conversation's metadata.
3000
+ */
3001
+ interface SetCallRecordingRequest {
3002
+ is_recording_enabled: boolean;
3003
+ }
2977
3004
  /**
2978
3005
  * Which system answers a provider phone number: connected to this platform,
2979
3006
  * in use by another integration (connecting takes it over, disconnecting
@@ -3009,6 +3036,61 @@ interface PhoneNumber {
3009
3036
  interface UpdatePhoneNumberRequest {
3010
3037
  routing?: PhoneNumberRouting;
3011
3038
  }
3039
+ /**
3040
+ * twilio-phone `connection.settings.voicemail` — what a caller hears when no
3041
+ * agent takes the ring. The greeting is spoken by the provider's text-to-speech
3042
+ * in `language`; absent or blank fields fall back to platform defaults.
3043
+ */
3044
+ interface TwilioPhoneVoicemailSettings {
3045
+ is_enabled: boolean;
3046
+ /** Empty = the platform's default English text. At most 1000 characters. */
3047
+ greeting?: string;
3048
+ /** BCP-47, one of the supported TTS languages; default en-US. */
3049
+ language?: string;
3050
+ /** 10..300, default 120. */
3051
+ max_duration_seconds?: number;
3052
+ }
3053
+ /**
3054
+ * The typed slice of a twilio-phone `connection.settings` the softphone reads
3055
+ * (`Connection.settings` stays an open map on the wire).
3056
+ */
3057
+ interface TwilioPhoneSettings {
3058
+ is_softphone_enabled?: boolean;
3059
+ is_recording_enabled?: boolean;
3060
+ is_realtime_transcription_enabled?: boolean;
3061
+ /** How long the parallel ring waits before the call counts as missed; 5..60, default 25. */
3062
+ ring_timeout_seconds?: number;
3063
+ voicemail?: TwilioPhoneVoicemailSettings;
3064
+ }
3065
+ /** Why an inbound ring ended without one of our people on the line. */
3066
+ type CallDialStatus = 'no_answer' | 'busy' | 'failed' | 'canceled'
3067
+ /** Nobody was routed to the number. */
3068
+ | 'unrouted'
3069
+ /** The caller left while it rang. */
3070
+ | 'caller_hung_up';
3071
+ /**
3072
+ * The call facts a phone conversation carries in `metadata` (mirrors the
3073
+ * backend's logic/call-status.go + call-voicemail.go). Every key is optional
3074
+ * on the wire; read defensively.
3075
+ */
3076
+ interface CallMetadata {
3077
+ call_direction?: 'inbound' | 'outbound';
3078
+ call_status?: CallStatus;
3079
+ from_number?: string;
3080
+ to_number?: string;
3081
+ /** Provider talk time; on a missed call it includes greeting + voicemail. */
3082
+ duration_seconds?: number;
3083
+ recording_external_id?: string;
3084
+ recording_file_id?: string;
3085
+ is_recording_enabled?: boolean;
3086
+ has_partial_recording?: boolean;
3087
+ /** No agent took the inbound call. */
3088
+ is_missed?: boolean;
3089
+ dial_status?: CallDialStatus;
3090
+ /** `offered` once the greeting played, `recorded` once the message landed. */
3091
+ voicemail_status?: 'offered' | 'recorded';
3092
+ voicemail_duration_seconds?: number;
3093
+ }
3012
3094
  /** The minted grant the Voice JS SDK consumes (`new Device(token, { edge })`). */
3013
3095
  interface CallTokenResponse {
3014
3096
  token: string;
@@ -3208,6 +3290,14 @@ interface Conversation {
3208
3290
  * classified or no type matched.
3209
3291
  */
3210
3292
  type_key?: string;
3293
+ /** How the conversation ended — one of its type's outcome keys; absent = none yet. */
3294
+ outcome_key?: string;
3295
+ /** Who set the outcome: `user` (never overridden by the model) or `model`. */
3296
+ outcome_source?: ConversationOutcomeSource;
3297
+ outcome_set_by?: UserRef;
3298
+ outcome_set_at?: string;
3299
+ /** The conversation currently holds objective rows (maintained by the objective sync). */
3300
+ has_objectives: boolean;
3211
3301
  status: ConversationStatus;
3212
3302
  /**
3213
3303
  * Room directory row a room-borne thread (Slack channel conversation) lives
@@ -3220,6 +3310,13 @@ interface Conversation {
3220
3310
  * absent for main/DM/email/meeting/adhoc.
3221
3311
  */
3222
3312
  parent_conversation_id?: string;
3313
+ /**
3314
+ * iCalendar UID of the calendar meeting this conversation was born from
3315
+ * (stamped when the meeting bot starts); absent for everything else. With
3316
+ * `started_at` it names the meeting INSTANCE on every invitee's calendar —
3317
+ * Google's UID names a series, Microsoft's one occurrence.
3318
+ */
3319
+ calendar_event_ical_uid?: string;
3223
3320
  /**
3224
3321
  * Message id of the child conversation's root message, which lives in the
3225
3322
  * parent conversation; absent when the root is unknown (predates ingest).
@@ -3668,6 +3765,31 @@ interface ConversationTypeConfig {
3668
3765
  * `Conversation.type_key` and `config.summary_prompt_key` may swap the summary
3669
3766
  * system prompt. Module-deployable (conversation-types/<key>.json).
3670
3767
  */
3768
+ /**
3769
+ * One way a conversation of a type can end — "booked", "not_interested",
3770
+ * "callback". The type's list is the vocabulary a person picks from (the
3771
+ * softphone after a call, the conversation header) and the choice a
3772
+ * `role: 'outcome'` tag definition detects among. `description` is what the
3773
+ * model reads to tell outcomes apart (the name when empty).
3774
+ */
3775
+ interface ConversationOutcome {
3776
+ /** Platform key — the value stored on `Conversation.outcome_key`. */
3777
+ key: string;
3778
+ name: string;
3779
+ description?: string;
3780
+ }
3781
+ /**
3782
+ * One stage a conversation of a type moves through — "intro", "discovery",
3783
+ * "close". The type's list is ordered; progress through it is DERIVED from
3784
+ * the objectives pinned to each phase (every measured objective of a phase
3785
+ * achieved ⇒ the phase is done), never detected on its own. `description`
3786
+ * is for humans (the checklist, the summary prompt).
3787
+ */
3788
+ interface ConversationPhase {
3789
+ key: string;
3790
+ name: string;
3791
+ description?: string;
3792
+ }
3671
3793
  interface ConversationType {
3672
3794
  org_id: string;
3673
3795
  /** Immutable identity within the org — what the classifier answers with. */
@@ -3676,6 +3798,21 @@ interface ConversationType {
3676
3798
  /** When a conversation IS this type — injected verbatim into the classifier prompt. */
3677
3799
  definition: string;
3678
3800
  config: ConversationTypeConfig;
3801
+ /** Ordered; empty = the type tracks no outcome. */
3802
+ outcomes: ConversationOutcome[];
3803
+ /** Ordered; empty = the type tracks no phases. */
3804
+ phases: ConversationPhase[];
3805
+ /**
3806
+ * The type's action buttons — one strip in the footer of the call or
3807
+ * meeting surface, the same place during the conversation and in its
3808
+ * wrap-up. Same contract as `Page.actions`; each button's `visible_when`
3809
+ * reads the conversation scope (`conversation.status` for the stage,
3810
+ * `conversation.outcome_key`, `records_by_entity.<slug>`,
3811
+ * `tags_by_definition.<key>`, …); no rule = offered throughout. The rule
3812
+ * decides when a button appears; once pressed it stays for the rest of
3813
+ * the conversation. Ordered; empty = none.
3814
+ */
3815
+ actions: PageAction[];
3679
3816
  /** Module that deployed the type; absent when not module-owned. */
3680
3817
  module_slug?: string;
3681
3818
  created_at: string;
@@ -3689,6 +3826,12 @@ interface CreateConversationTypeRequest {
3689
3826
  name?: string;
3690
3827
  definition: string;
3691
3828
  config?: ConversationTypeConfig;
3829
+ /** Replaces the list wholesale; omit = none. */
3830
+ outcomes?: ConversationOutcome[];
3831
+ /** Replaces the list wholesale; omit = none. */
3832
+ phases?: ConversationPhase[];
3833
+ /** Replaces the list wholesale; omit = none. */
3834
+ actions?: PageAction[];
3692
3835
  module_slug?: string;
3693
3836
  }
3694
3837
  interface UpdateConversationTypeRequest {
@@ -3696,6 +3839,12 @@ interface UpdateConversationTypeRequest {
3696
3839
  definition?: string;
3697
3840
  /** Replaces the stored config wholesale; send `{}` to clear the prompt link. */
3698
3841
  config?: ConversationTypeConfig;
3842
+ /** Replaces the list wholesale; `[]` clears it. */
3843
+ outcomes?: ConversationOutcome[];
3844
+ /** Replaces the list wholesale; `[]` clears it. */
3845
+ phases?: ConversationPhase[];
3846
+ /** Replaces the list wholesale; `[]` clears it. */
3847
+ actions?: PageAction[];
3699
3848
  }
3700
3849
  interface ListConversationTypesQuery extends PaginationQuery {
3701
3850
  /** Case-insensitive substring match on key or name. */
@@ -3722,6 +3871,41 @@ type ConversationTagScope = 'conversation' | 'message' | 'span';
3722
3871
  * anchors; required for span scope).
3723
3872
  */
3724
3873
  type ConversationTagEvaluatorKind = 'decide' | 'reason';
3874
+ /**
3875
+ * What a definition is judged over: `conversation` (its messages, windowed per
3876
+ * trigger — the default) or `summary` (the conversation's final summary plus
3877
+ * the humans' notes; conversation scope only; planned only once the
3878
+ * conversation has a summary, so never by a realtime evaluation).
3879
+ */
3880
+ type ConversationTagBasis = 'conversation' | 'summary';
3881
+ /**
3882
+ * Who set a conversation's outcome: a person (never overridden), the model
3883
+ * (a `role: 'outcome'` tag) or the service itself from a channel fact (a call
3884
+ * nobody answered, a meeting nobody joined).
3885
+ */
3886
+ type ConversationOutcomeSource = 'user' | 'model' | 'system';
3887
+ /**
3888
+ * One outcome a conversation may take, as `conversations.listOutcomes`
3889
+ * lists them: the type's outcomes (`source: 'type'`) followed by the
3890
+ * channel's system outcomes (`source: 'system'` — phone: not_reached /
3891
+ * voicemail / wrong_number; meetings: no_show / cancelled; email: no_reply /
3892
+ * bounced / declined; chat: no_reply / declined). The service sets the ones
3893
+ * it can tell by itself; a person may pick any.
3894
+ */
3895
+ interface ConversationOutcomeOption {
3896
+ key: string;
3897
+ name: string;
3898
+ description?: string;
3899
+ source: 'type' | 'system';
3900
+ }
3901
+ /**
3902
+ * The special part a definition plays beyond being an observation. `outcome`
3903
+ * = THE result of the conversation: a choice question at conversation scope,
3904
+ * one value per conversation, the human's choice beats the model's (an
3905
+ * evaluation never asks the model an outcome a user already set), surfaced in
3906
+ * the softphone and the conversation header. `phase` is reserved.
3907
+ */
3908
+ type ConversationTagRole = 'outcome';
3725
3909
  /**
3726
3910
  * WHY an evaluation ran: `realtime` (the debounced window after new messages),
3727
3911
  * `completion` (the conversation completed — final transcript + summary for
@@ -3824,6 +4008,10 @@ interface ConversationTagDefinition {
3824
4008
  /** `span` requires `evaluator.kind = 'reason'`. */
3825
4009
  scope: ConversationTagScope;
3826
4010
  evaluator: ConversationTagEvaluator;
4011
+ /** `summary` requires conversation scope. */
4012
+ basis: ConversationTagBasis;
4013
+ /** Absent = a plain observation. `outcome` requires a choice question at conversation scope. */
4014
+ role?: ConversationTagRole;
3827
4015
  /**
3828
4016
  * Narrows message/span-scope judging to messages of these directions (e.g.
3829
4017
  * inbound only for customer sentiment); empty = all. Ignored for
@@ -4072,6 +4260,10 @@ interface CreateConversationTagDefinitionRequest {
4072
4260
  question: ConversationTagQuestion;
4073
4261
  scope: ConversationTagScope;
4074
4262
  evaluator: ConversationTagEvaluator;
4263
+ /** Omitted ⇒ `conversation`. */
4264
+ basis?: ConversationTagBasis;
4265
+ /** Omitted ⇒ none. */
4266
+ role?: ConversationTagRole | '';
4075
4267
  directions?: MessageDirection[];
4076
4268
  /** 0..1 */
4077
4269
  min_confidence?: number;
@@ -4091,6 +4283,9 @@ interface UpdateConversationTagDefinitionRequest {
4091
4283
  question?: ConversationTagQuestion;
4092
4284
  scope?: ConversationTagScope;
4093
4285
  evaluator?: ConversationTagEvaluator;
4286
+ basis?: ConversationTagBasis;
4287
+ /** Empty string clears the role. */
4288
+ role?: ConversationTagRole | '';
4094
4289
  directions?: MessageDirection[];
4095
4290
  /** 0..1 */
4096
4291
  min_confidence?: number;
@@ -4104,6 +4299,8 @@ interface ListConversationTagDefinitionsQuery extends PaginationQuery {
4104
4299
  group?: string;
4105
4300
  /** Exact filter. */
4106
4301
  scope?: string;
4302
+ /** Exact filter — `outcome` lists the outcome definitions. */
4303
+ role?: string;
4107
4304
  is_enabled?: boolean;
4108
4305
  /** Case-insensitive substring match on key or name. */
4109
4306
  search?: string;
@@ -4156,6 +4353,246 @@ interface ListConversationTagSetsQuery extends PaginationQuery {
4156
4353
  /** Case-insensitive substring match on key or name. */
4157
4354
  search?: string;
4158
4355
  }
4356
+ /**
4357
+ * How an objective definition's achievement is told: `tag` (a tag on a tag
4358
+ * definition meets a value condition) or `outcome` (the conversation's
4359
+ * outcome is one of a set).
4360
+ */
4361
+ type ConversationObjectiveMeasureKind = 'tag' | 'outcome';
4362
+ /**
4363
+ * The value condition — exactly one field set, matched to the question type
4364
+ * of the measured tag definition (boolean / choice / score) or, for kind
4365
+ * `outcome`, `choice_in` over outcome keys. `score_min` is the 0-based level
4366
+ * index a score tag must reach (tag values store the level index).
4367
+ */
4368
+ interface ConversationObjectiveAchievedWhen {
4369
+ boolean?: boolean;
4370
+ choice_in?: string[];
4371
+ score_min?: number;
4372
+ }
4373
+ /**
4374
+ * How an objective's achievement is told:
4375
+ *
4376
+ * - kind `tag`: a non-dismissed tag on `tag_definition_key` whose value meets
4377
+ * `achieved_when` (a pending tag ⇒ achieved, provisional). The tag
4378
+ * definition must be conversation-scoped and role-less — a person ticks the
4379
+ * objective by creating a user tag on it, unticks by deleting that tag.
4380
+ * - kind `outcome`: the conversation's `outcome_key` is one of
4381
+ * `achieved_when.choice_in` (the type's outcomes and the channel's system
4382
+ * outcomes) — ticked through the outcome picker.
4383
+ */
4384
+ interface ConversationObjectiveMeasure {
4385
+ kind: ConversationObjectiveMeasureKind;
4386
+ /** Required for kind `tag`; absent for kind `outcome`. */
4387
+ tag_definition_key?: string;
4388
+ achieved_when: ConversationObjectiveAchievedWhen;
4389
+ }
4390
+ /**
4391
+ * One thing a conversation should achieve — "confirm the budget", "agree a
4392
+ * next step", "book the demo". Applies to every conversation (`type_key`
4393
+ * absent) or to conversations of one type, may be pinned to one of that
4394
+ * type's phases (the checklist groups by phase, and a phase counts as done
4395
+ * once every measured objective in it is achieved), and may be MEASURED so
4396
+ * the platform tells whether it was achieved (no `measure` = guidance only,
4397
+ * a line on the checklist). Its instance on a conversation is a
4398
+ * ConversationObjective — the same definition → instance split as
4399
+ * ConversationTagDefinition → ConversationTag. Keyed by `key`;
4400
+ * module-deployable (conversation-objective-definitions/<key>.json).
4401
+ */
4402
+ interface ConversationObjectiveDefinition {
4403
+ org_id: string;
4404
+ key: string;
4405
+ name: string;
4406
+ description?: string;
4407
+ /** Restricts the objective to one conversation type; absent = every conversation. */
4408
+ type_key?: string;
4409
+ /** Pins the objective to one of the type's phases (requires `type_key`); absent = ungrouped. */
4410
+ phase_key?: string;
4411
+ /** How achievement is told; absent = guidance only. */
4412
+ measure?: ConversationObjectiveMeasure;
4413
+ is_enabled: boolean;
4414
+ /** Module that deployed the definition; absent when not module-owned. */
4415
+ module_slug?: string;
4416
+ created_at: string;
4417
+ created_by: UserRef;
4418
+ updated_at: string;
4419
+ updated_by: UserRef;
4420
+ }
4421
+ /**
4422
+ * Creates one objective definition. `phase_key` requires `type_key` and must
4423
+ * be one of that type's phases. A `tag` measure names a CONVERSATION-scoped,
4424
+ * role-less tag definition and its `achieved_when` must match the question
4425
+ * type (boolean ⇒ `{boolean: true}`; choice ⇒ `{choice_in ⊆ options}`; score
4426
+ * ⇒ `{score_min: level index}`); an `outcome` measure takes `{choice_in}` over
4427
+ * outcome keys (the type's outcomes ∪ the channel system outcomes when
4428
+ * typed). `is_enabled` omitted ⇒ true. `module_slug` is stamped by
4429
+ * `pro module deploy`.
4430
+ */
4431
+ interface CreateConversationObjectiveDefinitionRequest {
4432
+ key: string;
4433
+ name: string;
4434
+ description?: string;
4435
+ type_key?: string;
4436
+ phase_key?: string;
4437
+ measure?: ConversationObjectiveMeasure;
4438
+ is_enabled?: boolean;
4439
+ module_slug?: string;
4440
+ }
4441
+ /**
4442
+ * Partial update — an omitted field leaves the stored value untouched.
4443
+ * `measure` is tri-state: omitted keeps it, `null` clears it (guidance only),
4444
+ * a value replaces it wholesale. `key` is immutable.
4445
+ */
4446
+ interface UpdateConversationObjectiveDefinitionRequest {
4447
+ name?: string;
4448
+ description?: string;
4449
+ type_key?: string;
4450
+ phase_key?: string;
4451
+ measure?: ConversationObjectiveMeasure | null;
4452
+ is_enabled?: boolean;
4453
+ }
4454
+ interface GetManyConversationObjectiveDefinitionsQuery extends PaginationQuery {
4455
+ /** Definitions deployed by one module. */
4456
+ module_slug?: string;
4457
+ type_key?: string;
4458
+ phase_key?: string;
4459
+ is_enabled?: boolean;
4460
+ /** Case-insensitive substring match on key or name. */
4461
+ search?: string;
4462
+ }
4463
+ /**
4464
+ * An objective's standing on a conversation: open (not yet, or no longer,
4465
+ * achieved) or achieved. Whether an achieved standing is still provisional is
4466
+ * the separate `is_provisional` flag, never a third status.
4467
+ */
4468
+ type ConversationObjectiveStatus = 'open' | 'achieved';
4469
+ /**
4470
+ * Who achieved an objective: a person (a user tag or a hand-picked outcome),
4471
+ * the model (a detected tag or outcome) or the system (a channel-level
4472
+ * outcome the service set by itself).
4473
+ */
4474
+ type ConversationObjectiveSource = 'user' | 'model' | 'system';
4475
+ /** Where a conversation stands in one of its type's phases. */
4476
+ type ConversationPhaseStatus = 'done' | 'current' | 'upcoming' | 'untracked';
4477
+ /**
4478
+ * One objective definition's standing on one conversation: open or achieved,
4479
+ * by whom, when, and on which tag. Resolved live for the per-conversation
4480
+ * read (ConversationObjectiveProgress) AND persisted as the ledger row of
4481
+ * the same shape — one row per APPLICABLE definition, open rows included,
4482
+ * rewritten at every change point. Never user-written.
4483
+ */
4484
+ interface ConversationObjective {
4485
+ org_id: string;
4486
+ conversation_id: string;
4487
+ definition_key: string;
4488
+ /** The conversation's channel, denormalized at resolution time. */
4489
+ channel: Channel;
4490
+ /** The conversation's type, denormalized at resolution time. */
4491
+ type_key?: string;
4492
+ /** The definition's phase, denormalized at resolution time. */
4493
+ phase_key?: string;
4494
+ status: ConversationObjectiveStatus;
4495
+ /** Who achieved it; absent while open. */
4496
+ source?: ConversationObjectiveSource;
4497
+ /**
4498
+ * The backing tag is still `pending` — a realtime detection on a live
4499
+ * spoken conversation the completion pass has not confirmed. Never true for
4500
+ * a user or system source.
4501
+ */
4502
+ is_provisional: boolean;
4503
+ achieved_at?: string;
4504
+ /**
4505
+ * The tag that achieved a tag-measured objective (the one to delete to
4506
+ * untick when `source` is user); absent for outcome measures.
4507
+ */
4508
+ tag_id?: string;
4509
+ /** The conversation's status at resolution time — an open objective on an ended conversation was missed. */
4510
+ is_conversation_ended: boolean;
4511
+ /** When this standing was resolved (the ledger write). */
4512
+ recorded_at: string;
4513
+ }
4514
+ /**
4515
+ * One row of `conversationObjectives.counts`: the grouped columns that were
4516
+ * requested plus the count.
4517
+ */
4518
+ interface ConversationObjectiveCount {
4519
+ definition_key?: string;
4520
+ status?: ConversationObjectiveStatus;
4521
+ source?: ConversationObjectiveSource;
4522
+ is_provisional?: boolean;
4523
+ type_key?: string;
4524
+ phase_key?: string;
4525
+ channel?: Channel;
4526
+ count: number;
4527
+ }
4528
+ /**
4529
+ * One of the type's phases as the conversation stands in it, derived from
4530
+ * the objectives pinned to the phase: `done` = every measured objective
4531
+ * achieved (≥ 1 measured; provisional counts); `current` = the first phase
4532
+ * in type order that is not done and has a measured objective; `upcoming` =
4533
+ * after the current one; `untracked` = no measured objective, so progress
4534
+ * cannot be told (dim, never current). `completed_at` is the latest
4535
+ * `achieved_at` among the phase's measured objectives once done.
4536
+ */
4537
+ interface ConversationPhaseProgress extends ConversationPhase {
4538
+ status: ConversationPhaseStatus;
4539
+ completed_at?: string;
4540
+ }
4541
+ /**
4542
+ * `conversations.getObjectiveProgress`: where the conversation stands — the
4543
+ * current phase key (`''` when the type has no phases or every tracked phase
4544
+ * is done), every phase with its status, every applicable objective with its
4545
+ * standing, and the applicable definitions the objectives reference by
4546
+ * `definition_key` (join `objectives[].definition_key` → `definitions[].key`
4547
+ * for name / description / measure). Objectives are ordered: ungrouped first,
4548
+ * then by the type's phase order, then name.
4549
+ */
4550
+ interface ConversationObjectiveProgress {
4551
+ phase_key: string;
4552
+ phases: ConversationPhaseProgress[];
4553
+ objectives: ConversationObjective[];
4554
+ definitions: ConversationObjectiveDefinition[];
4555
+ }
4556
+ /** The org-wide ledger read (`conversationObjectives.list`); `since`/`until` bound `recorded_at`. */
4557
+ interface GetManyConversationObjectivesQuery extends PaginationQuery {
4558
+ conversation_id?: string;
4559
+ definition_key?: string;
4560
+ type_key?: string;
4561
+ phase_key?: string;
4562
+ channel?: string;
4563
+ status?: string;
4564
+ source?: string;
4565
+ is_provisional?: boolean;
4566
+ is_conversation_ended?: boolean;
4567
+ /** Lower bound on `recorded_at` (inclusive), RFC 3339. */
4568
+ since?: string;
4569
+ /** Upper bound on `recorded_at` (exclusive), RFC 3339. */
4570
+ until?: string;
4571
+ }
4572
+ /**
4573
+ * Groups the ledger for dashboards. `group_by` is a COMMA-JOINED string (not
4574
+ * an array — the query serializer repeats array keys) whitelisted to
4575
+ * definition_key, status, source, is_provisional, type_key, phase_key,
4576
+ * channel (order kept; default `definition_key,status`).
4577
+ */
4578
+ interface CountConversationObjectivesQuery {
4579
+ group_by?: string;
4580
+ definition_key?: string;
4581
+ type_key?: string;
4582
+ phase_key?: string;
4583
+ channel?: string;
4584
+ status?: string;
4585
+ source?: string;
4586
+ is_provisional?: boolean;
4587
+ is_conversation_ended?: boolean;
4588
+ /** Lower bound on `recorded_at` (inclusive), RFC 3339. */
4589
+ since?: string;
4590
+ /** Upper bound on `recorded_at` (exclusive), RFC 3339. */
4591
+ until?: string;
4592
+ }
4593
+ interface CountConversationObjectivesResponse {
4594
+ data: ConversationObjectiveCount[];
4595
+ }
4159
4596
  /**
4160
4597
  * The manual door (`conversationTags.create`): a person tags a conversation,
4161
4598
  * a message or a span. Anchors follow the definition's scope (conversation:
@@ -4432,6 +4869,11 @@ interface ListConversationsQuery extends PaginationQuery {
4432
4869
  channel?: string;
4433
4870
  status?: string;
4434
4871
  connection_id?: string;
4872
+ type_key?: string;
4873
+ /** The meeting conversations born from one calendar event UID. */
4874
+ calendar_event_ical_uid?: string;
4875
+ /** How conversations ended (one of a type's outcome keys). */
4876
+ outcome_key?: string;
4435
4877
  /**
4436
4878
  * Conversations of one room (Slack channel) — the room stream. A
4437
4879
  * present-but-EMPTY string is meaningful: it filters to the room-LESS
@@ -4473,6 +4915,15 @@ interface UpdateConversationRequest {
4473
4915
  summary?: string;
4474
4916
  status?: ConversationStatus;
4475
4917
  metadata?: Record<string, unknown>;
4918
+ /** Set the type by hand (must exist; `''` clears). Leaves the outcome alone. */
4919
+ type_key?: string;
4920
+ /**
4921
+ * How the conversation ended — one of `conversations.listOutcomes(id)`
4922
+ * (its type's outcomes or its channel's system outcomes; `''` clears). The
4923
+ * person's choice: never overridden by the model or the service. 400
4924
+ * `conversation_outcome_unknown` when the key is in neither list.
4925
+ */
4926
+ outcome_key?: string;
4476
4927
  }
4477
4928
  interface ListMessagesQuery extends PaginationQuery {
4478
4929
  direction?: string;
@@ -5082,6 +5533,59 @@ interface DispatchMeetingBotRequest {
5082
5533
  * transcription provider is deepgram_streaming.
5083
5534
  */
5084
5535
  language?: string;
5536
+ /**
5537
+ * The calendar meeting instance the bot is sent for — `calendar_event_ical_uid`
5538
+ * with `start_at` (the instance start, ISO) link the meeting conversation and
5539
+ * its bot to the calendar so the event's surface can follow them.
5540
+ */
5541
+ calendar_event_ical_uid?: string;
5542
+ start_at?: string;
5543
+ }
5544
+ /**
5545
+ * Lifecycle of an Ava bot: `scheduled` (sent, not yet in the call) → `joining`
5546
+ * → `recording` → `ended` | `failed`, or `removed` (a person withdrew Ava —
5547
+ * terminal; a removed meeting is not scheduled again).
5548
+ */
5549
+ type MeetingBotStatus = 'scheduled' | 'joining' | 'recording' | 'ended' | 'failed' | 'removed';
5550
+ /**
5551
+ * The platform's memory of one Ava bot — "Ava joins this meeting", whoever's
5552
+ * calendar scheduled her. One bot per meeting instance per org when bot
5553
+ * deduplication is on; several rows can share an instance when it is off.
5554
+ */
5555
+ interface MeetingBot {
5556
+ id: string;
5557
+ org_id: string;
5558
+ /** The connection (calendar / adhoc) that scheduled the bot. */
5559
+ connection_id: string;
5560
+ /** The provider's bot id; the meeting conversation's external id once begun. */
5561
+ external_bot_id: string;
5562
+ /** The provider calendar-event id the bot was scheduled on; absent for adhoc. */
5563
+ provider_event_id?: string;
5564
+ calendar_event_ical_uid?: string;
5565
+ start_at?: string;
5566
+ meeting_url?: string;
5567
+ title?: string;
5568
+ status: MeetingBotStatus;
5569
+ /**
5570
+ * Platform users among the invitees: they see the bot — and may withdraw
5571
+ * Ava from their meeting — without owning the connection that scheduled her.
5572
+ */
5573
+ invitee_user_ids: string[];
5574
+ /** The meeting conversation; absent until the bot starts the meeting. */
5575
+ conversation_id?: string;
5576
+ created_at: string;
5577
+ created_by: UserRef;
5578
+ updated_at: string;
5579
+ updated_by: UserRef;
5580
+ }
5581
+ interface ListMeetingBotsQuery extends PaginationQuery {
5582
+ /** Meetings starting at/after this ISO instant. */
5583
+ start_after?: string;
5584
+ /** Meetings starting before this ISO instant. */
5585
+ start_before?: string;
5586
+ /** One calendar meeting (pair with the window to name an instance). */
5587
+ calendar_event_ical_uid?: string;
5588
+ status?: MeetingBotStatus;
5085
5589
  }
5086
5590
  /**
5087
5591
  * Discriminates a sending rule: window (WHEN sending is allowed, recipient-
@@ -5168,13 +5672,28 @@ interface ConversationBrief {
5168
5672
  org_id: string;
5169
5673
  /** Human label ("Renewal call with Dana"); may be empty. */
5170
5674
  subject: string;
5171
- /** The people the conversation is with (≥ 1, deduplicated, sorted). */
5675
+ /** The people the conversation is with (deduplicated, sorted; may be empty — a phone brief has ≥ 1). */
5172
5676
  contact_ids: string[];
5173
5677
  /** How the conversation should happen (phone opens the softphone); absent = unspecified. */
5174
5678
  channel?: Channel;
5175
5679
  /** ConversationType key the conversation is meant to be; stamped on attach. */
5176
5680
  type_key?: string;
5177
- /** The conversation the brief was used on; absent until used. */
5681
+ /**
5682
+ * The calendar event (one person's copy) the brief prepares; attached to
5683
+ * the meeting's conversation when the meeting bot starts. Absent = no meeting.
5684
+ */
5685
+ calendar_event_id?: string;
5686
+ /** The brief is every invitee's, not only the event owner's. */
5687
+ is_shared_with_participants: boolean;
5688
+ /** The meeting instance the event belongs to (resolved from the event; read-only). */
5689
+ calendar_event_ical_uid?: string;
5690
+ calendar_event_start_at?: string;
5691
+ /**
5692
+ * The platform users the brief is for (the event owner; every resolved
5693
+ * invitee when shared) — they read it next to its creator. Read-only.
5694
+ */
5695
+ invitee_user_ids: string[];
5696
+ /** The conversation the brief was used on; absent until used. A conversation may carry several briefs. */
5178
5697
  conversation_id?: string;
5179
5698
  status: ConversationBriefStatus;
5180
5699
  /** Guidance text (markdown allowed). */
@@ -5187,13 +5706,17 @@ interface ConversationBrief {
5187
5706
  }
5188
5707
  interface CreateConversationBriefRequest {
5189
5708
  subject?: string;
5190
- /** The people the conversation is with (≥ 1). */
5191
- contact_ids: string[];
5709
+ /** The people the conversation is with (may be empty). */
5710
+ contact_ids?: string[];
5192
5711
  /** Must be a known channel when set. */
5193
5712
  channel?: Channel;
5194
5713
  /** Must name an existing conversation type when set. */
5195
5714
  type_key?: string;
5196
5715
  content: string;
5716
+ /** The caller's view of a calendar event the brief prepares (the caller must be able to read it). */
5717
+ calendar_event_id?: string;
5718
+ /** Every invitee's brief instead of only the event owner's (requires calendar_event_id). */
5719
+ is_shared_with_participants?: boolean;
5197
5720
  }
5198
5721
  /** PATCH semantics — absent fields keep their value. Only open briefs. */
5199
5722
  interface UpdateConversationBriefRequest {
@@ -5204,6 +5727,9 @@ interface UpdateConversationBriefRequest {
5204
5727
  channel?: Channel | '';
5205
5728
  content?: string;
5206
5729
  type_key?: string;
5730
+ /** Re-ties the brief; empty string unties it (and drops the sharing). */
5731
+ calendar_event_id?: string;
5732
+ is_shared_with_participants?: boolean;
5207
5733
  }
5208
5734
  /** Binds an open brief to a conversation explicitly. */
5209
5735
  interface AttachConversationBriefRequest {
@@ -5213,6 +5739,14 @@ interface ListConversationBriefsQuery extends PaginationQuery {
5213
5739
  /** Briefs naming this person. */
5214
5740
  contact_id?: string;
5215
5741
  conversation_id?: string;
5742
+ /** The briefs for one person's copy of a calendar event. */
5743
+ calendar_event_id?: string;
5744
+ /** Every visible brief of a meeting, across invitees' copies (+ start to pin one instance). */
5745
+ calendar_event_ical_uid?: string;
5746
+ calendar_event_start_at?: string;
5747
+ /** The briefs of the meetings starting in [after, before) — a calendar's visible range. */
5748
+ calendar_event_start_after?: string;
5749
+ calendar_event_start_before?: string;
5216
5750
  channel?: Channel;
5217
5751
  type_key?: string;
5218
5752
  status?: ConversationBriefStatus;
@@ -5625,6 +6159,34 @@ interface ListChannelActionsQuery extends PaginationQuery {
5625
6159
  status?: ChannelActionStatus;
5626
6160
  contact_id?: string;
5627
6161
  }
6162
+ /**
6163
+ * What a PERSON recorded about a conversation — during a call, after a
6164
+ * meeting, while reading a thread. An append log, author-stamped, never
6165
+ * merged. Notes feed the summary (what the human found important) and the
6166
+ * summary-basis tag evaluations. As visible as the conversation; only the
6167
+ * author edits or deletes.
6168
+ */
6169
+ interface ConversationNote {
6170
+ id: string;
6171
+ org_id: string;
6172
+ conversation_id: string;
6173
+ /** Markdown allowed. */
6174
+ content: string;
6175
+ created_at: string;
6176
+ created_by: UserRef;
6177
+ updated_at: string;
6178
+ updated_by: UserRef;
6179
+ }
6180
+ interface CreateConversationNoteRequest {
6181
+ content: string;
6182
+ }
6183
+ interface UpdateConversationNoteRequest {
6184
+ content: string;
6185
+ }
6186
+ interface ListConversationNotesQuery extends PaginationQuery {
6187
+ sort_by?: string;
6188
+ sort?: 'asc' | 'desc';
6189
+ }
5628
6190
 
5629
6191
  /** One normalized transcription update streamed back from the server. */
5630
6192
  interface TranscriptResult {
@@ -5733,6 +6295,10 @@ declare class ConversationClient {
5733
6295
  readonly conversationTagSets: ConversationTagSetService;
5734
6296
  /** Conversation intelligence: the observations produced + their evaluation history. */
5735
6297
  readonly conversationTags: ConversationTagService;
6298
+ /** Conversation objectives: WHAT a conversation should achieve (config, keyed, module-deployable). */
6299
+ readonly conversationObjectiveDefinitions: ConversationObjectiveDefinitionService;
6300
+ /** Conversation objectives: the org-wide ledger of standings + grouped counts (read-only). */
6301
+ readonly conversationObjectives: ConversationObjectiveService;
5736
6302
  /** Generic audience taxonomy; membership lives on the contact. */
5737
6303
  readonly contactGroups: ContactGroupService;
5738
6304
  /** Tone-of-voice synthesis: per-user setups + the generated profiles. */
@@ -5740,16 +6306,30 @@ declare class ConversationClient {
5740
6306
  readonly transcriptions: TranscriptionService;
5741
6307
  /** Review-pass findings: likely misheard terms awaiting accept/reject. */
5742
6308
  readonly mistranscribedTerms: MistranscribedTermService;
5743
- /** Meeting bots (Ava): dispatch into a meeting URL, remove from a meeting. */
6309
+ /** Meeting bots (Ava): dispatch into a meeting URL, summaries. */
5744
6310
  readonly meetings: MeetingService;
6311
+ /** Ava's bots as remembered by the platform: list them, withdraw her from a meeting. */
6312
+ readonly meetingBots: MeetingBotService;
5745
6313
  /** Realtime speech-to-text (dictation) — moved here from agent-service. */
5746
6314
  readonly voice: VoiceService;
5747
6315
  readonly calls: CallService;
5748
6316
  /** Conversation briefs: guidance prepared ahead of a conversation (call, meeting) with a contact. */
5749
6317
  readonly conversationBriefs: ConversationBriefService;
6318
+ /** Conversation notes: what a person recorded about a conversation (append log, author-stamped). */
6319
+ readonly conversationNotes: ConversationNoteService;
5750
6320
  constructor(client: ProteosClient);
5751
6321
  }
5752
- /** Meeting bots (Ava) — dispatch by meeting URL and removal. */
6322
+ /** Conversation notes — what a person recorded about a conversation. */
6323
+ interface ConversationNoteService {
6324
+ /** A conversation's notes, oldest first by default. */
6325
+ list(conversationId: string, query?: ListConversationNotesQuery): Promise<ListResponse$1<ConversationNote>>;
6326
+ create(conversationId: string, request: CreateConversationNoteRequest): Promise<ConversationNote>;
6327
+ /** Author only (403 `conversation_note_not_author`). */
6328
+ update(id: string, request: UpdateConversationNoteRequest): Promise<ConversationNote>;
6329
+ /** Author only (403 `conversation_note_not_author`). */
6330
+ delete(id: string): Promise<void>;
6331
+ }
6332
+ /** Meeting bots (Ava) — dispatch by meeting URL, summaries. */
5753
6333
  interface MeetingService {
5754
6334
  /**
5755
6335
  * Send Ava to a meeting URL. Resolves with the pre-minted meeting
@@ -5757,8 +6337,6 @@ interface MeetingService {
5757
6337
  * turns then stream in as inbound messages while the meeting runs.
5758
6338
  */
5759
6339
  dispatch(request: DispatchMeetingBotRequest): Promise<Conversation>;
5760
- /** Make the bot leave the meeting and end the conversation (by conversation id). */
5761
- remove(conversationId: string): Promise<Conversation>;
5762
6340
  /**
5763
6341
  * START regenerating this meeting conversation's markdown summary from its
5764
6342
  * stored transcript, overwriting any existing one when it lands. Generation
@@ -5774,6 +6352,22 @@ interface MeetingService {
5774
6352
  */
5775
6353
  summarize(conversationId: string): Promise<Conversation>;
5776
6354
  }
6355
+ /**
6356
+ * Ava's bots as the platform remembers them: what a client shows as "Ava joins"
6357
+ * for a meeting, and the door to withdraw her.
6358
+ */
6359
+ interface MeetingBotService {
6360
+ /** The bots the caller may see, soonest meeting first. */
6361
+ list(query?: ListMeetingBotsQuery): Promise<ListResponse$1<MeetingBot>>;
6362
+ /**
6363
+ * Withdraw Ava from the meeting this bot belongs to: every bot of that
6364
+ * meeting instance the caller may act on (scheduled from their connection,
6365
+ * or on a meeting they are invited to) is cancelled (scheduled) or leaves
6366
+ * the call (live), the rows become `removed`, and the calendar will not
6367
+ * schedule her again. Re-add her explicitly with `meetings.dispatch`.
6368
+ */
6369
+ remove(id: string): Promise<MeetingBot>;
6370
+ }
5777
6371
  /** Configured integration instances (Slack workspace, Gmail grant, …). */
5778
6372
  interface ConnectionService {
5779
6373
  list(query?: ListConnectionsQuery): Promise<ListResponse$1<Connection>>;
@@ -5872,6 +6466,20 @@ interface ConversationService {
5872
6466
  get(id: string): Promise<Conversation>;
5873
6467
  /** Patch the user-editable surface (subject, summary, status, metadata). */
5874
6468
  update(id: string, request: UpdateConversationRequest): Promise<Conversation>;
6469
+ /**
6470
+ * What the conversation may end with: its type's outcomes, then its
6471
+ * channel's system outcomes — the picker's list and the valid
6472
+ * `outcome_key` values for `update`.
6473
+ */
6474
+ listOutcomes(id: string): Promise<{
6475
+ data: ConversationOutcomeOption[];
6476
+ }>;
6477
+ /**
6478
+ * Where the conversation stands against its objectives: the current phase,
6479
+ * every phase's status, every applicable objective's standing and the
6480
+ * definitions they reference — the checklist from one read.
6481
+ */
6482
+ getObjectiveProgress(id: string): Promise<ConversationObjectiveProgress>;
5875
6483
  end(id: string): Promise<Conversation>;
5876
6484
  /**
5877
6485
  * Hard-delete the conversation, its thread children, and every dependent
@@ -6039,6 +6647,45 @@ interface ConversationTagService {
6039
6647
  list(query?: ListConversationTagsQuery): Promise<ListResponse$1<ConversationTag>>;
6040
6648
  /** Grouped counts for dashboards — `group_by` is a comma-joined string. */
6041
6649
  counts(query?: CountConversationTagsQuery): Promise<CountConversationTagsResponse>;
6650
+ /**
6651
+ * The enabled definitions the enabled sets select for the conversation right
6652
+ * now (`evaluate_on` ignored, like a manual evaluation) — what a person may
6653
+ * tag it with, incl. its outcome definition(s) (`role === 'outcome'`).
6654
+ */
6655
+ listApplicableDefinitions(conversationId: string): Promise<ListResponse$1<ConversationTagDefinition>>;
6656
+ }
6657
+ /**
6658
+ * Conversation objective definitions: WHAT a conversation should achieve —
6659
+ * "confirm the budget", "book the demo" — org-wide or per conversation type,
6660
+ * optionally pinned to one of the type's phases, optionally MEASURED (a tag
6661
+ * value condition or an outcome set) so the platform can tell when it was
6662
+ * achieved. Keyed by `key` (not id); `upsert` is the idempotent module-deploy
6663
+ * door.
6664
+ */
6665
+ interface ConversationObjectiveDefinitionService {
6666
+ list(query?: GetManyConversationObjectiveDefinitionsQuery): Promise<ListResponse$1<ConversationObjectiveDefinition>>;
6667
+ /** One page, explicitly (`query.page`) — the door a page walker calls; same wire call as `list`. */
6668
+ listPage(query?: GetManyConversationObjectiveDefinitionsQuery): Promise<ListResponse$1<ConversationObjectiveDefinition>>;
6669
+ get(key: string): Promise<ConversationObjectiveDefinition>;
6670
+ create(request: CreateConversationObjectiveDefinitionRequest): Promise<ConversationObjectiveDefinition>;
6671
+ /** Partial update; `measure: null` clears the measure (guidance only). */
6672
+ update(key: string, request: UpdateConversationObjectiveDefinitionRequest): Promise<ConversationObjectiveDefinition>;
6673
+ /** Idempotent create-or-update by key (PUT) — what `pro module deploy` calls. */
6674
+ upsert(key: string, request: CreateConversationObjectiveDefinitionRequest): Promise<ConversationObjectiveDefinition>;
6675
+ delete(key: string): Promise<void>;
6676
+ }
6677
+ /**
6678
+ * Conversation objectives: the org-wide ledger of every applicable
6679
+ * definition's standing on every conversation (open rows included), plus
6680
+ * grouped counts for dashboards. Read-only — a standing is resolved by the
6681
+ * service from the conversation's tags and outcome; the per-conversation
6682
+ * checklist is `conversations.getObjectiveProgress`.
6683
+ */
6684
+ interface ConversationObjectiveService {
6685
+ /** The ledger (filter by conversation, definition, type, phase, channel, status, source, time window on `recorded_at`). */
6686
+ list(query?: GetManyConversationObjectivesQuery): Promise<ListResponse$1<ConversationObjective>>;
6687
+ /** Grouped counts for dashboards — `group_by` is a comma-joined string. */
6688
+ counts(query?: CountConversationObjectivesQuery): Promise<CountConversationObjectivesResponse>;
6042
6689
  }
6043
6690
  /**
6044
6691
  * Contact groups: the generic org-shared audience taxonomy. Membership lives
@@ -6143,6 +6790,14 @@ interface MistranscribedTermService {
6143
6790
  */
6144
6791
  interface CallService {
6145
6792
  mintToken(request: MintCallTokenRequest): Promise<CallTokenResponse>;
6793
+ /**
6794
+ * The conversation a provider call became — the softphone's outbound
6795
+ * browser-leg CallSid. 404 `call_not_found` until the call-start callback
6796
+ * minted it (poll briefly).
6797
+ */
6798
+ getCallConversation(connectionId: string, externalCallId: string): Promise<Conversation>;
6799
+ /** Start / resume (true) or pause (false) the recording of a live phone conversation. */
6800
+ setRecording(conversationId: string, request: SetCallRecordingRequest): Promise<Conversation>;
6146
6801
  /** A phone connection's provider numbers with status + routing. */
6147
6802
  listPhoneNumbers(connectionId: string): Promise<{
6148
6803
  data: PhoneNumber[];
@@ -6164,11 +6819,12 @@ interface CallService {
6164
6819
  /**
6165
6820
  * Conversation briefs — guidance prepared ahead of a conversation ("talk to
6166
6821
  * these people about this"; the conversation sibling of message drafts).
6167
- * Binding is explicit: the softphone carries the brief id into the call, or
6168
- * `attach` names the conversation. Any number of briefs may be open for the
6169
- * same people. Edits/attach on a non-open brief fail 409
6170
- * `conversation_brief_not_editable`; a conversation already carrying a brief
6171
- * refuses another (409 `conversation_brief_already_attached`).
6822
+ * Binding is explicit: the softphone carries the brief id into the call, a
6823
+ * brief naming a calendar event attaches to that meeting's conversation when
6824
+ * the meeting bot starts, or `attach` names the conversation. Any number of
6825
+ * briefs may be open for the same people or meeting, and a conversation may
6826
+ * carry several. Edits/attach on a non-open brief fail 409
6827
+ * `conversation_brief_not_editable`.
6172
6828
  */
6173
6829
  interface ConversationBriefService {
6174
6830
  list(query?: ListConversationBriefsQuery): Promise<ListResponse$1<ConversationBrief>>;
@@ -6238,50 +6894,6 @@ interface ChannelEventService {
6238
6894
  listByMessage(messageId: string): Promise<ListResponse$1<ChannelEvent>>;
6239
6895
  }
6240
6896
 
6241
- /**
6242
- * A single row from a query result. Keys match the result-set columns
6243
- * (camelCase, with `id`/`created_at`/`updated_at` reserved). The data-service
6244
- * hoists JSONB columns into nested objects, so values can be primitives,
6245
- * nested records, or arrays.
6246
- */
6247
- type QueryRow = Record<string, unknown>;
6248
- interface QueryExecuteMeta {
6249
- columns: string[];
6250
- items: number;
6251
- limit_applied: number;
6252
- /** Only present when `true`. */
6253
- was_default_limit_applied?: boolean;
6254
- execution_time_ms: number;
6255
- }
6256
- interface QueryExecuteResponse {
6257
- data: QueryRow[];
6258
- meta?: QueryExecuteMeta;
6259
- }
6260
- interface QueryValidateMeta {
6261
- limit_applied: number;
6262
- was_default_limit_applied?: boolean;
6263
- }
6264
- interface QueryValidateResponse {
6265
- valid: boolean;
6266
- /** The SQL the server would execute (entity-rewritten, schema-qualified). */
6267
- rewritten_sql?: string;
6268
- tables?: string[];
6269
- meta?: QueryValidateMeta;
6270
- }
6271
- /**
6272
- * Service for the raw-SQL query endpoint of the data-service.
6273
- *
6274
- * Accepts SELECT-only Postgres SQL with bare attribute references; the
6275
- * server rewrites bare attributes into JSONB accessors against the
6276
- * tenant's schema and runs per-table OpenFGA authorization checks.
6277
- */
6278
- interface QueryService {
6279
- /** Executes the SQL and returns the result rows + meta. */
6280
- execute(sql: string): Promise<QueryExecuteResponse>;
6281
- /** Parses + authorizes the SQL without running it. */
6282
- validate(sql: string): Promise<QueryValidateResponse>;
6283
- }
6284
-
6285
6897
  /**
6286
6898
  * A record is an open-shape JSON object whose keys are the entity's attribute
6287
6899
  * names plus system fields (`id`, `created_at`, `updated_at`, `created_by`,
@@ -6506,6 +7118,109 @@ interface PublishContactObservationsResponse {
6506
7118
  published: number;
6507
7119
  skipped: number;
6508
7120
  }
7121
+ /** Named by what it does: lookup (=, IN, ranges, sort), unique (lookup that
7122
+ * refuses duplicates), search (substring match on one string attribute). */
7123
+ type EntityIndexType = 'lookup' | 'unique' | 'search';
7124
+ /** declared = from the entity (is_unique / unique_constraints); automatic =
7125
+ * the platform's relation/user indexes; applied = added per org by an admin. */
7126
+ type EntityIndexSource = 'declared' | 'automatic' | 'applied';
7127
+ type EntityIndexState = 'ready' | 'building' | 'invalid' | 'missing';
7128
+ interface EntityIndex {
7129
+ name: string;
7130
+ type: EntityIndexType;
7131
+ attributes: string[];
7132
+ source: EntityIndexSource;
7133
+ state?: EntityIndexState;
7134
+ size_bytes?: number;
7135
+ scans?: number;
7136
+ created_at?: string;
7137
+ }
7138
+ /** Only slow runs (>= the advisor's slow threshold) are recorded, so
7139
+ * `slow_queries` is the whole sample and `avg_ms` their average. */
7140
+ interface IndexEvidence {
7141
+ slow_queries: number;
7142
+ avg_ms: number;
7143
+ rows: number;
7144
+ scans: number;
7145
+ reason: string;
7146
+ }
7147
+ interface IndexRecommendation {
7148
+ action: 'add' | 'remove';
7149
+ index: EntityIndex;
7150
+ evidence: IndexEvidence;
7151
+ /** On an `add`: applied lookups the new index supersedes. Pass through as
7152
+ * `CreateEntityIndexRequest.replaces` so the create swaps them. */
7153
+ replaces?: string[];
7154
+ }
7155
+ /** Only lookup and search can be applied; uniqueness is declared on the entity. */
7156
+ interface CreateEntityIndexRequest {
7157
+ /** Derived from the attributes when omitted (by_<a>_<b>, search_<a>). */
7158
+ name?: string;
7159
+ type: 'lookup' | 'search';
7160
+ attributes: string[];
7161
+ /** Applied lookups this index supersedes (each must be covered by it);
7162
+ * removed in the same step. Required whenever one exists, else 400 index_redundant. */
7163
+ replaces?: string[];
7164
+ }
7165
+
7166
+ /**
7167
+ * Per-entity indexes on the record table and the advisor's recommendations.
7168
+ * Admin surface: gated on the `entities` permission, not on record access.
7169
+ */
7170
+ interface EntityIndexService {
7171
+ /** Every index of the entity (declared, automatic, applied) with live state. */
7172
+ list(entitySlug: string): Promise<EntityIndex[]>;
7173
+ /** The advisor's current suggestions for the entity. */
7174
+ recommendations(entitySlug: string): Promise<IndexRecommendation[]>;
7175
+ /** Applies one lookup/search index; returns it in `building` state. */
7176
+ create(entitySlug: string, request: CreateEntityIndexRequest): Promise<EntityIndex>;
7177
+ /** Removes one APPLIED index (declared/automatic → 409 entity_index_not_deletable). */
7178
+ delete(entitySlug: string, name: string): Promise<void>;
7179
+ }
7180
+
7181
+ /**
7182
+ * A single row from a query result. Keys match the result-set columns
7183
+ * (camelCase, with `id`/`created_at`/`updated_at` reserved). The data-service
7184
+ * hoists JSONB columns into nested objects, so values can be primitives,
7185
+ * nested records, or arrays.
7186
+ */
7187
+ type QueryRow = Record<string, unknown>;
7188
+ interface QueryExecuteMeta {
7189
+ columns: string[];
7190
+ items: number;
7191
+ limit_applied: number;
7192
+ /** Only present when `true`. */
7193
+ was_default_limit_applied?: boolean;
7194
+ execution_time_ms: number;
7195
+ }
7196
+ interface QueryExecuteResponse {
7197
+ data: QueryRow[];
7198
+ meta?: QueryExecuteMeta;
7199
+ }
7200
+ interface QueryValidateMeta {
7201
+ limit_applied: number;
7202
+ was_default_limit_applied?: boolean;
7203
+ }
7204
+ interface QueryValidateResponse {
7205
+ valid: boolean;
7206
+ /** The SQL the server would execute (entity-rewritten, schema-qualified). */
7207
+ rewritten_sql?: string;
7208
+ tables?: string[];
7209
+ meta?: QueryValidateMeta;
7210
+ }
7211
+ /**
7212
+ * Service for the raw-SQL query endpoint of the data-service.
7213
+ *
7214
+ * Accepts SELECT-only Postgres SQL with bare attribute references; the
7215
+ * server rewrites bare attributes into JSONB accessors against the
7216
+ * tenant's schema and runs per-table OpenFGA authorization checks.
7217
+ */
7218
+ interface QueryService {
7219
+ /** Executes the SQL and returns the result rows + meta. */
7220
+ execute(sql: string): Promise<QueryExecuteResponse>;
7221
+ /** Parses + authorizes the SQL without running it. */
7222
+ validate(sql: string): Promise<QueryValidateResponse>;
7223
+ }
6509
7224
 
6510
7225
  /**
6511
7226
  * Service for managing records (per-entity data rows) via the data-service.
@@ -6601,6 +7316,8 @@ declare class DataClient {
6601
7316
  readonly queries: QueryService;
6602
7317
  /** Duplicate pairs of an entity's records (raised by contact binding). */
6603
7318
  readonly recordDuplicates: RecordDuplicateService;
7319
+ /** Per-entity indexes on the record table + the advisor's recommendations. */
7320
+ readonly entityIndexes: EntityIndexService;
6604
7321
  constructor(client: ProteosClient);
6605
7322
  }
6606
7323
 
@@ -6616,6 +7333,11 @@ declare const ErrorCode: {
6616
7333
  readonly INTERNAL_SERVER_ERROR: "internal_server_error";
6617
7334
  readonly INVALID_PAYLOAD: "invalid_payload";
6618
7335
  readonly INVALID_PERSONA: "invalid_persona";
7336
+ /** The server was never reached: DNS, connection refused, network down.
7337
+ * Carried with httpStatus 0. */
7338
+ readonly NETWORK_ERROR: "network_error";
7339
+ /** The request timed out client-side. Carried with httpStatus 0. */
7340
+ readonly REQUEST_TIMEOUT: "request_timeout";
6619
7341
  };
6620
7342
  type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
6621
7343
  /**
@@ -7811,7 +8533,7 @@ declare const KnowledgeNodeMetadataSchema: z.ZodObject<{
7811
8533
  id: string;
7812
8534
  }>;
7813
8535
  }, "strip", z.ZodTypeAny, {
7814
- type: "file" | "markdown" | "url";
8536
+ type: "file" | "url" | "markdown";
7815
8537
  status: "draft" | "archived" | "published";
7816
8538
  id: string;
7817
8539
  created_at: string;
@@ -7828,13 +8550,13 @@ declare const KnowledgeNodeMetadataSchema: z.ZodObject<{
7828
8550
  org_id: string;
7829
8551
  file_id?: string | null | undefined;
7830
8552
  url?: string | null | undefined;
8553
+ summary?: string | null | undefined;
7831
8554
  embedding_model?: string | null | undefined;
7832
8555
  embedded_at?: string | null | undefined;
7833
- summary?: string | null | undefined;
7834
8556
  valid_from?: string | null | undefined;
7835
8557
  valid_until?: string | null | undefined;
7836
8558
  }, {
7837
- type: "file" | "markdown" | "url";
8559
+ type: "file" | "url" | "markdown";
7838
8560
  status: "draft" | "archived" | "published";
7839
8561
  id: string;
7840
8562
  created_at: string;
@@ -7851,9 +8573,9 @@ declare const KnowledgeNodeMetadataSchema: z.ZodObject<{
7851
8573
  org_id: string;
7852
8574
  file_id?: string | null | undefined;
7853
8575
  url?: string | null | undefined;
8576
+ summary?: string | null | undefined;
7854
8577
  embedding_model?: string | null | undefined;
7855
8578
  embedded_at?: string | null | undefined;
7856
- summary?: string | null | undefined;
7857
8579
  valid_from?: string | null | undefined;
7858
8580
  valid_until?: string | null | undefined;
7859
8581
  }>;
@@ -7896,7 +8618,7 @@ declare const KnowledgeNodeSchema: z.ZodObject<{
7896
8618
  } & {
7897
8619
  content: z.ZodString;
7898
8620
  }, "strip", z.ZodTypeAny, {
7899
- type: "file" | "markdown" | "url";
8621
+ type: "file" | "url" | "markdown";
7900
8622
  status: "draft" | "archived" | "published";
7901
8623
  id: string;
7902
8624
  created_at: string;
@@ -7914,13 +8636,13 @@ declare const KnowledgeNodeSchema: z.ZodObject<{
7914
8636
  org_id: string;
7915
8637
  file_id?: string | null | undefined;
7916
8638
  url?: string | null | undefined;
8639
+ summary?: string | null | undefined;
7917
8640
  embedding_model?: string | null | undefined;
7918
8641
  embedded_at?: string | null | undefined;
7919
- summary?: string | null | undefined;
7920
8642
  valid_from?: string | null | undefined;
7921
8643
  valid_until?: string | null | undefined;
7922
8644
  }, {
7923
- type: "file" | "markdown" | "url";
8645
+ type: "file" | "url" | "markdown";
7924
8646
  status: "draft" | "archived" | "published";
7925
8647
  id: string;
7926
8648
  created_at: string;
@@ -7938,9 +8660,9 @@ declare const KnowledgeNodeSchema: z.ZodObject<{
7938
8660
  org_id: string;
7939
8661
  file_id?: string | null | undefined;
7940
8662
  url?: string | null | undefined;
8663
+ summary?: string | null | undefined;
7941
8664
  embedding_model?: string | null | undefined;
7942
8665
  embedded_at?: string | null | undefined;
7943
- summary?: string | null | undefined;
7944
8666
  valid_from?: string | null | undefined;
7945
8667
  valid_until?: string | null | undefined;
7946
8668
  }>;
@@ -7983,7 +8705,7 @@ declare const KnowledgeNodeSearchResultSchema: z.ZodObject<{
7983
8705
  } & {
7984
8706
  score: z.ZodNumber;
7985
8707
  }, "strip", z.ZodTypeAny, {
7986
- type: "file" | "markdown" | "url";
8708
+ type: "file" | "url" | "markdown";
7987
8709
  status: "draft" | "archived" | "published";
7988
8710
  id: string;
7989
8711
  created_at: string;
@@ -8001,13 +8723,13 @@ declare const KnowledgeNodeSearchResultSchema: z.ZodObject<{
8001
8723
  score: number;
8002
8724
  file_id?: string | null | undefined;
8003
8725
  url?: string | null | undefined;
8726
+ summary?: string | null | undefined;
8004
8727
  embedding_model?: string | null | undefined;
8005
8728
  embedded_at?: string | null | undefined;
8006
- summary?: string | null | undefined;
8007
8729
  valid_from?: string | null | undefined;
8008
8730
  valid_until?: string | null | undefined;
8009
8731
  }, {
8010
- type: "file" | "markdown" | "url";
8732
+ type: "file" | "url" | "markdown";
8011
8733
  status: "draft" | "archived" | "published";
8012
8734
  id: string;
8013
8735
  created_at: string;
@@ -8025,9 +8747,9 @@ declare const KnowledgeNodeSearchResultSchema: z.ZodObject<{
8025
8747
  score: number;
8026
8748
  file_id?: string | null | undefined;
8027
8749
  url?: string | null | undefined;
8750
+ summary?: string | null | undefined;
8028
8751
  embedding_model?: string | null | undefined;
8029
8752
  embedded_at?: string | null | undefined;
8030
- summary?: string | null | undefined;
8031
8753
  valid_from?: string | null | undefined;
8032
8754
  valid_until?: string | null | undefined;
8033
8755
  }>;
@@ -8246,13 +8968,13 @@ declare const NodeNeighborhoodSchema: z.ZodObject<{
8246
8968
  status: z.ZodEnum<["draft", "published", "archived"]>;
8247
8969
  distance: z.ZodNumber;
8248
8970
  }, "strip", z.ZodTypeAny, {
8249
- type: "file" | "markdown" | "url";
8971
+ type: "file" | "url" | "markdown";
8250
8972
  status: "draft" | "archived" | "published";
8251
8973
  id: string;
8252
8974
  title: string;
8253
8975
  distance: number;
8254
8976
  }, {
8255
- type: "file" | "markdown" | "url";
8977
+ type: "file" | "url" | "markdown";
8256
8978
  status: "draft" | "archived" | "published";
8257
8979
  id: string;
8258
8980
  title: string;
@@ -8276,7 +8998,7 @@ declare const NodeNeighborhoodSchema: z.ZodObject<{
8276
8998
  }>, "many">;
8277
8999
  }, "strip", z.ZodTypeAny, {
8278
9000
  nodes: {
8279
- type: "file" | "markdown" | "url";
9001
+ type: "file" | "url" | "markdown";
8280
9002
  status: "draft" | "archived" | "published";
8281
9003
  id: string;
8282
9004
  title: string;
@@ -8290,7 +9012,7 @@ declare const NodeNeighborhoodSchema: z.ZodObject<{
8290
9012
  }[];
8291
9013
  }, {
8292
9014
  nodes: {
8293
- type: "file" | "markdown" | "url";
9015
+ type: "file" | "url" | "markdown";
8294
9016
  status: "draft" | "archived" | "published";
8295
9017
  id: string;
8296
9018
  title: string;
@@ -8859,7 +9581,7 @@ interface SlotParameters {
8859
9581
  max_per_day?: number;
8860
9582
  }
8861
9583
  /**
8862
- * Asks for the bookable starts of some hosts in [from, to) (≤ 31 days).
9584
+ * Asks for the bookable starts of some hosts in [from, to) (≤ 42 days).
8863
9585
  * Exactly one of type_key | link_key | parameters governs the rules;
8864
9586
  * assignment picks union (single / round_robin) or intersection (collective).
8865
9587
  * timezone is the requester's zone: slots are grouped by its local day.
@@ -8944,6 +9666,8 @@ interface ListCalendarEventsQuery {
8944
9666
  record_entity_slug?: string;
8945
9667
  record_id?: string;
8946
9668
  contact_id?: string;
9669
+ /** The instance(s) of one provider event, by iCalendar UID. */
9670
+ ical_uid?: string;
8947
9671
  is_deleted_included?: boolean;
8948
9672
  }
8949
9673
  /** One person to invite on a platform write. */
@@ -9062,6 +9786,8 @@ interface UpdateSchedulingLinkRequest {
9062
9786
  interface ListSchedulingLinksQuery {
9063
9787
  /** Links offering this type. */
9064
9788
  type_key?: string;
9789
+ /** Links listing this user among their hosts. */
9790
+ host_user_id?: string;
9065
9791
  is_public?: boolean;
9066
9792
  is_enabled?: boolean;
9067
9793
  search?: string;
@@ -9575,8 +10301,11 @@ interface WorkflowNode {
9575
10301
  /** The single-port key used when a connection endpoint omits the port. */
9576
10302
  declare const DEFAULT_PORT = "main";
9577
10303
  /**
9578
- * The reserved output-port key the `on_error: continue_error_output` policy
9579
- * routes failed items to, when the node's descriptor declares it.
10304
+ * The reserved output-port key every non-trigger node implicitly has. Under
10305
+ * `on_error: continue_error_output` the engine emits one item per input item
10306
+ * on it: the input's `json` plus an `error` object (`code`, `message`,
10307
+ * `details`, `is_user_error`), paired to the input index. Descriptors never
10308
+ * declare this port.
9580
10309
  */
9581
10310
  declare const ERROR_PORT = "error";
9582
10311
  /**
@@ -9726,6 +10455,11 @@ interface NodeDescriptor {
9726
10455
  documentation_url?: string;
9727
10456
  /** Liquid over parameters, shown on the canvas node card. */
9728
10457
  subtitle?: string;
10458
+ /**
10459
+ * Retry policy a node of this type runs with when the graph node sets none.
10460
+ * Non-idempotent types pin `max_attempts: 1`; absent = engine defaults.
10461
+ */
10462
+ default_retry?: NodeRetryPolicy;
9729
10463
  }
9730
10464
  /** Registry lifecycle of one (type, version) row. */
9731
10465
  type NodeTypeStatus = 'active' | 'inactive';
@@ -10214,4 +10948,4 @@ declare class WorkflowClient {
10214
10948
  constructor(client: ProteosClient);
10215
10949
  }
10216
10950
 
10217
- export { type AcceptMistranscribedTermRequest, AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type AddTeamMemberRequest, type AddressFilterConfig, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentListener, type AgentListenerAcknowledgementConfig, type AgentListenerAcknowledgementType, type AgentListenerActingUserMode, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type AllFilterConfig, type ApiErrorResponse, type ApiKey, type AppendEventRequest, type ApplySendingLimitPresetRequest, type AssignPermissionRequest, type AssignRoleRequest, type Assignment, type AttachContactAddressRequest, type AttachConversationBriefRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type AuthoredTranscriptTurn, type AutomatedFilterConfig, type AutomatedSignal, type AvailabilityConstraint, type AvailabilityConstraintService, type AvailabilityKind, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type BlockContactRequest, type BookSchedulingLinkRequest, type BookSchedulingLinkResponse, type BookingContact, type BooleanAnswer, type BooleanCriteria, type BooleanQuestion, type BooleanTagCriteria, type BounceClassification, type BounceKind, type Calendar, type CalendarAttendee, type CalendarAttendeeRequest, type CalendarConnection, type CalendarConnectionService, type CalendarConnectionStatus, type CalendarEvent, type CalendarEventService, type CalendarEventType, type CalendarEventTypeService, type CalendarEventsResponse, type CalendarProvider, type CalendarService, type CalendarSync, type CalendarSyncStatus, type CalendarVisibility, type CalendarWatch, type CallStatus, type CallTokenResponse, type CancelPublicCalendarEventRequest, type Channel, type ChannelAction, type ChannelActionCapability, type ChannelActionParams, type ChannelActionResponse, type ChannelActionService, type ChannelActionStatus, type ChannelActionTargetKind, type ChannelActionType, type ChannelEvent, type ChannelEventService, type ChannelEventType, type ChoiceAnswer, type ChoiceQuestion, type ClientEventType, type ClientToolSchema, type ConferencingProvider, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type ConnectionSyncRange, type ConnectionSyncStatus, type Connector, type ConnectorCatalogEntry, 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 ContactAddressKey, type ContactAddressKind, type ContactAddressSource, type ContactErasureRequest, type ContactGroup, type ContactGroupService, type ContactGroupSource, type ContactMergeProposal, type ContactRecordLink, type ContactRecordLinkSource, type ContactRef, type ContactService, type ContactSource, type ContactStatus, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, type ConversationBrief, type ConversationBriefService, type ConversationBriefStatus, ConversationClient, type ConversationFilter, type ConversationFilterAction, type ConversationFilterConfig, type ConversationFilterEvent, type ConversationFilterService, type ConversationFilterType, type ConversationParticipant, type ConversationService, type ConversationStatus, type ConversationSummaryStatus, type ConversationTag, type ConversationTagCount, type ConversationTagCriteria, type ConversationTagDefinition, type ConversationTagDefinitionService, type ConversationTagEvaluation, type ConversationTagEvaluationStatus, type ConversationTagEvaluator, type ConversationTagEvaluatorKind, type ConversationTagQuestion, type ConversationTagQuestionType, type ConversationTagScope, type ConversationTagScreening, type ConversationTagScreeningResult, type ConversationTagService, type ConversationTagSet, type ConversationTagSetService, type ConversationTagSource, type ConversationTagStatus, type ConversationTagTrigger, type ConversationTagUsage, type ConversationTaggedEvent, type ConversationType, type ConversationTypeConfig, type ConversationTypeService, type CountConversationTagsQuery, type CountConversationTagsResponse, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateApiKeyRequest, type CreateAvailabilityConstraintRequest, type CreateCalendarConnectionRequest, type CreateCalendarEventRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateContactGroupRequest, type CreateContactRecordLinkRequest, type CreateContactRequest, type CreateConversationBriefRequest, type CreateConversationFilterRequest, type CreateConversationTagDefinitionRequest, type CreateConversationTagRequest, type CreateConversationTagSetRequest, type CreateConversationTypeRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreateProfileRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSchedulingLinkRequest, type CreateSendingRuleRequest, type CreateSessionRequest, type CreateSpaceRequest, type CreateTeamRequest, type CreateToneProfileSetupRequest, type CreateToolRequest, type CreateToolsetRequest, type CreateTranscriptionFromTextRequest, type CreateUserRequest, type CreateWorkflowRequest, type CreatedApiKey, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DecideRequest, type DecisionAnswer, type DecisionAnswerFor, type DecisionQuestion, type DecisionQuestionType, type DecisionQuestions, type DecisionResult, type DependentAgent, type DependentSyncResult, type DispatchMeetingBotRequest, type DisplayOptions, type DomainFilterConfig, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmailDnsRecord, type EmailDomainStatus, type EmailEngagementQuality, type EmailHealth, type EmailHealthWindow, type EmailIp, type EmailProviderHealth, type EmailProviderStats, type EmailSender, type EmailSenderStatus, type EmailSuppression, type EmailSuppressionCounts, type EmailSuppressionKind, type EmptyPayload, type ErasureRequestStatus, ErrorCode, type ErrorCodeType, type ErrorPayload, type EvaluateConversationTagsRequest, type EventLocation, type EventSource, type EventStatus, type EventTransparency, type EventTriggerParams, type EventType, type EventVerb, type EventVisibility, type EventWriteStatus, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, type FilterMatchOn, type FrequencyCapRuleConfig, FunctionsClient, type GenerateRequest, type GenerationResult, type GetConnectionHealthQuery, type GetExecutionDetailResponse, type GetGraphOptions, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GetPublicSlotsQuery, type GetSlotsRequest, type GetSlotsResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type HostsRequest, type InlineLinkRequest, type InmailParams, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InternalConversationsFilterConfig, type InvitationParams, 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 KnowledgeSpace, type LabelService, type LimitRuleConfig, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListAvailabilityConstraintsQuery, type ListCalendarConnectionsQuery, type ListCalendarEventTypesQuery, type ListCalendarEventsQuery, type ListCalendarsQuery, type ListChannelActionsQuery, type ListChannelEventsQuery, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListContactAddressesQuery, type ListContactGroupsQuery, type ListContactMergeProposalsQuery, type ListContactRecordLinksQuery, type ListContactsQuery, type ListConversationBriefsQuery, type ListConversationFilterEventsQuery, type ListConversationFiltersQuery, type ListConversationTagDefinitionsQuery, type ListConversationTagEvaluationsQuery, type ListConversationTagSetsQuery, type ListConversationTagsQuery, type ListConversationTypesQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMessagesQuery, type ListMistranscribedTermsQuery, type ListNodesOptions, ListOptions, type ListOrgUserRoleAssignmentsOptions, type ListOrganizationsOptions, type ListProfilesOptions, type ListPromptsOptions, type ListRecordDuplicatesQuery, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse$1 as ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSchedulingLinksQuery, type ListSendingLimitPresetsQuery, type ListSendingRulesQuery, type ListSessionsOptions, type ListSkillsOptions, type ListSpacesOptions, type ListTeamMembersOptions, type ListTeamsOptions, type ListToneProfileSetupsQuery, type ListToneProfilesQuery, type ListToolsOptions, type ListToolsetsOptions, type ListUserProfileAssignmentsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type LocationKind, 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 MessageDelivery, type MessageDeliveryStatus, type MessageDirection, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type MintCallTokenRequest, type MistranscribedTerm, type MistranscribedTermService, type MistranscribedTermStatus, type MistranscriptionSuggestionSource, type ModelCallParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelService, type ModelStopReason, 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 NotifyMode, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageIterator, type PairedItem, type ParseStatus, type ParticipationStatus, type PerformChannelActionRequest, type Permission, type PermissionEventSource, type PermissionEventType, type PhoneNumber, type PhoneNumberRouting, type PhoneNumberStatus, type PlatformBinding, type PlatformEntity, type PlatformEvent, type PortSpec, type Profile, ProfileSchema, type ProfileService, type ProfileVisitParams, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublicBookSchedulingLinkResponse, type PublicCalendarEvent, type PublicCalendarEventType, type PublicEventLocation, type PublicHost, type PublicSchedulingLink, type PublicSchedulingService, type PublishContactObservationsResponse, type PublishEventRequest, type PutCalendarEventTypeRequest, type PutSchedulingProfileRequest, type QueryBinding, 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 RecordDuplicate, type RecordDuplicateService, type RecordDuplicateSource, type RecordDuplicateStatus, type RecordLinkService, type RecordPermissionEventRequest, type RecordRef, type RecordService, type RecurrenceScope, type RedriveResult, type RescheduleHost, type ReschedulePublicCalendarEventRequest, type ResolveToneProfileQuery, type RespondCalendarEventRequest, type RespondChannelActionRequest, ResponseMeta$1 as ResponseMeta, type ResultBlock, type Role, type RoleBasedFilterConfig, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RoutingTarget, type RunWorkflowRequest, SCOPED_PLATFORM_ENTITY_SLUGS, SchedulingClient, type SchedulingLink, type SchedulingLinkService, type ListResponse as SchedulingListResponse, type SchedulingProfile, type SchedulingProfileService, type ScoreAnswer, type ScoreQuestion, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendEligibility, type SendEligibilityRequest, type SendMessageRequest, type SendRecipient, type SendingLimitPreset, type SendingPeriod, type SendingRule, type SendingRuleConfig, type SendingRuleService, type SendingRuleType, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type SetDefaultSenderRequest, type SetProfileRequest, type SharePermission, type ShareRow, type ShareService, type Skill, type SkillBundle, type SkillService, type SkillVersion, type Slot, type SlotParameters, type SlotService, type SlotUnavailability, type SlotUnavailabilityReason, type SpaceService, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type StructuredText, type SyncConnectionRequest, type SystemSource, type TailOptions, type Team, type TeamMember, type TeamService, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type ToneProfile, type ToneProfileScope, type ToneProfileService, type ToneProfileSetup, type ToneProfileSetupStatus, type ToneProfileSource, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Toolset, type ToolsetKind, type ToolsetService, type ToolsetToolSummary, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TranscriptTurn, type Transcription, type TranscriptionReviewStatus, type TranscriptionStatus, type TriggerKind, type Turn, UNASSIGNED_SPACE_SLUG, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateAvailabilityConstraintRequest, type UpdateCalendarConnectionRequest, type UpdateCalendarEventRequest, type UpdateCalendarEventTypeRequest, type UpdateCalendarRequest, type UpdateCalendarSyncRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateContactGroupRequest, type UpdateContactRequest, type UpdateConversationBriefRequest, type UpdateConversationFilterRequest, type UpdateConversationTagDefinitionRequest, type UpdateConversationTagRequest, type UpdateConversationTagSetRequest, type UpdateConversationTypeRequest, type UpdateDraftRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateMeRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePhoneNumberRequest, type UpdateProfileRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateSchedulingLinkRequest, type UpdateSendingRuleRequest, type UpdateSpaceRequest, type UpdateTeamRequest, type UpdateToolRequest, type UpdateToolsetRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type UpsertToneProfileRequest, type User, type UserMessagePayload, type UserProfileAssignment, UserProfileAssignmentSchema, type UserProfileAssignmentService, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, type UserRoleAssignmentService, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WarmupRuleConfig, type WebhookTriggerParams, type Weekday, type WindowDay, type WindowRuleConfig, type Workflow, WorkflowClient, type WorkflowConnection, 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, isShareable, isUnauthorized, parseErrorResponse, shareRouteFor, toQueryParams, toQueryString };
10951
+ export { type AcceptMistranscribedTermRequest, AccountClient, type Action, type ActionBinding, ActionSchema, type ActionScope, ActionScopeSchema, type ActionService, type AddTeamMemberRequest, type AddressFilterConfig, type Agent, type AgentActionParams, type AgentArtifactsPayload, AgentClient, type AgentListener, type AgentListenerAcknowledgementConfig, type AgentListenerAcknowledgementType, type AgentListenerActingUserMode, type AgentListenerService, type AgentListenerTriggerType, type AgentMessagePayload, type AgentResourceListOptions, type AgentService, type AllFilterConfig, type ApiErrorResponse, type ApiKey, type AppendEventRequest, type ApplySendingLimitPresetRequest, type AssignPermissionRequest, type AssignRoleRequest, type Assignment, type AttachContactAddressRequest, type AttachConversationBriefRequest, type Attachment, Attribute, AuditFields, type AuthListOptions, type AuthoredTranscriptTurn, type AutomatedFilterConfig, type AutomatedSignal, type AvailabilityConstraint, type AvailabilityConstraintService, type AvailabilityKind, type BatchTransactionError, BatchTransactionErrorSchema, type BatchTransactionStatus, type BatchUpsertRecordsResponse, BatchUpsertRecordsResponseSchema, type BatchUpsertTransaction, type BatchUpsertTransactionResult, BatchUpsertTransactionResultSchema, BatchUpsertTransactionSchema, type BinaryRef, type BlockContactRequest, type BookSchedulingLinkRequest, type BookSchedulingLinkResponse, type BookingContact, type BooleanAnswer, type BooleanCriteria, type BooleanQuestion, type BooleanTagCriteria, type BounceClassification, type BounceKind, type Calendar, type CalendarAttendee, type CalendarAttendeeRequest, type CalendarConnection, type CalendarConnectionService, type CalendarConnectionStatus, type CalendarEvent, type CalendarEventService, type CalendarEventType, type CalendarEventTypeService, type CalendarEventsResponse, type CalendarProvider, type CalendarService, type CalendarSync, type CalendarSyncStatus, type CalendarVisibility, type CalendarWatch, type CallDialStatus, type CallMetadata, type CallStatus, type CallTokenResponse, type CancelPublicCalendarEventRequest, type Channel, type ChannelAction, type ChannelActionCapability, type ChannelActionParams, type ChannelActionResponse, type ChannelActionService, type ChannelActionStatus, type ChannelActionTargetKind, type ChannelActionType, type ChannelEvent, type ChannelEventService, type ChannelEventType, type ChoiceAnswer, type ChoiceQuestion, type ClientEventType, type ClientToolSchema, type ConferencingProvider, type Connection, type ConnectionCredentials, type ConnectionEndpoint, type ConnectionScope, type ConnectionService, type ConnectionStatus, type ConnectionSyncRange, type ConnectionSyncStatus, type Connector, type ConnectorCatalogEntry, 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 ContactAddressKey, type ContactAddressKind, type ContactAddressSource, type ContactErasureRequest, type ContactGroup, type ContactGroupService, type ContactGroupSource, type ContactMergeProposal, type ContactRecordLink, type ContactRecordLinkSource, type ContactRef, type ContactService, type ContactSource, type ContactStatus, type ContentBlock$1 as ContentBlock, type ContentMatch, type ContentResponse, type ContextCompactedPayload, type Conversation, type ConversationBrief, type ConversationBriefService, type ConversationBriefStatus, ConversationClient, type ConversationFilter, type ConversationFilterAction, type ConversationFilterConfig, type ConversationFilterEvent, type ConversationFilterService, type ConversationFilterType, type ConversationNote, type ConversationNoteService, type ConversationObjective, type ConversationObjectiveAchievedWhen, type ConversationObjectiveCount, type ConversationObjectiveDefinition, type ConversationObjectiveDefinitionService, type ConversationObjectiveMeasure, type ConversationObjectiveMeasureKind, type ConversationObjectiveProgress, type ConversationObjectiveService, type ConversationObjectiveSource, type ConversationObjectiveStatus, type ConversationOutcome, type ConversationOutcomeOption, type ConversationOutcomeSource, type ConversationParticipant, type ConversationPhase, type ConversationPhaseProgress, type ConversationPhaseStatus, type ConversationService, type ConversationStatus, type ConversationSummaryStatus, type ConversationTag, type ConversationTagBasis, type ConversationTagCount, type ConversationTagCriteria, type ConversationTagDefinition, type ConversationTagDefinitionService, type ConversationTagEvaluation, type ConversationTagEvaluationStatus, type ConversationTagEvaluator, type ConversationTagEvaluatorKind, type ConversationTagQuestion, type ConversationTagQuestionType, type ConversationTagRole, type ConversationTagScope, type ConversationTagScreening, type ConversationTagScreeningResult, type ConversationTagService, type ConversationTagSet, type ConversationTagSetService, type ConversationTagSource, type ConversationTagStatus, type ConversationTagTrigger, type ConversationTagUsage, type ConversationTaggedEvent, type ConversationType, type ConversationTypeConfig, type ConversationTypeService, type CountConversationObjectivesQuery, type CountConversationObjectivesResponse, type CountConversationTagsQuery, type CountConversationTagsResponse, type CreateAgentListenerRequest, type CreateAgentRequest, type CreateApiKeyRequest, type CreateAvailabilityConstraintRequest, type CreateCalendarConnectionRequest, type CreateCalendarEventRequest, type CreateConnectionRequest, type CreateConnectorConnectionRequest, type CreateContactGroupRequest, type CreateContactRecordLinkRequest, type CreateContactRequest, type CreateConversationBriefRequest, type CreateConversationFilterRequest, type CreateConversationNoteRequest, type CreateConversationObjectiveDefinitionRequest, type CreateConversationTagDefinitionRequest, type CreateConversationTagRequest, type CreateConversationTagSetRequest, type CreateConversationTypeRequest, type CreateEntityIndexRequest, type CreateFileMetadata, type CreateGlossaryTermRequest, type CreateLabelRequest, type CreateLinkRequest, type CreateMcpServerRequest, type CreateNodeRequest, type CreateOrganizationRequest, type CreateProfileRequest, type CreatePromptRequest, type CreateRecordLinkRequest, type CreateRoleRequest, type CreateSchedulingLinkRequest, type CreateSendingRuleRequest, type CreateSessionRequest, type CreateSpaceRequest, type CreateTeamRequest, type CreateToneProfileSetupRequest, type CreateToolRequest, type CreateToolsetRequest, type CreateTranscriptionFromTextRequest, type CreateUserRequest, type CreateWorkflowRequest, type CreatedApiKey, type CredentialSpec, type CronTriggerParams, DEFAULT_PORT, DataClient, type DecideRequest, type DecisionAnswer, type DecisionAnswerFor, type DecisionQuestion, type DecisionQuestionType, type DecisionQuestions, type DecisionResult, type DependentAgent, type DependentSyncResult, type DispatchMeetingBotRequest, type DisplayOptions, type DomainFilterConfig, ERROR_PORT, type EditContentRequest, type EditContentResponse, type EmailDnsRecord, type EmailDomainStatus, type EmailEngagementQuality, type EmailHealth, type EmailHealthWindow, type EmailIp, type EmailProviderHealth, type EmailProviderStats, type EmailSender, type EmailSenderStatus, type EmailSuppression, type EmailSuppressionCounts, type EmailSuppressionKind, type EmptyPayload, type EntityIndex, type EntityIndexService, type EntityIndexSource, type EntityIndexState, type EntityIndexType, type ErasureRequestStatus, ErrorCode, type ErrorCodeType, type ErrorPayload, type EvaluateConversationTagsRequest, type EventLocation, type EventSource, type EventStatus, type EventTransparency, type EventTriggerParams, type EventType, type EventVerb, type EventVisibility, type EventWriteStatus, EventsClient, type ExecutionError, type ExecutionStatus, type ExecutionTriggerContext, type FileBlock, FileRef, type FileService, type FileVersionContent, type FilterMatchOn, type FrequencyCapRuleConfig, FunctionsClient, type GenerateRequest, type GenerationResult, type GetConnectionHealthQuery, type GetExecutionDetailResponse, type GetGraphOptions, type GetManyConversationObjectiveDefinitionsQuery, type GetManyConversationObjectivesQuery, type GetNodeExecutionItemsOptions, type GetNodeExecutionItemsResponse, type GetNodeTypesResponse, type GetPublicSlotsQuery, type GetSlotsRequest, type GetSlotsResponse, type GlossaryTerm, type GlossaryTermService, type GraphService, type HostsRequest, type IndexEvidence, type IndexRecommendation, type InlineLinkRequest, type InmailParams, type InstallConnectionResponse, type InstallConnectorConnectionResponse, type InternalConversationsFilterConfig, type InvitationParams, 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 KnowledgeSpace, type LabelService, type LimitRuleConfig, type LinkService, type LinkType, type ListActionsOptions, type ListAgentListenersQuery, type ListAgentsOptions, type ListAvailabilityConstraintsQuery, type ListCalendarConnectionsQuery, type ListCalendarEventTypesQuery, type ListCalendarEventsQuery, type ListCalendarsQuery, type ListChannelActionsQuery, type ListChannelEventsQuery, type ListConnectionsQuery, type ListConnectorConnectionsQuery, type ListConnectorsQuery, type ListContactAddressesQuery, type ListContactGroupsQuery, type ListContactMergeProposalsQuery, type ListContactRecordLinksQuery, type ListContactsQuery, type ListConversationBriefsQuery, type ListConversationFilterEventsQuery, type ListConversationFiltersQuery, type ListConversationNotesQuery, type ListConversationTagDefinitionsQuery, type ListConversationTagEvaluationsQuery, type ListConversationTagSetsQuery, type ListConversationTagsQuery, type ListConversationTypesQuery, type ListConversationsQuery, type ListEventsOptions, type ListExecutionsOptions, type ListGlossaryTermsQuery, type ListLabelsOptions, type ListLinksOptions, type ListMcpServersOptions, type ListMeetingBotsQuery, type ListMessagesQuery, type ListMistranscribedTermsQuery, type ListNodesOptions, ListOptions, type ListOrgUserRoleAssignmentsOptions, type ListOrganizationsOptions, type ListProfilesOptions, type ListPromptsOptions, type ListRecordDuplicatesQuery, type ListRecordLinksOptions, type ListRecordsOptions, type ListResponse$1 as ListResponse, ListResult, type ListRolePermissionsOptions, type ListRolesOptions, type ListRoomsQuery, type ListSchedulingLinksQuery, type ListSendingLimitPresetsQuery, type ListSendingRulesQuery, type ListSessionsOptions, type ListSkillsOptions, type ListSpacesOptions, type ListTeamMembersOptions, type ListTeamsOptions, type ListToneProfileSetupsQuery, type ListToneProfilesQuery, type ListToolsOptions, type ListToolsetsOptions, type ListTranscriptionsQuery, type ListUserProfileAssignmentsOptions, type ListUserRoleAssignmentsOptions, type ListUsersOptions, type ListWorkflowsOptions, type LocationKind, type ManualTriggerParams, type MatchMode, type McpBinding, type McpConnectionState, type McpConnectionStatus, type McpServer, type McpServerAuth, type McpServerOAuth, type McpServerService, type McpToolSummary, type MeService, type MeetingBot, type MeetingBotService, type MeetingBotStatus, type MeetingService, type MergeContactsRequest, type MergeProposalStatus, type Message, type ContentBlock as MessageContentBlock, type MessageDelivery, type MessageDeliveryStatus, type MessageDirection, type MessagePreview, type MessageRecipient, type MessageService, type MessageStatus, type MessageTriggerParams, type MintCallTokenRequest, type MistranscribedTerm, type MistranscribedTermService, type MistranscribedTermStatus, type MistranscriptionSuggestionSource, type ModelCallParams, type ModelConfig, type ModelRequestEndPayload, type ModelRequestStartPayload, type ModelService, type ModelStopReason, 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 NotifyMode, type OnErrorPolicy, type Organization, OrganizationSchema, type OrganizationService, type OutlineHeading, type OutlineRequest, type OutlineResponse, PLATFORM_ENTITIES, PLATFORM_ENTITY_SLUGS, PageAction, PageIterator, type PairedItem, type ParseStatus, type ParticipationStatus, type PerformChannelActionRequest, type Permission, type PermissionEventSource, type PermissionEventType, type PhoneNumber, type PhoneNumberRouting, type PhoneNumberStatus, type PlatformBinding, type PlatformEntity, type PlatformEvent, type PortSpec, type Profile, ProfileSchema, type ProfileService, type ProfileVisitParams, type Prompt, type PromptService, type PromptVersion, type PropertyOption, type PropertyType, ProteosClient, ProteosError, PublicAccessOperation, type PublicBookSchedulingLinkResponse, type PublicCalendarEvent, type PublicCalendarEventType, type PublicEventLocation, type PublicHost, type PublicSchedulingLink, type PublicSchedulingService, type PublishContactObservationsResponse, type PublishEventRequest, type PutCalendarEventTypeRequest, type PutSchedulingProfileRequest, type QueryBinding, 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 RecordDuplicate, type RecordDuplicateService, type RecordDuplicateSource, type RecordDuplicateStatus, type RecordLinkService, type RecordPermissionEventRequest, type RecordRef, type RecordService, type RecurrenceScope, type RedriveResult, type RescheduleHost, type ReschedulePublicCalendarEventRequest, type ResolveToneProfileQuery, type RespondCalendarEventRequest, type RespondChannelActionRequest, ResponseMeta$1 as ResponseMeta, type ResultBlock, type Role, type RoleBasedFilterConfig, type RoleEntityPermission, RoleEntityPermissionSchema, RoleSchema, type RoleService, type Room, type RoutingTarget, type RunWorkflowRequest, SCOPED_PLATFORM_ENTITY_SLUGS, SchedulingClient, type SchedulingLink, type SchedulingLinkService, type ListResponse as SchedulingListResponse, type SchedulingProfile, type SchedulingProfileService, type ScoreAnswer, type ScoreQuestion, type SearchContentRequest, type SearchContentResponse, type SearchNodesRequest, type SendEligibility, type SendEligibilityRequest, type SendMessageRequest, type SendRecipient, type SendingLimitPreset, type SendingPeriod, type SendingRule, type SendingRuleConfig, type SendingRuleService, type SendingRuleType, type Session, type SessionEvent, type SessionEventEnvelope, type SessionEventsOptions, type SessionIdlePayload, type SessionService, type SessionStatus, type SessionStreamOptions, type SessionUpdatedPayload, type SetCallRecordingRequest, type SetDefaultSenderRequest, type SetProfileRequest, type SharePermission, type ShareRow, type ShareService, type Skill, type SkillBundle, type SkillService, type SkillVersion, type Slot, type SlotParameters, type SlotService, type SlotUnavailability, type SlotUnavailabilityReason, type SpaceService, type StartMcpOAuthResponse, type StopReason, StorageClient, type StorageFile, type StorageFileVersion, type StructuredText, type SyncConnectionRequest, type SystemSource, type TailOptions, type Team, type TeamMember, type TeamService, type TestNodeCandidate, type TestNodeInputSource, type TestNodeRequest, type TestNodeResponse, type TextBlock, type ToneProfile, type ToneProfileScope, type ToneProfileService, type ToneProfileSetup, type ToneProfileSetupStatus, type ToneProfileSource, type Tool, type ToolBinding, type ToolConfirmationPayload, type ToolKind, type ToolResultPayload, type ToolService, type ToolUsePayload, type Toolset, type ToolsetKind, type ToolsetService, type ToolsetToolSummary, type Topic, type TopicKind, type TopicService, type TranscribeStreamOptions, type TranscriptResult, type TranscriptTurn, type Transcription, type TranscriptionReviewStatus, type TranscriptionStatus, type TriggerKind, type Turn, type TwilioPhoneSettings, type TwilioPhoneVoicemailSettings, UNASSIGNED_SPACE_SLUG, type UnreadCounts, type UpdateAgentListenerRequest, type UpdateAgentRequest, type UpdateAvailabilityConstraintRequest, type UpdateCalendarConnectionRequest, type UpdateCalendarEventRequest, type UpdateCalendarEventTypeRequest, type UpdateCalendarRequest, type UpdateCalendarSyncRequest, type UpdateConnectionRequest, type UpdateConnectorConnectionRequest, type UpdateContactGroupRequest, type UpdateContactRequest, type UpdateConversationBriefRequest, type UpdateConversationFilterRequest, type UpdateConversationNoteRequest, type UpdateConversationObjectiveDefinitionRequest, type UpdateConversationRequest, type UpdateConversationTagDefinitionRequest, type UpdateConversationTagRequest, type UpdateConversationTagSetRequest, type UpdateConversationTypeRequest, type UpdateDraftRequest, type UpdateFileMetadata, type UpdateGlossaryTermRequest, type UpdateLabelRequest, type UpdateLinkRequest, type UpdateMcpServerRequest, type UpdateMeRequest, type UpdateNodeRequest, type UpdateOrganizationRequest, type UpdatePhoneNumberRequest, type UpdateProfileRequest, type UpdatePromptRequest, type UpdateRoleRequest, type UpdateSchedulingLinkRequest, type UpdateSendingRuleRequest, type UpdateSpaceRequest, type UpdateTeamRequest, type UpdateToolRequest, type UpdateToolsetRequest, type UpdateUserRequest, type UpdateWorkflowRequest, type UpsertToneProfileRequest, type User, type UserMessagePayload, type UserProfileAssignment, UserProfileAssignmentSchema, type UserProfileAssignmentService, UserRef$2 as UserRef, type UserRoleAssignment, UserRoleAssignmentSchema, type UserRoleAssignmentService, UserSchema, type UserService, type VoiceService, type VoiceTranscriptionStream, type WarmupRuleConfig, type WebhookTriggerParams, type Weekday, type WindowDay, type WindowRuleConfig, type Workflow, WorkflowClient, type WorkflowConnection, 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, isShareable, isUnauthorized, parseErrorResponse, shareRouteFor, toQueryParams, toQueryString };