@gravity-rail/sdk 0.18.1 → 0.21.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 (39) hide show
  1. package/dist/{chunk-PUIYXJSZ.js → chunk-24L4RD4Z.js} +479 -39
  2. package/dist/chunk-24L4RD4Z.js.map +1 -0
  3. package/dist/{chunk-2YLKG4TT.js → chunk-3HAV5XUJ.js} +1 -1
  4. package/dist/chunk-3HAV5XUJ.js.map +1 -0
  5. package/dist/{chunk-PJFEGUHM.js → chunk-7OLBLLV7.js} +6 -2
  6. package/dist/{chunk-PJFEGUHM.js.map → chunk-7OLBLLV7.js.map} +1 -1
  7. package/dist/{client-B-jmQ4UA.d.cts → client-B0eh2BEY.d.cts} +1315 -285
  8. package/dist/{client-CatNn6FD.d.ts → client-CFz-BGmY.d.ts} +1315 -285
  9. package/dist/helpers.cjs +141 -0
  10. package/dist/helpers.cjs.map +1 -1
  11. package/dist/helpers.d.cts +17 -3
  12. package/dist/helpers.d.ts +17 -3
  13. package/dist/helpers.js +127 -1
  14. package/dist/helpers.js.map +1 -1
  15. package/dist/index.cjs +578 -39
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +28 -5
  18. package/dist/index.d.ts +28 -5
  19. package/dist/index.js +123 -5
  20. package/dist/index.js.map +1 -1
  21. package/dist/internal.cjs +485 -39
  22. package/dist/internal.cjs.map +1 -1
  23. package/dist/internal.d.cts +630 -551
  24. package/dist/internal.d.ts +630 -551
  25. package/dist/internal.js +9 -5
  26. package/dist/internal.js.map +1 -1
  27. package/dist/{revision-state-Fw1jsQOa.d.ts → revision-state-KfOztBkY.d.ts} +53 -172
  28. package/dist/{revision-state-CuESPYpi.d.cts → revision-state-fJ9PM15N.d.cts} +53 -172
  29. package/dist/schemas.cjs +31 -5
  30. package/dist/schemas.cjs.map +1 -1
  31. package/dist/schemas.d.cts +37 -14
  32. package/dist/schemas.d.ts +37 -14
  33. package/dist/schemas.js +31 -6
  34. package/dist/schemas.js.map +1 -1
  35. package/dist/{tasks-GVbVa_Lj.d.cts → tasks-WH_VfzMv.d.cts} +351 -16
  36. package/dist/{tasks-GVbVa_Lj.d.ts → tasks-WH_VfzMv.d.ts} +351 -16
  37. package/package.json +6 -6
  38. package/dist/chunk-2YLKG4TT.js.map +0 -1
  39. package/dist/chunk-PUIYXJSZ.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { eC as SortOrder } from './tasks-GVbVa_Lj.cjs';
2
- import { im as Resource$1 } from './client-B-jmQ4UA.cjs';
1
+ import { eX as SortOrder } from './tasks-WH_VfzMv.cjs';
2
+ import { iA as Resource$1 } from './client-B0eh2BEY.cjs';
3
3
 
