@gravity-rail/sdk 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4B7T6MBH.js → chunk-MP5ENP4Q.js} +493 -77
- package/dist/chunk-MP5ENP4Q.js.map +1 -0
- package/dist/{chunk-GP6ICMWF.js → chunk-PJFEGUHM.js} +8 -1
- package/dist/chunk-PJFEGUHM.js.map +1 -0
- package/dist/{client-3xYGmF3t.d.ts → client-B51HZ6zY.d.cts} +2229 -217
- package/dist/{client-BhO_UFFz.d.cts → client-G5i59XtT.d.ts} +2229 -217
- package/dist/helpers.cjs +7 -0
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +2 -2
- package/dist/helpers.d.ts +2 -2
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +449 -70
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -5
- package/dist/index.d.ts +23 -5
- package/dist/index.js +77 -4
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +564 -72
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +95 -7
- package/dist/internal.d.ts +95 -7
- package/dist/internal.js +93 -6
- package/dist/internal.js.map +1 -1
- package/dist/{revision-state-Dma10N9s.d.ts → revision-state-Cc7RAf8A.d.ts} +30 -5
- package/dist/{revision-state-Dx8gCQIj.d.cts → revision-state-DudSCwea.d.cts} +30 -5
- package/dist/schemas.cjs +170 -216
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +11 -11
- package/dist/schemas.d.ts +11 -11
- package/dist/schemas.js +170 -209
- package/dist/schemas.js.map +1 -1
- package/dist/{tasks-vupYoJgG.d.cts → tasks-1JXJJuG8.d.cts} +256 -73
- package/dist/{tasks-vupYoJgG.d.ts → tasks-1JXJJuG8.d.ts} +256 -73
- package/package.json +3 -3
- package/dist/chunk-4B7T6MBH.js.map +0 -1
- package/dist/chunk-GP6ICMWF.js.map +0 -1
package/dist/internal.js
CHANGED
|
@@ -10,6 +10,18 @@ import {
|
|
|
10
10
|
AccessGrantTrigger,
|
|
11
11
|
AccessGrantsApi,
|
|
12
12
|
AccessLevel,
|
|
13
|
+
ActivityActorKind,
|
|
14
|
+
ActivityAggregationKind,
|
|
15
|
+
ActivityCaptureState,
|
|
16
|
+
ActivityConfigAction,
|
|
17
|
+
ActivityConfigArea,
|
|
18
|
+
ActivityCoverageLimitation,
|
|
19
|
+
ActivityDirection,
|
|
20
|
+
ActivityEmptyReason,
|
|
21
|
+
ActivityEventType,
|
|
22
|
+
ActivityEventTypePreset,
|
|
23
|
+
ActivityGoalImpact,
|
|
24
|
+
ActivityTimelineProjection,
|
|
13
25
|
AgentTasksApi,
|
|
14
26
|
AgentsApi,
|
|
15
27
|
ApiKeysApi,
|
|
@@ -24,6 +36,7 @@ import {
|
|
|
24
36
|
BusinessType,
|
|
25
37
|
CELApi,
|
|
26
38
|
CHAT_TYPES,
|
|
39
|
+
CONFIG_HEALTH_FACADE_CHECK_SLUGS,
|
|
27
40
|
CalendarsApi,
|
|
28
41
|
CallsApi,
|
|
29
42
|
CapabilityClass,
|
|
@@ -55,6 +68,7 @@ import {
|
|
|
55
68
|
FhirConnectionsApi,
|
|
56
69
|
FhirVendor,
|
|
57
70
|
FilesApi,
|
|
71
|
+
FormValueDisposition,
|
|
58
72
|
GravityRailClient,
|
|
59
73
|
HealthieApi,
|
|
60
74
|
HubspotApi,
|
|
@@ -73,7 +87,7 @@ import {
|
|
|
73
87
|
MemberType,
|
|
74
88
|
MembersApi,
|
|
75
89
|
MenuItemResponseItemType,
|
|
76
|
-
|
|
90
|
+
MergeMemberRolesRequestAccessStrategy,
|
|
77
91
|
ModelProvider,
|
|
78
92
|
ModelType,
|
|
79
93
|
MondayIntegrationApi,
|
|
@@ -124,7 +138,8 @@ import {
|
|
|
124
138
|
SMS_DELIVERY_FAILURE_STATUSES,
|
|
125
139
|
STT_MODEL_DEEPGRAM_FLUX,
|
|
126
140
|
STT_MODEL_DEEPGRAM_FLUX_MULTI,
|
|
127
|
-
|
|
141
|
+
STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
|
|
142
|
+
STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
|
|
128
143
|
SalesforceApi,
|
|
129
144
|
Scope,
|
|
130
145
|
ScopeCategory,
|
|
@@ -153,13 +168,17 @@ import {
|
|
|
153
168
|
WORKFLOW_IMPLICIT_USE_SCOPE,
|
|
154
169
|
WorkflowAccessWarningResourceType,
|
|
155
170
|
WorkflowNotesApi,
|
|
171
|
+
WorkflowRoutingMode,
|
|
156
172
|
WorkflowsApi,
|
|
157
173
|
WorkspaceFeature,
|
|
158
174
|
WorkspaceInvitationsApi,
|
|
159
175
|
WorkspaceProvisionStatus,
|
|
160
176
|
WorkspacesApi,
|
|
177
|
+
archivedMemberConflictId,
|
|
161
178
|
areDependenciesSatisfied,
|
|
179
|
+
asIdentifiedMemberContactConflict,
|
|
162
180
|
bindAccessGrantsMethods,
|
|
181
|
+
bindActivityTimelineMethods,
|
|
163
182
|
bindAgentTasksMethods,
|
|
164
183
|
bindAgentsMethods,
|
|
165
184
|
bindAppsMethods,
|
|
@@ -178,6 +197,7 @@ import {
|
|
|
178
197
|
bindIntegrationsMethods,
|
|
179
198
|
bindJourneysMethods,
|
|
180
199
|
bindMembersMethods,
|
|
200
|
+
bindMetricsMethods,
|
|
181
201
|
bindMotdMethods,
|
|
182
202
|
bindOperatorMethods,
|
|
183
203
|
bindOrgMethods,
|
|
@@ -217,9 +237,13 @@ import {
|
|
|
217
237
|
getTTSProvider,
|
|
218
238
|
getVoiceModelId,
|
|
219
239
|
initializeFeatures,
|
|
240
|
+
isAccountContactConflict,
|
|
220
241
|
isAgentNoteOrigin,
|
|
221
242
|
isChatType,
|
|
243
|
+
isConfigHealthFacadeCheckSlug,
|
|
222
244
|
isFeatureAvailable,
|
|
245
|
+
isIdentifiedMemberContactConflict,
|
|
246
|
+
isMemberContactConflict,
|
|
223
247
|
isPositiveRating,
|
|
224
248
|
isRegistryInitialized,
|
|
225
249
|
isSMSDeliveryFailureStatus,
|
|
@@ -230,7 +254,7 @@ import {
|
|
|
230
254
|
roleWorkflowAccess,
|
|
231
255
|
usesBuiltinAssistant,
|
|
232
256
|
validateFeatureDependencies
|
|
233
|
-
} from "./chunk-
|
|
257
|
+
} from "./chunk-MP5ENP4Q.js";
|
|
234
258
|
import {
|
|
235
259
|
AttendeeResponseStatus,
|
|
236
260
|
AttendeeStatus,
|
|
@@ -251,7 +275,7 @@ import {
|
|
|
251
275
|
BaseApiClient,
|
|
252
276
|
getCookieValue,
|
|
253
277
|
parseOrgAuthChallenge
|
|
254
|
-
} from "./chunk-
|
|
278
|
+
} from "./chunk-PJFEGUHM.js";
|
|
255
279
|
|
|
256
280
|
// src/types/generated/customer_activity.ts
|
|
257
281
|
var CustomerActivityClassifierDetectorName = {
|
|
@@ -344,6 +368,9 @@ var PhiPostureReasonCode = {
|
|
|
344
368
|
non_phi_policy_aligned: "non_phi_policy_aligned",
|
|
345
369
|
phi_expected_workspace_prohibited: "phi_expected_workspace_prohibited",
|
|
346
370
|
phi_authorization_not_evaluated: "phi_authorization_not_evaluated",
|
|
371
|
+
phi_coverage_satisfied: "phi_coverage_satisfied",
|
|
372
|
+
phi_coverage_missing: "phi_coverage_missing",
|
|
373
|
+
phi_coverage_expired: "phi_coverage_expired",
|
|
347
374
|
non_phi_org_workspace_permitted: "non_phi_org_workspace_permitted",
|
|
348
375
|
phi_permitted_org_not_expected: "phi_permitted_org_not_expected",
|
|
349
376
|
organization_review_expired: "organization_review_expired",
|
|
@@ -351,6 +378,36 @@ var PhiPostureReasonCode = {
|
|
|
351
378
|
invalid_state: "invalid_state"
|
|
352
379
|
};
|
|
353
380
|
|
|
381
|
+
// src/types/generated/metric.ts
|
|
382
|
+
var MetricChatType = {
|
|
383
|
+
assignment: "assignment",
|
|
384
|
+
dm: "dm",
|
|
385
|
+
contributor: "contributor"
|
|
386
|
+
};
|
|
387
|
+
var MetricDenominator = {
|
|
388
|
+
observations: "observations",
|
|
389
|
+
unique_members: "unique_members"
|
|
390
|
+
};
|
|
391
|
+
var MetricKind = {
|
|
392
|
+
observation: "observation",
|
|
393
|
+
gauge: "gauge"
|
|
394
|
+
};
|
|
395
|
+
var MetricSource = {
|
|
396
|
+
chat: "chat",
|
|
397
|
+
member_filter: "member_filter"
|
|
398
|
+
};
|
|
399
|
+
var MetricType = {
|
|
400
|
+
expression: "expression",
|
|
401
|
+
rubric: "rubric",
|
|
402
|
+
filter_count: "filter_count"
|
|
403
|
+
};
|
|
404
|
+
var MetricUnit = {
|
|
405
|
+
rate: "rate",
|
|
406
|
+
score: "score",
|
|
407
|
+
count: "count",
|
|
408
|
+
custom: "custom"
|
|
409
|
+
};
|
|
410
|
+
|
|
354
411
|
// src/types/generated/pilot_program.ts
|
|
355
412
|
var PilotRelationshipType = {
|
|
356
413
|
direct_pilot: "direct_pilot",
|
|
@@ -376,6 +433,18 @@ export {
|
|
|
376
433
|
AccessGrantTrigger,
|
|
377
434
|
AccessGrantsApi,
|
|
378
435
|
AccessLevel,
|
|
436
|
+
ActivityActorKind,
|
|
437
|
+
ActivityAggregationKind,
|
|
438
|
+
ActivityCaptureState,
|
|
439
|
+
ActivityConfigAction,
|
|
440
|
+
ActivityConfigArea,
|
|
441
|
+
ActivityCoverageLimitation,
|
|
442
|
+
ActivityDirection,
|
|
443
|
+
ActivityEmptyReason,
|
|
444
|
+
ActivityEventType,
|
|
445
|
+
ActivityEventTypePreset,
|
|
446
|
+
ActivityGoalImpact,
|
|
447
|
+
ActivityTimelineProjection,
|
|
379
448
|
AgentTasksApi,
|
|
380
449
|
AgentsApi,
|
|
381
450
|
ApiError,
|
|
@@ -394,6 +463,7 @@ export {
|
|
|
394
463
|
BusinessType,
|
|
395
464
|
CELApi,
|
|
396
465
|
CHAT_TYPES,
|
|
466
|
+
CONFIG_HEALTH_FACADE_CHECK_SLUGS,
|
|
397
467
|
CalendarEventStatus,
|
|
398
468
|
CalendarPermissionType,
|
|
399
469
|
CalendarScheduleAvailabilityType,
|
|
@@ -442,6 +512,7 @@ export {
|
|
|
442
512
|
FhirConnectionsApi,
|
|
443
513
|
FhirVendor,
|
|
444
514
|
FilesApi,
|
|
515
|
+
FormValueDisposition,
|
|
445
516
|
GravityRailClient,
|
|
446
517
|
HealthieApi,
|
|
447
518
|
HubspotApi,
|
|
@@ -462,7 +533,13 @@ export {
|
|
|
462
533
|
MembersApi,
|
|
463
534
|
MenuItemResponseItemType,
|
|
464
535
|
MenuItemResponseItemType as MenuItemType,
|
|
465
|
-
|
|
536
|
+
MergeMemberRolesRequestAccessStrategy,
|
|
537
|
+
MetricChatType as MetricChatTypeEnum,
|
|
538
|
+
MetricDenominator as MetricDenominatorEnum,
|
|
539
|
+
MetricKind as MetricKindEnum,
|
|
540
|
+
MetricSource as MetricSourceEnum,
|
|
541
|
+
MetricType as MetricTypeEnum,
|
|
542
|
+
MetricUnit as MetricUnitEnum,
|
|
466
543
|
ModelProvider,
|
|
467
544
|
ModelType,
|
|
468
545
|
MondayIntegrationApi,
|
|
@@ -521,7 +598,8 @@ export {
|
|
|
521
598
|
SMS_DELIVERY_FAILURE_STATUSES,
|
|
522
599
|
STT_MODEL_DEEPGRAM_FLUX,
|
|
523
600
|
STT_MODEL_DEEPGRAM_FLUX_MULTI,
|
|
524
|
-
|
|
601
|
+
STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
|
|
602
|
+
STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
|
|
525
603
|
SalesforceApi,
|
|
526
604
|
Scope,
|
|
527
605
|
ScopeCategory,
|
|
@@ -551,13 +629,17 @@ export {
|
|
|
551
629
|
WorkflowAccessWarningResourceType,
|
|
552
630
|
WorkflowNotesApi,
|
|
553
631
|
WorkflowAccessWarningResourceType as WorkflowResourceType,
|
|
632
|
+
WorkflowRoutingMode,
|
|
554
633
|
WorkflowsApi,
|
|
555
634
|
WorkspaceFeature,
|
|
556
635
|
WorkspaceInvitationsApi,
|
|
557
636
|
WorkspaceProvisionStatus,
|
|
558
637
|
WorkspacesApi,
|
|
638
|
+
archivedMemberConflictId,
|
|
559
639
|
areDependenciesSatisfied,
|
|
640
|
+
asIdentifiedMemberContactConflict,
|
|
560
641
|
bindAccessGrantsMethods,
|
|
642
|
+
bindActivityTimelineMethods,
|
|
561
643
|
bindAgentTasksMethods,
|
|
562
644
|
bindAgentsMethods,
|
|
563
645
|
bindAppsMethods,
|
|
@@ -576,6 +658,7 @@ export {
|
|
|
576
658
|
bindIntegrationsMethods,
|
|
577
659
|
bindJourneysMethods,
|
|
578
660
|
bindMembersMethods,
|
|
661
|
+
bindMetricsMethods,
|
|
579
662
|
bindMotdMethods,
|
|
580
663
|
bindOperatorMethods,
|
|
581
664
|
bindOrgMethods,
|
|
@@ -616,9 +699,13 @@ export {
|
|
|
616
699
|
getTTSProvider,
|
|
617
700
|
getVoiceModelId,
|
|
618
701
|
initializeFeatures,
|
|
702
|
+
isAccountContactConflict,
|
|
619
703
|
isAgentNoteOrigin,
|
|
620
704
|
isChatType,
|
|
705
|
+
isConfigHealthFacadeCheckSlug,
|
|
621
706
|
isFeatureAvailable,
|
|
707
|
+
isIdentifiedMemberContactConflict,
|
|
708
|
+
isMemberContactConflict,
|
|
622
709
|
isPositiveRating,
|
|
623
710
|
isRegistryInitialized,
|
|
624
711
|
isSMSDeliveryFailureStatus,
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/generated/customer_activity.ts","../src/types/generated/phi_posture.ts","../src/types/generated/workspace.ts","../src/types/generated/pilot_program.ts"],"sourcesContent":["/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: customer_activity\n */\n\n\n/**\n * PHI-free aggregate over ALL rows matching the filters (not a page).\n *\n * Counts, ages in hours, thresholds and identifiers only — no titles, review\n * notes, classifier feedback, subject labels, member data or message content\n * is read or returned.\n */\nexport interface CustomerActivityBacklogSummaryResponse {\n generatedAt: string;\n queryVersion: string;\n filters: CustomerActivitySummaryFilters;\n totalCount: number;\n backlogCount: number;\n reviewedCount: number;\n unclassifiedCount?: number;\n oldestBacklogCreatedAt?: string | null;\n oldestBacklogAgeHours?: number | null;\n byStatus: CustomerActivityStatusBucket[];\n bySeverity: CustomerActivitySeverityBucket[];\n bySource: CustomerActivitySourceBucket[];\n throughput: CustomerActivityThroughputWindow[];\n sla: CustomerActivitySlaSummary;\n}\n\nexport interface CustomerActivityClassifierDefinitionResponse {\n detectorName: CustomerActivityClassifierDetectorName;\n subjectType: string;\n labels: CustomerActivityClassifierLabel[];\n}\n\nexport type CustomerActivityClassifierDetectorName = typeof CustomerActivityClassifierDetectorName[keyof typeof CustomerActivityClassifierDetectorName];\n\n\nexport const CustomerActivityClassifierDetectorName = {\n assignment_chat_classifier: 'assignment_chat_classifier',\n manager_chat_classifier: 'manager_chat_classifier',\n concierge_chat_classifier: 'concierge_chat_classifier',\n chat_review: 'chat_review',\n} as const;\n\nexport type CustomerActivityClassifierLabel = typeof CustomerActivityClassifierLabel[keyof typeof CustomerActivityClassifierLabel];\n\n\nexport const CustomerActivityClassifierLabel = {\n user_distress: 'user_distress',\n user_confusion: 'user_confusion',\n health_topic_mentioned: 'health_topic_mentioned',\n health_advice_given: 'health_advice_given',\n escalation_failure: 'escalation_failure',\n repeated_tool_failure: 'repeated_tool_failure',\n transcription_quality: 'transcription_quality',\n repetitive_loop: 'repetitive_loop',\n manager_no_response: 'manager_no_response',\n docs_or_skill_gap: 'docs_or_skill_gap',\n discovery_thrash: 'discovery_thrash',\n} as const;\n\nexport interface CustomerActivityClassifiersResponse {\n assignmentChatClassifier: CustomerActivityClassifierDefinitionResponse;\n managerChatClassifier: CustomerActivityClassifierDefinitionResponse;\n conciergeChatClassifier: CustomerActivityClassifierDefinitionResponse;\n}\n\nexport interface CustomerActivityEventListResponse {\n items: CustomerActivityEventResponse[];\n total: number;\n page: number;\n pageSize: number;\n totalPages: number;\n}\n\n/**\n * Admin/operator view of one customer-activity event.\n *\n * The list response remains free of operator-authored text. The single-event\n * detail response may include ``reviewNote`` and ``classifierFeedback`` for the\n * internal review workflow.\n */\nexport interface CustomerActivityEventResponse {\n id: number;\n uuid: string;\n accountId?: number | null;\n accountName?: string | null;\n organizationId?: number | null;\n organizationName?: string | null;\n workspaceId?: number | null;\n workspaceName?: string | null;\n subjectType: string;\n subjectRef: string;\n title?: string | null;\n labels: string[];\n severity: CustomerActivitySeverity;\n confidence?: number | null;\n score?: number | null;\n source: CustomerActivityEventSource;\n dedupeKey?: string | null;\n detectorName?: CustomerActivityClassifierDetectorName | null;\n detectorVersion?: string | null;\n modelId?: string | null;\n promptVersion?: string | null;\n status: CustomerActivityEventStatus;\n reviewOutcome?: CustomerActivityReviewOutcome | null;\n reviewNote?: string | null;\n classifierFeedback?: CustomerActivityEventResponseClassifierFeedback;\n linkUrl?: string | null;\n reviewedByAccountId?: number | null;\n reviewedByName?: string | null;\n reviewedAt?: string | null;\n supportRequestId?: number | null;\n resourceId?: number | null;\n workspaceUuid?: string | null;\n chatClassifierPrompt?: string | null;\n subjectTitle?: string | null;\n subjectSubtitle?: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type CustomerActivityEventResponseClassifierFeedback = { [key: string]: unknown } | null;\n\nexport type CustomerActivityEventSource = typeof CustomerActivityEventSource[keyof typeof CustomerActivityEventSource];\n\n\nexport const CustomerActivityEventSource = {\n system: 'system',\n customer: 'customer',\n classifier: 'classifier',\n operator: 'operator',\n} as const;\n\nexport type CustomerActivityEventStatus = typeof CustomerActivityEventStatus[keyof typeof CustomerActivityEventStatus];\n\n\nexport const CustomerActivityEventStatus = {\n new: 'new',\n reviewed: 'reviewed',\n} as const;\n\nexport type CustomerActivityReviewOutcome = typeof CustomerActivityReviewOutcome[keyof typeof CustomerActivityReviewOutcome];\n\n\nexport const CustomerActivityReviewOutcome = {\n no_action_needed: 'no_action_needed',\n support_request_created: 'support_request_created',\n bug_filed: 'bug_filed',\n linked_existing_work: 'linked_existing_work',\n classifier_feedback: 'classifier_feedback',\n test_activity: 'test_activity',\n} as const;\n\nexport type CustomerActivitySeverity = typeof CustomerActivitySeverity[keyof typeof CustomerActivitySeverity];\n\n\nexport const CustomerActivitySeverity = {\n none: 'none',\n minimal: 'minimal',\n low: 'low',\n medium: 'medium',\n high: 'high',\n critical: 'critical',\n} as const;\n\nexport interface CustomerActivitySeverityBucket {\n severity: CustomerActivitySeverity;\n backlogCount: number;\n reviewedCount: number;\n oldestBacklogAgeHours?: number | null;\n}\n\n/**\n * Open (unreviewed) events at one severity past their review threshold.\n *\n * ``thresholdSource`` travels with the threshold it describes: a breach count\n * must never be readable without both the number that produced it and whether\n * that number is ratified policy or a provisional default.\n */\nexport interface CustomerActivitySlaBucket {\n severity: CustomerActivitySeverity;\n thresholdHours: number;\n thresholdSource: CustomerActivitySlaThresholdSource;\n breachCount: number;\n oldestBacklogAgeHours?: number | null;\n}\n\nexport interface CustomerActivitySlaSummary {\n buckets: CustomerActivitySlaBucket[];\n totalBreachCount: number;\n}\n\n/**\n * Where ONE severity's SLA threshold came from.\n *\n * ``default`` = the provisional in-repo default (see\n * ``lib/services/customer_activity_metrics.py``); ``request`` = the caller\n * supplied it. Tracked per severity rather than per response so that\n * overriding one threshold cannot make the other read as caller-supplied\n * policy when it is still an unratified default.\n */\nexport type CustomerActivitySlaThresholdSource = typeof CustomerActivitySlaThresholdSource[keyof typeof CustomerActivitySlaThresholdSource];\n\n\nexport const CustomerActivitySlaThresholdSource = {\n default: 'default',\n request: 'request',\n} as const;\n\nexport interface CustomerActivitySourceBucket {\n source: CustomerActivityEventSource;\n backlogCount: number;\n reviewedCount: number;\n}\n\nexport interface CustomerActivityStatusBucket {\n status: CustomerActivityEventStatus;\n count: number;\n}\n\n/**\n * Echo of the filters the aggregate was computed under.\n *\n * Identifiers, closed-vocabulary enums and the open-vocabulary\n * ``subjectType`` only — so an exported aggregate carries its own scope and\n * can never be mistaken for a whole-queue figure.\n */\nexport interface CustomerActivitySummaryFilters {\n status?: CustomerActivityEventStatus | null;\n subjectType?: string | null;\n source?: CustomerActivityEventSource | null;\n severity?: CustomerActivitySeverity | null;\n reviewOutcome?: CustomerActivityReviewOutcome | null;\n detectorName?: CustomerActivityClassifierDetectorName | null;\n workspaceId?: number | null;\n organizationId?: number | null;\n accountId?: number | null;\n}\n\n/**\n * Adjudication throughput over a trailing window.\n *\n * ``recordedCount`` counts events created in the window; ``reviewedCount``\n * counts events whose review verdict was recorded in it (``reviewed_at``).\n * Reopening an event clears ``reviewed_at``, so the pair reads as \"arrived vs\n * currently-adjudicated\", and arrival outpacing adjudication is exactly the\n * growing-backlog signal.\n */\nexport interface CustomerActivityThroughputWindow {\n windowHours: number;\n recordedCount: number;\n reviewedCount: number;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: phi_posture\n */\n\nimport type { DeclaredDataUse } from './organization';\nimport type { PhiDataPolicy, PhiPostureDecision, PhiPostureReasonCode } from './workspace';\n\nexport type PhiPolicyReason = typeof PhiPolicyReason[keyof typeof PhiPolicyReason];\n\n\nexport const PhiPolicyReason = {\n initial_classification: 'initial_classification',\n customer_confirmation: 'customer_confirmation',\n agreement_verified: 'agreement_verified',\n scope_change: 'scope_change',\n periodic_review: 'periodic_review',\n correction: 'correction',\n incident_response: 'incident_response',\n} as const;\n\nexport type PhiPolicySource = typeof PhiPolicySource[keyof typeof PhiPolicySource];\n\n\nexport const PhiPolicySource = {\n customer_attestation: 'customer_attestation',\n contract_review: 'contract_review',\n staff_review: 'staff_review',\n legacy_inventory: 'legacy_inventory',\n} as const;\n\nexport interface PhiPostureFinding {\n reasonCode: PhiPostureReasonCode;\n organizationId: number;\n workspaceId?: number | null;\n workspaceUuid?: string | null;\n decision: PhiPostureDecision;\n}\n\nexport interface PhiPostureReportResponse {\n generatedAt: string;\n organizationCount: number;\n workspaceCount: number;\n findingCount: number;\n offset: number;\n limit: number;\n nextOffset?: number | null;\n findings: PhiPostureFinding[];\n truncated: boolean;\n}\n\nexport interface PhiPostureTransitionResponse {\n targetType: PhiPostureTransitionResponseTargetType;\n organizationId: number;\n workspaceId?: number | null;\n workspaceUuid?: string | null;\n declaredDataUse?: DeclaredDataUse | null;\n phiDataPolicy?: PhiDataPolicy | null;\n decision?: PhiPostureDecision | null;\n reasonCode?: PhiPostureReasonCode | null;\n policyVersion: string;\n source: string;\n reason: string;\n reviewedAt: string;\n reviewedByAccountId: number;\n reviewDueAt: string;\n}\n\nexport type PhiPostureTransitionResponseTargetType = typeof PhiPostureTransitionResponseTargetType[keyof typeof PhiPostureTransitionResponseTargetType];\n\n\nexport const PhiPostureTransitionResponseTargetType = {\n organization: 'organization',\n workspace: 'workspace',\n} as const;\n\nexport interface UpdateOrganizationPhiPostureRequest {\n /**\n * @minLength 1\n * @maxLength 64\n */\n policyVersion: string;\n source: PhiPolicySource;\n reason: PhiPolicyReason;\n reviewDueAt: string;\n declaredDataUse: DeclaredDataUse;\n}\n\nexport interface UpdateWorkspacePhiPolicyRequest {\n /**\n * @minLength 1\n * @maxLength 64\n */\n policyVersion: string;\n source: PhiPolicySource;\n reason: PhiPolicyReason;\n reviewDueAt: string;\n phiDataPolicy: PhiDataPolicy;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: workspace\n */\n\nimport type { Query } from './ir';\n\n/**\n * Admin request to create a user's membership in a workspace.\n */\nexport interface AdminCreateWorkspaceMemberRequest {\n memberRoleId?: number | null;\n}\n\n/**\n * Request model for admin workspace operations.\n */\nexport interface AdminCreateWorkspaceRequest {\n organizationId: number;\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n resellerId?: number | null;\n templateWorkspaceUuid?: string | null;\n locale?: string | null;\n features?: string[] | null;\n chatClassifierPrompt?: string | null;\n subscriptionProductId?: number | null;\n}\n\n/**\n * Admin request to map a site to a workspace.\n */\nexport interface AdminMapSiteRequest {\n workspaceId?: number | null;\n siteUuid: string;\n name?: string | null;\n siteSlug?: string | null;\n externalDomain?: string | null;\n ownerId?: number | null;\n allowSignup?: boolean;\n}\n\n/**\n * Response model for site mappings.\n */\nexport interface AdminSiteMappingResponse {\n id: number;\n siteId: number;\n siteUuid: string;\n siteName: string;\n siteSlug: string;\n externalDomain?: string | null;\n workspaceId: number;\n workspaceUuid: string;\n workspaceName: string;\n workspaceSlug: string;\n createdAt: string;\n updatedAt: string;\n}\n\n/**\n * Admin request to update a user's membership in a workspace.\n */\nexport interface AdminUpdateWorkspaceMemberRequest {\n tosAccepted?: boolean | null;\n memberRoleId?: number | null;\n}\n\n/**\n * Request model for admin workspace operations.\n */\nexport interface AdminUpdateWorkspaceRequest {\n organizationId?: number | null;\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n resellerId?: number | null;\n creatorId?: number | null;\n features?: string[] | null;\n featuresOverride?: AdminUpdateWorkspaceRequestFeaturesOverride;\n themes?: string[] | null;\n locale?: string | null;\n timezone?: string | null;\n chatClassifierPrompt?: string | null;\n}\n\nexport type AdminUpdateWorkspaceRequestFeaturesOverride = {[key: string]: boolean} | null;\n\nexport interface AdminWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n organizationLogoUrl?: string | null;\n signupCode?: string | null;\n createdAt: string;\n userRole: string | null;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n themes?: string[];\n features?: string[] | null;\n featureStatus?: AdminWorkspaceResponseFeatureStatus;\n signupRequestStatus?: string | null;\n status?: number | null;\n locale?: string | null;\n timezone?: string | null;\n creatorId?: number | null;\n creatorName?: string | null;\n dbId?: number | null;\n featuresOverride?: AdminWorkspaceResponseFeaturesOverride;\n billingOwnerId?: number | null;\n billingOwnerName?: string | null;\n subscriptionProductId?: number | null;\n subscriptionProductName?: string | null;\n chatClassifierPrompt?: string | null;\n phiDataPolicy?: PhiDataPolicy;\n phiPostureDecision?: PhiPostureDecision;\n phiPostureReasonCode?: PhiPostureReasonCode;\n phiPolicyVersion?: string | null;\n phiPolicySource?: string | null;\n phiPolicyReason?: string | null;\n phiPolicyReviewedAt?: string | null;\n phiPolicyReviewedByAccountId?: number | null;\n phiPolicyReviewDueAt?: string | null;\n}\n\nexport type AdminWorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\nexport type AdminWorkspaceResponseFeaturesOverride = {[key: string]: boolean} | null;\n\nexport interface BusinessHoursStatusResponse {\n isBusinessHours: boolean;\n}\n\n/**\n * Typed body for the CLI-facing ``change-org`` / ``change-org/preview``\n * admin endpoints.\n *\n * Typing ``targetOrganizationId`` / ``newCreatorId`` as ``int`` makes FastAPI\n * return 422 on a non-numeric body field instead of letting a string value\n * reach the DB driver. Mirrors the superuser\n * ``WorkspaceMigrationRequest`` model used by the sibling\n * ``POST /admin/org-migration/workspace`` endpoint.\n */\nexport interface ChangeWorkspaceOrgRequest {\n /**\n * ID of the target organization\n * @exclusiveMinimum 0\n */\n targetOrganizationId: number;\n /**\n * Account ID to set as the workspace creator (created or promoted to OWNER in the target org)\n * @exclusiveMinimum 0\n */\n newCreatorId: number;\n}\n\nexport interface ClassifyPhoneResponse {\n phoneType?: string | null;\n}\n\nexport interface CostInfo {\n score: number;\n budget: number;\n}\n\n/**\n * Request model for associating data records with assignments.\n */\nexport interface DataRecordAssociationRequest {\n id: number;\n accessMode?: number;\n}\n\nexport interface DeleteMembershipResponse {\n message: string;\n}\n\nexport interface DeleteWorkspaceResponse {\n status: string;\n}\n\nexport interface FirstRunState {\n mode?: string;\n statuses?: FirstRunStateStatuses;\n collapsed?: boolean | null;\n}\n\nexport type FirstRunStateStatuses = {[key: string]: string} | null;\n\n/**\n * Create request for org-scoped workspace creation.\n *\n * Only allows fields appropriate for org admins.\n * Does NOT allow: resellerId, features, featuresOverride, isPublic, allowSignup.\n */\nexport interface OrgCreateWorkspaceRequest {\n name: string;\n slug?: string | null;\n templateWorkspaceUuid?: string | null;\n productId: number;\n planPeriod?: string;\n}\n\n/**\n * Request to join a workspace as an org admin.\n */\nexport interface OrgJoinWorkspaceRequest {\n memberRoleId: number;\n}\n\n/**\n * Response after joining a workspace.\n */\nexport interface OrgJoinWorkspaceResponse {\n memberId: number;\n memberRoleId: number;\n message: string;\n}\n\n/**\n * Update request for org-scoped workspace updates.\n *\n * Only allows fields that org admins should be able to change.\n * Does NOT allow: features, featuresOverride, organizationId, resellerId,\n * creatorId, themes.\n */\nexport interface OrgUpdateWorkspaceRequest {\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\n/**\n * Workspace response for org context.\n *\n * Similar to AdminWorkspaceResponse but without superuser-only fields\n * like dbId, featuresOverride, billingOwnerId, etc.\n */\nexport interface OrgWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n signupCode?: string | null;\n createdAt: string;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n status: number;\n features?: string[] | null;\n featureStatus?: OrgWorkspaceResponseFeatureStatus;\n creatorId?: number | null;\n creatorName?: string | null;\n locale?: string | null;\n timezone?: string | null;\n isMember?: boolean;\n}\n\nexport type OrgWorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\nexport type PhiDataPolicy = typeof PhiDataPolicy[keyof typeof PhiDataPolicy];\n\n\nexport const PhiDataPolicy = {\n unclassified: 'unclassified',\n phi_prohibited: 'phi_prohibited',\n phi_permitted: 'phi_permitted',\n} as const;\n\nexport type PhiPostureDecision = typeof PhiPostureDecision[keyof typeof PhiPostureDecision];\n\n\nexport const PhiPostureDecision = {\n allow_non_phi: 'allow_non_phi',\n warn_non_phi: 'warn_non_phi',\n review_required: 'review_required',\n authorization_required: 'authorization_required',\n conflict: 'conflict',\n} as const;\n\nexport type PhiPostureReasonCode = typeof PhiPostureReasonCode[keyof typeof PhiPostureReasonCode];\n\n\nexport const PhiPostureReasonCode = {\n org_unclassified: 'org_unclassified',\n workspace_unclassified: 'workspace_unclassified',\n non_phi_policy_aligned: 'non_phi_policy_aligned',\n phi_expected_workspace_prohibited: 'phi_expected_workspace_prohibited',\n phi_authorization_not_evaluated: 'phi_authorization_not_evaluated',\n non_phi_org_workspace_permitted: 'non_phi_org_workspace_permitted',\n phi_permitted_org_not_expected: 'phi_permitted_org_not_expected',\n organization_review_expired: 'organization_review_expired',\n workspace_review_expired: 'workspace_review_expired',\n invalid_state: 'invalid_state',\n} as const;\n\nexport interface PublicWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n createdAt: string;\n allowSignup?: boolean;\n resellerId?: number | null;\n memberRole?: string | null;\n signupRequestStatus?: string | null;\n}\n\nexport interface QueryDataTypeInfo {\n id: number;\n slug: string;\n name: string;\n isCollection: boolean;\n recordFields: RecordFieldInfo[];\n}\n\n/**\n * A labeled choice for a field whose raw values are ids/codes.\n */\nexport interface QueryEnumOption {\n value: unknown;\n label: string;\n color?: string | null;\n}\n\nexport interface QueryFieldInfo {\n path: string;\n type: string;\n operators: string[];\n sortable?: boolean;\n selectable?: boolean;\n enumValues?: unknown[] | null;\n enumOptions?: QueryEnumOption[] | null;\n displayName?: string | null;\n category?: string | null;\n}\n\nexport interface QueryFieldsResponse {\n entities: QueryFieldsResponseEntities;\n aggregateSources: QueryFieldsResponseAggregateSources;\n dataTypes: QueryDataTypeInfo[];\n recordSystemFields: QueryFieldInfo[];\n relations?: QueryFieldsResponseRelations;\n aggregateSourceCategories?: QueryFieldsResponseAggregateSourceCategories;\n}\n\nexport type QueryFieldsResponseAggregateSourceCategories = {[key: string]: {[key: string]: string}};\n\nexport type QueryFieldsResponseAggregateSources = {[key: string]: string[]};\n\nexport type QueryFieldsResponseEntities = {[key: string]: QueryFieldInfo[]};\n\nexport type QueryFieldsResponseRelations = {[key: string]: {[key: string]: QueryFieldInfo[]}};\n\nexport interface RecordFieldInfo {\n slug: string;\n name: string;\n type: string;\n operators: string[];\n enumValues?: unknown[] | null;\n}\n\nexport interface RunQueryRequest {\n query: Query;\n mode?: RunQueryRequestMode;\n}\n\nexport type RunQueryRequestMode = typeof RunQueryRequestMode[keyof typeof RunQueryRequestMode] | null;\n\n\nexport const RunQueryRequestMode = {\n rows: 'rows',\n count: 'count',\n aggregate: 'aggregate',\n} as const;\n\nexport interface RunQueryResponse {\n mode: string;\n items?: RunQueryResponseItems;\n nextCursor?: string | null;\n count?: number | null;\n rows?: RunQueryResponseRows;\n warnings?: string[];\n cost?: CostInfo | null;\n}\n\nexport type RunQueryResponseItems = { [key: string]: unknown }[] | null;\n\nexport type RunQueryResponseRows = { [key: string]: unknown }[] | null;\n\n/**\n * Request model for associating child tasks (parent-child relationships).\n *\n * ``order`` is optional and backward-compatible: when omitted, callers\n * that build associations from a UI-style ``childTasks`` list keep the\n * historical array-index ordering. When provided (e.g. by the workspace\n * transfer importer), it preserves the authored routing order so that\n * automatic routing still selects the lower-order matching child after\n * transfer.\n */\nexport interface TaskAssociationRequest {\n taskId: number;\n autoNext: boolean;\n required: boolean;\n choicePrompt?: string | null;\n celCondition?: string | null;\n order?: number | null;\n}\n\n/**\n * Update workspace defaults.\n */\nexport interface UpdateWorkspaceDefaultsRequest {\n defaultPhoneNumberId?: number | null;\n defaultAgentId?: number | null;\n escalationBusinessHours?: string | null;\n escalationOnlineMessageTemplate?: string | null;\n escalationOfflineMessageTemplate?: string | null;\n escalationNotifiedMessageTemplate?: string | null;\n escalationPausedMessageTemplate?: string | null;\n emailFooter?: string | null;\n pauseOnEscalate?: boolean | null;\n enableAudioRecording?: boolean | null;\n enableVoicemailDetection?: boolean | null;\n shortenUrls?: boolean | null;\n transcriptionModel?: string | null;\n}\n\n/**\n * Update a workspace.\n */\nexport interface UpdateWorkspaceRequest {\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\nexport interface ValidateQueryResponse {\n valid: boolean;\n cost: CostInfo;\n warnings?: string[];\n errors?: string[];\n}\n\n/**\n * Slim view of an OrgDomain for selection in workspace forms.\n *\n * Intentionally smaller than `OrgDomainResponse` — workspace members\n * don't need ownership tokens, DNS records, last-checked timestamps,\n * etc. Just enough to populate a dropdown, pass the uuid back as a\n * foreign reference (e.g. `orgDomainUuid` on inbox creation), and\n * let the UI mark non-verified entries as disabled with a reason.\n */\nexport interface WorkspaceAvailableDomain {\n uuid: string;\n domain: string;\n ownershipStatus: string;\n emailStatus?: string | null;\n siteStatus?: string | null;\n}\n\nexport interface WorkspaceAvailableDomainsResponse {\n items: WorkspaceAvailableDomain[];\n total: number;\n}\n\n/**\n * Response model for workspace counts.\n */\nexport interface WorkspaceCountsResponse {\n humans: number;\n agents: number;\n tasks: number;\n workflows: number;\n inboxes: number;\n phoneNumbers: number;\n chats: number;\n files: number;\n sites: number;\n forms: number;\n}\n\n/**\n * Request model for joining a workspace.\n */\nexport interface WorkspaceJoinRequest {\n memberRoleId: number;\n orgRole?: string | null;\n}\n\n/**\n * Response model for joining a workspace.\n */\nexport interface WorkspaceJoinResponse {\n success: boolean;\n memberUuid: string;\n memberId: number;\n workspaceUuid: string;\n workspaceName: string;\n memberRoleName: string;\n message: string;\n}\n\nexport interface WorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n organizationLogoUrl?: string | null;\n signupCode?: string | null;\n createdAt: string;\n userRole: string | null;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n themes?: string[];\n features?: string[] | null;\n featureStatus?: WorkspaceResponseFeatureStatus;\n signupRequestStatus?: string | null;\n status?: number | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\nexport type WorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\n/**\n * Individual scope metadata.\n */\nexport interface WorkspaceScopeResponse {\n name: string;\n category: string;\n description: string;\n implies?: string[];\n dangerous?: boolean;\n}\n\n/**\n * Response containing all workspace-grantable scopes.\n */\nexport interface WorkspaceScopesListResponse {\n items: WorkspaceScopeResponse[];\n categories: string[];\n}\n\nexport interface WorkspaceSettingsResponse {\n id: number;\n slug: string;\n defaultPhoneNumberId: number | null;\n defaultAgentId: number | null;\n workspaceFolderId?: number | null;\n escalationBusinessHours: string | null;\n escalationOnlineMessageTemplate: string | null;\n escalationOfflineMessageTemplate: string | null;\n escalationNotifiedMessageTemplate: string | null;\n escalationPausedMessageTemplate: string | null;\n emailFooter: string | null;\n pauseOnEscalate: boolean;\n sesDomain: string;\n enableAudioRecording: boolean;\n enableVoicemailDetection: boolean;\n shortenUrls: boolean;\n shortenUrlsExampleUrl: string;\n shortenUrlsAvailable: boolean;\n transcriptionModel?: string | null;\n defaultChatModel: string;\n defaultRealtimeModel: string;\n defaultInferenceModel: string;\n defaultVoiceModel: string;\n firstRunMode?: string | null;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: pilot_program\n */\n\n\n/**\n * All pilot-program config rows the operator asked for.\n */\nexport interface PilotProgramListResponse {\n programs: PilotProgramResponse[];\n total: number;\n includesInactive: boolean;\n}\n\n/**\n * One ``pilot_programs`` config row.\n */\nexport interface PilotProgramResponse {\n id: number;\n uuid: string;\n label: string;\n customerId?: number | null;\n coveredWorkspaceIds: number[];\n relationshipType: PilotRelationshipType;\n lifecycleStage: PilotStage;\n stageEnteredAt: string;\n allocationMinutes?: number | null;\n allocationPeriodStart?: string | null;\n notifyThresholdPct: number;\n notifyContactLabel?: string | null;\n stalenessThresholdDays: number;\n active: boolean;\n createdAt?: string | null;\n updatedAt?: string | null;\n}\n\n/**\n * How this pilot relates to us commercially.\n *\n * Drives the staleness read: a ``DIRECT_PILOT`` is healthy when its own\n * workspaces are active; a ``PARTNER_CHANNEL`` (co-sale partner / reseller) is\n * healthy on deal + integration activity even with low own-workspace volume.\n */\nexport type PilotRelationshipType = typeof PilotRelationshipType[keyof typeof PilotRelationshipType];\n\n\nexport const PilotRelationshipType = {\n direct_pilot: 'direct_pilot',\n partner_channel: 'partner_channel',\n} as const;\n\n/**\n * The pilot funnel stage (distinct from the churn-risk\n * ``CustomerHealthLifecycleStage`` in the customer-health read model —\n * that answers \"how healthy?\", this answers \"how far through the pilot?\").\n *\n * ``SIGNED``/``LIVE``/``VALUE_EVIDENCED`` are the in-flight stages a staleness\n * watcher covers; ``ON_HOLD`` is a deliberate pause (never paged on); and\n * ``CONVERTED``/``CHURNED`` are terminal outcomes (no staleness signal).\n */\nexport type PilotStage = typeof PilotStage[keyof typeof PilotStage];\n\n\nexport const PilotStage = {\n signed: 'signed',\n live: 'live',\n value_evidenced: 'value_evidenced',\n converted: 'converted',\n on_hold: 'on_hold',\n churned: 'churned',\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCO,IAAM,yCAAyC;AAAA,EACpD,4BAA4B;AAAA,EAC5B,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,aAAa;AACf;AAKO,IAAM,kCAAkC;AAAA,EAC7C,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,kBAAkB;AACpB;AAoEO,IAAM,8BAA8B;AAAA,EACzC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AACZ;AAKO,IAAM,8BAA8B;AAAA,EACzC,KAAK;AAAA,EACL,UAAU;AACZ;AAKO,IAAM,gCAAgC;AAAA,EAC3C,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,eAAe;AACjB;AAKO,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AACZ;AAyCO,IAAM,qCAAqC;AAAA,EAChD,SAAS;AAAA,EACT,SAAS;AACX;;;ACvMO,IAAM,kBAAkB;AAAA,EAC7B,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAKO,IAAM,kBAAkB;AAAA,EAC7B,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AACpB;AA0CO,IAAM,yCAAyC;AAAA,EACpD,cAAc;AAAA,EACd,WAAW;AACb;;;AC8MO,IAAM,gBAAgB;AAAA,EAC3B,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAKO,IAAM,qBAAqB;AAAA,EAChC,eAAe;AAAA,EACf,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,UAAU;AACZ;AAKO,IAAM,uBAAuB;AAAA,EAClC,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mCAAmC;AAAA,EACnC,iCAAiC;AAAA,EACjC,iCAAiC;AAAA,EACjC,gCAAgC;AAAA,EAChC,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,eAAe;AACjB;;;ACxQO,IAAM,wBAAwB;AAAA,EACnC,cAAc;AAAA,EACd,iBAAiB;AACnB;AAcO,IAAM,aAAa;AAAA,EACxB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AACX;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/types/generated/customer_activity.ts","../src/types/generated/phi_posture.ts","../src/types/generated/workspace.ts","../src/types/generated/metric.ts","../src/types/generated/pilot_program.ts"],"sourcesContent":["/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: customer_activity\n */\n\n\n/**\n * PHI-free aggregate over ALL rows matching the filters (not a page).\n *\n * Counts, ages in hours, thresholds and identifiers only — no titles, review\n * notes, classifier feedback, subject labels, member data or message content\n * is read or returned.\n */\nexport interface CustomerActivityBacklogSummaryResponse {\n generatedAt: string;\n queryVersion: string;\n filters: CustomerActivitySummaryFilters;\n totalCount: number;\n backlogCount: number;\n reviewedCount: number;\n unclassifiedCount?: number;\n oldestBacklogCreatedAt?: string | null;\n oldestBacklogAgeHours?: number | null;\n byStatus: CustomerActivityStatusBucket[];\n bySeverity: CustomerActivitySeverityBucket[];\n bySource: CustomerActivitySourceBucket[];\n throughput: CustomerActivityThroughputWindow[];\n sla: CustomerActivitySlaSummary;\n}\n\nexport interface CustomerActivityClassifierDefinitionResponse {\n detectorName: CustomerActivityClassifierDetectorName;\n subjectType: string;\n labels: CustomerActivityClassifierLabel[];\n}\n\nexport type CustomerActivityClassifierDetectorName = typeof CustomerActivityClassifierDetectorName[keyof typeof CustomerActivityClassifierDetectorName];\n\n\nexport const CustomerActivityClassifierDetectorName = {\n assignment_chat_classifier: 'assignment_chat_classifier',\n manager_chat_classifier: 'manager_chat_classifier',\n concierge_chat_classifier: 'concierge_chat_classifier',\n chat_review: 'chat_review',\n} as const;\n\nexport type CustomerActivityClassifierLabel = typeof CustomerActivityClassifierLabel[keyof typeof CustomerActivityClassifierLabel];\n\n\nexport const CustomerActivityClassifierLabel = {\n user_distress: 'user_distress',\n user_confusion: 'user_confusion',\n health_topic_mentioned: 'health_topic_mentioned',\n health_advice_given: 'health_advice_given',\n escalation_failure: 'escalation_failure',\n repeated_tool_failure: 'repeated_tool_failure',\n transcription_quality: 'transcription_quality',\n repetitive_loop: 'repetitive_loop',\n manager_no_response: 'manager_no_response',\n docs_or_skill_gap: 'docs_or_skill_gap',\n discovery_thrash: 'discovery_thrash',\n} as const;\n\nexport interface CustomerActivityClassifiersResponse {\n assignmentChatClassifier: CustomerActivityClassifierDefinitionResponse;\n managerChatClassifier: CustomerActivityClassifierDefinitionResponse;\n conciergeChatClassifier: CustomerActivityClassifierDefinitionResponse;\n}\n\nexport interface CustomerActivityEventListResponse {\n items: CustomerActivityEventResponse[];\n total: number;\n page: number;\n pageSize: number;\n totalPages: number;\n}\n\n/**\n * Admin/operator view of one customer-activity event.\n *\n * The list response remains free of operator-authored text. The single-event\n * detail response may include ``reviewNote`` and ``classifierFeedback`` for the\n * internal review workflow.\n */\nexport interface CustomerActivityEventResponse {\n id: number;\n uuid: string;\n accountId?: number | null;\n accountName?: string | null;\n organizationId?: number | null;\n organizationName?: string | null;\n workspaceId?: number | null;\n workspaceName?: string | null;\n subjectType: string;\n subjectRef: string;\n title?: string | null;\n labels: string[];\n severity: CustomerActivitySeverity;\n confidence?: number | null;\n score?: number | null;\n source: CustomerActivityEventSource;\n dedupeKey?: string | null;\n detectorName?: CustomerActivityClassifierDetectorName | null;\n detectorVersion?: string | null;\n modelId?: string | null;\n promptVersion?: string | null;\n status: CustomerActivityEventStatus;\n reviewOutcome?: CustomerActivityReviewOutcome | null;\n reviewNote?: string | null;\n classifierFeedback?: CustomerActivityEventResponseClassifierFeedback;\n linkUrl?: string | null;\n reviewedByAccountId?: number | null;\n reviewedByName?: string | null;\n reviewedAt?: string | null;\n supportRequestId?: number | null;\n resourceId?: number | null;\n workspaceUuid?: string | null;\n chatClassifierPrompt?: string | null;\n subjectTitle?: string | null;\n subjectSubtitle?: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type CustomerActivityEventResponseClassifierFeedback = { [key: string]: unknown } | null;\n\nexport type CustomerActivityEventSource = typeof CustomerActivityEventSource[keyof typeof CustomerActivityEventSource];\n\n\nexport const CustomerActivityEventSource = {\n system: 'system',\n customer: 'customer',\n classifier: 'classifier',\n operator: 'operator',\n} as const;\n\nexport type CustomerActivityEventStatus = typeof CustomerActivityEventStatus[keyof typeof CustomerActivityEventStatus];\n\n\nexport const CustomerActivityEventStatus = {\n new: 'new',\n reviewed: 'reviewed',\n} as const;\n\nexport type CustomerActivityReviewOutcome = typeof CustomerActivityReviewOutcome[keyof typeof CustomerActivityReviewOutcome];\n\n\nexport const CustomerActivityReviewOutcome = {\n no_action_needed: 'no_action_needed',\n support_request_created: 'support_request_created',\n bug_filed: 'bug_filed',\n linked_existing_work: 'linked_existing_work',\n classifier_feedback: 'classifier_feedback',\n test_activity: 'test_activity',\n} as const;\n\nexport type CustomerActivitySeverity = typeof CustomerActivitySeverity[keyof typeof CustomerActivitySeverity];\n\n\nexport const CustomerActivitySeverity = {\n none: 'none',\n minimal: 'minimal',\n low: 'low',\n medium: 'medium',\n high: 'high',\n critical: 'critical',\n} as const;\n\nexport interface CustomerActivitySeverityBucket {\n severity: CustomerActivitySeverity;\n backlogCount: number;\n reviewedCount: number;\n oldestBacklogAgeHours?: number | null;\n}\n\n/**\n * Open (unreviewed) events at one severity past their review threshold.\n *\n * ``thresholdSource`` travels with the threshold it describes: a breach count\n * must never be readable without both the number that produced it and whether\n * that number is ratified policy or a provisional default.\n */\nexport interface CustomerActivitySlaBucket {\n severity: CustomerActivitySeverity;\n thresholdHours: number;\n thresholdSource: CustomerActivitySlaThresholdSource;\n breachCount: number;\n oldestBacklogAgeHours?: number | null;\n}\n\nexport interface CustomerActivitySlaSummary {\n buckets: CustomerActivitySlaBucket[];\n totalBreachCount: number;\n}\n\n/**\n * Where ONE severity's SLA threshold came from.\n *\n * ``default`` = the provisional in-repo default (see\n * ``lib/services/customer_activity_metrics.py``); ``request`` = the caller\n * supplied it. Tracked per severity rather than per response so that\n * overriding one threshold cannot make the other read as caller-supplied\n * policy when it is still an unratified default.\n */\nexport type CustomerActivitySlaThresholdSource = typeof CustomerActivitySlaThresholdSource[keyof typeof CustomerActivitySlaThresholdSource];\n\n\nexport const CustomerActivitySlaThresholdSource = {\n default: 'default',\n request: 'request',\n} as const;\n\nexport interface CustomerActivitySourceBucket {\n source: CustomerActivityEventSource;\n backlogCount: number;\n reviewedCount: number;\n}\n\nexport interface CustomerActivityStatusBucket {\n status: CustomerActivityEventStatus;\n count: number;\n}\n\n/**\n * Echo of the filters the aggregate was computed under.\n *\n * Identifiers, closed-vocabulary enums and the open-vocabulary\n * ``subjectType`` only — so an exported aggregate carries its own scope and\n * can never be mistaken for a whole-queue figure.\n */\nexport interface CustomerActivitySummaryFilters {\n status?: CustomerActivityEventStatus | null;\n subjectType?: string | null;\n source?: CustomerActivityEventSource | null;\n severity?: CustomerActivitySeverity | null;\n reviewOutcome?: CustomerActivityReviewOutcome | null;\n detectorName?: CustomerActivityClassifierDetectorName | null;\n workspaceId?: number | null;\n organizationId?: number | null;\n accountId?: number | null;\n}\n\n/**\n * Adjudication throughput over a trailing window.\n *\n * ``recordedCount`` counts events created in the window; ``reviewedCount``\n * counts events whose review verdict was recorded in it (``reviewed_at``).\n * Reopening an event clears ``reviewed_at``, so the pair reads as \"arrived vs\n * currently-adjudicated\", and arrival outpacing adjudication is exactly the\n * growing-backlog signal.\n */\nexport interface CustomerActivityThroughputWindow {\n windowHours: number;\n recordedCount: number;\n reviewedCount: number;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: phi_posture\n */\n\nimport type { DeclaredDataUse } from './organization';\nimport type { PhiDataPolicy, PhiPostureDecision, PhiPostureReasonCode } from './workspace';\n\nexport type PhiPolicyReason = typeof PhiPolicyReason[keyof typeof PhiPolicyReason];\n\n\nexport const PhiPolicyReason = {\n initial_classification: 'initial_classification',\n customer_confirmation: 'customer_confirmation',\n agreement_verified: 'agreement_verified',\n scope_change: 'scope_change',\n periodic_review: 'periodic_review',\n correction: 'correction',\n incident_response: 'incident_response',\n} as const;\n\nexport type PhiPolicySource = typeof PhiPolicySource[keyof typeof PhiPolicySource];\n\n\nexport const PhiPolicySource = {\n customer_attestation: 'customer_attestation',\n contract_review: 'contract_review',\n staff_review: 'staff_review',\n legacy_inventory: 'legacy_inventory',\n} as const;\n\nexport interface PhiPostureFinding {\n reasonCode: PhiPostureReasonCode;\n organizationId: number;\n workspaceId?: number | null;\n workspaceUuid?: string | null;\n decision: PhiPostureDecision;\n}\n\nexport interface PhiPostureReportResponse {\n generatedAt: string;\n organizationCount: number;\n workspaceCount: number;\n findingCount: number;\n offset: number;\n limit: number;\n nextOffset?: number | null;\n findings: PhiPostureFinding[];\n truncated: boolean;\n}\n\nexport interface PhiPostureTransitionResponse {\n targetType: PhiPostureTransitionResponseTargetType;\n organizationId: number;\n workspaceId?: number | null;\n workspaceUuid?: string | null;\n declaredDataUse?: DeclaredDataUse | null;\n phiDataPolicy?: PhiDataPolicy | null;\n decision?: PhiPostureDecision | null;\n reasonCode?: PhiPostureReasonCode | null;\n policyVersion: string;\n source: string;\n reason: string;\n reviewedAt: string;\n reviewedByAccountId: number;\n reviewDueAt: string;\n}\n\nexport type PhiPostureTransitionResponseTargetType = typeof PhiPostureTransitionResponseTargetType[keyof typeof PhiPostureTransitionResponseTargetType];\n\n\nexport const PhiPostureTransitionResponseTargetType = {\n organization: 'organization',\n workspace: 'workspace',\n} as const;\n\nexport interface UpdateOrganizationPhiPostureRequest {\n /**\n * @minLength 1\n * @maxLength 64\n */\n policyVersion: string;\n source: PhiPolicySource;\n reason: PhiPolicyReason;\n reviewDueAt: string;\n declaredDataUse: DeclaredDataUse;\n}\n\nexport interface UpdateWorkspacePhiPolicyRequest {\n /**\n * @minLength 1\n * @maxLength 64\n */\n policyVersion: string;\n source: PhiPolicySource;\n reason: PhiPolicyReason;\n reviewDueAt: string;\n phiDataPolicy: PhiDataPolicy;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: workspace\n */\n\nimport type { Query } from './ir';\n\n/**\n * Admin request to create a user's membership in a workspace.\n */\nexport interface AdminCreateWorkspaceMemberRequest {\n memberRoleId?: number | null;\n}\n\n/**\n * Request model for admin workspace operations.\n */\nexport interface AdminCreateWorkspaceRequest {\n organizationId: number;\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n resellerId?: number | null;\n templateWorkspaceUuid?: string | null;\n locale?: string | null;\n features?: string[] | null;\n chatClassifierPrompt?: string | null;\n subscriptionProductId?: number | null;\n}\n\n/**\n * Admin request to map a site to a workspace.\n */\nexport interface AdminMapSiteRequest {\n workspaceId?: number | null;\n siteUuid: string;\n name?: string | null;\n siteSlug?: string | null;\n externalDomain?: string | null;\n ownerId?: number | null;\n allowSignup?: boolean;\n}\n\n/**\n * Response model for site mappings.\n */\nexport interface AdminSiteMappingResponse {\n id: number;\n siteId: number;\n siteUuid: string;\n siteName: string;\n siteSlug: string;\n externalDomain?: string | null;\n workspaceId: number;\n workspaceUuid: string;\n workspaceName: string;\n workspaceSlug: string;\n createdAt: string;\n updatedAt: string;\n}\n\n/**\n * Admin request to update a user's membership in a workspace.\n */\nexport interface AdminUpdateWorkspaceMemberRequest {\n tosAccepted?: boolean | null;\n memberRoleId?: number | null;\n}\n\n/**\n * Request model for admin workspace operations.\n */\nexport interface AdminUpdateWorkspaceRequest {\n organizationId?: number | null;\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n resellerId?: number | null;\n creatorId?: number | null;\n features?: string[] | null;\n featuresOverride?: AdminUpdateWorkspaceRequestFeaturesOverride;\n themes?: string[] | null;\n locale?: string | null;\n timezone?: string | null;\n chatClassifierPrompt?: string | null;\n}\n\nexport type AdminUpdateWorkspaceRequestFeaturesOverride = {[key: string]: boolean} | null;\n\nexport interface AdminWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n organizationLogoUrl?: string | null;\n signupCode?: string | null;\n createdAt: string;\n userRole: string | null;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n themes?: string[];\n features?: string[] | null;\n featureStatus?: AdminWorkspaceResponseFeatureStatus;\n signupRequestStatus?: string | null;\n status?: number | null;\n locale?: string | null;\n timezone?: string | null;\n creatorId?: number | null;\n creatorName?: string | null;\n dbId?: number | null;\n featuresOverride?: AdminWorkspaceResponseFeaturesOverride;\n billingOwnerId?: number | null;\n billingOwnerName?: string | null;\n subscriptionProductId?: number | null;\n subscriptionProductName?: string | null;\n chatClassifierPrompt?: string | null;\n phiDataPolicy?: PhiDataPolicy;\n phiPostureDecision?: PhiPostureDecision;\n phiPostureReasonCode?: PhiPostureReasonCode;\n phiPolicyVersion?: string | null;\n phiPolicySource?: string | null;\n phiPolicyReason?: string | null;\n phiPolicyReviewedAt?: string | null;\n phiPolicyReviewedByAccountId?: number | null;\n phiPolicyReviewDueAt?: string | null;\n}\n\nexport type AdminWorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\nexport type AdminWorkspaceResponseFeaturesOverride = {[key: string]: boolean} | null;\n\nexport interface BusinessHoursStatusResponse {\n isBusinessHours: boolean;\n}\n\n/**\n * Typed body for the CLI-facing ``change-org`` / ``change-org/preview``\n * admin endpoints.\n *\n * Typing ``targetOrganizationId`` / ``newCreatorId`` as ``int`` makes FastAPI\n * return 422 on a non-numeric body field instead of letting a string value\n * reach the DB driver. Mirrors the superuser\n * ``WorkspaceMigrationRequest`` model used by the sibling\n * ``POST /admin/org-migration/workspace`` endpoint.\n */\nexport interface ChangeWorkspaceOrgRequest {\n /**\n * ID of the target organization\n * @exclusiveMinimum 0\n */\n targetOrganizationId: number;\n /**\n * Account ID to set as the workspace creator (created or promoted to OWNER in the target org)\n * @exclusiveMinimum 0\n */\n newCreatorId: number;\n}\n\nexport interface ClassifyPhoneResponse {\n phoneType?: string | null;\n}\n\nexport interface CostInfo {\n score: number;\n budget: number;\n}\n\n/**\n * Request model for associating data records with assignments.\n */\nexport interface DataRecordAssociationRequest {\n id: number;\n accessMode?: number;\n}\n\nexport interface DeleteMembershipResponse {\n message: string;\n}\n\nexport interface DeleteWorkspaceResponse {\n status: string;\n}\n\nexport interface FirstRunState {\n mode?: string;\n statuses?: FirstRunStateStatuses;\n collapsed?: boolean | null;\n}\n\nexport type FirstRunStateStatuses = {[key: string]: string} | null;\n\n/**\n * Create request for org-scoped workspace creation.\n *\n * Only allows fields appropriate for org admins.\n * Does NOT allow: resellerId, features, featuresOverride, isPublic, allowSignup.\n */\nexport interface OrgCreateWorkspaceRequest {\n name: string;\n slug?: string | null;\n templateWorkspaceUuid?: string | null;\n productId: number;\n planPeriod?: string;\n}\n\n/**\n * Request to join a workspace as an org admin.\n */\nexport interface OrgJoinWorkspaceRequest {\n memberRoleId: number;\n}\n\n/**\n * Response after joining a workspace.\n */\nexport interface OrgJoinWorkspaceResponse {\n memberId: number;\n memberRoleId: number;\n message: string;\n}\n\n/**\n * Organization settings an **org admin** may change.\n *\n * Deliberately a separate model from :class:`UpdateOrganizationRequest`\n * rather than a subset enforced at the route: the privileged fields —\n * ``primary`` and ``enforceCreditLimit`` — are *absent from the schema*, so\n * an org admin cannot set them even by crafting the request body. Pydantic\n * ignores unknown keys, and there is no code path from here to those\n * columns.\n *\n * Both remain superuser-only, on ``PUT /api/v2/admin/organizations/{id}``\n * behind ``Depends(get_superuser)``:\n *\n * - ``primary`` designates the platform's own organization.\n * - ``enforceCreditLimit`` decides whether a customer is hard-blocked (402)\n * at zero credits or merely alerted, i.e. whether they can keep spending.\n *\n * SSO is not here either — it has its own admin-scoped endpoint\n * (``PUT /api/v2/o/{org_uuid}/sso``) with its own audit trail.\n */\nexport interface OrgSettingsUpdateRequest {\n name?: string | null;\n slug?: string | null;\n contactEmail?: string | null;\n contactPhone?: string | null;\n logoUrl?: string | null;\n}\n\n/**\n * Update request for org-scoped workspace updates.\n *\n * Only allows fields that org admins should be able to change.\n * Does NOT allow: features, featuresOverride, organizationId, resellerId,\n * creatorId, themes.\n */\nexport interface OrgUpdateWorkspaceRequest {\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\n/**\n * Workspace response for org context.\n *\n * Similar to AdminWorkspaceResponse but without superuser-only fields\n * like dbId, featuresOverride, billingOwnerId, etc.\n */\nexport interface OrgWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n signupCode?: string | null;\n createdAt: string;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n status: number;\n features?: string[] | null;\n featureStatus?: OrgWorkspaceResponseFeatureStatus;\n creatorId?: number | null;\n creatorName?: string | null;\n locale?: string | null;\n timezone?: string | null;\n isMember?: boolean;\n}\n\nexport type OrgWorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\n/**\n * One workspace card's expensive half: workspace-schema aggregates.\n *\n * ``myRoleName`` is about the requesting account and is returned to any org\n * member who belongs to the workspace. The counts are org-administrative\n * information and are populated only for ``org:read`` holders; everyone else\n * gets ``None`` (rendered as \"—\" rather than zero, so the UI never implies\n * an empty workspace when it simply may not look).\n *\n * ``schemaReady`` is False while the workspace is still provisioning — its\n * tables do not exist yet, so the counts are absent for a reason the card\n * can explain instead of showing a failure.\n */\nexport interface OrgWorkspaceStatsResponse {\n workspaceUuid: string;\n /** False while the workspace is still provisioning, or when its schema could not be read. The counts are absent in that case. */\n schemaReady?: boolean;\n /** The REQUESTING account's member-role name in this workspace. Null when they have no member row there. */\n myRoleName?: string | null;\n /** Non-archived members in this workspace. NULL — not 0 — when the caller lacks org:read, or when the workspace schema is unreadable (schemaReady=false). Zero means the workspace really is empty. */\n memberCount?: number | null;\n /** Published and draft sites in this workspace. NULL — not 0 — when the caller lacks org:read, or when the workspace schema is unreadable (schemaReady=false). Zero means the workspace really is empty. */\n siteCount?: number | null;\n /** Email inboxes in this workspace. NULL — not 0 — when the caller lacks org:read, or when the workspace schema is unreadable (schemaReady=false). Zero means the workspace really is empty. */\n inboxCount?: number | null;\n /** Non-archived phone numbers in this workspace. NULL — not 0 — when the caller lacks org:read, or when the workspace schema is unreadable (schemaReady=false). Zero means the workspace really is empty. */\n phoneNumberCount?: number | null;\n}\n\n/**\n * One workspace card's cheap half: identity plus a GLB-side count.\n *\n * ``orgMemberCount`` joins workspace membership to org membership. A separate\n * \"all accounts\" tally was tried and dropped: the\n * ``enforce_org_membership_before_workspace`` trigger refuses a workspace\n * membership for an account with no org membership, so the two numbers are\n * equal except in the transient state after an org membership is revoked —\n * a distinction no card was showing.\n */\nexport interface OrgWorkspaceSummaryResponse {\n uuid: string;\n name: string;\n slug: string;\n /** WorkspaceProvisionStatus. 2 = AVAILABLE; anything else means the workspace is still being provisioned. */\n status: number;\n createdAt: string;\n isPublic?: boolean;\n allowSignup?: boolean;\n /** Whether the requesting account has a workspace membership here. */\n isMember?: boolean;\n /** Accounts with access to this workspace who are also members of this organization. */\n orgMemberCount?: number;\n}\n\nexport type PhiDataPolicy = typeof PhiDataPolicy[keyof typeof PhiDataPolicy];\n\n\nexport const PhiDataPolicy = {\n unclassified: 'unclassified',\n phi_prohibited: 'phi_prohibited',\n phi_permitted: 'phi_permitted',\n} as const;\n\nexport type PhiPostureDecision = typeof PhiPostureDecision[keyof typeof PhiPostureDecision];\n\n\nexport const PhiPostureDecision = {\n allow_non_phi: 'allow_non_phi',\n warn_non_phi: 'warn_non_phi',\n review_required: 'review_required',\n authorization_required: 'authorization_required',\n conflict: 'conflict',\n} as const;\n\nexport type PhiPostureReasonCode = typeof PhiPostureReasonCode[keyof typeof PhiPostureReasonCode];\n\n\nexport const PhiPostureReasonCode = {\n org_unclassified: 'org_unclassified',\n workspace_unclassified: 'workspace_unclassified',\n non_phi_policy_aligned: 'non_phi_policy_aligned',\n phi_expected_workspace_prohibited: 'phi_expected_workspace_prohibited',\n phi_authorization_not_evaluated: 'phi_authorization_not_evaluated',\n phi_coverage_satisfied: 'phi_coverage_satisfied',\n phi_coverage_missing: 'phi_coverage_missing',\n phi_coverage_expired: 'phi_coverage_expired',\n non_phi_org_workspace_permitted: 'non_phi_org_workspace_permitted',\n phi_permitted_org_not_expected: 'phi_permitted_org_not_expected',\n organization_review_expired: 'organization_review_expired',\n workspace_review_expired: 'workspace_review_expired',\n invalid_state: 'invalid_state',\n} as const;\n\nexport interface PublicWorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n createdAt: string;\n allowSignup?: boolean;\n resellerId?: number | null;\n memberRole?: string | null;\n signupRequestStatus?: string | null;\n}\n\nexport interface QueryDataTypeInfo {\n id: number;\n slug: string;\n name: string;\n isCollection: boolean;\n recordFields: RecordFieldInfo[];\n}\n\n/**\n * A labeled choice for a field whose raw values are ids/codes.\n */\nexport interface QueryEnumOption {\n value: unknown;\n label: string;\n color?: string | null;\n}\n\nexport interface QueryFieldInfo {\n path: string;\n type: string;\n operators: string[];\n sortable?: boolean;\n selectable?: boolean;\n enumValues?: unknown[] | null;\n enumOptions?: QueryEnumOption[] | null;\n displayName?: string | null;\n category?: string | null;\n}\n\nexport interface QueryFieldsResponse {\n entities: QueryFieldsResponseEntities;\n aggregateSources: QueryFieldsResponseAggregateSources;\n dataTypes: QueryDataTypeInfo[];\n recordSystemFields: QueryFieldInfo[];\n relations?: QueryFieldsResponseRelations;\n aggregateSourceCategories?: QueryFieldsResponseAggregateSourceCategories;\n}\n\nexport type QueryFieldsResponseAggregateSourceCategories = {[key: string]: {[key: string]: string}};\n\nexport type QueryFieldsResponseAggregateSources = {[key: string]: string[]};\n\nexport type QueryFieldsResponseEntities = {[key: string]: QueryFieldInfo[]};\n\nexport type QueryFieldsResponseRelations = {[key: string]: {[key: string]: QueryFieldInfo[]}};\n\nexport interface RecordFieldInfo {\n slug: string;\n name: string;\n type: string;\n operators: string[];\n enumValues?: unknown[] | null;\n}\n\nexport interface RunQueryRequest {\n query: Query;\n mode?: RunQueryRequestMode;\n}\n\nexport type RunQueryRequestMode = typeof RunQueryRequestMode[keyof typeof RunQueryRequestMode] | null;\n\n\nexport const RunQueryRequestMode = {\n rows: 'rows',\n count: 'count',\n aggregate: 'aggregate',\n} as const;\n\nexport interface RunQueryResponse {\n mode: string;\n items?: RunQueryResponseItems;\n nextCursor?: string | null;\n count?: number | null;\n rows?: RunQueryResponseRows;\n warnings?: string[];\n cost?: CostInfo | null;\n}\n\nexport type RunQueryResponseItems = { [key: string]: unknown }[] | null;\n\nexport type RunQueryResponseRows = { [key: string]: unknown }[] | null;\n\n/**\n * Request model for associating child tasks (parent-child relationships).\n *\n * ``order`` is optional and backward-compatible: when omitted, callers\n * that build associations from a UI-style ``childTasks`` list keep the\n * historical array-index ordering. When provided (e.g. by the workspace\n * transfer importer), it preserves the authored routing order so that\n * automatic routing still selects the lower-order matching child after\n * transfer.\n */\nexport interface TaskAssociationRequest {\n taskId: number;\n autoNext: boolean;\n required: boolean;\n choicePrompt?: string | null;\n celCondition?: string | null;\n order?: number | null;\n}\n\n/**\n * Update workspace defaults.\n */\nexport interface UpdateWorkspaceDefaultsRequest {\n defaultPhoneNumberId?: number | null;\n defaultAgentId?: number | null;\n escalationBusinessHours?: string | null;\n escalationOnlineMessageTemplate?: string | null;\n escalationOfflineMessageTemplate?: string | null;\n escalationNotifiedMessageTemplate?: string | null;\n escalationPausedMessageTemplate?: string | null;\n emailFooter?: string | null;\n pauseOnEscalate?: boolean | null;\n enableAudioRecording?: boolean | null;\n enableVoicemailDetection?: boolean | null;\n shortenUrls?: boolean | null;\n transcriptionModel?: string | null;\n}\n\n/**\n * Update a workspace.\n */\nexport interface UpdateWorkspaceRequest {\n name?: string | null;\n slug?: string | null;\n signupCode?: string | null;\n isPublic?: boolean | null;\n allowSignup?: boolean | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\nexport interface ValidateQueryResponse {\n valid: boolean;\n cost: CostInfo;\n warnings?: string[];\n errors?: string[];\n}\n\n/**\n * Slim view of an OrgDomain for selection in workspace forms.\n *\n * Intentionally smaller than `OrgDomainResponse` — workspace members\n * don't need ownership tokens, DNS records, last-checked timestamps,\n * etc. Just enough to populate a dropdown, pass the uuid back as a\n * foreign reference (e.g. `orgDomainUuid` on inbox creation), and\n * let the UI mark non-verified entries as disabled with a reason.\n */\nexport interface WorkspaceAvailableDomain {\n uuid: string;\n domain: string;\n ownershipStatus: string;\n emailStatus?: string | null;\n siteStatus?: string | null;\n}\n\nexport interface WorkspaceAvailableDomainsResponse {\n items: WorkspaceAvailableDomain[];\n total: number;\n}\n\n/**\n * Response model for workspace counts.\n */\nexport interface WorkspaceCountsResponse {\n humans: number;\n agents: number;\n tasks: number;\n workflows: number;\n inboxes: number;\n phoneNumbers: number;\n chats: number;\n files: number;\n sites: number;\n forms: number;\n}\n\n/**\n * Request model for joining a workspace.\n */\nexport interface WorkspaceJoinRequest {\n memberRoleId: number;\n orgRole?: string | null;\n}\n\n/**\n * Response model for joining a workspace.\n */\nexport interface WorkspaceJoinResponse {\n success: boolean;\n memberUuid: string;\n memberId: number;\n workspaceUuid: string;\n workspaceName: string;\n memberRoleName: string;\n message: string;\n}\n\nexport interface WorkspaceResponse {\n id: number;\n uuid: string;\n slug: string;\n name: string;\n organizationId: number;\n organizationUuid?: string | null;\n organizationName?: string | null;\n organizationLogoUrl?: string | null;\n signupCode?: string | null;\n createdAt: string;\n userRole: string | null;\n isPublic?: boolean;\n allowSignup?: boolean;\n resellerId?: number | null;\n themes?: string[];\n features?: string[] | null;\n featureStatus?: WorkspaceResponseFeatureStatus;\n signupRequestStatus?: string | null;\n status?: number | null;\n locale?: string | null;\n timezone?: string | null;\n}\n\nexport type WorkspaceResponseFeatureStatus = {[key: string]: string} | null;\n\n/**\n * Individual scope metadata.\n */\nexport interface WorkspaceScopeResponse {\n name: string;\n category: string;\n description: string;\n implies?: string[];\n dangerous?: boolean;\n}\n\n/**\n * Response containing all workspace-grantable scopes.\n */\nexport interface WorkspaceScopesListResponse {\n items: WorkspaceScopeResponse[];\n categories: string[];\n}\n\nexport interface WorkspaceSettingsResponse {\n id: number;\n slug: string;\n defaultPhoneNumberId: number | null;\n defaultAgentId: number | null;\n workspaceFolderId?: number | null;\n escalationBusinessHours: string | null;\n escalationOnlineMessageTemplate: string | null;\n escalationOfflineMessageTemplate: string | null;\n escalationNotifiedMessageTemplate: string | null;\n escalationPausedMessageTemplate: string | null;\n emailFooter: string | null;\n pauseOnEscalate: boolean;\n sesDomain: string;\n enableAudioRecording: boolean;\n enableVoicemailDetection: boolean;\n shortenUrls: boolean;\n shortenUrlsExampleUrl: string;\n shortenUrlsAvailable: boolean;\n transcriptionModel?: string | null;\n defaultChatModel: string;\n defaultRealtimeModel: string;\n defaultInferenceModel: string;\n defaultVoiceModel: string;\n firstRunMode?: string | null;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: metric\n */\n\n\n/**\n * On-demand compute of enabled chat-source metrics for one chat.\n */\nexport interface ComputeChatMetricsRequest {\n /**\n * Chat id to evaluate\n * @minimum 1\n */\n chatId: number;\n}\n\n/**\n * Result of an on-demand chat metrics compute.\n */\nexport interface ComputeChatMetricsResponse {\n chatId: number;\n observationCount: number;\n}\n\n/**\n * Create a workspace metric definition.\n */\nexport interface CreateMetricRequest {\n /**\n * @minLength 1\n * @maxLength 255\n */\n name: string;\n /** Stable identifier; auto-derived from name when omitted. */\n slug?: string | null;\n description?: string | null;\n metricType: MetricType;\n source?: MetricSource;\n kind?: MetricKind;\n unit?: MetricUnit;\n celExpression?: string | null;\n evaluationPrompt?: string | null;\n /**\n * @minimum 0\n * @maximum 1\n */\n passingThreshold?: number;\n sourceConfig?: MetricSourceConfig | null;\n denominator?: MetricDenominator;\n attributionWindowSeconds?: number | null;\n enabled?: boolean;\n chatType?: MetricChatType;\n /** Workflows this chat metric measures. Required for chat metrics — pass [] to mean every workflow, deliberately. Omitting it is an error, so a scope is never chosen by accident. */\n workflowIds?: number[] | null;\n /** Optional goal for this metric — 'reach this value'. */\n targetValue?: number | null;\n /** Optional due date for targetValue. */\n targetDate?: string | null;\n}\n\n/**\n * Which conversation surface a chat metric measures.\n *\n * One metric measures one surface, deliberately. An assignment chat, a\n * sidebar DM and a contributor-input chat are different populations with\n * different success conditions; averaging them yields a number that\n * describes nothing. Want resolution rate for DMs too? That is a second\n * metric, and the two are legitimately comparable side by side.\n *\n * ``manager`` is absent on purpose — workspace-management chats are the\n * operator talking to the product, never a customer outcome.\n */\nexport type MetricChatType = typeof MetricChatType[keyof typeof MetricChatType];\n\n\nexport const MetricChatType = {\n assignment: 'assignment',\n dm: 'dm',\n contributor: 'contributor',\n} as const;\n\n/**\n * Explicit rate denominator — stored on the definition, not a convention.\n *\n * Read it as \"count once per\": what the rate divides by.\n *\n * * ``OBSERVATIONS`` — each observation counts once. For every metric\n * that can exist today that is one per conversation, because a\n * conversation yields exactly one observation.\n * * ``UNIQUE_MEMBERS`` — each Member counts once no matter how many\n * chats they had in the window. Required by pilot agreements written\n * as \"unique clients who respond… multiple responses from the same\n * client count as a single engagement\": a member in a multi-touch\n * journey has several chats, so averaging over observations\n * double-counts them and produces a defensible number that is not the\n * number in the contract.\n *\n * There was briefly a third value, ``CHATS``, reserved so a future\n * message-sourced metric could distinguish \"per observation\" (per\n * message) from \"per conversation\". It computed an identical number to\n * ``OBSERVATIONS`` for every metric that can exist today, so it reached\n * the UI as two buttons producing the same result. Reintroduce it with\n * the ``CHAT_MESSAGE`` source (#22474), when the distinction is real.\n */\nexport type MetricDenominator = typeof MetricDenominator[keyof typeof MetricDenominator];\n\n\nexport const MetricDenominator = {\n observations: 'observations',\n unique_members: 'unique_members',\n} as const;\n\n/**\n * Aggregation semantics for stored values.\n *\n * * ``OBSERVATION`` — one row per subject (chat/message/member). Aggregate\n * with avg/sum/count over a window. Must not be last-valued.\n * * ``GAUGE`` — point-in-time count of matching rows. Last-value only;\n * must not be summed across a window. Computed by the ``member_filter``\n * source.\n */\nexport type MetricKind = typeof MetricKind[keyof typeof MetricKind];\n\n\nexport const MetricKind = {\n observation: 'observation',\n gauge: 'gauge',\n} as const;\n\n/**\n * One observation — reason may be PHI; gated by analytics scope.\n */\nexport interface MetricObservationResponse {\n id: number;\n uuid: string;\n metricId: number;\n value: number;\n observedAt: string;\n chatId: number | null;\n memberId: number | null;\n messageId: number | null;\n /** Rubric grader free text — PHI-bearing; omit from aggregate export */\n reason?: string | null;\n modelId?: string | null;\n modelVersion?: string | null;\n evaluationData?: MetricObservationResponseEvaluationData;\n createdAt: string;\n}\n\nexport type MetricObservationResponseEvaluationData = { [key: string]: unknown } | null;\n\n/**\n * API shape for a Metric definition.\n */\nexport interface MetricResponse {\n id: number;\n uuid: string;\n name: string;\n slug: string;\n description: string | null;\n metricType: string;\n source: string;\n kind: string;\n unit: string;\n celExpression: string | null;\n evaluationPrompt: string | null;\n passingThreshold: number;\n sourceConfig: MetricResponseSourceConfig;\n denominator: string;\n attributionWindowSeconds: number | null;\n chatType: string;\n workflowIds: number[];\n targetValue: number | null;\n targetDate: string | null;\n enabled: boolean;\n archived: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\nexport type MetricResponseSourceConfig = { [key: string]: unknown } | null;\n\n/**\n * One time-bucket of aggregated observations.\n */\nexport interface MetricSeriesBucket {\n bucketStart: string;\n value: number | null;\n count: number;\n}\n\n/**\n * Time-series readout for a metric.\n */\nexport interface MetricSeriesResponse {\n metricId: number;\n metricUuid: string;\n metricName: string;\n unit: string;\n kind: string;\n denominator: string;\n aggregation: string;\n bucket: string;\n start: string;\n end: string;\n buckets: MetricSeriesBucket[];\n overallValue: number | null;\n overallCount: number;\n targetValue?: number | null;\n targetDate?: string | null;\n}\n\n/**\n * What triggers computation of a metric observation.\n *\n * * ``CHAT`` — rides ``ChatPostProcessingWorkflow`` after a chat goes quiet.\n * * ``MEMBER_FILTER`` — point-in-time count of Members matching a\n * :class:`~lib.models.workspace.member_filter.MemberFilter`. This is the\n * source that subsumed the former ``MilestoneGoal`` (a named target over a\n * Member cohort at a date); ``source_config`` carries\n * ``{\"member_filter_id\": <id>}``.\n *\n * Other sources are reserved for follow-on work.\n */\nexport type MetricSource = typeof MetricSource[keyof typeof MetricSource];\n\n\nexport const MetricSource = {\n chat: 'chat',\n member_filter: 'member_filter',\n} as const;\n\n/**\n * Per-source parameters for a metric definition.\n *\n * Typed rather than a bare ``dict[str, Any]`` because the values are\n * load-bearing at compute time and failure is silent. A chat metric whose\n * ``minMessages`` arrives as ``\"10\"`` was previously ignored outright —\n * ``metric_meets_min_messages`` only honours the key when it is already an\n * ``int`` — so the metric graded conversations the author meant to exclude\n * and nothing said so. ``extra=\"forbid\"`` gives the same treatment to a\n * typo'd key, which used to be stored and quietly do nothing.\n *\n * API keys are camelCase per the naming convention; the persisted JSONB\n * keeps snake_case because that is what ``metric_eval_service`` reads.\n * ``to_storage`` is the only place that translation happens.\n */\nexport interface MetricSourceConfig {\n memberFilterId?: number | null;\n minMessages?: number | null;\n}\n\n/**\n * How a metric value is computed.\n *\n * ``EXPRESSION`` is CEL-evaluated (synchronous, deterministic).\n * ``RUBRIC`` is LLM-evaluated (async, probabilistic). Those two mirror\n * :class:`~lib.models.workspace.qualification.CriterionType`.\n *\n * ``FILTER_COUNT`` has no authored expression at all — the value is the\n * number of rows matching a saved filter named in ``source_config``. It\n * pairs with ``source=member_filter`` + ``kind=gauge`` and is what the\n * retired MilestoneGoal computed.\n */\nexport type MetricType = typeof MetricType[keyof typeof MetricType];\n\n\nexport const MetricType = {\n expression: 'expression',\n rubric: 'rubric',\n filter_count: 'filter_count',\n} as const;\n\n/**\n * Display/aggregation hint for the metric's values.\n */\nexport type MetricUnit = typeof MetricUnit[keyof typeof MetricUnit];\n\n\nexport const MetricUnit = {\n rate: 'rate',\n score: 'score',\n count: 'count',\n custom: 'custom',\n} as const;\n\n/**\n * Partial update of a metric definition.\n *\n * ``metricType`` is immutable after create (same rule as ScenarioCriterion).\n */\nexport interface UpdateMetricRequest {\n name?: string | null;\n description?: string | null;\n unit?: MetricUnit | null;\n celExpression?: string | null;\n evaluationPrompt?: string | null;\n passingThreshold?: number | null;\n sourceConfig?: MetricSourceConfig | null;\n denominator?: MetricDenominator | null;\n attributionWindowSeconds?: number | null;\n enabled?: boolean | null;\n archived?: boolean | null;\n workflowIds?: number[] | null;\n targetValue?: number | null;\n targetDate?: string | null;\n}\n","/**\n * Generated by Orval, grouped by scripts/types-codegen/group_generated.ts\n * (group map from emit_openapi.py). Do not edit manually.\n * Group: pilot_program\n */\n\n\n/**\n * All pilot-program config rows the operator asked for.\n */\nexport interface PilotProgramListResponse {\n programs: PilotProgramResponse[];\n total: number;\n includesInactive: boolean;\n}\n\n/**\n * One ``pilot_programs`` config row.\n */\nexport interface PilotProgramResponse {\n id: number;\n uuid: string;\n label: string;\n customerId?: number | null;\n coveredWorkspaceIds: number[];\n relationshipType: PilotRelationshipType;\n lifecycleStage: PilotStage;\n stageEnteredAt: string;\n allocationMinutes?: number | null;\n allocationPeriodStart?: string | null;\n notifyThresholdPct: number;\n notifyContactLabel?: string | null;\n stalenessThresholdDays: number;\n active: boolean;\n createdAt?: string | null;\n updatedAt?: string | null;\n}\n\n/**\n * How this pilot relates to us commercially.\n *\n * Drives the staleness read: a ``DIRECT_PILOT`` is healthy when its own\n * workspaces are active; a ``PARTNER_CHANNEL`` (co-sale partner / reseller) is\n * healthy on deal + integration activity even with low own-workspace volume.\n */\nexport type PilotRelationshipType = typeof PilotRelationshipType[keyof typeof PilotRelationshipType];\n\n\nexport const PilotRelationshipType = {\n direct_pilot: 'direct_pilot',\n partner_channel: 'partner_channel',\n} as const;\n\n/**\n * The pilot funnel stage (distinct from the churn-risk\n * ``CustomerHealthLifecycleStage`` in the customer-health read model —\n * that answers \"how healthy?\", this answers \"how far through the pilot?\").\n *\n * ``SIGNED``/``LIVE``/``VALUE_EVIDENCED`` are the in-flight stages a staleness\n * watcher covers; ``ON_HOLD`` is a deliberate pause (never paged on); and\n * ``CONVERTED``/``CHURNED`` are terminal outcomes (no staleness signal).\n */\nexport type PilotStage = typeof PilotStage[keyof typeof PilotStage];\n\n\nexport const PilotStage = {\n signed: 'signed',\n live: 'live',\n value_evidenced: 'value_evidenced',\n converted: 'converted',\n on_hold: 'on_hold',\n churned: 'churned',\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCO,IAAM,yCAAyC;AAAA,EACpD,4BAA4B;AAAA,EAC5B,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,aAAa;AACf;AAKO,IAAM,kCAAkC;AAAA,EAC7C,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,kBAAkB;AACpB;AAoEO,IAAM,8BAA8B;AAAA,EACzC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AACZ;AAKO,IAAM,8BAA8B;AAAA,EACzC,KAAK;AAAA,EACL,UAAU;AACZ;AAKO,IAAM,gCAAgC;AAAA,EAC3C,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,eAAe;AACjB;AAKO,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AACZ;AAyCO,IAAM,qCAAqC;AAAA,EAChD,SAAS;AAAA,EACT,SAAS;AACX;;;ACvMO,IAAM,kBAAkB;AAAA,EAC7B,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAKO,IAAM,kBAAkB;AAAA,EAC7B,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AACpB;AA0CO,IAAM,yCAAyC;AAAA,EACpD,cAAc;AAAA,EACd,WAAW;AACb;;;ACgSO,IAAM,gBAAgB;AAAA,EAC3B,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAKO,IAAM,qBAAqB;AAAA,EAChC,eAAe;AAAA,EACf,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,UAAU;AACZ;AAKO,IAAM,uBAAuB;AAAA,EAClC,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mCAAmC;AAAA,EACnC,iCAAiC;AAAA,EACjC,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,iCAAiC;AAAA,EACjC,gCAAgC;AAAA,EAChC,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,eAAe;AACjB;;;AChUO,IAAM,iBAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,aAAa;AACf;AA4BO,IAAM,oBAAoB;AAAA,EAC/B,cAAc;AAAA,EACd,gBAAgB;AAClB;AAcO,IAAM,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,OAAO;AACT;AAoGO,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,eAAe;AACjB;AAqCO,IAAM,aAAa;AAAA,EACxB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,cAAc;AAChB;AAQO,IAAM,aAAa;AAAA,EACxB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AACV;;;AC9OO,IAAM,wBAAwB;AAAA,EACnC,cAAc;AAAA,EACd,iBAAiB;AACnB;AAcO,IAAM,aAAa;AAAA,EACxB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AACX;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { eC as SortOrder } from './tasks-1JXJJuG8.js';
|
|
2
|
+
import { nt as WorkspaceFeature, im as Resource$1, hK as ProductType } from './client-G5i59XtT.js';
|
|
3
3
|
|
|
4
4
|
interface MemberNotificationPreferences {
|
|
5
5
|
notifySms?: boolean;
|
|
@@ -1040,6 +1040,13 @@ interface AppContext {
|
|
|
1040
1040
|
hasLocalBrowser?: boolean;
|
|
1041
1041
|
/** Server-validated Manager skills selected for the first Chat turn. */
|
|
1042
1042
|
initialSkills?: string[];
|
|
1043
|
+
/**
|
|
1044
|
+
* Toolkit tool names/URIs for this Manager turn (builtin, custom,
|
|
1045
|
+
* app-connection, or MCP). When set (including `[]`), replaces the chat's
|
|
1046
|
+
* enabled toolkit tools for this and later turns. When omitted, the prior
|
|
1047
|
+
* selection is kept. Concrete tool URIs only — never wildcards.
|
|
1048
|
+
*/
|
|
1049
|
+
initialTools?: string[];
|
|
1043
1050
|
/** Additional structured page state */
|
|
1044
1051
|
pageState?: {
|
|
1045
1052
|
/** Route parameters from Next.js */
|
|
@@ -1084,6 +1091,24 @@ interface OpenAIServerVADTurnDetection {
|
|
|
1084
1091
|
interrupt_response?: boolean;
|
|
1085
1092
|
}
|
|
1086
1093
|
type OpenAITurnDetection = OpenAISemanticVADTurnDetection | OpenAIServerVADTurnDetection;
|
|
1094
|
+
/**
|
|
1095
|
+
* xAI's server-VAD block: OpenAI's fields plus `idle_timeout_ms`, which xAI
|
|
1096
|
+
* documents and OpenAI has no equivalent for. Mirrors
|
|
1097
|
+
* `lib/voice/realtime_config.py:XAIServerVADTurnDetection`.
|
|
1098
|
+
*
|
|
1099
|
+
* A configured `turnDetection` REPLACES xAI's default block wholesale rather
|
|
1100
|
+
* than merging with it, so setting `idle_timeout_ms` alone also drops the
|
|
1101
|
+
* phone-tuned threshold and prefix padding back to schema defaults.
|
|
1102
|
+
*/
|
|
1103
|
+
interface XAIServerVADTurnDetection extends OpenAIServerVADTurnDetection {
|
|
1104
|
+
/**
|
|
1105
|
+
* Silence (ms) before xAI speaks again unprompted. Unset means
|
|
1106
|
+
* re-engagement is off; there is deliberately no platform default. xAI
|
|
1107
|
+
* clamps the value up to its own floor, so read back the echoed session
|
|
1108
|
+
* when the exact wait matters.
|
|
1109
|
+
*/
|
|
1110
|
+
idle_timeout_ms?: number | null;
|
|
1111
|
+
}
|
|
1087
1112
|
type ThinkingSound = 'none' | 'typing' | 'strumming' | 'speech';
|
|
1088
1113
|
type InterruptionSound = 'none' | 'clav' | 'bells' | 'organ' | 'guzheng';
|
|
1089
1114
|
/** Default filler phrases suggested when the user first enables "speech" mode. */
|
|
@@ -1142,7 +1167,7 @@ interface AWSRealtimeModelConfig extends BaseRealtimeModelConfig {
|
|
|
1142
1167
|
*/
|
|
1143
1168
|
interface XAIRealtimeModelConfig extends BaseRealtimeModelConfig {
|
|
1144
1169
|
ttsModel?: 'native' | null;
|
|
1145
|
-
turnDetection?:
|
|
1170
|
+
turnDetection?: XAIServerVADTurnDetection | null;
|
|
1146
1171
|
}
|
|
1147
1172
|
type RealtimeModelConfig = OpenAIRealtimeModelConfig | GeminiRealtimeModelConfig | CustomRealtimeModelConfig | AWSRealtimeModelConfig | XAIRealtimeModelConfig;
|
|
1148
1173
|
type GeminiThinkingLevel = 'minimal' | 'low' | 'medium' | 'high';
|
|
@@ -1427,7 +1452,7 @@ declare const SCOPES: {
|
|
|
1427
1452
|
readonly 'workflows:read': {
|
|
1428
1453
|
readonly name: "workflows:read";
|
|
1429
1454
|
readonly category: ScopeCategory.WORKFLOWS;
|
|
1430
|
-
readonly description: "
|
|
1455
|
+
readonly description: "Access the Workflows area and view workflows shared with you";
|
|
1431
1456
|
};
|
|
1432
1457
|
readonly 'workflows:write': {
|
|
1433
1458
|
readonly name: "workflows:write";
|
|
@@ -1876,4 +1901,4 @@ interface RevisionState {
|
|
|
1876
1901
|
*/
|
|
1877
1902
|
declare function getRevisionState(workflow: RevisionStateWorkflow, revision?: RevisionStateRevision): RevisionState;
|
|
1878
1903
|
|
|
1879
|
-
export { type HealthMetricsResponse as $, type AIModelUsageResponse as A, type BaseChatModelConfig as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, DEFAULT_THINKING_SPEECH_PHRASES as E, DEFAULT_VOICE_INFERENCE_MODEL as F, type DailyPhoneRowResponse as G, type DailySMSRowResponse as H, type DashboardMetrics as I, type DataRecordContext as J, type EfficiencyMetricsResponse as K, type EmailCountsResponse as L, type EmailUsageResponse as M, type EngineTimeSeries as N, type ErrorCodeBucket as O, type EventRuleMetrics as P, type ExportStatistics as Q, type FeatureSyncStatus as R, type GeminiChatModelConfig as S, type GeminiRealtimeModelConfig as T, type GeminiThinkingLevel as U, type MetricSummary$1 as V, type VoiceMetricsResponse$1 as W, type WorkspaceHealthResponse$1 as X, type HealthCheckStatistics as Y, type HealthDetailRequest as Z, type HealthMetricsRequest as _, type AIUsageDetailsResponse as a, type TimeSeriesDataPoint as a$, type HealthSummary as a0, type ImportStatistics as a1, type InterruptionSound as a2, type MemberNotificationPreferences as a3, type MemberNotifyActionParams as a4, type MemberUsageReport as a5, type MetricDataPoint as a6, type MetricSection as a7, type MetricSummary as a8, type MetricValue as a9, type ResourceScope as aA, type ResourceUsageResponse as aB, type RevisionState as aC, type RevisionStateRevision as aD, type RevisionStateWorkflow as aE, type RoutineRunMetrics as aF, type RoutineWorkflowAccessMissingRole as aG, type RoutineWorkflowAccessWarning as aH, SCOPES as aI, SCOPE_PRESETS as aJ, type SMSCommunicationDetailsResponse as aK, type SMSMessageUsageResponse as aL, type SMSPhoneNumberUsageResponse as aM, ScopeCategory as aN, ScopeManager as aO, type ScopeName as aP, type SiteContext as aQ, type SkippedWorkspace as aR, type StatisticsSummary as aS, type SystemStatistics as aT, type TTSModel as aU, type TTSPreviewProvider as aV, TTS_PREVIEW_PROVIDERS as aW, type TaskContext as aX, type TaskCountResponse as aY, type ThinkingSound as aZ, type TimeSeriesData as a_, type OpenAIChatModelConfig as aa, type OpenAIRealtimeModelConfig as ab, type OpenAIReasoningEffort as ac, type OpenAISemanticVADEagerness as ad, type OpenAISemanticVADTurnDetection as ae, type OpenAIServerVADTurnDetection as af, type OpenAITurnDetection as ag, type OpenAITurnDetectionType as ah, PIDS_DISPOSITIONS as ai, PIDS_SOURCES as aj, type PageContext as ak, type PerformanceMetrics as al, type PhoneCallPhoneNumberUsageResponse as am, type PhoneCallUsageResponse as an, type PhoneCommunicationDetailsResponse as ao, type PhoneNumberUsage as ap, type PidsDisposition as aq, type PidsSource as ar, type ProductOverageConfigResponse as as, type ProvisionPlanRequest as at, type ProvisionPlanResponse as au, type RealtimeModelConfig as av, type RequestsSection as aw, type RequestsStatusEntry as ax, type ResourceMetadata as ay, type ResourceOverageResponse as az, type AWSRealtimeModelConfig as b, type ToolParameter as b0, type ToolkitContext as b1, ToolkitState as b2, type TopOffender as b3, type TopResourceOverageResponse as b4, type TtsReconnectOutcomeEntry as b5, type TtsReconnectSection as b6, type UsageProductSummaryResponse as b7, type UsageReportResponse as b8, type UsageReportRequest as b9, type UsageStatistics as ba, type VoiceMetricsResponse as bb, type VoiceMetricsTimeRange as bc, WIDGET_SLUGS as bd, type WebhookMetrics as be, type WidgetSlug as bf, type WorkflowContext as bg, type WorkspaceHealthDetail as bh, type WorkspaceHealthResponse as bi, type WorkspaceHealthRow as bj, type WorkspaceRoutineWorkflowAccessResponse as bk, type WorkspaceUsageReportResponse as bl, type XAIChatModelConfig as bm, type XAIRealtimeModelConfig as bn, type XAIReasoningEffort as bo,
|
|
1904
|
+
export { type HealthMetricsResponse as $, type AIModelUsageResponse as A, type BaseChatModelConfig as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, DEFAULT_THINKING_SPEECH_PHRASES as E, DEFAULT_VOICE_INFERENCE_MODEL as F, type DailyPhoneRowResponse as G, type DailySMSRowResponse as H, type DashboardMetrics as I, type DataRecordContext as J, type EfficiencyMetricsResponse as K, type EmailCountsResponse as L, type EmailUsageResponse as M, type EngineTimeSeries as N, type ErrorCodeBucket as O, type EventRuleMetrics as P, type ExportStatistics as Q, type FeatureSyncStatus as R, type GeminiChatModelConfig as S, type GeminiRealtimeModelConfig as T, type GeminiThinkingLevel as U, type MetricSummary$1 as V, type VoiceMetricsResponse$1 as W, type WorkspaceHealthResponse$1 as X, type HealthCheckStatistics as Y, type HealthDetailRequest as Z, type HealthMetricsRequest as _, type AIUsageDetailsResponse as a, type TimeSeriesDataPoint as a$, type HealthSummary as a0, type ImportStatistics as a1, type InterruptionSound as a2, type MemberNotificationPreferences as a3, type MemberNotifyActionParams as a4, type MemberUsageReport as a5, type MetricDataPoint as a6, type MetricSection as a7, type MetricSummary as a8, type MetricValue as a9, type ResourceScope as aA, type ResourceUsageResponse as aB, type RevisionState as aC, type RevisionStateRevision as aD, type RevisionStateWorkflow as aE, type RoutineRunMetrics as aF, type RoutineWorkflowAccessMissingRole as aG, type RoutineWorkflowAccessWarning as aH, SCOPES as aI, SCOPE_PRESETS as aJ, type SMSCommunicationDetailsResponse as aK, type SMSMessageUsageResponse as aL, type SMSPhoneNumberUsageResponse as aM, ScopeCategory as aN, ScopeManager as aO, type ScopeName as aP, type SiteContext as aQ, type SkippedWorkspace as aR, type StatisticsSummary as aS, type SystemStatistics as aT, type TTSModel as aU, type TTSPreviewProvider as aV, TTS_PREVIEW_PROVIDERS as aW, type TaskContext as aX, type TaskCountResponse as aY, type ThinkingSound as aZ, type TimeSeriesData as a_, type OpenAIChatModelConfig as aa, type OpenAIRealtimeModelConfig as ab, type OpenAIReasoningEffort as ac, type OpenAISemanticVADEagerness as ad, type OpenAISemanticVADTurnDetection as ae, type OpenAIServerVADTurnDetection as af, type OpenAITurnDetection as ag, type OpenAITurnDetectionType as ah, PIDS_DISPOSITIONS as ai, PIDS_SOURCES as aj, type PageContext as ak, type PerformanceMetrics as al, type PhoneCallPhoneNumberUsageResponse as am, type PhoneCallUsageResponse as an, type PhoneCommunicationDetailsResponse as ao, type PhoneNumberUsage as ap, type PidsDisposition as aq, type PidsSource as ar, type ProductOverageConfigResponse as as, type ProvisionPlanRequest as at, type ProvisionPlanResponse as au, type RealtimeModelConfig as av, type RequestsSection as aw, type RequestsStatusEntry as ax, type ResourceMetadata as ay, type ResourceOverageResponse as az, type AWSRealtimeModelConfig as b, type ToolParameter as b0, type ToolkitContext as b1, ToolkitState as b2, type TopOffender as b3, type TopResourceOverageResponse as b4, type TtsReconnectOutcomeEntry as b5, type TtsReconnectSection as b6, type UsageProductSummaryResponse as b7, type UsageReportResponse as b8, type UsageReportRequest as b9, type ScopeDefinition as bA, type UsageStatistics as ba, type VoiceMetricsResponse as bb, type VoiceMetricsTimeRange as bc, WIDGET_SLUGS as bd, type WebhookMetrics as be, type WidgetSlug as bf, type WorkflowContext as bg, type WorkspaceHealthDetail as bh, type WorkspaceHealthResponse as bi, type WorkspaceHealthRow as bj, type WorkspaceRoutineWorkflowAccessResponse as bk, type WorkspaceUsageReportResponse as bl, type XAIChatModelConfig as bm, type XAIRealtimeModelConfig as bn, type XAIReasoningEffort as bo, type XAIServerVADTurnDetection as bp, canPreviewVoice as bq, formatAppContextAsMarkdown as br, getAllResourceSlugs as bs, getApplicableResourceSlugs as bt, getApplicableResources as bu, getResourceMetadata as bv, getRevisionState as bw, getScopeFromProductType as bx, getTTSProvider as by, getVoiceModelId as bz, 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 ChangeWorkspaceProductRequest as q, type ChangeWorkspaceProductResponse as r, type ChannelErrorBreakdown as s, type ChannelFailures as t, type ChatModelConfig as u, type ClaudeChatModelConfig as v, type CommunicationDetailsResponse as w, type CurrentPlanInfo as x, type CustomRealtimeModelConfig as y, DEFAULT_CUSTOM_VOICE_MODEL as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { eC as SortOrder } from './tasks-1JXJJuG8.cjs';
|
|
2
|
+
import { nt as WorkspaceFeature, im as Resource$1, hK as ProductType } from './client-B51HZ6zY.cjs';
|
|
3
3
|
|
|
4
4
|
interface MemberNotificationPreferences {
|
|
5
5
|
notifySms?: boolean;
|
|
@@ -1040,6 +1040,13 @@ interface AppContext {
|
|
|
1040
1040
|
hasLocalBrowser?: boolean;
|
|
1041
1041
|
/** Server-validated Manager skills selected for the first Chat turn. */
|
|
1042
1042
|
initialSkills?: string[];
|
|
1043
|
+
/**
|
|
1044
|
+
* Toolkit tool names/URIs for this Manager turn (builtin, custom,
|
|
1045
|
+
* app-connection, or MCP). When set (including `[]`), replaces the chat's
|
|
1046
|
+
* enabled toolkit tools for this and later turns. When omitted, the prior
|
|
1047
|
+
* selection is kept. Concrete tool URIs only — never wildcards.
|
|
1048
|
+
*/
|
|
1049
|
+
initialTools?: string[];
|
|
1043
1050
|
/** Additional structured page state */
|
|
1044
1051
|
pageState?: {
|
|
1045
1052
|
/** Route parameters from Next.js */
|
|
@@ -1084,6 +1091,24 @@ interface OpenAIServerVADTurnDetection {
|
|
|
1084
1091
|
interrupt_response?: boolean;
|
|
1085
1092
|
}
|
|
1086
1093
|
type OpenAITurnDetection = OpenAISemanticVADTurnDetection | OpenAIServerVADTurnDetection;
|
|
1094
|
+
/**
|
|
1095
|
+
* xAI's server-VAD block: OpenAI's fields plus `idle_timeout_ms`, which xAI
|
|
1096
|
+
* documents and OpenAI has no equivalent for. Mirrors
|
|
1097
|
+
* `lib/voice/realtime_config.py:XAIServerVADTurnDetection`.
|
|
1098
|
+
*
|
|
1099
|
+
* A configured `turnDetection` REPLACES xAI's default block wholesale rather
|
|
1100
|
+
* than merging with it, so setting `idle_timeout_ms` alone also drops the
|
|
1101
|
+
* phone-tuned threshold and prefix padding back to schema defaults.
|
|
1102
|
+
*/
|
|
1103
|
+
interface XAIServerVADTurnDetection extends OpenAIServerVADTurnDetection {
|
|
1104
|
+
/**
|
|
1105
|
+
* Silence (ms) before xAI speaks again unprompted. Unset means
|
|
1106
|
+
* re-engagement is off; there is deliberately no platform default. xAI
|
|
1107
|
+
* clamps the value up to its own floor, so read back the echoed session
|
|
1108
|
+
* when the exact wait matters.
|
|
1109
|
+
*/
|
|
1110
|
+
idle_timeout_ms?: number | null;
|
|
1111
|
+
}
|
|
1087
1112
|
type ThinkingSound = 'none' | 'typing' | 'strumming' | 'speech';
|
|
1088
1113
|
type InterruptionSound = 'none' | 'clav' | 'bells' | 'organ' | 'guzheng';
|
|
1089
1114
|
/** Default filler phrases suggested when the user first enables "speech" mode. */
|
|
@@ -1142,7 +1167,7 @@ interface AWSRealtimeModelConfig extends BaseRealtimeModelConfig {
|
|
|
1142
1167
|
*/
|
|
1143
1168
|
interface XAIRealtimeModelConfig extends BaseRealtimeModelConfig {
|
|
1144
1169
|
ttsModel?: 'native' | null;
|
|
1145
|
-
turnDetection?:
|
|
1170
|
+
turnDetection?: XAIServerVADTurnDetection | null;
|
|
1146
1171
|
}
|
|
1147
1172
|
type RealtimeModelConfig = OpenAIRealtimeModelConfig | GeminiRealtimeModelConfig | CustomRealtimeModelConfig | AWSRealtimeModelConfig | XAIRealtimeModelConfig;
|
|
1148
1173
|
type GeminiThinkingLevel = 'minimal' | 'low' | 'medium' | 'high';
|
|
@@ -1427,7 +1452,7 @@ declare const SCOPES: {
|
|
|
1427
1452
|
readonly 'workflows:read': {
|
|
1428
1453
|
readonly name: "workflows:read";
|
|
1429
1454
|
readonly category: ScopeCategory.WORKFLOWS;
|
|
1430
|
-
readonly description: "
|
|
1455
|
+
readonly description: "Access the Workflows area and view workflows shared with you";
|
|
1431
1456
|
};
|
|
1432
1457
|
readonly 'workflows:write': {
|
|
1433
1458
|
readonly name: "workflows:write";
|
|
@@ -1876,4 +1901,4 @@ interface RevisionState {
|
|
|
1876
1901
|
*/
|
|
1877
1902
|
declare function getRevisionState(workflow: RevisionStateWorkflow, revision?: RevisionStateRevision): RevisionState;
|
|
1878
1903
|
|
|
1879
|
-
export { type HealthMetricsResponse as $, type AIModelUsageResponse as A, type BaseChatModelConfig as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, DEFAULT_THINKING_SPEECH_PHRASES as E, DEFAULT_VOICE_INFERENCE_MODEL as F, type DailyPhoneRowResponse as G, type DailySMSRowResponse as H, type DashboardMetrics as I, type DataRecordContext as J, type EfficiencyMetricsResponse as K, type EmailCountsResponse as L, type EmailUsageResponse as M, type EngineTimeSeries as N, type ErrorCodeBucket as O, type EventRuleMetrics as P, type ExportStatistics as Q, type FeatureSyncStatus as R, type GeminiChatModelConfig as S, type GeminiRealtimeModelConfig as T, type GeminiThinkingLevel as U, type MetricSummary$1 as V, type VoiceMetricsResponse$1 as W, type WorkspaceHealthResponse$1 as X, type HealthCheckStatistics as Y, type HealthDetailRequest as Z, type HealthMetricsRequest as _, type AIUsageDetailsResponse as a, type TimeSeriesDataPoint as a$, type HealthSummary as a0, type ImportStatistics as a1, type InterruptionSound as a2, type MemberNotificationPreferences as a3, type MemberNotifyActionParams as a4, type MemberUsageReport as a5, type MetricDataPoint as a6, type MetricSection as a7, type MetricSummary as a8, type MetricValue as a9, type ResourceScope as aA, type ResourceUsageResponse as aB, type RevisionState as aC, type RevisionStateRevision as aD, type RevisionStateWorkflow as aE, type RoutineRunMetrics as aF, type RoutineWorkflowAccessMissingRole as aG, type RoutineWorkflowAccessWarning as aH, SCOPES as aI, SCOPE_PRESETS as aJ, type SMSCommunicationDetailsResponse as aK, type SMSMessageUsageResponse as aL, type SMSPhoneNumberUsageResponse as aM, ScopeCategory as aN, ScopeManager as aO, type ScopeName as aP, type SiteContext as aQ, type SkippedWorkspace as aR, type StatisticsSummary as aS, type SystemStatistics as aT, type TTSModel as aU, type TTSPreviewProvider as aV, TTS_PREVIEW_PROVIDERS as aW, type TaskContext as aX, type TaskCountResponse as aY, type ThinkingSound as aZ, type TimeSeriesData as a_, type OpenAIChatModelConfig as aa, type OpenAIRealtimeModelConfig as ab, type OpenAIReasoningEffort as ac, type OpenAISemanticVADEagerness as ad, type OpenAISemanticVADTurnDetection as ae, type OpenAIServerVADTurnDetection as af, type OpenAITurnDetection as ag, type OpenAITurnDetectionType as ah, PIDS_DISPOSITIONS as ai, PIDS_SOURCES as aj, type PageContext as ak, type PerformanceMetrics as al, type PhoneCallPhoneNumberUsageResponse as am, type PhoneCallUsageResponse as an, type PhoneCommunicationDetailsResponse as ao, type PhoneNumberUsage as ap, type PidsDisposition as aq, type PidsSource as ar, type ProductOverageConfigResponse as as, type ProvisionPlanRequest as at, type ProvisionPlanResponse as au, type RealtimeModelConfig as av, type RequestsSection as aw, type RequestsStatusEntry as ax, type ResourceMetadata as ay, type ResourceOverageResponse as az, type AWSRealtimeModelConfig as b, type ToolParameter as b0, type ToolkitContext as b1, ToolkitState as b2, type TopOffender as b3, type TopResourceOverageResponse as b4, type TtsReconnectOutcomeEntry as b5, type TtsReconnectSection as b6, type UsageProductSummaryResponse as b7, type UsageReportResponse as b8, type UsageReportRequest as b9, type UsageStatistics as ba, type VoiceMetricsResponse as bb, type VoiceMetricsTimeRange as bc, WIDGET_SLUGS as bd, type WebhookMetrics as be, type WidgetSlug as bf, type WorkflowContext as bg, type WorkspaceHealthDetail as bh, type WorkspaceHealthResponse as bi, type WorkspaceHealthRow as bj, type WorkspaceRoutineWorkflowAccessResponse as bk, type WorkspaceUsageReportResponse as bl, type XAIChatModelConfig as bm, type XAIRealtimeModelConfig as bn, type XAIReasoningEffort as bo,
|
|
1904
|
+
export { type HealthMetricsResponse as $, type AIModelUsageResponse as A, type BaseChatModelConfig as B, type CallEndSection as C, DEFAULT_CHAT_MODEL as D, DEFAULT_THINKING_SPEECH_PHRASES as E, DEFAULT_VOICE_INFERENCE_MODEL as F, type DailyPhoneRowResponse as G, type DailySMSRowResponse as H, type DashboardMetrics as I, type DataRecordContext as J, type EfficiencyMetricsResponse as K, type EmailCountsResponse as L, type EmailUsageResponse as M, type EngineTimeSeries as N, type ErrorCodeBucket as O, type EventRuleMetrics as P, type ExportStatistics as Q, type FeatureSyncStatus as R, type GeminiChatModelConfig as S, type GeminiRealtimeModelConfig as T, type GeminiThinkingLevel as U, type MetricSummary$1 as V, type VoiceMetricsResponse$1 as W, type WorkspaceHealthResponse$1 as X, type HealthCheckStatistics as Y, type HealthDetailRequest as Z, type HealthMetricsRequest as _, type AIUsageDetailsResponse as a, type TimeSeriesDataPoint as a$, type HealthSummary as a0, type ImportStatistics as a1, type InterruptionSound as a2, type MemberNotificationPreferences as a3, type MemberNotifyActionParams as a4, type MemberUsageReport as a5, type MetricDataPoint as a6, type MetricSection as a7, type MetricSummary as a8, type MetricValue as a9, type ResourceScope as aA, type ResourceUsageResponse as aB, type RevisionState as aC, type RevisionStateRevision as aD, type RevisionStateWorkflow as aE, type RoutineRunMetrics as aF, type RoutineWorkflowAccessMissingRole as aG, type RoutineWorkflowAccessWarning as aH, SCOPES as aI, SCOPE_PRESETS as aJ, type SMSCommunicationDetailsResponse as aK, type SMSMessageUsageResponse as aL, type SMSPhoneNumberUsageResponse as aM, ScopeCategory as aN, ScopeManager as aO, type ScopeName as aP, type SiteContext as aQ, type SkippedWorkspace as aR, type StatisticsSummary as aS, type SystemStatistics as aT, type TTSModel as aU, type TTSPreviewProvider as aV, TTS_PREVIEW_PROVIDERS as aW, type TaskContext as aX, type TaskCountResponse as aY, type ThinkingSound as aZ, type TimeSeriesData as a_, type OpenAIChatModelConfig as aa, type OpenAIRealtimeModelConfig as ab, type OpenAIReasoningEffort as ac, type OpenAISemanticVADEagerness as ad, type OpenAISemanticVADTurnDetection as ae, type OpenAIServerVADTurnDetection as af, type OpenAITurnDetection as ag, type OpenAITurnDetectionType as ah, PIDS_DISPOSITIONS as ai, PIDS_SOURCES as aj, type PageContext as ak, type PerformanceMetrics as al, type PhoneCallPhoneNumberUsageResponse as am, type PhoneCallUsageResponse as an, type PhoneCommunicationDetailsResponse as ao, type PhoneNumberUsage as ap, type PidsDisposition as aq, type PidsSource as ar, type ProductOverageConfigResponse as as, type ProvisionPlanRequest as at, type ProvisionPlanResponse as au, type RealtimeModelConfig as av, type RequestsSection as aw, type RequestsStatusEntry as ax, type ResourceMetadata as ay, type ResourceOverageResponse as az, type AWSRealtimeModelConfig as b, type ToolParameter as b0, type ToolkitContext as b1, ToolkitState as b2, type TopOffender as b3, type TopResourceOverageResponse as b4, type TtsReconnectOutcomeEntry as b5, type TtsReconnectSection as b6, type UsageProductSummaryResponse as b7, type UsageReportResponse as b8, type UsageReportRequest as b9, type ScopeDefinition as bA, type UsageStatistics as ba, type VoiceMetricsResponse as bb, type VoiceMetricsTimeRange as bc, WIDGET_SLUGS as bd, type WebhookMetrics as be, type WidgetSlug as bf, type WorkflowContext as bg, type WorkspaceHealthDetail as bh, type WorkspaceHealthResponse as bi, type WorkspaceHealthRow as bj, type WorkspaceRoutineWorkflowAccessResponse as bk, type WorkspaceUsageReportResponse as bl, type XAIChatModelConfig as bm, type XAIRealtimeModelConfig as bn, type XAIReasoningEffort as bo, type XAIServerVADTurnDetection as bp, canPreviewVoice as bq, formatAppContextAsMarkdown as br, getAllResourceSlugs as bs, getApplicableResourceSlugs as bt, getApplicableResources as bu, getResourceMetadata as bv, getRevisionState as bw, getScopeFromProductType as bx, getTTSProvider as by, getVoiceModelId as bz, 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 ChangeWorkspaceProductRequest as q, type ChangeWorkspaceProductResponse as r, type ChannelErrorBreakdown as s, type ChannelFailures as t, type ChatModelConfig as u, type ClaudeChatModelConfig as v, type CommunicationDetailsResponse as w, type CurrentPlanInfo as x, type CustomRealtimeModelConfig as y, DEFAULT_CUSTOM_VOICE_MODEL as z };
|