4
4
  interface MemberNotificationPreferences {
5
5
  notifySms?: boolean;
@@ -28,6 +28,37 @@ interface ToolParameter {
28
28
  default?: any;
29
29
  }
30
30
 
31
+ /**
32
+ * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts
33
+ * (group map from emit_openapi.py). Do not edit manually.
34
+ * Group: device_content_cache
35
+ */
36
+ interface DeviceCacheFileEntry {
37
+ id: number;
38
+ filename: string;
39
+ title: string;
40
+ mimeType: string;
41
+ byteSize?: number | null;
42
+ version: number;
43
+ hash?: string | null;
44
+ etag: string;
45
+ profile: string;
46
+ /** True when indexed-rle will rewrite this image on download */
47
+ transcoded: boolean;
48
+ }
49
+ interface DeviceCacheManifestResponse {
50
+ folderId: number;
51
+ profile: string;
52
+ etag: string;
53
+ files: DeviceCacheFileEntry[];
54
+ /** True when the folder has more than 500 files; only the first page is listed */
55
+ truncated: boolean;
56
+ /** Folder file count before the 500-file page cap */
57
+ total: number;
58
+ phiPostureDecision: string;
59
+ phiPostureReasonCode: string;
60
+ }
61
+
31
62
  /**
32
63
  * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts
33
64
  * (group map from emit_openapi.py). Do not edit manually.
@@ -1126,174 +1157,6 @@ interface AppContext {
1126
1157
  */
1127
1158
  declare function formatAppContextAsMarkdown(context: AppContext | undefined): string;
1128
1159
 
1129
- type OpenAITurnDetectionType = 'semantic_vad' | 'server_vad';
1130
- type OpenAISemanticVADEagerness = 'low' | 'medium' | 'high' | 'auto';
1131
- interface OpenAISemanticVADTurnDetection {
1132
- type: 'semantic_vad';
1133
- eagerness?: OpenAISemanticVADEagerness;
1134
- create_response?: boolean;
1135
- interrupt_response?: boolean;
1136
- }
1137
- interface OpenAIServerVADTurnDetection {
1138
- type: 'server_vad';
1139
- threshold?: number;
1140
- prefix_padding_ms?: number;
1141
- silence_duration_ms?: number;
1142
- create_response?: boolean;
1143
- interrupt_response?: boolean;
1144
- }
1145
- type OpenAITurnDetection = OpenAISemanticVADTurnDetection | OpenAIServerVADTurnDetection;
1146
- /**
1147
- * xAI's server-VAD block: OpenAI's fields plus `idle_timeout_ms`, which xAI
1148
- * documents and OpenAI has no equivalent for. Mirrors
1149
- * `lib/voice/realtime_config.py:XAIServerVADTurnDetection`.
1150
- *
1151
- * A configured `turnDetection` REPLACES xAI's default block wholesale rather
1152
- * than merging with it, so setting `idle_timeout_ms` alone also drops the
1153
- * phone-tuned threshold and prefix padding back to schema defaults.
1154
- */
1155
- interface XAIServerVADTurnDetection extends OpenAIServerVADTurnDetection {
1156
- /**
1157
- * Silence (ms) before xAI speaks again unprompted. Unset means
1158
- * re-engagement is off; there is deliberately no platform default. xAI
1159
- * clamps the value up to its own floor, so read back the echoed session
1160
- * when the exact wait matters.
1161
- */
1162
- idle_timeout_ms?: number | null;
1163
- }
1164
- type ThinkingSound = 'none' | 'typing' | 'strumming' | 'speech';
1165
- type InterruptionSound = 'none' | 'clav' | 'bells' | 'organ' | 'guzheng';
1166
- /** Default filler phrases suggested when the user first enables "speech" mode. */
1167
- declare const DEFAULT_THINKING_SPEECH_PHRASES: readonly string[];
1168
- type TTSModel = 'native' | 'elevenlabs:tts:eleven_turbo_v2' | 'elevenlabs:tts:eleven_turbo_v2_5' | 'elevenlabs:tts:eleven_multilingual_v2' | 'elevenlabs:tts:eleven_flash_v2_5' | 'openai:tts:tts-1' | 'openai:tts:tts-1-hd' | 'openai:tts:gpt-4o-mini-tts' | 'aws:tts:polly-generative' | 'aws:tts:polly-neural' | 'google:tts:chirp';
1169
- /** Extract the provider from a TTSModel ID (e.g. "elevenlabs:tts:eleven_flash_v2_5" -> "elevenlabs"). */
1170
- declare function getTTSProvider(ttsModel: string | null | undefined): string | null;
1171
- /**
1172
- * Base configuration for all realtime models.
1173
- * Contains common fields that apply to all realtime model providers.
1174
- */
1175
- interface BaseRealtimeModelConfig {
1176
- /** Sound to play while the agent is processing tool calls. */
1177
- thinkingSound?: ThinkingSound | null;
1178
- /** Volume level for the thinking sound (0-100). 0 means muted. Missing or null means full volume (100). */
1179
- thinkingSoundVolume?: number | null;
1180
- /** Initial delay in milliseconds before playing thinking sound. Prevents needless interruption on short tool calls. Default: 500ms. */
1181
- thinkingSoundInitialDelay?: number | null;
1182
- /** When `thinkingSound` is 'speech', one of these phrases is spoken while the agent runs a tool. Phrases rotate round-robin per session. */
1183
- thinkingSpeechPhrases?: string[] | null;
1184
- /** Sound to play when user stops speaking after interrupting the assistant. Provides immediate auditory feedback that input was received. Default: none. */
1185
- interruptionSound?: InterruptionSound | null;
1186
- /** Volume level for the interruption sound (0-100). 0 means muted. Missing or null means full volume (100). */
1187
- interruptionSoundVolume?: number | null;
1188
- /** TTS model ID in provider:tts:model format (e.g. 'elevenlabs:tts:eleven_flash_v2_5'), or 'native'. */
1189
- ttsModel?: TTSModel | null;
1190
- /** Canonical voice identifier (e.g., elevenlabs:voice:catt) that selects the specific agent voice. */
1191
- voiceModel?: string | null;
1192
- }
1193
- /**
1194
- * Native realtime providers always use the model's built-in audio. The
1195
- * backend Pydantic schemas now enforce `ttsModel: "native"` and reject
1196
- * external `sttModel`. Mirroring that contract on the client surface
1197
- * keeps the editor in sync — see `useVoiceConfig.buildSubmitConfig`.
1198
- */
1199
- interface OpenAIRealtimeModelConfig extends BaseRealtimeModelConfig {
1200
- ttsModel?: 'native' | null;
1201
- turnDetection?: OpenAITurnDetection | null;
1202
- }
1203
- interface GeminiRealtimeModelConfig extends BaseRealtimeModelConfig {
1204
- ttsModel?: 'native' | null;
1205
- }
1206
- interface CustomRealtimeModelConfig extends BaseRealtimeModelConfig {
1207
- sttModel?: string | null;
1208
- sttConfig?: Record<string, unknown> | null;
1209
- inferenceModel: string;
1210
- inferenceModelConfig?: ChatModelConfig | null;
1211
- }
1212
- interface AWSRealtimeModelConfig extends BaseRealtimeModelConfig {
1213
- ttsModel?: 'native' | null;
1214
- }
1215
- /**
1216
- * xAI Voice Agent realtime config. Only `server_vad` is supported, so
1217
- * the server-side schema rejects `semantic_vad`. Mirrors
1218
- * `lib/constants.py:XAIRealtimeModelConfig`.
1219
- */
1220
- interface XAIRealtimeModelConfig extends BaseRealtimeModelConfig {
1221
- ttsModel?: 'native' | null;
1222
- turnDetection?: XAIServerVADTurnDetection | null;
1223
- }
1224
- type RealtimeModelConfig = OpenAIRealtimeModelConfig | GeminiRealtimeModelConfig | CustomRealtimeModelConfig | AWSRealtimeModelConfig | XAIRealtimeModelConfig;
1225
- type GeminiThinkingLevel = 'minimal' | 'low' | 'medium' | 'high';
1226
- /**
1227
- * OpenAI GPT-5 reasoning effort. The ACCEPTED SUBSET IS MODEL-DEPENDENT — sending
1228
- * an out-of-set value is a hard 400 at the API. Mirror of the per-family vocab in
1229
- * lib/ai/chat_model_config.py (see getOpenAIReasoningEfforts):
1230
- * gpt-5 (5.0): minimal / low / medium / high
1231
- * gpt-5.1: none / low / medium / high
1232
- * gpt-5.4: none / low / medium / high / xhigh
1233
- * This union is the superset; the UI filters it down per selected model.
1234
- */
1235
- type OpenAIReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
1236
- /**
1237
- * xAI (Grok) reasoning levels. Note "none" disables reasoning entirely
1238
- * (used by Grok 4.3 to switch into non-reasoning mode); xAI does NOT
1239
- * accept OpenAI's "minimal".
1240
- * https://docs.x.ai/developers/model-capabilities/text/reasoning#effort-levels
1241
- */
1242
- type XAIReasoningEffort = 'none' | 'low' | 'medium' | 'high' | 'xhigh';
1243
- /**
1244
- * Base configuration for all chat models.
1245
- * Can be extended for provider-specific options.
1246
- */
1247
- interface BaseChatModelConfig {
1248
- }
1249
- interface GeminiChatModelConfig extends BaseChatModelConfig {
1250
- thinkingLevel?: GeminiThinkingLevel | null;
1251
- includeThoughts?: boolean | null;
1252
- }
1253
- interface ClaudeChatModelConfig extends BaseChatModelConfig {
1254
- thinkingEnabled?: boolean | null;
1255
- thinkingBudgetTokens?: number | null;
1256
- }
1257
- interface OpenAIChatModelConfig extends BaseChatModelConfig {
1258
- provider: 'openai';
1259
- reasoningEffort?: OpenAIReasoningEffort | null;
1260
- }
1261
- interface XAIChatModelConfig extends BaseChatModelConfig {
1262
- provider: 'xai';
1263
- reasoningEffort?: XAIReasoningEffort | null;
1264
- }
1265
- type ChatModelConfig = GeminiChatModelConfig | ClaudeChatModelConfig | OpenAIChatModelConfig | XAIChatModelConfig;
1266
- /**
1267
- * Supported TTS preview providers.
1268
- * These are the voice providers that support TTS preview in the UI.
1269
- */
1270
- declare const TTS_PREVIEW_PROVIDERS: readonly ["openai", "elevenlabs", "google", "aws", "deepgram", "xai"];
1271
- type TTSPreviewProvider = (typeof TTS_PREVIEW_PROVIDERS)[number];
1272
- /**
1273
- * Get the canonical voice model ID from a realtime model config.
1274
- *
1275
- * Voice model IDs follow the format: `{provider}:voice:{voiceName}`
1276
- * Examples:
1277
- * - `openai:voice:ash`
1278
- * - `elevenlabs:voice:catt`
1279
- * - `google:voice:puck`
1280
- *
1281
- * @param entity - An object with optional realtimeModelConfig
1282
- * @returns The canonical voice model ID, or null if no voice is configured
1283
- */
1284
- declare function getVoiceModelId(entity: {
1285
- realtimeModelConfig?: RealtimeModelConfig | null;
1286
- }): string | null;
1287
- /**
1288
- * Check if an entity's voice can be previewed.
1289
- *
1290
- * @param entity - An object with optional realtimeModelConfig
1291
- * @returns True if the entity's voice supports TTS preview
1292
- */
1293
- declare function canPreviewVoice(entity: {
1294
- realtimeModelConfig?: RealtimeModelConfig | null;
1295
- }): boolean;
1296
-
1297
1160
  /**
1298
1161
  * Default AI model constants shared across the frontend.
1299
1162
  *
@@ -1303,7 +1166,7 @@ declare function canPreviewVoice(entity: {
1303
1166
  /** Default chat/inference model for new agents and assistants. */
1304
1167
  declare const DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
1305
1168
  /** Default inference model for custom voice stack. */
1306
- declare const DEFAULT_VOICE_INFERENCE_MODEL = "google:vertex:gemini-3-flash";
1169
+ declare const DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-5.6-luna";
1307
1170
  /** Default voice model for custom realtime configurations. */
1308
1171
  declare const DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
1309
1172
 
@@ -1360,6 +1223,7 @@ declare enum ScopeCategory {
1360
1223
  DATATYPES = "datatypes",
1361
1224
  RECORDS = "records",
1362
1225
  FILES = "files",
1226
+ DEVICES = "devices",
1363
1227
  JOURNEYS = "journeys",
1364
1228
  EXPERIMENTS = "experiments",
1365
1229
  SITES = "sites",
@@ -1585,6 +1449,23 @@ declare const SCOPES: {
1585
1449
  readonly description: "Delete files";
1586
1450
  readonly implies: readonly ["files:write"];
1587
1451
  };
1452
+ readonly 'devices:read': {
1453
+ readonly name: "devices:read";
1454
+ readonly category: ScopeCategory.DEVICES;
1455
+ readonly description: "View companion devices";
1456
+ };
1457
+ readonly 'devices:write': {
1458
+ readonly name: "devices:write";
1459
+ readonly category: ScopeCategory.DEVICES;
1460
+ readonly description: "Enrol and manage own companion devices";
1461
+ readonly implies: readonly ["devices:read"];
1462
+ };
1463
+ readonly 'devices:admin': {
1464
+ readonly name: "devices:admin";
1465
+ readonly category: ScopeCategory.DEVICES;
1466
+ readonly description: "List and revoke any companion device";
1467
+ readonly implies: readonly ["devices:write"];
1468
+ };
1588
1469
  readonly 'journeys:read': {
1589
1470
  readonly name: "journeys:read";
1590
1471
  readonly category: ScopeCategory.JOURNEYS;
@@ -1935,4 +1816,4 @@ interface RevisionState {
1935
1816
  */
1936
1817
  declare function getRevisionState(workflow: RevisionStateWorkflow, revision?: RevisionStateRevision): RevisionState;
1937
1818
 
1938
- export { type ImportStatistics as $, type AIModelUsageResponse as A, type BaseChatModelConfig as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, type DailyPhoneRowResponse as E, type DailySMSRowResponse as F, type DashboardMetrics as G, type DataRecordContext as H, type EfficiencyMetricsResponse as I, type EmailCountsResponse as J, type EmailUsageResponse as K, type EngineTimeSeries as L, type ErrorCodeBucket as M, type EventRuleMetrics as N, type ExportStatistics as O, type FeatureSyncStatus as P, type GeminiChatModelConfig as Q, type GeminiRealtimeModelConfig as R, type GeminiThinkingLevel as S, type MetricSummary$1 as T, type HealthCheckStatistics as U, type VoiceMetricsResponse$1 as V, type WorkspaceHealthResponse$1 as W, type HealthDetailRequest as X, type HealthMetricsRequest as Y, type HealthMetricsResponse as Z, type HealthSummary as _, type AIUsageDetailsResponse as a, ToolkitState as a$, type InterruptionSound as a0, type MemberNotificationPreferences as a1, type MemberNotifyActionParams as a2, type MemberUsageReport as a3, type MetricDataPoint as a4, type MetricSection as a5, type MetricSummary as a6, type MetricValue as a7, type OpenAIChatModelConfig as a8, type OpenAIRealtimeModelConfig as a9, type RevisionStateRevision as aA, type RevisionStateWorkflow as aB, type RoutineRunMetrics as aC, type RoutineWorkflowAccessMissingRole as aD, type RoutineWorkflowAccessWarning as aE, SCOPES as aF, SCOPE_PRESETS as aG, type SMSCommunicationDetailsResponse as aH, type SMSMessageUsageResponse as aI, type SMSPhoneNumberUsageResponse as aJ, ScopeCategory as aK, ScopeManager as aL, type ScopeName as aM, type SiteContext as aN, type SkippedWorkspace as aO, type StatisticsSummary as aP, type SystemStatistics as aQ, type TTSModel as aR, type TTSPreviewProvider as aS, TTS_PREVIEW_PROVIDERS as aT, type TaskContext as aU, type TaskCountResponse as aV, type ThinkingSound as aW, type TimeSeriesData as aX, type TimeSeriesDataPoint as aY, type ToolParameter as aZ, type ToolkitContext as a_, type OpenAIReasoningEffort as aa, type OpenAISemanticVADEagerness as ab, type OpenAISemanticVADTurnDetection as ac, type OpenAIServerVADTurnDetection as ad, type OpenAITurnDetection as ae, type OpenAITurnDetectionType as af, PIDS_DISPOSITIONS as ag, PIDS_SOURCES as ah, type PageContext as ai, type PerformanceMetrics as aj, type PhoneCallPhoneNumberUsageResponse as ak, type PhoneCallUsageResponse as al, type PhoneCommunicationDetailsResponse as am, type PhoneNumberUsage as an, type PidsDisposition as ao, type PidsSource as ap, type ProductOverageConfigResponse as aq, type ProvisionPlanRequest as ar, type ProvisionPlanResponse as as, type RealtimeModelConfig as at, type RequestsSection as au, type RequestsStatusEntry as av, type ResourceMetadata as aw, type ResourceOverageResponse as ax, type ResourceUsageResponse as ay, type RevisionState as az, type AWSRealtimeModelConfig as b, type TopOffender as b0, type TopResourceOverageResponse as b1, type TtsReconnectOutcomeEntry as b2, type TtsReconnectSection as b3, type UsageProductSummaryResponse as b4, type UsageReportResponse as b5, type UsageReportRequest as b6, type UsageStatistics as b7, type VoiceMetricsResponse as b8, type VoiceMetricsTimeRange as b9, WIDGET_SLUGS as ba, type WebhookMetrics as bb, type WidgetSlug as bc, type WorkflowContext as bd, type WorkspaceHealthDetail as be, type WorkspaceHealthResponse as bf, type WorkspaceHealthRow as bg, type WorkspaceRoutineWorkflowAccessResponse as bh, type WorkspaceUsageReportResponse as bi, type XAIChatModelConfig as bj, type XAIRealtimeModelConfig as bk, type XAIReasoningEffort as bl, type XAIServerVADTurnDetection as bm, canPreviewVoice as bn, formatAppContextAsMarkdown as bo, getAllResourceSlugs as bp, getResourceMetadata as bq, getRevisionState as br, getTTSProvider as bs, getVoiceModelId as bt, type ScopeDefinition as bu, type AcquisitionFunnelChannel as c, type AcquisitionFunnelRecentSignup as d, type AcquisitionFunnelResponse as e, type AdminDomainResponse as f, type AdminDomainSiteMapping as g, type AdminDomainWidgetMapping as h, type AdminPidsFindingResponse as i, type AnalyticsFilter as j, type AnalyticsQuery as k, type AppContext as l, type AttachedAddonInfo as m, type BaseRealtimeModelConfig as n, type BillingStatistics as o, type CallEndStatusEntry as p, type ChannelErrorBreakdown as q, type ChannelFailures as r, type ChatModelConfig as s, type ClaudeChatModelConfig as t, type CommunicationDetailsResponse as u, type CurrentPlanInfo as v, type CustomRealtimeModelConfig as w, DEFAULT_CUSTOM_VOICE_MODEL as x, DEFAULT_THINKING_SPEECH_PHRASES as y, DEFAULT_VOICE_INFERENCE_MODEL as z };
1819
+ export { PIDS_DISPOSITIONS as $, type AIModelUsageResponse as A, type BillingStatistics as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, type EfficiencyMetricsResponse as E, type EmailUsageResponse as F, type EngineTimeSeries as G, type ErrorCodeBucket as H, type EventRuleMetrics as I, type ExportStatistics as J, type FeatureSyncStatus as K, type HealthCheckStatistics as L, type MetricSummary$1 as M, type HealthDetailRequest as N, type HealthMetricsRequest as O, type HealthMetricsResponse as P, type HealthSummary as Q, type ImportStatistics as R, type MemberNotificationPreferences as S, type MemberNotifyActionParams as T, type MemberUsageReport as U, type VoiceMetricsResponse$1 as V, type WorkspaceHealthResponse$1 as W, type MetricDataPoint as X, type MetricSection as Y, type MetricSummary as Z, type MetricValue as _, type AIUsageDetailsResponse as a, getResourceMetadata as a$, PIDS_SOURCES as a0, type PageContext as a1, type PerformanceMetrics as a2, type PhoneCallPhoneNumberUsageResponse as a3, type PhoneCallUsageResponse as a4, type PhoneCommunicationDetailsResponse as a5, type PhoneNumberUsage as a6, type PidsDisposition as a7, type PidsSource as a8, type ProductOverageConfigResponse as a9, type TaskCountResponse as aA, type TimeSeriesData as aB, type TimeSeriesDataPoint as aC, type ToolParameter as aD, type ToolkitContext as aE, ToolkitState as aF, type TopOffender as aG, type TopResourceOverageResponse as aH, type TtsReconnectOutcomeEntry as aI, type TtsReconnectSection as aJ, type UsageProductSummaryResponse as aK, type UsageReportResponse as aL, type UsageReportRequest as aM, type UsageStatistics as aN, type VoiceMetricsResponse as aO, type VoiceMetricsTimeRange as aP, WIDGET_SLUGS as aQ, type WebhookMetrics as aR, type WidgetSlug as aS, type WorkflowContext as aT, type WorkspaceHealthDetail as aU, type WorkspaceHealthResponse as aV, type WorkspaceHealthRow as aW, type WorkspaceRoutineWorkflowAccessResponse as aX, type WorkspaceUsageReportResponse as aY, formatAppContextAsMarkdown as aZ, getAllResourceSlugs as a_, type ProvisionPlanRequest as aa, type ProvisionPlanResponse as ab, type RequestsSection as ac, type RequestsStatusEntry as ad, type ResourceMetadata as ae, type ResourceOverageResponse as af, type ResourceUsageResponse as ag, type RevisionState as ah, type RevisionStateRevision as ai, type RevisionStateWorkflow as aj, type RoutineRunMetrics as ak, type RoutineWorkflowAccessMissingRole as al, type RoutineWorkflowAccessWarning as am, SCOPES as an, SCOPE_PRESETS as ao, type SMSCommunicationDetailsResponse as ap, type SMSMessageUsageResponse as aq, type SMSPhoneNumberUsageResponse as ar, ScopeCategory as as, ScopeManager as at, type ScopeName as au, type SiteContext as av, type SkippedWorkspace as aw, type StatisticsSummary as ax, type SystemStatistics as ay, type TaskContext as az, type AcquisitionFunnelChannel as b, getRevisionState as b0, type ScopeDefinition as b1, type AcquisitionFunnelRecentSignup as c, type AcquisitionFunnelResponse as d, type AdminDomainResponse as e, type AdminDomainSiteMapping as f, type AdminDomainWidgetMapping as g, type AdminPidsFindingResponse as h, type AnalyticsFilter as i, type AnalyticsQuery as j, type AppContext as k, type AttachedAddonInfo as l, type CallEndStatusEntry as m, type ChannelErrorBreakdown as n, type ChannelFailures as o, type CommunicationDetailsResponse as p, type CurrentPlanInfo as q, DEFAULT_CUSTOM_VOICE_MODEL as r, DEFAULT_VOICE_INFERENCE_MODEL as s, type DailyPhoneRowResponse as t, type DailySMSRowResponse as u, type DashboardMetrics as v, type DataRecordContext as w, type DeviceCacheFileEntry as x, type DeviceCacheManifestResponse as y, type EmailCountsResponse as z };
package/dist/schemas.cjs CHANGED
@@ -119,6 +119,7 @@ __export(schemas_exports, {
119
119
  DeleteWorkflowSchema: () => DeleteWorkflowSchema,
120
120
  DeleteWorkspaceSchema: () => DeleteWorkspaceSchema,
121
121
  DuplicateAccountInfoSchema: () => DuplicateAccountInfoSchema,
122
+ EMPTY_SCHEMA_SENSITIVITY: () => EMPTY_SCHEMA_SENSITIVITY,
122
123
  EnrichInquirySchema: () => EnrichInquirySchema,
123
124
  ErrorResponseSchema: () => ErrorResponseSchema,
124
125
  FunctionToolSchema: () => FunctionToolSchema,
@@ -321,11 +322,13 @@ var AccountSchema = import_zod.z.object({
321
322
  });
322
323
  var LoginRequestSchema = import_zod.z.object({
323
324
  phoneNumber: import_zod.z.string(),
324
- organizationId: import_zod.z.number().optional()
325
+ organizationId: import_zod.z.number().optional(),
326
+ isSignUp: import_zod.z.boolean().optional()
325
327
  });
326
328
  var VerifyCodeRequestSchema = import_zod.z.object({
327
329
  phoneNumber: import_zod.z.string(),
328
- code: import_zod.z.string()
330
+ code: import_zod.z.string(),
331
+ isSignUp: import_zod.z.boolean().optional()
329
332
  });
330
333
  var VerifyCodeResponseSchema = import_zod.z.object({
331
334
  success: import_zod.z.boolean(),
@@ -387,7 +390,10 @@ var OrganizationSchema = import_zod.z.object({
387
390
  var AdminOrganizationSchema = OrganizationSchema.extend({
388
391
  accountCount: import_zod.z.number(),
389
392
  workspaceCount: import_zod.z.number(),
390
- enforceCreditLimit: import_zod.z.boolean()
393
+ enforceCreditLimit: import_zod.z.boolean(),
394
+ // Carrier provisioning entitlements — 0 = may not provision.
395
+ maxPhoneNumbers: import_zod.z.number().int().min(0),
396
+ maxA2pBrands: import_zod.z.number().int().min(0)
391
397
  });
392
398
  var CreateOrganizationRequestSchema = import_zod.z.object({
393
399
  name: import_zod.z.string(),
@@ -415,7 +421,11 @@ var UpdateOrganizationRequestSchema = import_zod.z.object({
415
421
  twilioSubAccountSid: import_zod.z.string().nullable().optional(),
416
422
  // Hard credit enforcement toggle — flips between the legacy soft
417
423
  // alert-only mode and the hard 402 stop at zero credits.
418
- enforceCreditLimit: import_zod.z.boolean().optional()
424
+ enforceCreditLimit: import_zod.z.boolean().optional(),
425
+ // Carrier provisioning entitlements — 0 = may not provision.
426
+ // Superuser-only; explicit null is ignored server-side.
427
+ maxPhoneNumbers: import_zod.z.number().int().min(0).optional(),
428
+ maxA2pBrands: import_zod.z.number().int().min(0).optional()
419
429
  });
420
430
  var AdminAccountMembershipSchema = import_zod.z.object({
421
431
  workspaceUuid: import_zod.z.string(),
@@ -626,6 +636,7 @@ var CreateCalendarEventSchema = import_zod2.z.object({
626
636
  title: import_zod2.z.string().describe("Event title"),
627
637
  startTime: import_zod2.z.string().describe("ISO 8601 datetime string"),
628
638
  attendeeIds: import_zod2.z.array(import_zod2.z.number()).optional().describe("Member IDs of attendees"),
639
+ workflowId: import_zod2.z.number().optional().describe("STABLE workflow root ID (resolves to the active revision)"),
629
640
  workflowRevisionId: import_zod2.z.number().optional().describe("Associated workflow revision ID"),
630
641
  taskId: import_zod2.z.number().optional().describe("Associated task ID"),
631
642
  description: import_zod2.z.string().optional().describe("Event description"),
@@ -1247,7 +1258,11 @@ function minSensitivityForCategories(categories = []) {
1247
1258
  return categoryMinimum ? maxSensitivity(minimum, categoryMinimum) : minimum;
1248
1259
  }, "public" /* PUBLIC */);
1249
1260
  }
1261
+ var EMPTY_SCHEMA_SENSITIVITY = "confidential" /* CONFIDENTIAL */;
1250
1262
  function minSensitivityForFields(fields = []) {
1263
+ if (fields.length === 0) {
1264
+ return EMPTY_SCHEMA_SENSITIVITY;
1265
+ }
1251
1266
  return fields.reduce((minimum, field) => {
1252
1267
  const fieldSensitivity = field.sensitivity ?? "confidential" /* CONFIDENTIAL */;
1253
1268
  const categoryMinimum = minSensitivityForCategories(field.categories ?? []);
@@ -1629,6 +1644,16 @@ var InboxFormDataSchema = import_zod6.z.object({
1629
1644
  assistantEnabled: import_zod6.z.boolean().optional(),
1630
1645
  autoReplyEnabled: import_zod6.z.boolean().optional(),
1631
1646
  recipient: import_zod6.z.string().optional(),
1647
+ // Inbox-specific footer overriding the workspace-wide one. Empty string
1648
+ // clears the override; the backend sanitizes and length-caps it with the
1649
+ // same rules as the workspace footer.
1650
+ emailFooter: import_zod6.z.string().nullish(),
1651
+ // Store mail from senders who are not workspace Members instead of
1652
+ // dropping it. Stored only — such mail is never processed by the AI. Must
1653
+ // be declared here or Zod strips it: `UpdateInboxSchema` backs the MCP
1654
+ // `update_inbox` tool, and a stripped key makes the tool report success
1655
+ // while changing nothing.
1656
+ receiveNonMemberEmails: import_zod6.z.boolean().optional(),
1632
1657
  // Optional OrgDomain UUID for inboxes hosted on a verified org-tier custom
1633
1658
  // domain. Backend validates ownership and email-config status.
1634
1659
  orgDomainUuid: import_zod6.z.string().uuid().optional()
@@ -2176,7 +2201,7 @@ var WorkflowCreateFormDataSchema = import_zod12.z.object({
2176
2201
  assistantName: import_zod12.z.string().nullable().optional(),
2177
2202
  assistantIdentity: import_zod12.z.string().nullable().optional(),
2178
2203
  // Concrete revision models; selecting an Agent copies its preset here.
2179
- // Explicit null resets to the concrete Haiku fallback and clears config.
2204
+ // Explicit null/blank is rejected by the API — there is no invisible fallback.
2180
2205
  chatModelId: import_zod12.z.string().nullable().optional(),
2181
2206
  chatModelConfig: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.unknown()).nullable().optional(),
2182
2207
  realtimeModelId: import_zod12.z.string().nullable().optional(),
@@ -2329,6 +2354,7 @@ var GetProductSchema = import_zod13.z.object({
2329
2354
  DeleteWorkflowSchema,
2330
2355
  DeleteWorkspaceSchema,
2331
2356
  DuplicateAccountInfoSchema,
2357
+ EMPTY_SCHEMA_SENSITIVITY,
2332
2358
  EnrichInquirySchema,
2333
2359
  ErrorResponseSchema,
2334
2360
  FunctionToolSchema,