@wayai/cli 0.3.182 → 0.3.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6046,7 +6046,7 @@ function refineScopedTarget(data, ctx) {
6046
6046
  }
6047
6047
  }
6048
6048
  }
6049
- var uuidSchema, USER_ID_REGEX, paginationSchema, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, MESSAGE_ENVELOPE_HEADROOM_BYTES, MAX_AUDIO_FILE_BASE64_BYTES, primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, AUTH_TYPE, ORG_CREDENTIAL_AUTH_TYPES, AUTH_TYPE_DISPLAY, LEGACY_AUTH_TYPE_MAP, VALID_AUTH_TYPES, AGENT_ROLES, SAFE_USER_ID_REGEX, SUPPORTED_LOCALES, SUMMARIZATION_THRESHOLD_MIN, SUMMARIZATION_THRESHOLD_MAX, PREVIOUS_CONVERSATIONS_MAX, FLAG_CONDITION_OPERATORS, CONFIDENCE_VARIABLE_SUFFIX, DECISION_SCORE_MIN_LEVELS, DECISION_SCORE_MAX_LEVELS, DECISIONS_MODEL_PREFIXES, DECISION_CAPABLE_AGENT_ROLES, NATIVE_TOOL_SCHEMAS, WAYAI_CONNECTOR, BASE_NATIVE_TOOLS, NATIVE_TOOLS, CATALOG_SIDE_EFFECTS, NATIVE_TOOL_NAMES, previousConversationsCountField, summarizationThresholdField, flagConditionSchema, MONITOR_TRIGGERS, monitorTriggerSchema, MONITOR_FIRING_TRIGGERS, MONITOR_DELAY_SECONDS_MIN, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE, MONITOR_HISTORY_MESSAGES_MAX, monitorHistoryMessagesSchema, monitorIncludeToolResultsSchema, MONITOR_INPUT_SHAPING_KEYS, MONITOR_INPUT_SHAPING_SCHEMAS, MONITOR_INPUT_SHAPING_IDLE_MESSAGE, monitorArgumentSourceSchema, MONITOR_NOTE_TEMPLATE_MAX, MONITOR_STEER_NOTE_MAX, monitorActionSchema, monitorRuleSchema, MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS, MONITOR_RULE_TRIGGERS, MONITOR_RULE_TRIGGER_MESSAGE, CALL_UTTERANCE_SPEAKERS, callUtteranceSpeakerSchema, MONITOR_CALL_KEYS, MONITOR_CALL_SCHEMAS, MONITOR_CALL_KEY_MESSAGE, CALL_STEERING_MIN_CONFIDENCE, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE, CALL_UTTERANCE_FALLBACK_MESSAGE, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE, CALL_STEER_NOTE_BLANK_MESSAGE, MONITOR_USER_MESSAGE_ACTION_KINDS, MONITOR_ASSISTANT_REPLY_ACTION_KINDS, MONITOR_CALL_UTTERANCE_ACTION_KINDS, INSERT_NOTE_TOOL_NAME, RUN_MONITOR_TOOL_NAME, MONITOR_RULE_ALLOWED_NATIVE_TOOLS, MONITOR_RULE_REENTRY_TOOLS, MONITOR_RULE_REENTRY_TRACKS, monitorConfigField, flagConditionsField, agentIdParam, listAgentsQuery, agentConnectionsQuery, createAgentBody, updateAgentBody, AGENT_PARAMETER_TYPES, AGENT_PARAMETER_NAME_REGEX, agentParameterCreateSchema, MAX_AGENT_PARAMETERS_PER_REQUEST, createAgentParametersBody, SLUG_REGEX, slugSchema, INVISIBLE_NAME_CHARS, MAX_KANBAN_STATUSES, MAX_FOLLOWUPS_PER_STATUS, MAX_LANES, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES, RESERVED_TEMPLATE_DUMP_NAME, kanbanStatusSlugSchema, followupTypeSchema, EVENT_RELATIVE_FOLLOWUP_TYPES, followupTimeUnitSchema, followupIdSchema, SELECTABLE_FOLLOWUP_TYPES, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS, followupSchema, MAX_OUTCOMES_PER_STATUS, kanbanOutcomeSchema, EXCLUSIVE_FLAG_PAIRS, kanbanStatusSchema, kanbanStatusesArraySchema, laneSchema, lanesArraySchema, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, createHubBody, updateHubBody, addHubAdminBody, addHubIdentityAuthorizationBody, contactDecisionBody, approveContactBody, listContactAccessQuery, createHubTeamBody, updateHubTeamBody, addHubTeamUserBody, reassignHubUserBody, replicatePreviewBody, updateChannelTestIdentitiesBody, claimCodeChannelParam, claimCodeDeleteParam, connectionIdParam, connectorIdParam, listConnectionsQuery, deleteConnectionQuery, addConnectionBody, editConnectionBody, PRODUCTION_DIRECT_FIELDS, setProductionCredentialBody, registerWhatsappQuery, registerWhatsappBody, retryProvisioningQuery, resendDomainStatusQuery, PLACEHOLDER_TOKENS, ALLOWED_TYPES, SUBSCHEMA_OBJECT_KEYWORDS, SUBSCHEMA_LIST_KEYWORDS, SUBSCHEMA_MAP_KEYWORDS, MAX_SCHEMA_DEPTH, toolIdParam, listToolsQuery, toolAgentQuery, deleteToolQuery, toolConnectionsQuery, nativeToolIdSchema, CONTEXT_BOUNDARIES, contextBoundarySchema, addNativeToolBody, addMcpToolBody, createCustomToolBody, updateCustomToolBody, updateToolExecutionConfigBody, initialValueCreateSchema, initialValueUpdateSchema, stateIdParam, listStatesQuery, stateNameSchema, createStateBody, updateStateBody, reorderStatesBody, variantAiModeSchema, experimentStatusSchema, overlayUpdateSchema, experimentIdParam, variantIdParam, listExperimentsQuery, listVariantsQuery, listOverridesQuery, deleteOverrideQuery, createExperimentBody, updateExperimentBody, setExperimentStatusBody, createVariantBody, updateVariantBody, upsertOverrideBody, orgTagIdParam, listOrgTagsQuery, ORG_TAG_NAME_REGEX, ORG_TAG_NAME_MAX_LENGTH, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, BASE_CREDENTIAL_MANAGED_BY, BASE_CREDENTIAL_NAME_MAX, baseCredentialNameSchema, createBaseCredentialLinkBody, baseCredentialLinkParams, baseCredentialLinkQuery, orgResourceIdParam, orgResourceFileIdParam, orgResourceFolderIdParam, hubOrgResourceParam, listOrgResourcesQuery, orgIdQuery, createOrgResourceBody, updateOrgResourceBody, createOrgResourceFolderBody, updateOrgResourceFolderBody, uploadOrgResourceFileBody, updateOrgResourceFileBody, uploadOrgSkillZipBody, linkOrgResourceBody, resourceIdParam, listResourcesQuery, createResourceBody, updateResourceBody, syncSkillsBody, resourceFileIdParam, listResourceFilesQuery, createResourceFileBody, updateResourceFileBody, uploadResourceFileBody, uploadSkillZipBody, resourceFolderIdParam, listResourceFoldersQuery, createResourceFolderBody, updateResourceFolderBody, agentResourceQuery, hubResourceQuery, linkAgentResourceBody, updateAgentResourceBody, unlinkAgentResourceQuery, navItemSchema, hubCountResetBody, navItemCountResetBody, typingBody, analyticsHubIdParam, analyticsVariableIdParam, updateVariablePinBody, updateAnalyticsViewBody, NUMERIC_FILTER_OPS, TEXT_FILTER_OPS, CATEGORICAL_FILTER_OPS, VARIABLE_FILTER_OPS, STRUCTURED_QUERY_OPS, STRUCTURED_QUERY_AGGREGATIONS, filterValueSchema, conversationsBody, analyticsConversationIdParam, messagesQuery, conversationDetailDataQuery, analyticsDataBody, structuredQueryBody, analyticsSqlBody, analyticsSqlTable, analyticsSqlSchemaQuery, EVAL_PACING_PRESET_NAMES, PACING_INTERVAL_MIN_MS, PACING_INTERVAL_MAX_MS, EVAL_MAX_RUNS_PER_SCENARIO, EVAL_RUN_DEADLINE_MIN_MS, EVAL_RUN_DEADLINE_MAX_MS, ISO_UTC_RE, paginationSchema2, evalIdParam, sessionIdParam, scenarioSetIdParam, hubIdQuery, evalDateContextSchema, EVAL_FIXTURE_NAME_MAX_LENGTH, evalFixtureOverrideSchema, runSessionQuery, runJourneyQuery, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, evalBody, EVAL_LIST_MAX_LIMIT, evalListLimit, getEvalsQuery, toggleEvalBody, bulkToggleEvalsBody, pacingConfigSchema, EVAL_MAX_SELECTED_SCENARIOS, evalScenarioSelectionEntrySchema, evalScenarioSelectionSchema, sessionConfigSchema, createSessionBody, getSessionsQuery, getSessionResultsQuery, getSessionRunsQuery, evalAnalyticsQuery, getSessionCostQuery, compareSessionsQuery, evalsSqlBody, evalsSqlSchemaQuery, exportResultsQuery, validateEvalBody, hubAgentsQuery, createScenarioSetBody, updateScenarioSetBody, scenarioSetsHubQuery, createScenarioFromConversationBody, createJourneyFromConversationBody, EVAL_ATTACHMENT_HASH_REGEX, evalAttachmentRef, turnMayCarryAttachments, ATTACHMENTS_USER_ONLY_MESSAGE, journeyIdParam, journeyToolCallSchema, journeyTurnSchema, journeyStepOverrideSchema, fixtureField, createJourneyBody, updateJourneyBody, evalSessionConfigResponseSchema, evalSessionResponseSchema, evalSessionListConfigSchema, evalSessionListItemSchema, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, CALL_STATUSES, callStatus, CALL_END_REASONS, callEndReason, CALL_TRANSPORTS, callTransport, CALL_PARTICIPANT_TYPES, callParticipantType, callInstant, MAX_SDP_OFFER_LENGTH, sdpDescription, sdpOffer, MAX_CALL_REQUEST_BODY_BYTES, hubScoped, callSummaryFields, callSummary, callIdParam, createCallBody, createCallResponse, callReadyBody, callHangupBody, callStatusQuery, MAX_REPORTED_DELEGATION_IDS, callDelegationId, callDelegationsBody, callResponse, MAX_CALL_RECORDING_GAPS, callRecordingGap, callRecordingNoteMetadata, CALL_OPENING_LANGUAGES, callOpeningLanguage, CALL_OPENING_MAX_DURATION_MS, CALL_OPENING_MAX_BYTES, CALL_OPENING_CAPTION_MAX_CHARS, CALL_OPENING_CONTENT_TYPES, callOpeningContentType, CALL_OPENING_HASH_REGEX, callOpeningHash, callOpeningCaption, storedCallOpening, MAX_CALL_OPENING_ENCODED_BYTES, MAX_CALL_OPENING_BODY_BYTES, agentCallOpeningParams, putAgentCallOpeningBody, deleteAgentCallOpeningQuery, callOpeningParam, callOpeningQuery, CALLER_LANGUAGE, TTS_VOICE_REPLY_ENABLED_FIELD, COPILOT_TRIGGER_FIELD, AUDIO_LANGUAGE_OPTIONS, whatsapp, instagram, resend, telegram, API_CHANNEL_DELIVERY_EVENTS, apiChannel, OPENAI_REASONING_MODELS, openai, anthropic, googleAiStudio, openRouter, xai, groqStt, openaiStt, elevenLabsStt, openaiTts, groqTts, elevenLabsTts, GEMINI_TTS_VOICES, googleTts, wayai, externalResources, restApiTool, mcpServer, e2b, CLAUDE_HARNESS_MODELS, CLAUDE_HARNESS_MODEL_OPTIONS, HARNESS_MCP_SERVERS_FIELD, HARNESS_EGRESS_FIELDS, claudeAgentSdk, claudeManagedAgents, rekorMemory, SPOKEN_LINE_MAX_CHARS, gptLive, CONNECTORS, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, EVAL_CALL_SPOKEN_LINE_MAX_CHARS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallRecordQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecording, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, recordAiDisclosureAcceptanceBody, activityQuery, deletionModeSchema, deletionRequestBody, archiveHubIdParam, archiveConversationParams, archiveListQuery, archiveMessageObservabilityParams, conversationIdParam, claimBody, releaseBody, transferBody, closeBody, additionalContextPayloadSchema, kanbanUpdateBody, annotateConversationBody, observabilityParams, observabilityListParams, deleteUserConversationsBody, deleteUserConversationsResponse, sendMessageBody, listConversationsQuery, flagSourceSchema, getConversationsResponse, getConversationDetailParams, getConversationDetailQuery, getConversationDetailResponse, listWhatsAppTemplatesQuery, sendWhatsAppTemplateBody, copilotSuggestBody, copilotSuggestResponse, CONSULT_THREAD_STATUSES, consultThreadStatus, CONSULT_THREAD_TITLE_MAX, consultThreadTitle, consultThreadSummary, listConsultThreadsQuery, listConsultThreadsResponse, createConsultThreadBody, createConsultThreadResponse, consultThreadIdParam, updateConsultThreadBody, updateConsultThreadResponse, CONSULT_AWAIT_TIMEOUT_MS, billingOrgIdParam, subscriptionItemParams, spendCapBody, growthPacksBody, portalSessionBody, checkoutSessionBody, updateBillingCurrencyBody, invoicesQuery, planKeySchema, billingStatusSchema, billingPlanTypeSchema, dataUsageCountersSchema, REKOR_ENTITLEMENT_CONTRACT_VERSION, entitlementProjectionSchema, rekorEntitlementRefreshMessageSchema, downloadBody, uploadQuery, signUrlBody, outboundSchemaQuery, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, contactIdParam, listContactsQuery, createContactBody, updateContactBody, listIdParam, listListsQuery, listListContactsQuery, createListBody, updateListBody, addListContactsBody, removeListContactsBody, scheduleIdParam, listSchedulesQuery, listExecutionsQuery, createScheduleBody, updateScheduleBody, MAX_RESOURCE_FILE_SIZE, MAX_10MB_BASE64_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_CARRIERS, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES, MAX_RESOURCE_ENCODED_BYTES, MAX_HUB_AS_CODE_RESOURCES, MAX_HUB_AS_CODE_RESOURCE_FILES, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES, MAX_CI_CONFIG_BODY_BYTES, MAX_CALL_OPENING_CARRIERS, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES, hubAsCodeStateSchema, hubAsCodeResourceFileSchema, hubAsCodeResourceSchema, uuidPattern, ciUuidSchema, boundedHubAsCodeResourcesSchema, hubAsCodeConfigSchema, ciPullHubIdParam, ciBranchParam, ciPullQuery, ciHubsQuery, ciLookupQuery, ciBranchesQuery, ciSyncBody, ciPushBody, ciDiffBody, ciPublishBody, ciPublishPreviewBody, ciSyncMcpBody, ciOrgResourcesParam, orgResourcesConfigSchema, ciOrgResourcesPushBody, ciOrgResourcesDiffBody, CI_APPLY_ENTITY_KINDS, CI_APPLY_OPERATIONS, ciApplyErrorBaseSchema, ciApplyErrorSchema, ciSyncCountSchema, ciSyncChangesSchema, ciSyncWarningSchema, ciSyncResponseSchema, VERSION_PART, MOBILE_APP_VERSION_RE, mobileAppVersionSchema, MOBILE_PLATFORMS, mobilePlatformSchema, mobileVersionPolicyQuery, mobileVersionPolicySchema, mobileVersionPolicyResponse, adminOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetShape, adminScopedTargetBody, BRANCHING_ORPHAN_ENTITY_TYPES, BRANCHING_ORPHAN_MAX_TARGETS, adminRepairBranchingOrphansBody, adminRepairLegacyOrgGrantsBody, adminRepairCompedPlansBody, updatePricingPlanBody, dataExplorerSearchQuery, dataExplorerOrgIdParam, dataExplorerHubIdParam, dataExplorerConvIdParam, dataExplorerDoInstancesQuery, dataExplorerNsIdParam, dataExplorerKvKeysBody, dataExplorerKvKeyBody, uuidOrHexId, dataExplorerDeleteOrgParam, dataExplorerDeleteHubParam, dataExplorerDeleteConvParam, dataExplorerDeleteUserParam, dataExplorerDeleteQuery, dataExplorerKvDeleteBody, pitrDoNamespace, pitrBookmarkParam, pitrRestoreBody, healthSamplingTriggerBody, dataExplorerDebugDoType, DEBUG_READ_MAX_LIMIT, DEBUG_READ_DEFAULT_LIMIT, DEBUG_DO_HEX_PREFIX, debugDoEntityId, debugTableName, dataExplorerDebugTablesParam, dataExplorerDebugRowsParam, dataExplorerDebugRowsQuery, dataExplorerDebugAnalyticsTable, debugUuid, dataExplorerDebugAnalyticsRowsParam, dataExplorerDebugAnalyticsRowsQuery, debugHubConvParam, debugMessageIdQuery, sandboxEgressPolicy, SANDBOX_EXEC_MAX_CMD_LENGTH, SANDBOX_EXEC_MAX_ALLOWLIST, SANDBOX_EXEC_MAX_TIMEOUT_MS, adminSandboxExecBody, META_ENTITY_ID_PATTERN, metaEntityId, whatsappCallbackBody, authMeResponse, wsTicketResponse, sessionCheckResponse, logoutResponse, magicCodeSendBody, magicCodeSendResponse, magicCodeVerifyBody, magicCodeVerifyResponse, passwordLoginBody, stateOperationBody, conversationListResourcesQuery, conversationReadResourceQuery, listPendingSchedulesQuery, listHubAggregateSchedulesQuery, reportSourceSchema, intakeReportSourceSchema, reportClassificationSchema, reportStatusSchema, reportLocaleSchema, reportMessageAuthorRoleSchema, reportMessageSchema, sentryRefStatusSchema, createReportBody, editReportBody, reporterReportSummarySchema, reporterListResponseSchema, getReportResponseSchema, reporterTransitionResponseSchema, contestReportBody, reporterListQuery, listReportsQuery, GITHUB_ISSUE_URL_REGEX, githubIssueUrlSchema, transitionReportBody, groupReportsBody, holdReportBody, clickhouseReadyResponse, bootstrapQuery, requestSnapshotChunkMessage, MAX_NAME_LENGTH, MAX_VALUE_LENGTH, MAX_TAGS, MAX_TAG_LENGTH, MAX_SCOPE_HUBS, MAX_SCOPE_TAGS, vaultSecretScopeSchema, vaultCreateBody, vaultUpdateBody, PERMISSIONS, MAX_NAME_LENGTH2, MAX_HUBS_PER_GRANT, MAX_HUB_TAGS_PER_GRANT, MAX_GRANTS, permissionEnum, grantScopeSchema, grantSchema, createTokenBody, tokenOrgIdParam, tokenGrantScopeSchema, tokenGrantSchema, tokenMetadataSchema, listTokensResponse, createTokenResponse, orgTokenSummarySchema, listOrgTokensResponse, invitePreviewQuery, invitePreviewResponse, jsonSchemaSchema, hubUserIdentity, stateValueEntry, getHubUserContextResponse, updateHubUserBody, updateHubUserResponse, unlockHubUserNameResponse, stateResetParams, stateResetResponse, hubAlertsParam, hubAlertSeverity, hubAlert, hubAlertsListResponse, noticeSeveritySchema, noticeStatusSchema, NOTICE_SCOPE_REGEX, noticeScopeSchema, noticeLinkSchema, createNoticeBody, updateNoticeBody, listNoticesQuery, noticeIdParamSchema, ADMIN_SKILL_NAME_REGEX, adminSkillNameParam, REKOR_ACTOR_TYPE_HEADER, REKOR_ACTOR_ID_HEADER, REKOR_ACTOR_LABEL_HEADER, REKOR_ACTOR_ORG_HEADER, REKOR_ACTOR_ADMIN_HEADER, REKOR_CLIENT_HEADER, REKOR_TOOL_ID_HEADER, REKOR_CLIENTS, rekorClientSchema, MAX_REKOR_TOOL_ID_LENGTH, rekorToolIdSchema, DATA_PROXY_MOUNT, DATA_PROXY_PREFIX, REKOR_V1_PREFIX, DATA_PROXY_ORG_QUERY_PARAM, MAX_PROVISIONING_BODY_BYTES, dataProxyQuery, rekorAttestation, REQUIRED_REKOR_ATTESTATION_HEADERS, BASE_DESTRUCTION_MOUNT, BASE_DESTRUCTION_PREFIX, BASE_DESTRUCTION_CONFIRM_PATH, baseDestructionConfirmBody, BASE_DESTRUCTION_GRACE_MS, BASE_DESTRUCTION_CONFIRM_TTL_MS, BASE_DESTRUCTION_ORG_QUERY_PARAM, baseDestructionQuery, baseDestructionParam, baseDestructionInitiateBody, baseDestructionStatus, baseDestructionRequest, baseDestructionListResponse, baseDestructionInitiateResponse, baseDestructionConfirmResponse, baseDestructionCancelResponse, rekorBaseChangeMessageSchema, DESKTOP_SHELL_VERSION_RE, DESKTOP_PLATFORMS, DESKTOP_FLAVORS, desktopShellInfoSchema, DESKTOP_PRESENCE_STATES, desktopPresenceSchema, desktopUpdateSchema, DESKTOP_SIGN_IN_URL_MAX_LENGTH, DESKTOP_APP_PATH_MAX_LENGTH, desktopAppPathSchema, DESKTOP_NOTIFICATION_KINDS, DESKTOP_NOTIFICATION_TITLE_MAX_LENGTH, DESKTOP_NOTIFICATION_BODY_MAX_LENGTH, notificationTitleSchema, notificationBodySchema, desktopNotificationSchema, DESKTOP_BADGE_MAX_COUNT, DESKTOP_BADGE_LABEL_MAX_LENGTH, desktopBadgeSchema, desktopNavigateSchema, desktopSettingsSchema, desktopSettingsChangeSchema, desktopBridgeArgsSchemas, PEOPLE_CONTACT_PAGE_MAX, PEOPLE_CONTACT_PAGE_DEFAULT, PEOPLE_CONTACT_EMAIL_MAX_LENGTH, peopleUserIdSchema, peopleContactInviteBody, peopleContactInviteIdParam, peopleContactUserIdParam, peopleContactBlockBody, peopleContactPageQuery, peopleOutgoingInviteSchema, peopleContactPersonSchema, peopleContactSchema, peopleIncomingInviteSchema, peopleBlockedUserSchema, PEOPLE_THREAD_MESSAGE_MAX_LENGTH, PEOPLE_THREAD_MESSAGES_PAGE_MAX, PEOPLE_THREAD_PAGE_MAX, PEOPLE_THREAD_PAGE_DEFAULT, peopleThreadIdParam, peopleThreadMessageIdParam, peopleThreadListQuery, peopleThreadMessagesQuery, peopleThreadSendBody, peopleThreadReadBody, peopleThreadSettingsBody, peopleThreadKindSchema, peopleThreadMemberSchema, peopleThreadLastMessageSchema, peopleThreadSummarySchema, peopleThreadMessageSchema;
6049
+ var uuidSchema, USER_ID_REGEX, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, MESSAGE_ENVELOPE_HEADROOM_BYTES, MAX_AUDIO_FILE_BASE64_BYTES, primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, AUTH_TYPE, ORG_CREDENTIAL_AUTH_TYPES, AUTH_TYPE_DISPLAY, LEGACY_AUTH_TYPE_MAP, VALID_AUTH_TYPES, AGENT_ROLES, SAFE_USER_ID_REGEX, SUPPORTED_LOCALES, SUMMARIZATION_THRESHOLD_MIN, SUMMARIZATION_THRESHOLD_MAX, PREVIOUS_CONVERSATIONS_MAX, FLAG_CONDITION_OPERATORS, CONFIDENCE_VARIABLE_SUFFIX, DECISION_SCORE_MIN_LEVELS, DECISION_SCORE_MAX_LEVELS, DECISIONS_MODEL_PREFIXES, DECISION_CAPABLE_AGENT_ROLES, NATIVE_TOOL_SCHEMAS, WAYAI_CONNECTOR, BASE_NATIVE_TOOLS, NATIVE_TOOLS, CATALOG_SIDE_EFFECTS, NATIVE_TOOL_NAMES, previousConversationsCountField, summarizationThresholdField, flagConditionSchema, MONITOR_TRIGGERS, monitorTriggerSchema, MONITOR_FIRING_TRIGGERS, MONITOR_DELAY_SECONDS_MIN, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE, MONITOR_HISTORY_MESSAGES_MAX, monitorHistoryMessagesSchema, monitorIncludeToolResultsSchema, MONITOR_INPUT_SHAPING_KEYS, MONITOR_INPUT_SHAPING_SCHEMAS, MONITOR_INPUT_SHAPING_IDLE_MESSAGE, monitorArgumentSourceSchema, MONITOR_NOTE_TEMPLATE_MAX, MONITOR_STEER_NOTE_MAX, monitorActionSchema, monitorRuleSchema, MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS, MONITOR_RULE_TRIGGERS, MONITOR_RULE_TRIGGER_MESSAGE, CALL_UTTERANCE_SPEAKERS, callUtteranceSpeakerSchema, MONITOR_CALL_KEYS, MONITOR_CALL_SCHEMAS, MONITOR_CALL_KEY_MESSAGE, CALL_STEERING_MIN_CONFIDENCE, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE, CALL_UTTERANCE_FALLBACK_MESSAGE, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE, CALL_STEER_NOTE_BLANK_MESSAGE, MONITOR_USER_MESSAGE_ACTION_KINDS, MONITOR_ASSISTANT_REPLY_ACTION_KINDS, MONITOR_CALL_UTTERANCE_ACTION_KINDS, INSERT_NOTE_TOOL_NAME, RUN_MONITOR_TOOL_NAME, MONITOR_RULE_ALLOWED_NATIVE_TOOLS, MONITOR_RULE_REENTRY_TOOLS, MONITOR_RULE_REENTRY_TRACKS, monitorConfigField, flagConditionsField, agentIdParam, listAgentsQuery, agentConnectionsQuery, createAgentBody, updateAgentBody, AGENT_PARAMETER_TYPES, AGENT_PARAMETER_NAME_REGEX, agentParameterCreateSchema, MAX_AGENT_PARAMETERS_PER_REQUEST, createAgentParametersBody, SLUG_REGEX, slugSchema, INVISIBLE_NAME_CHARS, MAX_KANBAN_STATUSES, MAX_FOLLOWUPS_PER_STATUS, MAX_LANES, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES, RESERVED_TEMPLATE_DUMP_NAME, kanbanStatusSlugSchema, followupTypeSchema, EVENT_RELATIVE_FOLLOWUP_TYPES, followupTimeUnitSchema, followupIdSchema, SELECTABLE_FOLLOWUP_TYPES, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS, followupSchema, MAX_OUTCOMES_PER_STATUS, kanbanOutcomeSchema, EXCLUSIVE_FLAG_PAIRS, kanbanStatusSchema, kanbanStatusesArraySchema, laneSchema, lanesArraySchema, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, createHubBody, updateHubBody, addHubAdminBody, addHubIdentityAuthorizationBody, contactDecisionBody, approveContactBody, listContactAccessQuery, createHubTeamBody, updateHubTeamBody, addHubTeamUserBody, reassignHubUserBody, replicatePreviewBody, updateChannelTestIdentitiesBody, claimCodeChannelParam, claimCodeDeleteParam, connectionIdParam, connectorIdParam, listConnectionsQuery, deleteConnectionQuery, addConnectionBody, editConnectionBody, PRODUCTION_DIRECT_FIELDS, setProductionCredentialBody, registerWhatsappQuery, registerWhatsappBody, retryProvisioningQuery, resendDomainStatusQuery, PLACEHOLDER_TOKENS, ALLOWED_TYPES, SUBSCHEMA_OBJECT_KEYWORDS, SUBSCHEMA_LIST_KEYWORDS, SUBSCHEMA_MAP_KEYWORDS, MAX_SCHEMA_DEPTH, toolIdParam, listToolsQuery, toolAgentQuery, deleteToolQuery, toolConnectionsQuery, nativeToolIdSchema, CONTEXT_BOUNDARIES, contextBoundarySchema, addNativeToolBody, addMcpToolBody, createCustomToolBody, updateCustomToolBody, updateToolExecutionConfigBody, initialValueCreateSchema, initialValueUpdateSchema, stateIdParam, listStatesQuery, stateNameSchema, createStateBody, updateStateBody, reorderStatesBody, variantAiModeSchema, experimentStatusSchema, overlayUpdateSchema, experimentIdParam, variantIdParam, listExperimentsQuery, listVariantsQuery, listOverridesQuery, deleteOverrideQuery, createExperimentBody, updateExperimentBody, setExperimentStatusBody, createVariantBody, updateVariantBody, upsertOverrideBody, orgTagIdParam, listOrgTagsQuery, ORG_TAG_NAME_REGEX, ORG_TAG_NAME_MAX_LENGTH, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, BASE_CREDENTIAL_MANAGED_BY, BASE_CREDENTIAL_NAME_MAX, baseCredentialNameSchema, createBaseCredentialLinkBody, baseCredentialLinkParams, baseCredentialLinkQuery, orgResourceIdParam, orgResourceFileIdParam, orgResourceFolderIdParam, hubOrgResourceParam, listOrgResourcesQuery, orgIdQuery, createOrgResourceBody, updateOrgResourceBody, createOrgResourceFolderBody, updateOrgResourceFolderBody, uploadOrgResourceFileBody, updateOrgResourceFileBody, uploadOrgSkillZipBody, linkOrgResourceBody, resourceIdParam, listResourcesQuery, createResourceBody, updateResourceBody, syncSkillsBody, resourceFileIdParam, listResourceFilesQuery, createResourceFileBody, updateResourceFileBody, uploadResourceFileBody, uploadSkillZipBody, resourceFolderIdParam, listResourceFoldersQuery, createResourceFolderBody, updateResourceFolderBody, agentResourceQuery, hubResourceQuery, linkAgentResourceBody, updateAgentResourceBody, unlinkAgentResourceQuery, navItemSchema, hubCountResetBody, navItemCountResetBody, typingBody, analyticsHubIdParam, analyticsVariableIdParam, updateVariablePinBody, updateAnalyticsViewBody, NUMERIC_FILTER_OPS, TEXT_FILTER_OPS, CATEGORICAL_FILTER_OPS, VARIABLE_FILTER_OPS, STRUCTURED_QUERY_OPS, STRUCTURED_QUERY_AGGREGATIONS, filterValueSchema, conversationsBody, analyticsConversationIdParam, messagesQuery, conversationDetailDataQuery, analyticsDataBody, structuredQueryBody, analyticsSqlBody, analyticsSqlTable, analyticsSqlSchemaQuery, EVAL_PACING_PRESET_NAMES, PACING_INTERVAL_MIN_MS, PACING_INTERVAL_MAX_MS, EVAL_MAX_RUNS_PER_SCENARIO, EVAL_RUN_DEADLINE_MIN_MS, EVAL_RUN_DEADLINE_MAX_MS, ISO_UTC_RE, paginationSchema, evalIdParam, sessionIdParam, scenarioSetIdParam, hubIdQuery, evalDateContextSchema, EVAL_FIXTURE_NAME_MAX_LENGTH, evalFixtureOverrideSchema, runSessionQuery, runJourneyQuery, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, evalBody, EVAL_LIST_MAX_LIMIT, evalListLimit, getEvalsQuery, toggleEvalBody, bulkToggleEvalsBody, pacingConfigSchema, EVAL_MAX_SELECTED_SCENARIOS, evalScenarioSelectionEntrySchema, evalScenarioSelectionSchema, sessionConfigSchema, createSessionBody, getSessionsQuery, getSessionResultsQuery, getSessionRunsQuery, evalAnalyticsQuery, getSessionCostQuery, compareSessionsQuery, evalsSqlBody, evalsSqlSchemaQuery, exportResultsQuery, validateEvalBody, hubAgentsQuery, createScenarioSetBody, updateScenarioSetBody, scenarioSetsHubQuery, createScenarioFromConversationBody, createJourneyFromConversationBody, EVAL_ATTACHMENT_HASH_REGEX, evalAttachmentRef, turnMayCarryAttachments, ATTACHMENTS_USER_ONLY_MESSAGE, journeyIdParam, journeyToolCallSchema, journeyTurnSchema, journeyStepOverrideSchema, fixtureField, createJourneyBody, updateJourneyBody, evalSessionConfigResponseSchema, evalSessionResponseSchema, evalSessionListConfigSchema, evalSessionListItemSchema, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, CALL_STATUSES, callStatus, CALL_END_REASONS, callEndReason, CALL_TRANSPORTS, callTransport, CALL_PARTICIPANT_TYPES, callParticipantType, callInstant, MAX_SDP_OFFER_LENGTH, sdpDescription, sdpOffer, MAX_CALL_REQUEST_BODY_BYTES, hubScoped, callSummaryFields, callSummary, callIdParam, createCallBody, createCallResponse, callReadyBody, callHangupBody, callStatusQuery, MAX_REPORTED_DELEGATION_IDS, callDelegationId, callDelegationsBody, callResponse, MAX_CALL_RECORDING_GAPS, callRecordingGap, callRecordingNoteMetadata, CALL_OPENING_LANGUAGES, callOpeningLanguage, CALL_OPENING_MAX_DURATION_MS, CALL_OPENING_MAX_BYTES, CALL_OPENING_CAPTION_MAX_CHARS, CALL_OPENING_CONTENT_TYPES, callOpeningContentType, CALL_OPENING_HASH_REGEX, callOpeningHash, callOpeningCaption, storedCallOpening, MAX_CALL_OPENING_ENCODED_BYTES, MAX_CALL_OPENING_BODY_BYTES, agentCallOpeningParams, putAgentCallOpeningBody, deleteAgentCallOpeningQuery, callOpeningParam, callOpeningQuery, CALLER_LANGUAGE, TTS_VOICE_REPLY_ENABLED_FIELD, COPILOT_TRIGGER_FIELD, AUDIO_LANGUAGE_OPTIONS, whatsapp, instagram, resend, telegram, API_CHANNEL_DELIVERY_EVENTS, apiChannel, OPENAI_REASONING_MODELS, openai, anthropic, googleAiStudio, openRouter, xai, groqStt, openaiStt, elevenLabsStt, openaiTts, groqTts, elevenLabsTts, GEMINI_TTS_VOICES, googleTts, wayai, externalResources, restApiTool, mcpServer, e2b, CLAUDE_HARNESS_MODELS, CLAUDE_HARNESS_MODEL_OPTIONS, HARNESS_MCP_SERVERS_FIELD, HARNESS_EGRESS_FIELDS, claudeAgentSdk, claudeManagedAgents, rekorMemory, SPOKEN_LINE_MAX_CHARS, gptLive, CONNECTORS, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, EVAL_CALL_SPOKEN_LINE_MAX_CHARS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallRecordQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecording, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, recordAiDisclosureAcceptanceBody, activityQuery, deletionModeSchema, deletionRequestBody, archiveHubIdParam, archiveConversationParams, archiveListQuery, archiveMessageObservabilityParams, conversationIdParam, conversationHubQuery, claimBody, releaseBody, transferBody, closeBody, additionalContextPayloadSchema, kanbanUpdateBody, annotateConversationBody, observabilityParams, observabilityListParams, deleteUserConversationsBody, deleteUserConversationsResponse, sendMessageBody, listConversationsQuery, flagSourceSchema, getConversationsResponse, getConversationDetailParams, getConversationDetailQuery, getConversationDetailResponse, listWhatsAppTemplatesQuery, sendWhatsAppTemplateBody, copilotSuggestBody, copilotSuggestResponse, CONSULT_THREAD_STATUSES, consultThreadStatus, CONSULT_THREAD_TITLE_MAX, consultThreadTitle, consultThreadSummary, listConsultThreadsQuery, listConsultThreadsResponse, createConsultThreadBody, createConsultThreadResponse, consultThreadIdParam, updateConsultThreadBody, updateConsultThreadResponse, CONSULT_AWAIT_TIMEOUT_MS, billingOrgIdParam, subscriptionItemParams, spendCapBody, growthPacksBody, portalSessionBody, checkoutSessionBody, updateBillingCurrencyBody, invoicesQuery, planKeySchema, billingStatusSchema, billingPlanTypeSchema, dataUsageCountersSchema, REKOR_ENTITLEMENT_CONTRACT_VERSION, entitlementProjectionSchema, rekorEntitlementRefreshMessageSchema, downloadBody, uploadQuery, SIGN_URL_MAX_EXPIRES_IN_SECONDS, signUrlBody, outboundSchemaQuery, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, contactIdParam, listContactsQuery, createContactBody, updateContactBody, listIdParam, listListsQuery, listListContactsQuery, createListBody, updateListBody, addListContactsBody, removeListContactsBody, scheduleIdParam, listSchedulesQuery, listExecutionsQuery, createScheduleBody, updateScheduleBody, MAX_RESOURCE_FILE_SIZE, MAX_10MB_BASE64_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_CARRIERS, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES, MAX_RESOURCE_ENCODED_BYTES, MAX_HUB_AS_CODE_RESOURCES, MAX_HUB_AS_CODE_RESOURCE_FILES, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES, MAX_CI_CONFIG_BODY_BYTES, MAX_CALL_OPENING_CARRIERS, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES, hubAsCodeStateSchema, hubAsCodeResourceFileSchema, hubAsCodeResourceSchema, uuidPattern, ciUuidSchema, boundedHubAsCodeResourcesSchema, hubAsCodeConfigSchema, ciPullHubIdParam, ciBranchParam, ciPullQuery, ciHubsQuery, ciLookupQuery, ciBranchesQuery, ciSyncBody, ciPushBody, ciDiffBody, ciPublishBody, ciPublishPreviewBody, ciSyncMcpBody, ciOrgResourcesParam, orgResourcesConfigSchema, ciOrgResourcesPushBody, ciOrgResourcesDiffBody, CI_APPLY_ENTITY_KINDS, CI_APPLY_OPERATIONS, ciApplyErrorBaseSchema, ciApplyErrorSchema, ciSyncCountSchema, ciSyncChangesSchema, ciSyncWarningSchema, ciSyncResponseSchema, VERSION_PART, MOBILE_APP_VERSION_RE, mobileAppVersionSchema, MOBILE_PLATFORMS, mobilePlatformSchema, mobileVersionPolicyQuery, mobileVersionPolicySchema, mobileVersionPolicyResponse, adminOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetShape, adminScopedTargetBody, BRANCHING_ORPHAN_ENTITY_TYPES, BRANCHING_ORPHAN_MAX_TARGETS, adminRepairBranchingOrphansBody, adminRepairLegacyOrgGrantsBody, adminRepairCompedPlansBody, updatePricingPlanBody, dataExplorerSearchQuery, dataExplorerOrgIdParam, dataExplorerHubIdParam, dataExplorerConvIdParam, dataExplorerDoInstancesQuery, dataExplorerNsIdParam, dataExplorerKvKeysBody, dataExplorerKvKeyBody, uuidOrHexId, dataExplorerDeleteOrgParam, dataExplorerDeleteHubParam, dataExplorerDeleteConvParam, dataExplorerDeleteUserParam, dataExplorerDeleteQuery, dataExplorerKvDeleteBody, pitrDoNamespace, pitrBookmarkParam, pitrRestoreBody, healthSamplingTriggerBody, dataExplorerDebugDoType, DEBUG_READ_MAX_LIMIT, DEBUG_READ_DEFAULT_LIMIT, DEBUG_DO_HEX_PREFIX, debugDoEntityId, debugTableName, dataExplorerDebugTablesParam, dataExplorerDebugRowsParam, dataExplorerDebugRowsQuery, dataExplorerDebugAnalyticsTable, debugUuid, dataExplorerDebugAnalyticsRowsParam, dataExplorerDebugAnalyticsRowsQuery, debugHubConvParam, debugMessageIdQuery, sandboxEgressPolicy, SANDBOX_EXEC_MAX_CMD_LENGTH, SANDBOX_EXEC_MAX_ALLOWLIST, SANDBOX_EXEC_MAX_TIMEOUT_MS, adminSandboxExecBody, META_ENTITY_ID_PATTERN, metaEntityId, whatsappCallbackBody, authMeResponse, wsTicketResponse, sessionCheckResponse, logoutResponse, magicCodeSendBody, magicCodeSendResponse, magicCodeVerifyBody, magicCodeVerifyResponse, passwordLoginBody, stateOperationBody, conversationListResourcesQuery, conversationReadResourceQuery, listPendingSchedulesQuery, listHubAggregateSchedulesQuery, reportSourceSchema, intakeReportSourceSchema, reportClassificationSchema, reportStatusSchema, reportLocaleSchema, reportMessageAuthorRoleSchema, reportMessageSchema, sentryRefStatusSchema, createReportBody, editReportBody, reporterReportSummarySchema, reporterListResponseSchema, getReportResponseSchema, reporterTransitionResponseSchema, contestReportBody, reporterListQuery, listReportsQuery, GITHUB_ISSUE_URL_REGEX, githubIssueUrlSchema, transitionReportBody, groupReportsBody, holdReportBody, clickhouseReadyResponse, bootstrapQuery, MAX_NAME_LENGTH, MAX_VALUE_LENGTH, MAX_TAGS, MAX_TAG_LENGTH, MAX_SCOPE_HUBS, MAX_SCOPE_TAGS, vaultSecretScopeSchema, vaultCreateBody, vaultUpdateBody, PERMISSIONS, MAX_NAME_LENGTH2, MAX_HUBS_PER_GRANT, MAX_HUB_TAGS_PER_GRANT, MAX_GRANTS, permissionEnum, grantScopeSchema, grantSchema, createTokenBody, tokenOrgIdParam, invitePreviewQuery, inviteRolePreviewResponse, inviteContactPreviewResponse, invitePreviewResponse, inviteUnsubscribeBody, jsonSchemaSchema, hubUserIdentity, stateValueEntry, getHubUserContextResponse, updateHubUserBody, updateHubUserResponse, unlockHubUserNameResponse, stateResetParams, stateResetResponse, hubAlertsParam, hubAlertSeverity, hubAlert, hubAlertsListResponse, noticeSeveritySchema, noticeStatusSchema, NOTICE_SCOPE_REGEX, noticeScopeSchema, noticeLinkSchema, createNoticeBody, updateNoticeBody, listNoticesQuery, noticeIdParamSchema, ADMIN_SKILL_NAME_REGEX, adminSkillNameParam, REKOR_ACTOR_TYPE_HEADER, REKOR_ACTOR_ID_HEADER, REKOR_ACTOR_LABEL_HEADER, REKOR_ACTOR_ORG_HEADER, REKOR_ACTOR_ADMIN_HEADER, REKOR_CLIENT_HEADER, REKOR_TOOL_ID_HEADER, REKOR_CLIENTS, rekorClientSchema, MAX_REKOR_TOOL_ID_LENGTH, rekorToolIdSchema, DATA_PROXY_MOUNT, DATA_PROXY_PREFIX, REKOR_V1_PREFIX, DATA_PROXY_ORG_QUERY_PARAM, MAX_PROVISIONING_BODY_BYTES, dataProxyQuery, rekorAttestation, REQUIRED_REKOR_ATTESTATION_HEADERS, BASE_DESTRUCTION_MOUNT, BASE_DESTRUCTION_PREFIX, BASE_DESTRUCTION_CONFIRM_PATH, baseDestructionConfirmBody, BASE_DESTRUCTION_GRACE_MS, BASE_DESTRUCTION_CONFIRM_TTL_MS, BASE_DESTRUCTION_ORG_QUERY_PARAM, baseDestructionQuery, baseDestructionParam, baseDestructionInitiateBody, baseDestructionStatus, baseDestructionRequest, baseDestructionListResponse, baseDestructionInitiateResponse, baseDestructionConfirmResponse, baseDestructionCancelResponse, rekorBaseChangeMessageSchema, DESKTOP_SHELL_VERSION_RE, DESKTOP_PLATFORMS, DESKTOP_FLAVORS, desktopShellInfoSchema, DESKTOP_PRESENCE_STATES, desktopPresenceSchema, desktopUpdateSchema, DESKTOP_SIGN_IN_URL_MAX_LENGTH, DESKTOP_APP_PATH_MAX_LENGTH, desktopAppPathSchema, DESKTOP_NOTIFICATION_KINDS, DESKTOP_NOTIFICATION_TITLE_MAX_LENGTH, DESKTOP_NOTIFICATION_BODY_MAX_LENGTH, notificationTitleSchema, notificationBodySchema, desktopNotificationSchema, DESKTOP_BADGE_MAX_COUNT, DESKTOP_BADGE_LABEL_MAX_LENGTH, desktopBadgeSchema, desktopNavigateSchema, desktopSettingsSchema, desktopSettingsChangeSchema, desktopBridgeArgsSchemas, PEOPLE_CONTACT_PAGE_MAX, PEOPLE_CONTACT_PAGE_DEFAULT, PEOPLE_CONTACT_EMAIL_MAX_LENGTH, peopleUserIdSchema, peopleInviteEmailSchema, peopleContactInviteBody, peopleContactInviteIdParam, peopleContactUserIdParam, peopleContactBlockBody, peopleContactPageQuery, peopleOutgoingInviteSchema, peopleContactPersonSchema, peopleContactSchema, peopleIncomingInviteSchema, peopleBlockedUserSchema, PEOPLE_THREAD_MESSAGE_MAX_LENGTH, PEOPLE_THREAD_MESSAGES_PAGE_MAX, PEOPLE_THREAD_PAGE_MAX, PEOPLE_THREAD_PAGE_DEFAULT, PEOPLE_GROUP_NAME_MAX_LENGTH, PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH, PEOPLE_THREAD_ATTACHMENT_MAX_BYTES, PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH, PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES, PEOPLE_THREAD_ATTACHMENT_MAX_MB, PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS, PEOPLE_THREAD_ATTACHMENT_URLS_MAX, peopleThreadIdParam, peopleThreadMessageIdParam, peopleThreadListQuery, peopleThreadMessagesQuery, peopleThreadAttachmentUploadSchema, peopleThreadSendBody, peopleThreadAttachmentUrlsBody, peopleThreadReadBody, peopleThreadSettingsBody, peopleGroupNameSchema, peopleGroupAvatarUrlSchema, peopleGroupCreateBody, peopleOrgDirectBody, peopleGroupUpdateBody, peopleGroupInviteBody, peopleOrgErasureBody, peopleGroupLeaveBody, peopleGroupInviteIdParam, peopleGroupIncomingInviteIdParam, peopleGroupMemberParam, peopleThreadKindSchema, peopleThreadMemberSchema, peopleThreadLastMessageSchema, peopleGroupRoleSchema, peopleGroupSummarySchema, peopleThreadSummarySchema, peopleThreadAttachmentSchema, peopleThreadMessageSchema, peopleGroupMemberSchema, peopleGroupSentInviteSchema, peopleGroupIncomingInviteSchema;
6050
6050
  var init_contracts = __esm({
6051
6051
  "../../packages/core/dist/contracts/index.js"() {
6052
6052
  "use strict";
@@ -6110,10 +6110,6 @@ var init_contracts = __esm({
6110
6110
  init_zod();
6111
6111
  uuidSchema = external_exports.string().uuid();
6112
6112
  USER_ID_REGEX = /^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|user_[A-Za-z0-9]+)$/i;
6113
- paginationSchema = external_exports.object({
6114
- limit: external_exports.coerce.number().int().min(1).max(100).default(50),
6115
- offset: external_exports.coerce.number().int().min(0).default(0)
6116
- });
6117
6113
  timestampSchema = external_exports.string().datetime();
6118
6114
  idParamSchema = external_exports.object({
6119
6115
  id: uuidSchema
@@ -8387,7 +8383,7 @@ var init_contracts = __esm({
8387
8383
  EVAL_RUN_DEADLINE_MIN_MS = 1e3;
8388
8384
  EVAL_RUN_DEADLINE_MAX_MS = 18e5;
8389
8385
  ISO_UTC_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
8390
- paginationSchema2 = external_exports.object({
8386
+ paginationSchema = external_exports.object({
8391
8387
  limit: external_exports.number().int().positive().max(1e3).default(50),
8392
8388
  offset: external_exports.number().int().min(0).default(0)
8393
8389
  }).optional();
@@ -10236,7 +10232,13 @@ var init_contracts = __esm({
10236
10232
  token: external_exports.string().min(1).max(512),
10237
10233
  platform: external_exports.enum(["ios", "android"]),
10238
10234
  /** Stable per-install id so re-registration replaces the prior token for the device. */
10239
- device_id: external_exports.string().min(1).max(128).optional()
10235
+ device_id: external_exports.string().min(1).max(128).optional(),
10236
+ /**
10237
+ * The build opens a person-to-person thread from a push (gh #4661): only a token registered
10238
+ * with it receives thread pushes, whose `data` carries `thread_id` and no `conversation_id`.
10239
+ * Each registration states it afresh, so a build that sends none clears it.
10240
+ */
10241
+ supports_threads: external_exports.boolean().optional()
10240
10242
  });
10241
10243
  deletePushTokenQuery = external_exports.object({
10242
10244
  token: external_exports.string().min(1).max(512)
@@ -10276,6 +10278,9 @@ var init_contracts = __esm({
10276
10278
  conversationIdParam = external_exports.object({
10277
10279
  id: external_exports.string().uuid()
10278
10280
  });
10281
+ conversationHubQuery = external_exports.object({
10282
+ hub_id: external_exports.string().uuid().optional()
10283
+ });
10279
10284
  claimBody = external_exports.object({
10280
10285
  hub_id: external_exports.string().uuid(),
10281
10286
  new_team_id: external_exports.string().uuid(),
@@ -10696,10 +10701,11 @@ var init_contracts = __esm({
10696
10701
  agent_id: external_exports.string().uuid(),
10697
10702
  hub_id: external_exports.string().uuid()
10698
10703
  });
10704
+ SIGN_URL_MAX_EXPIRES_IN_SECONDS = 3600;
10699
10705
  signUrlBody = external_exports.object({
10700
10706
  bucket: external_exports.string(),
10701
10707
  filePath: external_exports.string(),
10702
- expiresIn: external_exports.number().int().positive().optional()
10708
+ expiresIn: external_exports.number().int().positive().max(SIGN_URL_MAX_EXPIRES_IN_SECONDS).optional()
10703
10709
  });
10704
10710
  outboundSchemaQuery = external_exports.object({
10705
10711
  type: external_exports.enum(["whatsapp", "email", "app", "all"]).default("all")
@@ -11687,10 +11693,6 @@ var init_contracts = __esm({
11687
11693
  */
11688
11694
  active_thread_id: external_exports.string().uuid().optional()
11689
11695
  });
11690
- requestSnapshotChunkMessage = external_exports.object({
11691
- type: external_exports.literal("request_snapshot_chunk"),
11692
- cursor: external_exports.string()
11693
- });
11694
11696
  MAX_NAME_LENGTH = 100;
11695
11697
  MAX_VALUE_LENGTH = 32 * 1024;
11696
11698
  MAX_TAGS = 20;
@@ -11758,53 +11760,10 @@ var init_contracts = __esm({
11758
11760
  ).optional()
11759
11761
  });
11760
11762
  tokenOrgIdParam = external_exports.object({ orgId: uuidSchema });
11761
- tokenGrantScopeSchema = external_exports.object({
11762
- org_id: external_exports.string().min(1),
11763
- hubs: external_exports.array(external_exports.string().min(1)).min(1),
11764
- hub_tags: external_exports.array(external_exports.string().min(1)).min(1).optional(),
11765
- environments: external_exports.array(external_exports.enum(["production", "preview"])).min(1).optional()
11766
- });
11767
- tokenGrantSchema = external_exports.object({
11768
- scope: tokenGrantScopeSchema,
11769
- permissions: external_exports.array(external_exports.enum(PERMISSIONS)).min(1)
11770
- });
11771
- tokenMetadataSchema = external_exports.object({
11772
- token_id: external_exports.string(),
11773
- name: external_exports.string(),
11774
- token_prefix: external_exports.string(),
11775
- grants: external_exports.array(tokenGrantSchema),
11776
- created_at: external_exports.string(),
11777
- expires_at: external_exports.string().optional(),
11778
- last_used_at: external_exports.string().optional()
11779
- });
11780
- listTokensResponse = external_exports.object({
11781
- data: external_exports.array(tokenMetadataSchema)
11782
- });
11783
- createTokenResponse = external_exports.object({
11784
- data: external_exports.object({
11785
- token: external_exports.string(),
11786
- token_id: external_exports.string(),
11787
- name: external_exports.string(),
11788
- expires_at: external_exports.string().optional()
11789
- })
11790
- });
11791
- orgTokenSummarySchema = external_exports.object({
11792
- token_id: external_exports.string(),
11793
- name: external_exports.string(),
11794
- token_prefix: external_exports.string(),
11795
- owner_user_id: external_exports.string(),
11796
- created_at: external_exports.string(),
11797
- expires_at: external_exports.string().optional(),
11798
- last_used_at: external_exports.string().optional(),
11799
- grants_for_org: external_exports.array(tokenGrantSchema)
11800
- });
11801
- listOrgTokensResponse = external_exports.object({
11802
- data: external_exports.array(orgTokenSummarySchema)
11803
- });
11804
11763
  invitePreviewQuery = external_exports.object({
11805
11764
  token: external_exports.string().min(1).max(2048)
11806
11765
  });
11807
- invitePreviewResponse = external_exports.object({
11766
+ inviteRolePreviewResponse = external_exports.object({
11808
11767
  inviter_name: external_exports.string(),
11809
11768
  entity_id: external_exports.string().uuid(),
11810
11769
  entity_name: external_exports.string(),
@@ -11812,6 +11771,15 @@ var init_contracts = __esm({
11812
11771
  role: external_exports.enum(["org_admin", "admin", "team_user", "user"]),
11813
11772
  expires_at: external_exports.string().datetime()
11814
11773
  });
11774
+ inviteContactPreviewResponse = external_exports.object({
11775
+ inviter_name: external_exports.string().nullable(),
11776
+ entity_id: external_exports.string().uuid(),
11777
+ entity_type: external_exports.literal("contact"),
11778
+ role: external_exports.literal("contact"),
11779
+ expires_at: external_exports.string().datetime()
11780
+ });
11781
+ invitePreviewResponse = external_exports.union([inviteRolePreviewResponse, inviteContactPreviewResponse]);
11782
+ inviteUnsubscribeBody = external_exports.object({ token: external_exports.string().min(1).max(256) }).strict();
11815
11783
  jsonSchemaSchema = external_exports.record(external_exports.unknown());
11816
11784
  hubUserIdentity = external_exports.object({
11817
11785
  user_id: external_exports.string().nullable(),
@@ -12125,8 +12093,9 @@ var init_contracts = __esm({
12125
12093
  PEOPLE_CONTACT_PAGE_DEFAULT = 50;
12126
12094
  PEOPLE_CONTACT_EMAIL_MAX_LENGTH = 254;
12127
12095
  peopleUserIdSchema = external_exports.string().max(64).regex(USER_ID_REGEX, "must be a user id");
12096
+ peopleInviteEmailSchema = external_exports.string().trim().max(PEOPLE_CONTACT_EMAIL_MAX_LENGTH).email();
12128
12097
  peopleContactInviteBody = external_exports.object({
12129
- email: external_exports.string().trim().max(PEOPLE_CONTACT_EMAIL_MAX_LENGTH).email()
12098
+ email: peopleInviteEmailSchema
12130
12099
  }).strict();
12131
12100
  peopleContactInviteIdParam = external_exports.object({ inviteId: uuidSchema });
12132
12101
  peopleContactUserIdParam = external_exports.object({ userId: peopleUserIdSchema });
@@ -12159,6 +12128,14 @@ var init_contracts = __esm({
12159
12128
  PEOPLE_THREAD_MESSAGES_PAGE_MAX = 50;
12160
12129
  PEOPLE_THREAD_PAGE_MAX = 100;
12161
12130
  PEOPLE_THREAD_PAGE_DEFAULT = 50;
12131
+ PEOPLE_GROUP_NAME_MAX_LENGTH = 100;
12132
+ PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH = 2048;
12133
+ PEOPLE_THREAD_ATTACHMENT_MAX_BYTES = 7 * 1024 * 1024;
12134
+ PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH = 255;
12135
+ PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES = 1024 * 1024 * 1024;
12136
+ PEOPLE_THREAD_ATTACHMENT_MAX_MB = Math.floor(PEOPLE_THREAD_ATTACHMENT_MAX_BYTES / (1024 * 1024));
12137
+ PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS = 15 * 60;
12138
+ PEOPLE_THREAD_ATTACHMENT_URLS_MAX = PEOPLE_THREAD_MESSAGES_PAGE_MAX;
12162
12139
  peopleThreadIdParam = external_exports.object({ threadId: uuidSchema });
12163
12140
  peopleThreadMessageIdParam = external_exports.object({ threadId: uuidSchema, messageId: uuidSchema });
12164
12141
  peopleThreadListQuery = external_exports.object({
@@ -12169,15 +12146,51 @@ var init_contracts = __esm({
12169
12146
  before_seq: external_exports.coerce.number().int().min(1).optional(),
12170
12147
  limit: external_exports.coerce.number().int().min(1).max(PEOPLE_THREAD_MESSAGES_PAGE_MAX).default(PEOPLE_THREAD_MESSAGES_PAGE_MAX)
12171
12148
  });
12172
- peopleThreadSendBody = external_exports.object({
12173
- body: external_exports.string().max(PEOPLE_THREAD_MESSAGE_MAX_LENGTH).refine((s) => s.trim().length > 0, "must not be empty"),
12174
- client_message_id: uuidSchema.optional()
12149
+ peopleThreadAttachmentUploadSchema = external_exports.object({
12150
+ file_name: external_exports.string().trim().min(1).max(PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH),
12151
+ file_binary: external_exports.string().min(1)
12175
12152
  }).strict();
12153
+ peopleThreadSendBody = external_exports.object({
12154
+ body: external_exports.string().max(PEOPLE_THREAD_MESSAGE_MAX_LENGTH).default(""),
12155
+ client_message_id: uuidSchema.optional(),
12156
+ attachment: peopleThreadAttachmentUploadSchema.optional()
12157
+ }).strict().refine((b) => b.body.trim().length > 0 || b.attachment !== void 0, {
12158
+ message: "must not be empty",
12159
+ path: ["body"]
12160
+ });
12161
+ peopleThreadAttachmentUrlsBody = external_exports.object({ attachment_ids: external_exports.array(uuidSchema).min(1).max(PEOPLE_THREAD_ATTACHMENT_URLS_MAX) }).strict();
12176
12162
  peopleThreadReadBody = external_exports.object({ seq: external_exports.number().int().min(0) }).strict();
12177
12163
  peopleThreadSettingsBody = external_exports.object({
12178
12164
  muted: external_exports.boolean().optional(),
12179
12165
  hidden: external_exports.boolean().optional()
12180
12166
  }).strict().refine((b) => b.muted !== void 0 || b.hidden !== void 0, "nothing to change");
12167
+ peopleGroupNameSchema = external_exports.string().trim().min(1).max(PEOPLE_GROUP_NAME_MAX_LENGTH);
12168
+ peopleGroupAvatarUrlSchema = external_exports.string().max(PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH).url().refine((s) => s.startsWith("https://"), "must be an https URL");
12169
+ peopleGroupCreateBody = external_exports.object({
12170
+ name: peopleGroupNameSchema,
12171
+ avatar_url: peopleGroupAvatarUrlSchema.nullable().optional(),
12172
+ org_id: uuidSchema.optional()
12173
+ }).strict();
12174
+ peopleOrgDirectBody = external_exports.object({
12175
+ org_id: uuidSchema,
12176
+ user_id: peopleUserIdSchema
12177
+ }).strict();
12178
+ peopleGroupUpdateBody = external_exports.object({
12179
+ name: peopleGroupNameSchema.optional(),
12180
+ avatar_url: peopleGroupAvatarUrlSchema.nullable().optional()
12181
+ }).strict().refine((b) => b.name !== void 0 || b.avatar_url !== void 0, "nothing to change");
12182
+ peopleGroupInviteBody = external_exports.union([
12183
+ external_exports.object({ user_id: peopleUserIdSchema }).strict(),
12184
+ external_exports.object({ email: peopleInviteEmailSchema }).strict()
12185
+ ]);
12186
+ peopleOrgErasureBody = external_exports.object({
12187
+ org_id: uuidSchema,
12188
+ email: peopleInviteEmailSchema
12189
+ }).strict();
12190
+ peopleGroupLeaveBody = external_exports.object({ delete_my_messages: external_exports.boolean().optional() }).strict();
12191
+ peopleGroupInviteIdParam = external_exports.object({ threadId: uuidSchema, inviteId: uuidSchema });
12192
+ peopleGroupIncomingInviteIdParam = external_exports.object({ inviteId: uuidSchema });
12193
+ peopleGroupMemberParam = external_exports.object({ threadId: uuidSchema, userId: peopleUserIdSchema });
12181
12194
  peopleThreadKindSchema = external_exports.enum(["dm", "group"]);
12182
12195
  peopleThreadMemberSchema = external_exports.object({
12183
12196
  user_id: peopleUserIdSchema,
@@ -12192,6 +12205,12 @@ var init_contracts = __esm({
12192
12205
  deleted: external_exports.boolean(),
12193
12206
  created_at: timestampSchema
12194
12207
  }).strict();
12208
+ peopleGroupRoleSchema = external_exports.enum(["admin", "member"]);
12209
+ peopleGroupSummarySchema = external_exports.object({
12210
+ membership: external_exports.enum(["member", "removed", "left"]),
12211
+ role: peopleGroupRoleSchema.nullable(),
12212
+ avatar_url: external_exports.string().nullable()
12213
+ }).strict();
12195
12214
  peopleThreadSummarySchema = external_exports.object({
12196
12215
  thread_id: uuidSchema,
12197
12216
  kind: peopleThreadKindSchema,
@@ -12206,7 +12225,14 @@ var init_contracts = __esm({
12206
12225
  unread_count: external_exports.number().int().nonnegative(),
12207
12226
  muted: external_exports.boolean(),
12208
12227
  hidden: external_exports.boolean(),
12209
- writable: external_exports.boolean()
12228
+ writable: external_exports.boolean(),
12229
+ group: peopleGroupSummarySchema.nullable().optional()
12230
+ }).strict();
12231
+ peopleThreadAttachmentSchema = external_exports.object({
12232
+ attachment_id: uuidSchema,
12233
+ file_name: external_exports.string(),
12234
+ content_type: external_exports.string(),
12235
+ size_bytes: external_exports.number().int().positive()
12210
12236
  }).strict();
12211
12237
  peopleThreadMessageSchema = external_exports.object({
12212
12238
  message_id: uuidSchema,
@@ -12216,7 +12242,27 @@ var init_contracts = __esm({
12216
12242
  deleted: external_exports.boolean(),
12217
12243
  created_at: timestampSchema,
12218
12244
  deleted_at: timestampSchema.nullable(),
12219
- client_message_id: uuidSchema.nullable()
12245
+ client_message_id: uuidSchema.nullable(),
12246
+ attachment: peopleThreadAttachmentSchema.nullable().optional()
12247
+ }).strict();
12248
+ peopleGroupMemberSchema = peopleThreadMemberSchema.extend({ role: peopleGroupRoleSchema, joined_at: timestampSchema }).strict();
12249
+ peopleGroupSentInviteSchema = external_exports.object({
12250
+ invite_id: uuidSchema,
12251
+ invitee: peopleThreadMemberSchema,
12252
+ invitee_email: external_exports.string().nullable().optional(),
12253
+ status: external_exports.literal("sent"),
12254
+ created_at: timestampSchema,
12255
+ expires_at: timestampSchema
12256
+ }).strict();
12257
+ peopleGroupIncomingInviteSchema = external_exports.object({
12258
+ invite_id: uuidSchema,
12259
+ thread_id: uuidSchema,
12260
+ kind: peopleThreadKindSchema.optional(),
12261
+ group: external_exports.object({ name: external_exports.string() }).strict(),
12262
+ org: external_exports.object({ org_id: external_exports.string(), org_name: external_exports.string().nullable() }).strict().nullable().optional(),
12263
+ inviter: external_exports.object({ user_id: peopleUserIdSchema, display_name: external_exports.string().nullable(), email: external_exports.string().nullable() }).strict(),
12264
+ created_at: timestampSchema,
12265
+ expires_at: timestampSchema
12220
12266
  }).strict();
12221
12267
  }
12222
12268
  });
@@ -12895,18 +12941,24 @@ var init_api_client = __esm({
12895
12941
  }
12896
12942
  return new Uint8Array(await response.arrayBuffer());
12897
12943
  }
12898
- /** List per-message observability metadata summaries for a conversation (hub-scoped auth). */
12899
- async listConversationObservability(conversationId) {
12944
+ /**
12945
+ * List per-message observability metadata summaries for a conversation (hub-scoped auth). The
12946
+ * hub is named so the backend checks it holds the conversation before reading it; a request
12947
+ * naming none is answered 404.
12948
+ */
12949
+ async listConversationObservability(hubId, conversationId) {
12950
+ const params = new URLSearchParams({ hub_id: hubId });
12900
12951
  return this.request(
12901
12952
  "GET",
12902
- `/api/conversations/${encodeURIComponent(conversationId)}/observability`
12953
+ `/api/conversations/${encodeURIComponent(conversationId)}/observability?${params}`
12903
12954
  );
12904
12955
  }
12905
- /** Fetch the full observability record for a single message (hub-scoped auth). */
12906
- async getMessageObservability(conversationId, messageId) {
12956
+ /** Fetch the full observability record for a single message (hub-scoped auth; the hub is named as above). */
12957
+ async getMessageObservability(hubId, conversationId, messageId) {
12958
+ const params = new URLSearchParams({ hub_id: hubId });
12907
12959
  return this.request(
12908
12960
  "GET",
12909
- `/api/conversations/${encodeURIComponent(conversationId)}/messages/${encodeURIComponent(messageId)}/observability`
12961
+ `/api/conversations/${encodeURIComponent(conversationId)}/messages/${encodeURIComponent(messageId)}/observability?${params}`
12910
12962
  );
12911
12963
  }
12912
12964
  async listArchivedConversationObservability(hubId, conversationId) {
@@ -14678,7 +14730,7 @@ function findStepBoundaries(transcript) {
14678
14730
  }
14679
14731
  return out;
14680
14732
  }
14681
- var UUID_RE, HEX_RE, WORKOS_ID_RE, OPAQUE_SECRET_RE, BASE64_SECRET_RE, BASE64_MARKER_RE, TOKEN_RE, SENSITIVE_FIELDS, SENSITIVE_KEY_ALTERNATION, SENSITIVE_KEY_PATTERN, JSON_CREDENTIAL_RE, QUERY_CREDENTIAL_RE, REDACTED, PROVIDER_TOKEN_RE, APP_ERROR_BRAND, AppError, LLM_RATE_LIMIT_BRAND, LlmRateLimitError, LLM_PROVIDER_HTTP_BRAND, LlmProviderHttpError, LLM_PROVIDER_CONTENT_BRAND, LlmProviderContentError, LLM_PROVIDER_TIMEOUT_BRAND, LlmProviderTimeoutError, ExternalServiceError, CHANNEL_PROVIDER_HTTP_BRAND, ChannelProviderHttpError, MEDIA_PROVIDER_HTTP_BRAND, MediaProviderHttpError, REKOR_ACTOR_TYPE_HEADER2, REKOR_ACTOR_ID_HEADER2, REKOR_ACTOR_LABEL_HEADER2, REKOR_ACTOR_ORG_HEADER2, REKOR_ACTOR_ADMIN_HEADER2, REKOR_CLIENT_HEADER2, REKOR_TOOL_ID_HEADER2, REKOR_CLIENTS2, rekorClientSchema2, MAX_REKOR_TOOL_ID_LENGTH2, rekorToolIdSchema2, DATA_PROXY_MOUNT2, DATA_PROXY_PREFIX2, DATA_PROXY_ORG_QUERY_PARAM2, MAX_PROVISIONING_BODY_BYTES2, dataProxyQuery2, rekorAttestation2, REQUIRED_REKOR_ATTESTATION_HEADERS2, BASE_DESTRUCTION_MOUNT2, BASE_DESTRUCTION_PREFIX2, BASE_DESTRUCTION_CONFIRM_PATH2, baseDestructionConfirmBody2, BASE_DESTRUCTION_GRACE_MS2, BASE_DESTRUCTION_CONFIRM_TTL_MS2, BASE_DESTRUCTION_ORG_QUERY_PARAM2, baseDestructionQuery2, baseDestructionParam2, baseDestructionInitiateBody2, baseDestructionStatus2, baseDestructionRequest2, baseDestructionListResponse2, baseDestructionInitiateResponse2, baseDestructionConfirmResponse2, baseDestructionCancelResponse2, ENDPOINT_CONFIGS, AUTH_TYPE2, ORG_CREDENTIAL_AUTH_TYPES2, AUTH_TYPE_DISPLAY2, LEGACY_AUTH_TYPE_MAP2, VALID_AUTH_TYPES2, AGENT_ROLES2, SAFE_USER_ID_REGEX2, SUPPORTED_LOCALES2, uuidSchema2, USER_ID_REGEX2, paginationSchema3, timestampSchema2, idParamSchema2, clientOptionalString2, clientOptionalBoolean2, clientOptionalNumber2, messageAttachment2, MAX_MESSAGE_BODY_BYTES2, MAX_ATTACHMENTS_PER_MESSAGE2, MESSAGE_ENVELOPE_HEADROOM_BYTES2, MAX_AUDIO_FILE_BASE64_BYTES2, primaryRegionSchema2, placementSourceSchema2, orgIdParam2, orgAdminIdParam2, createOrganizationBody2, updateOrganizationBody2, addOrgAdminBody2, SUMMARIZATION_THRESHOLD_MIN2, SUMMARIZATION_THRESHOLD_MAX2, PREVIOUS_CONVERSATIONS_MAX2, FLAG_CONDITION_OPERATORS2, CONFIDENCE_VARIABLE_SUFFIX2, DECISION_SCORE_MIN_LEVELS2, DECISION_SCORE_MAX_LEVELS2, DECISIONS_MODEL_PREFIXES2, DECISION_CAPABLE_AGENT_ROLES2, NATIVE_TOOL_SCHEMAS2, WAYAI_CONNECTOR2, BASE_NATIVE_TOOLS2, NATIVE_TOOLS2, CATALOG_SIDE_EFFECTS2, NATIVE_TOOL_NAMES2, previousConversationsCountField2, summarizationThresholdField2, flagConditionSchema2, MONITOR_TRIGGERS2, monitorTriggerSchema2, MONITOR_FIRING_TRIGGERS2, MONITOR_DELAY_SECONDS_MIN2, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE2, MONITOR_HISTORY_MESSAGES_MAX2, monitorHistoryMessagesSchema2, monitorIncludeToolResultsSchema2, MONITOR_INPUT_SHAPING_KEYS2, MONITOR_INPUT_SHAPING_SCHEMAS2, MONITOR_INPUT_SHAPING_IDLE_MESSAGE2, monitorArgumentSourceSchema2, MONITOR_NOTE_TEMPLATE_MAX2, MONITOR_STEER_NOTE_MAX2, monitorActionSchema2, monitorRuleSchema2, MONITOR_RULE_KEYS2, MONITOR_RULE_SCHEMAS2, MONITOR_RULE_TRIGGERS2, MONITOR_RULE_TRIGGER_MESSAGE2, CALL_UTTERANCE_SPEAKERS2, callUtteranceSpeakerSchema2, MONITOR_CALL_KEYS2, MONITOR_CALL_SCHEMAS2, MONITOR_CALL_KEY_MESSAGE2, CALL_STEERING_MIN_CONFIDENCE2, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE2, CALL_UTTERANCE_FALLBACK_MESSAGE2, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE2, CALL_STEER_NOTE_BLANK_MESSAGE2, MONITOR_USER_MESSAGE_ACTION_KINDS2, MONITOR_ASSISTANT_REPLY_ACTION_KINDS2, MONITOR_CALL_UTTERANCE_ACTION_KINDS2, INSERT_NOTE_TOOL_NAME2, RUN_MONITOR_TOOL_NAME2, MONITOR_RULE_ALLOWED_NATIVE_TOOLS2, MONITOR_RULE_REENTRY_TOOLS2, MONITOR_RULE_REENTRY_TRACKS2, monitorConfigField2, flagConditionsField2, agentIdParam2, listAgentsQuery2, agentConnectionsQuery2, createAgentBody2, updateAgentBody2, AGENT_PARAMETER_TYPES2, AGENT_PARAMETER_NAME_REGEX2, agentParameterCreateSchema2, MAX_AGENT_PARAMETERS_PER_REQUEST2, createAgentParametersBody2, SLUG_REGEX2, slugSchema2, INVISIBLE_NAME_CHARS2, MAX_KANBAN_STATUSES2, MAX_FOLLOWUPS_PER_STATUS2, MAX_LANES2, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES2, RESERVED_TEMPLATE_DUMP_NAME2, kanbanStatusSlugSchema2, followupTypeSchema2, EVENT_RELATIVE_FOLLOWUP_TYPES2, followupTimeUnitSchema2, followupIdSchema2, SELECTABLE_FOLLOWUP_TYPES2, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS2, followupSchema2, MAX_OUTCOMES_PER_STATUS2, kanbanOutcomeSchema2, EXCLUSIVE_FLAG_PAIRS2, kanbanStatusSchema2, kanbanStatusesArraySchema2, laneSchema2, lanesArraySchema2, hubIdParam2, hubAdminIdParam2, hubUserIdParam2, hubIdentityIdParam2, hubTeamIdParam2, hubTeamUserDeleteParam2, hubSchemaQuery2, PREVIEW_LABEL_MAX_LENGTH2, MAX_ENDED_INDEX_RETENTION_DAYS2, MAX_EVAL_RETENTION_DAYS2, previewLabelField2, createHubBody2, updateHubBody2, addHubAdminBody2, addHubIdentityAuthorizationBody2, contactDecisionBody2, approveContactBody2, listContactAccessQuery2, createHubTeamBody2, updateHubTeamBody2, addHubTeamUserBody2, reassignHubUserBody2, replicatePreviewBody2, updateChannelTestIdentitiesBody2, claimCodeChannelParam2, claimCodeDeleteParam2, connectionIdParam2, connectorIdParam2, listConnectionsQuery2, deleteConnectionQuery2, addConnectionBody2, editConnectionBody2, PRODUCTION_DIRECT_FIELDS2, setProductionCredentialBody2, registerWhatsappQuery2, registerWhatsappBody2, retryProvisioningQuery2, resendDomainStatusQuery2, PLACEHOLDER_TOKENS2, ALLOWED_TYPES2, SUBSCHEMA_OBJECT_KEYWORDS2, SUBSCHEMA_LIST_KEYWORDS2, SUBSCHEMA_MAP_KEYWORDS2, MAX_SCHEMA_DEPTH2, toolIdParam2, listToolsQuery2, toolAgentQuery2, deleteToolQuery2, toolConnectionsQuery2, nativeToolIdSchema2, CONTEXT_BOUNDARIES2, contextBoundarySchema2, addNativeToolBody2, addMcpToolBody2, createCustomToolBody2, updateCustomToolBody2, updateToolExecutionConfigBody2, initialValueCreateSchema2, initialValueUpdateSchema2, stateIdParam2, listStatesQuery2, stateNameSchema2, createStateBody2, updateStateBody2, reorderStatesBody2, variantAiModeSchema2, experimentStatusSchema2, overlayUpdateSchema2, experimentIdParam2, variantIdParam2, listExperimentsQuery2, listVariantsQuery2, listOverridesQuery2, deleteOverrideQuery2, createExperimentBody2, updateExperimentBody2, setExperimentStatusBody2, createVariantBody2, updateVariantBody2, upsertOverrideBody2, orgTagIdParam2, listOrgTagsQuery2, ORG_TAG_NAME_REGEX2, ORG_TAG_NAME_MAX_LENGTH2, createOrgTagBody2, updateOrgTagBody2, orgCredentialIdParam2, listOrgCredentialsQuery2, createOrgCredentialBody2, updateOrgCredentialBody2, BASE_CREDENTIAL_NAME_MAX2, baseCredentialNameSchema2, createBaseCredentialLinkBody2, baseCredentialLinkParams2, baseCredentialLinkQuery2, orgResourceIdParam2, orgResourceFileIdParam2, orgResourceFolderIdParam2, hubOrgResourceParam2, listOrgResourcesQuery2, orgIdQuery2, createOrgResourceBody2, updateOrgResourceBody2, createOrgResourceFolderBody2, updateOrgResourceFolderBody2, uploadOrgResourceFileBody2, updateOrgResourceFileBody2, uploadOrgSkillZipBody2, linkOrgResourceBody2, resourceIdParam2, listResourcesQuery2, createResourceBody2, updateResourceBody2, syncSkillsBody2, resourceFileIdParam2, listResourceFilesQuery2, createResourceFileBody2, updateResourceFileBody2, uploadResourceFileBody2, uploadSkillZipBody2, resourceFolderIdParam2, listResourceFoldersQuery2, createResourceFolderBody2, updateResourceFolderBody2, agentResourceQuery2, hubResourceQuery2, linkAgentResourceBody2, updateAgentResourceBody2, unlinkAgentResourceQuery2, navItemSchema2, hubCountResetBody2, navItemCountResetBody2, typingBody2, analyticsHubIdParam2, analyticsVariableIdParam2, updateVariablePinBody2, updateAnalyticsViewBody2, NUMERIC_FILTER_OPS2, TEXT_FILTER_OPS2, CATEGORICAL_FILTER_OPS2, VARIABLE_FILTER_OPS2, STRUCTURED_QUERY_OPS2, STRUCTURED_QUERY_AGGREGATIONS2, filterValueSchema2, conversationsBody2, analyticsConversationIdParam2, messagesQuery2, conversationDetailDataQuery2, analyticsDataBody2, structuredQueryBody2, analyticsSqlBody2, analyticsSqlTable2, analyticsSqlSchemaQuery2, EVAL_PACING_PRESET_NAMES2, PACING_INTERVAL_MIN_MS2, PACING_INTERVAL_MAX_MS2, EVAL_MAX_RUNS_PER_SCENARIO2, EVAL_RUN_DEADLINE_MIN_MS2, EVAL_RUN_DEADLINE_MAX_MS2, ISO_UTC_RE2, paginationSchema22, evalIdParam2, sessionIdParam2, scenarioSetIdParam2, hubIdQuery2, evalDateContextSchema2, EVAL_FIXTURE_NAME_MAX_LENGTH2, evalFixtureOverrideSchema2, runSessionQuery2, runJourneyQuery2, EVAL_INPUT_ROLES2, EVAL_INPUT_ROLE_LIST2, ROLE_ECHO_MAX2, EVAL_INITIAL_STATE_SCOPES2, MAX_INITIAL_STATE_ENTRIES2, evalInitialStateEntry2, evalBody2, EVAL_LIST_MAX_LIMIT2, evalListLimit2, getEvalsQuery2, toggleEvalBody2, bulkToggleEvalsBody2, pacingConfigSchema2, EVAL_MAX_SELECTED_SCENARIOS2, evalScenarioSelectionEntrySchema2, evalScenarioSelectionSchema2, sessionConfigSchema2, createSessionBody2, getSessionsQuery2, getSessionResultsQuery2, getSessionRunsQuery2, evalAnalyticsQuery2, getSessionCostQuery2, compareSessionsQuery2, evalsSqlBody2, evalsSqlSchemaQuery2, exportResultsQuery2, validateEvalBody2, hubAgentsQuery2, createScenarioSetBody2, updateScenarioSetBody2, scenarioSetsHubQuery2, createScenarioFromConversationBody2, createJourneyFromConversationBody2, EVAL_ATTACHMENT_HASH_REGEX2, evalAttachmentRef2, turnMayCarryAttachments2, ATTACHMENTS_USER_ONLY_MESSAGE2, journeyIdParam2, journeyToolCallSchema2, journeyTurnSchema2, journeyStepOverrideSchema2, fixtureField2, createJourneyBody2, updateJourneyBody2, evalSessionConfigResponseSchema2, evalSessionResponseSchema2, evalSessionListConfigSchema2, evalSessionListItemSchema2, seedReleaseStatusSchema2, getConversationsQuery2, getMessagesQuery2, appMessageSenderType2, appMessageReceiverType2, apiChannelMessage2, apiChannelMessageBody2, appMessageBody2, appMessageResponse2, CALL_STATUSES2, callStatus2, CALL_END_REASONS2, callEndReason2, CALL_TRANSPORTS2, callTransport2, CALL_PARTICIPANT_TYPES2, callParticipantType2, callInstant2, MAX_SDP_OFFER_LENGTH2, sdpDescription2, sdpOffer2, MAX_CALL_REQUEST_BODY_BYTES2, hubScoped3, callSummaryFields2, callSummary2, callIdParam2, createCallBody2, createCallResponse2, callReadyBody2, callHangupBody2, callStatusQuery2, MAX_REPORTED_DELEGATION_IDS2, callDelegationId2, callDelegationsBody2, callResponse2, MAX_CALL_RECORDING_GAPS2, callRecordingGap2, callRecordingNoteMetadata2, CALL_OPENING_LANGUAGES2, callOpeningLanguage2, CALL_OPENING_MAX_DURATION_MS2, CALL_OPENING_MAX_BYTES2, CALL_OPENING_CAPTION_MAX_CHARS2, CALL_OPENING_CONTENT_TYPES2, callOpeningContentType2, CALL_OPENING_HASH_REGEX2, callOpeningHash2, callOpeningCaption2, storedCallOpening2, MAX_CALL_OPENING_ENCODED_BYTES2, MAX_CALL_OPENING_BODY_BYTES2, agentCallOpeningParams2, putAgentCallOpeningBody2, deleteAgentCallOpeningQuery2, callOpeningParam2, callOpeningQuery2, CALLER_LANGUAGE2, TTS_VOICE_REPLY_ENABLED_FIELD2, COPILOT_TRIGGER_FIELD2, AUDIO_LANGUAGE_OPTIONS2, whatsapp2, instagram2, resend2, telegram2, API_CHANNEL_DELIVERY_EVENTS2, apiChannel2, OPENAI_REASONING_MODELS2, openai2, anthropic2, googleAiStudio2, openRouter2, xai2, groqStt2, openaiStt2, elevenLabsStt2, openaiTts2, groqTts2, elevenLabsTts2, GEMINI_TTS_VOICES2, googleTts2, wayai2, externalResources2, restApiTool2, mcpServer2, e2b2, CLAUDE_HARNESS_MODELS2, CLAUDE_HARNESS_MODEL_OPTIONS2, HARNESS_MCP_SERVERS_FIELD2, HARNESS_EGRESS_FIELDS2, claudeAgentSdk2, claudeManagedAgents2, rekorMemory2, SPOKEN_LINE_MAX_CHARS2, gptLive2, CONNECTORS2, evalCallInstant2, EVAL_CALL_MIN_SECONDS2, EVAL_CALL_MAX_SECONDS2, EVAL_CALL_SPOKEN_LINE_MAX_CHARS2, hubScoped22, createEvalCallBody2, createEvalCallResponse2, evalCallConversationQuery2, evalCallRecordQuery2, evalCallSpeaker2, evalCallUtterance2, evalCallTurn2, evalCallRecording2, evalCallRecordResponse2, evalCallFinishResponse2, updateUserBody2, updateProfileBody2, pathnameRegex2, updatePreferencesBody2, registerPushTokenBody2, deletePushTokenQuery2, recordAiDisclosureAcceptanceBody2, activityQuery2, deletionModeSchema2, deletionRequestBody2, archiveHubIdParam2, archiveConversationParams2, archiveListQuery2, archiveMessageObservabilityParams2, conversationIdParam2, claimBody2, releaseBody2, transferBody2, closeBody2, additionalContextPayloadSchema2, kanbanUpdateBody2, annotateConversationBody2, observabilityParams2, observabilityListParams2, deleteUserConversationsBody2, deleteUserConversationsResponse2, sendMessageBody2, listConversationsQuery2, flagSourceSchema2, getConversationsResponse2, getConversationDetailParams2, getConversationDetailQuery2, getConversationDetailResponse2, listWhatsAppTemplatesQuery2, sendWhatsAppTemplateBody2, copilotSuggestBody2, copilotSuggestResponse2, CONSULT_THREAD_STATUSES2, consultThreadStatus2, CONSULT_THREAD_TITLE_MAX2, consultThreadTitle2, consultThreadSummary2, listConsultThreadsQuery2, listConsultThreadsResponse2, createConsultThreadBody2, createConsultThreadResponse2, consultThreadIdParam2, updateConsultThreadBody2, updateConsultThreadResponse2, CONSULT_AWAIT_TIMEOUT_MS2, billingOrgIdParam2, subscriptionItemParams2, spendCapBody2, growthPacksBody2, portalSessionBody2, checkoutSessionBody2, updateBillingCurrencyBody2, invoicesQuery2, planKeySchema2, billingStatusSchema2, billingPlanTypeSchema2, dataUsageCountersSchema2, REKOR_ENTITLEMENT_CONTRACT_VERSION2, entitlementProjectionSchema2, rekorEntitlementRefreshMessageSchema2, downloadBody2, uploadQuery2, signUrlBody2, outboundSchemaQuery2, templateIdParam2, listTemplatesQuery2, deleteTemplateQuery2, templateStatusQuery2, createTemplateBody2, updateTemplateBody2, submitTemplateBody2, testTemplateBody2, contactIdParam2, listContactsQuery2, createContactBody2, updateContactBody2, listIdParam2, listListsQuery2, listListContactsQuery2, createListBody2, updateListBody2, addListContactsBody2, removeListContactsBody2, scheduleIdParam2, listSchedulesQuery2, listExecutionsQuery2, createScheduleBody2, updateScheduleBody2, MAX_RESOURCE_FILE_SIZE2, MAX_10MB_BASE64_ENCODED_BYTES2, MAX_EVAL_ATTACHMENT_ENCODED_BYTES2, MAX_EVAL_ATTACHMENT_CARRIERS2, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES2, MAX_RESOURCE_ENCODED_BYTES2, MAX_HUB_AS_CODE_RESOURCES2, MAX_HUB_AS_CODE_RESOURCE_FILES2, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES2, MAX_CI_CONFIG_BODY_BYTES2, MAX_CALL_OPENING_CARRIERS2, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES2, hubAsCodeStateSchema2, hubAsCodeResourceFileSchema2, hubAsCodeResourceSchema2, uuidPattern2, ciUuidSchema2, boundedHubAsCodeResourcesSchema2, hubAsCodeConfigSchema2, ciPullHubIdParam2, ciBranchParam2, ciPullQuery2, ciHubsQuery2, ciLookupQuery2, ciBranchesQuery2, ciSyncBody2, ciPushBody2, ciDiffBody2, ciPublishBody2, ciPublishPreviewBody2, ciSyncMcpBody2, ciOrgResourcesParam2, orgResourcesConfigSchema2, ciOrgResourcesPushBody2, ciOrgResourcesDiffBody2, CI_APPLY_ENTITY_KINDS2, CI_APPLY_OPERATIONS2, ciApplyErrorBaseSchema2, ciApplyErrorSchema2, ciSyncCountSchema2, ciSyncChangesSchema2, ciSyncWarningSchema2, ciSyncResponseSchema2, VERSION_PART2, MOBILE_APP_VERSION_RE2, mobileAppVersionSchema2, MOBILE_PLATFORMS2, mobilePlatformSchema2, mobileVersionPolicyQuery2, mobileVersionPolicySchema2, mobileVersionPolicyResponse2, adminOrgIdParam2, adminOrgAdminIdParam2, adminUserIdParam2, PRICING_PLAN_ID_RE2, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, MAX_VOICE_CALL_MINUTE_OPS2, voiceCallMinuteOps2, updatePlatformConfigBody2, updateFreeOrgLimitBody2, adminScopedTargetShape2, adminScopedTargetBody2, BRANCHING_ORPHAN_ENTITY_TYPES2, BRANCHING_ORPHAN_MAX_TARGETS2, adminRepairBranchingOrphansBody2, adminRepairLegacyOrgGrantsBody2, adminRepairCompedPlansBody2, updatePricingPlanBody2, dataExplorerSearchQuery2, dataExplorerOrgIdParam2, dataExplorerHubIdParam2, dataExplorerConvIdParam2, dataExplorerDoInstancesQuery2, dataExplorerNsIdParam2, dataExplorerKvKeysBody2, dataExplorerKvKeyBody2, uuidOrHexId2, dataExplorerDeleteOrgParam2, dataExplorerDeleteHubParam2, dataExplorerDeleteConvParam2, dataExplorerDeleteUserParam2, dataExplorerDeleteQuery2, dataExplorerKvDeleteBody2, pitrDoNamespace2, pitrBookmarkParam2, pitrRestoreBody2, healthSamplingTriggerBody2, dataExplorerDebugDoType2, DEBUG_READ_MAX_LIMIT2, DEBUG_READ_DEFAULT_LIMIT2, DEBUG_DO_HEX_PREFIX2, debugDoEntityId2, debugTableName2, dataExplorerDebugTablesParam2, dataExplorerDebugRowsParam2, dataExplorerDebugRowsQuery2, dataExplorerDebugAnalyticsTable2, debugUuid2, dataExplorerDebugAnalyticsRowsParam2, dataExplorerDebugAnalyticsRowsQuery2, debugHubConvParam2, debugMessageIdQuery2, sandboxEgressPolicy2, SANDBOX_EXEC_MAX_CMD_LENGTH2, SANDBOX_EXEC_MAX_ALLOWLIST2, SANDBOX_EXEC_MAX_TIMEOUT_MS2, adminSandboxExecBody2, META_ENTITY_ID_PATTERN2, metaEntityId2, whatsappCallbackBody2, authMeResponse2, wsTicketResponse2, sessionCheckResponse2, logoutResponse2, magicCodeSendBody2, magicCodeSendResponse2, magicCodeVerifyBody2, magicCodeVerifyResponse2, passwordLoginBody2, stateOperationBody2, conversationListResourcesQuery2, conversationReadResourceQuery2, listPendingSchedulesQuery2, listHubAggregateSchedulesQuery2, reportSourceSchema2, intakeReportSourceSchema2, reportClassificationSchema2, reportStatusSchema2, reportLocaleSchema2, reportMessageAuthorRoleSchema2, reportMessageSchema2, sentryRefStatusSchema2, createReportBody2, editReportBody2, reporterReportSummarySchema2, reporterListResponseSchema2, getReportResponseSchema2, reporterTransitionResponseSchema2, contestReportBody2, reporterListQuery2, listReportsQuery2, GITHUB_ISSUE_URL_REGEX2, githubIssueUrlSchema2, transitionReportBody2, groupReportsBody2, holdReportBody2, clickhouseReadyResponse2, bootstrapQuery2, requestSnapshotChunkMessage2, MAX_NAME_LENGTH3, MAX_VALUE_LENGTH2, MAX_TAGS2, MAX_TAG_LENGTH2, MAX_SCOPE_HUBS2, MAX_SCOPE_TAGS2, vaultSecretScopeSchema2, vaultCreateBody2, vaultUpdateBody2, PERMISSIONS2, MAX_NAME_LENGTH22, MAX_HUBS_PER_GRANT2, MAX_HUB_TAGS_PER_GRANT2, MAX_GRANTS2, permissionEnum2, grantScopeSchema2, grantSchema2, createTokenBody2, tokenOrgIdParam2, tokenGrantScopeSchema2, tokenGrantSchema2, tokenMetadataSchema2, listTokensResponse2, createTokenResponse2, orgTokenSummarySchema2, listOrgTokensResponse2, invitePreviewQuery2, invitePreviewResponse2, jsonSchemaSchema2, hubUserIdentity2, stateValueEntry2, getHubUserContextResponse2, updateHubUserBody2, updateHubUserResponse2, unlockHubUserNameResponse2, stateResetParams2, stateResetResponse2, hubAlertsParam2, hubAlertSeverity2, hubAlert2, hubAlertsListResponse2, noticeSeveritySchema2, noticeStatusSchema2, NOTICE_SCOPE_REGEX2, noticeScopeSchema2, noticeLinkSchema2, createNoticeBody2, updateNoticeBody2, listNoticesQuery2, noticeIdParamSchema2, ADMIN_SKILL_NAME_REGEX2, adminSkillNameParam2, rekorBaseChangeMessageSchema2, DESKTOP_SHELL_VERSION_RE2, DESKTOP_PLATFORMS2, DESKTOP_FLAVORS2, desktopShellInfoSchema2, DESKTOP_PRESENCE_STATES2, desktopPresenceSchema2, desktopUpdateSchema2, DESKTOP_SIGN_IN_URL_MAX_LENGTH2, DESKTOP_APP_PATH_MAX_LENGTH2, desktopAppPathSchema2, DESKTOP_NOTIFICATION_KINDS2, DESKTOP_NOTIFICATION_TITLE_MAX_LENGTH2, DESKTOP_NOTIFICATION_BODY_MAX_LENGTH2, notificationTitleSchema2, notificationBodySchema2, desktopNotificationSchema2, DESKTOP_BADGE_MAX_COUNT2, DESKTOP_BADGE_LABEL_MAX_LENGTH2, desktopBadgeSchema2, desktopNavigateSchema2, desktopSettingsSchema2, desktopSettingsChangeSchema2, desktopBridgeArgsSchemas2, PEOPLE_CONTACT_PAGE_MAX2, PEOPLE_CONTACT_PAGE_DEFAULT2, PEOPLE_CONTACT_EMAIL_MAX_LENGTH2, peopleUserIdSchema2, peopleContactInviteBody2, peopleContactInviteIdParam2, peopleContactUserIdParam2, peopleContactBlockBody2, peopleContactPageQuery2, peopleOutgoingInviteSchema2, peopleContactPersonSchema2, peopleContactSchema2, peopleIncomingInviteSchema2, peopleBlockedUserSchema2, PEOPLE_THREAD_MESSAGE_MAX_LENGTH2, PEOPLE_THREAD_MESSAGES_PAGE_MAX2, PEOPLE_THREAD_PAGE_MAX2, PEOPLE_THREAD_PAGE_DEFAULT2, peopleThreadIdParam2, peopleThreadMessageIdParam2, peopleThreadListQuery2, peopleThreadMessagesQuery2, peopleThreadSendBody2, peopleThreadReadBody2, peopleThreadSettingsBody2, peopleThreadKindSchema2, peopleThreadMemberSchema2, peopleThreadLastMessageSchema2, peopleThreadSummarySchema2, peopleThreadMessageSchema2, WAYAI_WORKSPACE_LAYOUT, decisionAnswerSchema, decisionsResponseSchema;
14733
+ var UUID_RE, HEX_RE, WORKOS_ID_RE, OPAQUE_SECRET_RE, BASE64_SECRET_RE, BASE64_MARKER_RE, TOKEN_RE, SENSITIVE_FIELDS, SENSITIVE_KEY_ALTERNATION, SENSITIVE_KEY_PATTERN, JSON_CREDENTIAL_RE, QUERY_CREDENTIAL_RE, REDACTED, PROVIDER_TOKEN_RE, APP_ERROR_BRAND, AppError, LLM_RATE_LIMIT_BRAND, LlmRateLimitError, LLM_PROVIDER_HTTP_BRAND, LlmProviderHttpError, LLM_PROVIDER_CONTENT_BRAND, LlmProviderContentError, LLM_PROVIDER_TIMEOUT_BRAND, LlmProviderTimeoutError, ExternalServiceError, CHANNEL_PROVIDER_HTTP_BRAND, ChannelProviderHttpError, MEDIA_PROVIDER_HTTP_BRAND, MediaProviderHttpError, REKOR_ACTOR_TYPE_HEADER2, REKOR_ACTOR_ID_HEADER2, REKOR_ACTOR_LABEL_HEADER2, REKOR_ACTOR_ORG_HEADER2, REKOR_ACTOR_ADMIN_HEADER2, REKOR_CLIENT_HEADER2, REKOR_TOOL_ID_HEADER2, REKOR_CLIENTS2, rekorClientSchema2, MAX_REKOR_TOOL_ID_LENGTH2, rekorToolIdSchema2, DATA_PROXY_MOUNT2, DATA_PROXY_PREFIX2, DATA_PROXY_ORG_QUERY_PARAM2, MAX_PROVISIONING_BODY_BYTES2, dataProxyQuery2, rekorAttestation2, REQUIRED_REKOR_ATTESTATION_HEADERS2, BASE_DESTRUCTION_MOUNT2, BASE_DESTRUCTION_PREFIX2, BASE_DESTRUCTION_CONFIRM_PATH2, baseDestructionConfirmBody2, BASE_DESTRUCTION_GRACE_MS2, BASE_DESTRUCTION_CONFIRM_TTL_MS2, BASE_DESTRUCTION_ORG_QUERY_PARAM2, baseDestructionQuery2, baseDestructionParam2, baseDestructionInitiateBody2, baseDestructionStatus2, baseDestructionRequest2, baseDestructionListResponse2, baseDestructionInitiateResponse2, baseDestructionConfirmResponse2, baseDestructionCancelResponse2, ENDPOINT_CONFIGS, AUTH_TYPE2, ORG_CREDENTIAL_AUTH_TYPES2, AUTH_TYPE_DISPLAY2, LEGACY_AUTH_TYPE_MAP2, VALID_AUTH_TYPES2, AGENT_ROLES2, SAFE_USER_ID_REGEX2, SUPPORTED_LOCALES2, uuidSchema2, USER_ID_REGEX2, timestampSchema2, idParamSchema2, clientOptionalString2, clientOptionalBoolean2, clientOptionalNumber2, messageAttachment2, MAX_MESSAGE_BODY_BYTES2, MAX_ATTACHMENTS_PER_MESSAGE2, MESSAGE_ENVELOPE_HEADROOM_BYTES2, MAX_AUDIO_FILE_BASE64_BYTES2, primaryRegionSchema2, placementSourceSchema2, orgIdParam2, orgAdminIdParam2, createOrganizationBody2, updateOrganizationBody2, addOrgAdminBody2, SUMMARIZATION_THRESHOLD_MIN2, SUMMARIZATION_THRESHOLD_MAX2, PREVIOUS_CONVERSATIONS_MAX2, FLAG_CONDITION_OPERATORS2, CONFIDENCE_VARIABLE_SUFFIX2, DECISION_SCORE_MIN_LEVELS2, DECISION_SCORE_MAX_LEVELS2, DECISIONS_MODEL_PREFIXES2, DECISION_CAPABLE_AGENT_ROLES2, NATIVE_TOOL_SCHEMAS2, WAYAI_CONNECTOR2, BASE_NATIVE_TOOLS2, NATIVE_TOOLS2, CATALOG_SIDE_EFFECTS2, NATIVE_TOOL_NAMES2, previousConversationsCountField2, summarizationThresholdField2, flagConditionSchema2, MONITOR_TRIGGERS2, monitorTriggerSchema2, MONITOR_FIRING_TRIGGERS2, MONITOR_DELAY_SECONDS_MIN2, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE2, MONITOR_HISTORY_MESSAGES_MAX2, monitorHistoryMessagesSchema2, monitorIncludeToolResultsSchema2, MONITOR_INPUT_SHAPING_KEYS2, MONITOR_INPUT_SHAPING_SCHEMAS2, MONITOR_INPUT_SHAPING_IDLE_MESSAGE2, monitorArgumentSourceSchema2, MONITOR_NOTE_TEMPLATE_MAX2, MONITOR_STEER_NOTE_MAX2, monitorActionSchema2, monitorRuleSchema2, MONITOR_RULE_KEYS2, MONITOR_RULE_SCHEMAS2, MONITOR_RULE_TRIGGERS2, MONITOR_RULE_TRIGGER_MESSAGE2, CALL_UTTERANCE_SPEAKERS2, callUtteranceSpeakerSchema2, MONITOR_CALL_KEYS2, MONITOR_CALL_SCHEMAS2, MONITOR_CALL_KEY_MESSAGE2, CALL_STEERING_MIN_CONFIDENCE2, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE2, CALL_UTTERANCE_FALLBACK_MESSAGE2, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE2, CALL_STEER_NOTE_BLANK_MESSAGE2, MONITOR_USER_MESSAGE_ACTION_KINDS2, MONITOR_ASSISTANT_REPLY_ACTION_KINDS2, MONITOR_CALL_UTTERANCE_ACTION_KINDS2, INSERT_NOTE_TOOL_NAME2, RUN_MONITOR_TOOL_NAME2, MONITOR_RULE_ALLOWED_NATIVE_TOOLS2, MONITOR_RULE_REENTRY_TOOLS2, MONITOR_RULE_REENTRY_TRACKS2, monitorConfigField2, flagConditionsField2, agentIdParam2, listAgentsQuery2, agentConnectionsQuery2, createAgentBody2, updateAgentBody2, AGENT_PARAMETER_TYPES2, AGENT_PARAMETER_NAME_REGEX2, agentParameterCreateSchema2, MAX_AGENT_PARAMETERS_PER_REQUEST2, createAgentParametersBody2, SLUG_REGEX2, slugSchema2, INVISIBLE_NAME_CHARS2, MAX_KANBAN_STATUSES2, MAX_FOLLOWUPS_PER_STATUS2, MAX_LANES2, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES2, RESERVED_TEMPLATE_DUMP_NAME2, kanbanStatusSlugSchema2, followupTypeSchema2, EVENT_RELATIVE_FOLLOWUP_TYPES2, followupTimeUnitSchema2, followupIdSchema2, SELECTABLE_FOLLOWUP_TYPES2, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS2, followupSchema2, MAX_OUTCOMES_PER_STATUS2, kanbanOutcomeSchema2, EXCLUSIVE_FLAG_PAIRS2, kanbanStatusSchema2, kanbanStatusesArraySchema2, laneSchema2, lanesArraySchema2, hubIdParam2, hubAdminIdParam2, hubUserIdParam2, hubIdentityIdParam2, hubTeamIdParam2, hubTeamUserDeleteParam2, hubSchemaQuery2, PREVIEW_LABEL_MAX_LENGTH2, MAX_ENDED_INDEX_RETENTION_DAYS2, MAX_EVAL_RETENTION_DAYS2, previewLabelField2, createHubBody2, updateHubBody2, addHubAdminBody2, addHubIdentityAuthorizationBody2, contactDecisionBody2, approveContactBody2, listContactAccessQuery2, createHubTeamBody2, updateHubTeamBody2, addHubTeamUserBody2, reassignHubUserBody2, replicatePreviewBody2, updateChannelTestIdentitiesBody2, claimCodeChannelParam2, claimCodeDeleteParam2, connectionIdParam2, connectorIdParam2, listConnectionsQuery2, deleteConnectionQuery2, addConnectionBody2, editConnectionBody2, PRODUCTION_DIRECT_FIELDS2, setProductionCredentialBody2, registerWhatsappQuery2, registerWhatsappBody2, retryProvisioningQuery2, resendDomainStatusQuery2, PLACEHOLDER_TOKENS2, ALLOWED_TYPES2, SUBSCHEMA_OBJECT_KEYWORDS2, SUBSCHEMA_LIST_KEYWORDS2, SUBSCHEMA_MAP_KEYWORDS2, MAX_SCHEMA_DEPTH2, toolIdParam2, listToolsQuery2, toolAgentQuery2, deleteToolQuery2, toolConnectionsQuery2, nativeToolIdSchema2, CONTEXT_BOUNDARIES2, contextBoundarySchema2, addNativeToolBody2, addMcpToolBody2, createCustomToolBody2, updateCustomToolBody2, updateToolExecutionConfigBody2, initialValueCreateSchema2, initialValueUpdateSchema2, stateIdParam2, listStatesQuery2, stateNameSchema2, createStateBody2, updateStateBody2, reorderStatesBody2, variantAiModeSchema2, experimentStatusSchema2, overlayUpdateSchema2, experimentIdParam2, variantIdParam2, listExperimentsQuery2, listVariantsQuery2, listOverridesQuery2, deleteOverrideQuery2, createExperimentBody2, updateExperimentBody2, setExperimentStatusBody2, createVariantBody2, updateVariantBody2, upsertOverrideBody2, orgTagIdParam2, listOrgTagsQuery2, ORG_TAG_NAME_REGEX2, ORG_TAG_NAME_MAX_LENGTH2, createOrgTagBody2, updateOrgTagBody2, orgCredentialIdParam2, listOrgCredentialsQuery2, createOrgCredentialBody2, updateOrgCredentialBody2, BASE_CREDENTIAL_NAME_MAX2, baseCredentialNameSchema2, createBaseCredentialLinkBody2, baseCredentialLinkParams2, baseCredentialLinkQuery2, orgResourceIdParam2, orgResourceFileIdParam2, orgResourceFolderIdParam2, hubOrgResourceParam2, listOrgResourcesQuery2, orgIdQuery2, createOrgResourceBody2, updateOrgResourceBody2, createOrgResourceFolderBody2, updateOrgResourceFolderBody2, uploadOrgResourceFileBody2, updateOrgResourceFileBody2, uploadOrgSkillZipBody2, linkOrgResourceBody2, resourceIdParam2, listResourcesQuery2, createResourceBody2, updateResourceBody2, syncSkillsBody2, resourceFileIdParam2, listResourceFilesQuery2, createResourceFileBody2, updateResourceFileBody2, uploadResourceFileBody2, uploadSkillZipBody2, resourceFolderIdParam2, listResourceFoldersQuery2, createResourceFolderBody2, updateResourceFolderBody2, agentResourceQuery2, hubResourceQuery2, linkAgentResourceBody2, updateAgentResourceBody2, unlinkAgentResourceQuery2, navItemSchema2, hubCountResetBody2, navItemCountResetBody2, typingBody2, analyticsHubIdParam2, analyticsVariableIdParam2, updateVariablePinBody2, updateAnalyticsViewBody2, NUMERIC_FILTER_OPS2, TEXT_FILTER_OPS2, CATEGORICAL_FILTER_OPS2, VARIABLE_FILTER_OPS2, STRUCTURED_QUERY_OPS2, STRUCTURED_QUERY_AGGREGATIONS2, filterValueSchema2, conversationsBody2, analyticsConversationIdParam2, messagesQuery2, conversationDetailDataQuery2, analyticsDataBody2, structuredQueryBody2, analyticsSqlBody2, analyticsSqlTable2, analyticsSqlSchemaQuery2, EVAL_PACING_PRESET_NAMES2, PACING_INTERVAL_MIN_MS2, PACING_INTERVAL_MAX_MS2, EVAL_MAX_RUNS_PER_SCENARIO2, EVAL_RUN_DEADLINE_MIN_MS2, EVAL_RUN_DEADLINE_MAX_MS2, ISO_UTC_RE2, paginationSchema2, evalIdParam2, sessionIdParam2, scenarioSetIdParam2, hubIdQuery2, evalDateContextSchema2, EVAL_FIXTURE_NAME_MAX_LENGTH2, evalFixtureOverrideSchema2, runSessionQuery2, runJourneyQuery2, EVAL_INPUT_ROLES2, EVAL_INPUT_ROLE_LIST2, ROLE_ECHO_MAX2, EVAL_INITIAL_STATE_SCOPES2, MAX_INITIAL_STATE_ENTRIES2, evalInitialStateEntry2, evalBody2, EVAL_LIST_MAX_LIMIT2, evalListLimit2, getEvalsQuery2, toggleEvalBody2, bulkToggleEvalsBody2, pacingConfigSchema2, EVAL_MAX_SELECTED_SCENARIOS2, evalScenarioSelectionEntrySchema2, evalScenarioSelectionSchema2, sessionConfigSchema2, createSessionBody2, getSessionsQuery2, getSessionResultsQuery2, getSessionRunsQuery2, evalAnalyticsQuery2, getSessionCostQuery2, compareSessionsQuery2, evalsSqlBody2, evalsSqlSchemaQuery2, exportResultsQuery2, validateEvalBody2, hubAgentsQuery2, createScenarioSetBody2, updateScenarioSetBody2, scenarioSetsHubQuery2, createScenarioFromConversationBody2, createJourneyFromConversationBody2, EVAL_ATTACHMENT_HASH_REGEX2, evalAttachmentRef2, turnMayCarryAttachments2, ATTACHMENTS_USER_ONLY_MESSAGE2, journeyIdParam2, journeyToolCallSchema2, journeyTurnSchema2, journeyStepOverrideSchema2, fixtureField2, createJourneyBody2, updateJourneyBody2, evalSessionConfigResponseSchema2, evalSessionResponseSchema2, evalSessionListConfigSchema2, evalSessionListItemSchema2, seedReleaseStatusSchema2, getConversationsQuery2, getMessagesQuery2, appMessageSenderType2, appMessageReceiverType2, apiChannelMessage2, apiChannelMessageBody2, appMessageBody2, appMessageResponse2, CALL_STATUSES2, callStatus2, CALL_END_REASONS2, callEndReason2, CALL_TRANSPORTS2, callTransport2, CALL_PARTICIPANT_TYPES2, callParticipantType2, callInstant2, MAX_SDP_OFFER_LENGTH2, sdpDescription2, sdpOffer2, MAX_CALL_REQUEST_BODY_BYTES2, hubScoped3, callSummaryFields2, callSummary2, callIdParam2, createCallBody2, createCallResponse2, callReadyBody2, callHangupBody2, callStatusQuery2, MAX_REPORTED_DELEGATION_IDS2, callDelegationId2, callDelegationsBody2, callResponse2, MAX_CALL_RECORDING_GAPS2, callRecordingGap2, callRecordingNoteMetadata2, CALL_OPENING_LANGUAGES2, callOpeningLanguage2, CALL_OPENING_MAX_DURATION_MS2, CALL_OPENING_MAX_BYTES2, CALL_OPENING_CAPTION_MAX_CHARS2, CALL_OPENING_CONTENT_TYPES2, callOpeningContentType2, CALL_OPENING_HASH_REGEX2, callOpeningHash2, callOpeningCaption2, storedCallOpening2, MAX_CALL_OPENING_ENCODED_BYTES2, MAX_CALL_OPENING_BODY_BYTES2, agentCallOpeningParams2, putAgentCallOpeningBody2, deleteAgentCallOpeningQuery2, callOpeningParam2, callOpeningQuery2, CALLER_LANGUAGE2, TTS_VOICE_REPLY_ENABLED_FIELD2, COPILOT_TRIGGER_FIELD2, AUDIO_LANGUAGE_OPTIONS2, whatsapp2, instagram2, resend2, telegram2, API_CHANNEL_DELIVERY_EVENTS2, apiChannel2, OPENAI_REASONING_MODELS2, openai2, anthropic2, googleAiStudio2, openRouter2, xai2, groqStt2, openaiStt2, elevenLabsStt2, openaiTts2, groqTts2, elevenLabsTts2, GEMINI_TTS_VOICES2, googleTts2, wayai2, externalResources2, restApiTool2, mcpServer2, e2b2, CLAUDE_HARNESS_MODELS2, CLAUDE_HARNESS_MODEL_OPTIONS2, HARNESS_MCP_SERVERS_FIELD2, HARNESS_EGRESS_FIELDS2, claudeAgentSdk2, claudeManagedAgents2, rekorMemory2, SPOKEN_LINE_MAX_CHARS2, gptLive2, CONNECTORS2, evalCallInstant2, EVAL_CALL_MIN_SECONDS2, EVAL_CALL_MAX_SECONDS2, EVAL_CALL_SPOKEN_LINE_MAX_CHARS2, hubScoped22, createEvalCallBody2, createEvalCallResponse2, evalCallConversationQuery2, evalCallRecordQuery2, evalCallSpeaker2, evalCallUtterance2, evalCallTurn2, evalCallRecording2, evalCallRecordResponse2, evalCallFinishResponse2, updateUserBody2, updateProfileBody2, pathnameRegex2, updatePreferencesBody2, registerPushTokenBody2, deletePushTokenQuery2, recordAiDisclosureAcceptanceBody2, activityQuery2, deletionModeSchema2, deletionRequestBody2, archiveHubIdParam2, archiveConversationParams2, archiveListQuery2, archiveMessageObservabilityParams2, conversationIdParam2, conversationHubQuery2, claimBody2, releaseBody2, transferBody2, closeBody2, additionalContextPayloadSchema2, kanbanUpdateBody2, annotateConversationBody2, observabilityParams2, observabilityListParams2, deleteUserConversationsBody2, deleteUserConversationsResponse2, sendMessageBody2, listConversationsQuery2, flagSourceSchema2, getConversationsResponse2, getConversationDetailParams2, getConversationDetailQuery2, getConversationDetailResponse2, listWhatsAppTemplatesQuery2, sendWhatsAppTemplateBody2, copilotSuggestBody2, copilotSuggestResponse2, CONSULT_THREAD_STATUSES2, consultThreadStatus2, CONSULT_THREAD_TITLE_MAX2, consultThreadTitle2, consultThreadSummary2, listConsultThreadsQuery2, listConsultThreadsResponse2, createConsultThreadBody2, createConsultThreadResponse2, consultThreadIdParam2, updateConsultThreadBody2, updateConsultThreadResponse2, CONSULT_AWAIT_TIMEOUT_MS2, billingOrgIdParam2, subscriptionItemParams2, spendCapBody2, growthPacksBody2, portalSessionBody2, checkoutSessionBody2, updateBillingCurrencyBody2, invoicesQuery2, planKeySchema2, billingStatusSchema2, billingPlanTypeSchema2, dataUsageCountersSchema2, REKOR_ENTITLEMENT_CONTRACT_VERSION2, entitlementProjectionSchema2, rekorEntitlementRefreshMessageSchema2, downloadBody2, uploadQuery2, SIGN_URL_MAX_EXPIRES_IN_SECONDS2, signUrlBody2, outboundSchemaQuery2, templateIdParam2, listTemplatesQuery2, deleteTemplateQuery2, templateStatusQuery2, createTemplateBody2, updateTemplateBody2, submitTemplateBody2, testTemplateBody2, contactIdParam2, listContactsQuery2, createContactBody2, updateContactBody2, listIdParam2, listListsQuery2, listListContactsQuery2, createListBody2, updateListBody2, addListContactsBody2, removeListContactsBody2, scheduleIdParam2, listSchedulesQuery2, listExecutionsQuery2, createScheduleBody2, updateScheduleBody2, MAX_RESOURCE_FILE_SIZE2, MAX_10MB_BASE64_ENCODED_BYTES2, MAX_EVAL_ATTACHMENT_ENCODED_BYTES2, MAX_EVAL_ATTACHMENT_CARRIERS2, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES2, MAX_RESOURCE_ENCODED_BYTES2, MAX_HUB_AS_CODE_RESOURCES2, MAX_HUB_AS_CODE_RESOURCE_FILES2, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES2, MAX_CI_CONFIG_BODY_BYTES2, MAX_CALL_OPENING_CARRIERS2, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES2, hubAsCodeStateSchema2, hubAsCodeResourceFileSchema2, hubAsCodeResourceSchema2, uuidPattern2, ciUuidSchema2, boundedHubAsCodeResourcesSchema2, hubAsCodeConfigSchema2, ciPullHubIdParam2, ciBranchParam2, ciPullQuery2, ciHubsQuery2, ciLookupQuery2, ciBranchesQuery2, ciSyncBody2, ciPushBody2, ciDiffBody2, ciPublishBody2, ciPublishPreviewBody2, ciSyncMcpBody2, ciOrgResourcesParam2, orgResourcesConfigSchema2, ciOrgResourcesPushBody2, ciOrgResourcesDiffBody2, CI_APPLY_ENTITY_KINDS2, CI_APPLY_OPERATIONS2, ciApplyErrorBaseSchema2, ciApplyErrorSchema2, ciSyncCountSchema2, ciSyncChangesSchema2, ciSyncWarningSchema2, ciSyncResponseSchema2, VERSION_PART2, MOBILE_APP_VERSION_RE2, mobileAppVersionSchema2, MOBILE_PLATFORMS2, mobilePlatformSchema2, mobileVersionPolicyQuery2, mobileVersionPolicySchema2, mobileVersionPolicyResponse2, adminOrgIdParam2, adminOrgAdminIdParam2, adminUserIdParam2, PRICING_PLAN_ID_RE2, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, MAX_VOICE_CALL_MINUTE_OPS2, voiceCallMinuteOps2, updatePlatformConfigBody2, updateFreeOrgLimitBody2, adminScopedTargetShape2, adminScopedTargetBody2, BRANCHING_ORPHAN_ENTITY_TYPES2, BRANCHING_ORPHAN_MAX_TARGETS2, adminRepairBranchingOrphansBody2, adminRepairLegacyOrgGrantsBody2, adminRepairCompedPlansBody2, updatePricingPlanBody2, dataExplorerSearchQuery2, dataExplorerOrgIdParam2, dataExplorerHubIdParam2, dataExplorerConvIdParam2, dataExplorerDoInstancesQuery2, dataExplorerNsIdParam2, dataExplorerKvKeysBody2, dataExplorerKvKeyBody2, uuidOrHexId2, dataExplorerDeleteOrgParam2, dataExplorerDeleteHubParam2, dataExplorerDeleteConvParam2, dataExplorerDeleteUserParam2, dataExplorerDeleteQuery2, dataExplorerKvDeleteBody2, pitrDoNamespace2, pitrBookmarkParam2, pitrRestoreBody2, healthSamplingTriggerBody2, dataExplorerDebugDoType2, DEBUG_READ_MAX_LIMIT2, DEBUG_READ_DEFAULT_LIMIT2, DEBUG_DO_HEX_PREFIX2, debugDoEntityId2, debugTableName2, dataExplorerDebugTablesParam2, dataExplorerDebugRowsParam2, dataExplorerDebugRowsQuery2, dataExplorerDebugAnalyticsTable2, debugUuid2, dataExplorerDebugAnalyticsRowsParam2, dataExplorerDebugAnalyticsRowsQuery2, debugHubConvParam2, debugMessageIdQuery2, sandboxEgressPolicy2, SANDBOX_EXEC_MAX_CMD_LENGTH2, SANDBOX_EXEC_MAX_ALLOWLIST2, SANDBOX_EXEC_MAX_TIMEOUT_MS2, adminSandboxExecBody2, META_ENTITY_ID_PATTERN2, metaEntityId2, whatsappCallbackBody2, authMeResponse2, wsTicketResponse2, sessionCheckResponse2, logoutResponse2, magicCodeSendBody2, magicCodeSendResponse2, magicCodeVerifyBody2, magicCodeVerifyResponse2, passwordLoginBody2, stateOperationBody2, conversationListResourcesQuery2, conversationReadResourceQuery2, listPendingSchedulesQuery2, listHubAggregateSchedulesQuery2, reportSourceSchema2, intakeReportSourceSchema2, reportClassificationSchema2, reportStatusSchema2, reportLocaleSchema2, reportMessageAuthorRoleSchema2, reportMessageSchema2, sentryRefStatusSchema2, createReportBody2, editReportBody2, reporterReportSummarySchema2, reporterListResponseSchema2, getReportResponseSchema2, reporterTransitionResponseSchema2, contestReportBody2, reporterListQuery2, listReportsQuery2, GITHUB_ISSUE_URL_REGEX2, githubIssueUrlSchema2, transitionReportBody2, groupReportsBody2, holdReportBody2, clickhouseReadyResponse2, bootstrapQuery2, MAX_NAME_LENGTH3, MAX_VALUE_LENGTH2, MAX_TAGS2, MAX_TAG_LENGTH2, MAX_SCOPE_HUBS2, MAX_SCOPE_TAGS2, vaultSecretScopeSchema2, vaultCreateBody2, vaultUpdateBody2, PERMISSIONS2, MAX_NAME_LENGTH22, MAX_HUBS_PER_GRANT2, MAX_HUB_TAGS_PER_GRANT2, MAX_GRANTS2, permissionEnum2, grantScopeSchema2, grantSchema2, createTokenBody2, tokenOrgIdParam2, invitePreviewQuery2, inviteRolePreviewResponse2, inviteContactPreviewResponse2, invitePreviewResponse2, inviteUnsubscribeBody2, jsonSchemaSchema2, hubUserIdentity2, stateValueEntry2, getHubUserContextResponse2, updateHubUserBody2, updateHubUserResponse2, unlockHubUserNameResponse2, stateResetParams2, stateResetResponse2, hubAlertsParam2, hubAlertSeverity2, hubAlert2, hubAlertsListResponse2, noticeSeveritySchema2, noticeStatusSchema2, NOTICE_SCOPE_REGEX2, noticeScopeSchema2, noticeLinkSchema2, createNoticeBody2, updateNoticeBody2, listNoticesQuery2, noticeIdParamSchema2, ADMIN_SKILL_NAME_REGEX2, adminSkillNameParam2, rekorBaseChangeMessageSchema2, DESKTOP_SHELL_VERSION_RE2, DESKTOP_PLATFORMS2, DESKTOP_FLAVORS2, desktopShellInfoSchema2, DESKTOP_PRESENCE_STATES2, desktopPresenceSchema2, desktopUpdateSchema2, DESKTOP_SIGN_IN_URL_MAX_LENGTH2, DESKTOP_APP_PATH_MAX_LENGTH2, desktopAppPathSchema2, DESKTOP_NOTIFICATION_KINDS2, DESKTOP_NOTIFICATION_TITLE_MAX_LENGTH2, DESKTOP_NOTIFICATION_BODY_MAX_LENGTH2, notificationTitleSchema2, notificationBodySchema2, desktopNotificationSchema2, DESKTOP_BADGE_MAX_COUNT2, DESKTOP_BADGE_LABEL_MAX_LENGTH2, desktopBadgeSchema2, desktopNavigateSchema2, desktopSettingsSchema2, desktopSettingsChangeSchema2, desktopBridgeArgsSchemas2, PEOPLE_CONTACT_PAGE_MAX2, PEOPLE_CONTACT_PAGE_DEFAULT2, PEOPLE_CONTACT_EMAIL_MAX_LENGTH2, peopleUserIdSchema2, peopleInviteEmailSchema2, peopleContactInviteBody2, peopleContactInviteIdParam2, peopleContactUserIdParam2, peopleContactBlockBody2, peopleContactPageQuery2, peopleOutgoingInviteSchema2, peopleContactPersonSchema2, peopleContactSchema2, peopleIncomingInviteSchema2, peopleBlockedUserSchema2, PEOPLE_THREAD_MESSAGE_MAX_LENGTH2, PEOPLE_THREAD_MESSAGES_PAGE_MAX2, PEOPLE_THREAD_PAGE_MAX2, PEOPLE_THREAD_PAGE_DEFAULT2, PEOPLE_GROUP_NAME_MAX_LENGTH2, PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH2, PEOPLE_THREAD_ATTACHMENT_MAX_BYTES2, PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH2, PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES2, PEOPLE_THREAD_ATTACHMENT_MAX_MB2, PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS2, PEOPLE_THREAD_ATTACHMENT_URLS_MAX2, peopleThreadIdParam2, peopleThreadMessageIdParam2, peopleThreadListQuery2, peopleThreadMessagesQuery2, peopleThreadAttachmentUploadSchema2, peopleThreadSendBody2, peopleThreadAttachmentUrlsBody2, peopleThreadReadBody2, peopleThreadSettingsBody2, peopleGroupNameSchema2, peopleGroupAvatarUrlSchema2, peopleGroupCreateBody2, peopleOrgDirectBody2, peopleGroupUpdateBody2, peopleGroupInviteBody2, peopleOrgErasureBody2, peopleGroupLeaveBody2, peopleGroupInviteIdParam2, peopleGroupIncomingInviteIdParam2, peopleGroupMemberParam2, peopleThreadKindSchema2, peopleThreadMemberSchema2, peopleThreadLastMessageSchema2, peopleGroupRoleSchema2, peopleGroupSummarySchema2, peopleThreadSummarySchema2, peopleThreadAttachmentSchema2, peopleThreadMessageSchema2, peopleGroupMemberSchema2, peopleGroupSentInviteSchema2, peopleGroupIncomingInviteSchema2, WAYAI_WORKSPACE_LAYOUT, decisionAnswerSchema, decisionsResponseSchema;
14682
14734
  var init_dist = __esm({
14683
14735
  "../../packages/core/dist/index.js"() {
14684
14736
  "use strict";
@@ -15012,21 +15064,109 @@ var init_dist = __esm({
15012
15064
  // authenticated caller). The fail-CLOSED brute-force guarantee for the static credential comes
15013
15065
  // from the route's per-email caps (burst + cumulative hourly), not this flag.
15014
15066
  "/api/auth/password/*": { tier: "STRICT", failClosed: true },
15067
+ // Every `/api/*` group whose paths carry ids pins `userLimitKey` (gh #4756), held there by
15068
+ // `security/endpoint-invariants.test.ts`.
15015
15069
  // Billing - moderate, fail-closed with user limits
15016
- "/api/billing/*": { tier: "MODERATE", userLimit: 100, failClosed: true, skipAuthenticatedUsers: true },
15070
+ "/api/billing/*": {
15071
+ tier: "MODERATE",
15072
+ userLimit: 100,
15073
+ failClosed: true,
15074
+ skipAuthenticatedUsers: true,
15075
+ userLimitKey: "/api/billing/*"
15076
+ },
15017
15077
  "/webhooks/stripe": { tier: "MODERATE", failClosed: true },
15018
15078
  "/webhooks/workos": { tier: "MODERATE", failClosed: true },
15019
15079
  // API endpoints - standard with user limits
15020
- "/api/setup/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15021
- "/api/conversations/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15080
+ // 500 because the web's settings live updates refetch per hub in every open tab, whatever page
15081
+ // it shows (`settingsLiveUpdateStore.ts`): one batch of changes costs about 10 + 4 per agent
15082
+ // whose tools were opened + 2 per loaded resource, so a CLI push and publish (both hubs) with
15083
+ // two tabs open passes 150 in a minute. A multi-file resource upload adds 2–5 per file.
15084
+ "/api/setup/*": {
15085
+ tier: "STANDARD",
15086
+ userLimit: 500,
15087
+ skipAuthenticatedUsers: true,
15088
+ userLimitKey: "/api/setup/*"
15089
+ },
15090
+ // 500 because an eval run's drill-down (`SessionResults.tsx`) fetches its list and then every
15091
+ // LLM turn's record at once: up to 201 requests (`OBSERVABILITY_LIST_CAP`, 200). Sending keeps
15092
+ // the 150 it had when each path held its own budget, on the exact key below.
15093
+ "/api/conversations/*": {
15094
+ tier: "STANDARD",
15095
+ userLimit: 500,
15096
+ skipAuthenticatedUsers: true,
15097
+ userLimitKey: "/api/conversations/*"
15098
+ },
15099
+ "/api/conversations/send-message": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15022
15100
  "/api/users/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15023
- "/api/analytics/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15024
- "/api/evals/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15101
+ "/api/analytics/*": {
15102
+ tier: "STANDARD",
15103
+ userLimit: 150,
15104
+ skipAuthenticatedUsers: true,
15105
+ userLimitKey: "/api/analytics/*"
15106
+ },
15107
+ // 500 because `wayai eval-results --eval` reads completed sessions one by one, newest first,
15108
+ // until one holds the eval (up to the 1000 the list returns). Tenant SQL keeps the 150 it had
15109
+ // when each path held its own budget: each query may run 30 s on shared-tenant ClickHouse
15110
+ // after its caller has gone (`sql-validator.ts`, stage 10b).
15111
+ "/api/evals/*": {
15112
+ tier: "STANDARD",
15113
+ userLimit: 500,
15114
+ skipAuthenticatedUsers: true,
15115
+ userLimitKey: "/api/evals/*"
15116
+ },
15117
+ "/api/evals/sql": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15118
+ // An eval run's calls (gh #4418), kept off the end user's call budgets below. Create keeps the
15119
+ // 150 it had: it opens a provider session on the org's own key, billed per second. The routes
15120
+ // on one call take a budget of their own so no eval read can spend it: a refused hang-up
15121
+ // leaves the call running, and billing. 500 because a call suite polls each run's record
15122
+ // every second, about 64 requests a minute per suite.
15123
+ "/api/evals/calls": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15124
+ "/api/evals/calls/*": {
15125
+ tier: "STANDARD",
15126
+ userLimit: 500,
15127
+ skipAuthenticatedUsers: true,
15128
+ userLimitKey: "/api/evals/calls/*"
15129
+ },
15025
15130
  "/api/files/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15026
- "/api/outbound/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15131
+ "/api/outbound/*": {
15132
+ tier: "STANDARD",
15133
+ userLimit: 150,
15134
+ skipAuthenticatedUsers: true,
15135
+ userLimitKey: "/api/outbound/*"
15136
+ },
15027
15137
  "/api/live-updates/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15028
- "/api/hub-users/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15029
- "/api/conversation-state/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
15138
+ "/api/hub-users/*": {
15139
+ tier: "STANDARD",
15140
+ userLimit: 150,
15141
+ skipAuthenticatedUsers: true,
15142
+ userLimitKey: "/api/hub-users/*"
15143
+ },
15144
+ "/api/conversation-state/*": {
15145
+ tier: "STANDARD",
15146
+ userLimit: 150,
15147
+ skipAuthenticatedUsers: true,
15148
+ userLimitKey: "/api/conversation-state/*"
15149
+ },
15150
+ // The authenticated byte route (`routes/files/r2.ts`), mounted after its `authMiddleware` so
15151
+ // the caller is known: each request reads the HubDO its key names, and a hub id never created
15152
+ // starts a Durable Object that tombstones itself with a KV write (gh #4747). The key is pinned
15153
+ // because the paths are file keys, which would otherwise each get a fresh budget (and one
15154
+ // over 256 characters would be refused outright, `checkUserLimitNative`).
15155
+ //
15156
+ // 500 a minute because the web chat fetches every attachment of every loaded message at
15157
+ // once, with no list virtualization: up to 50 per 50-message page, 200 per ended
15158
+ // conversation or history entry at one file per message, and 4 per message at most in its
15159
+ // image grid. Repeats come from the browser's HTTP cache (`private, max-age=3600`); mobile
15160
+ // renders through a disk cache and plays audio from `/files/signed`. The budget is shared by
15161
+ // a caller's tabs and devices. The other two byte routes, `/files/signed/*` and
15162
+ // `/files/public/*`, mount no limiter (the reason is at their entries in
15163
+ // `security/endpoint-invariants.test.ts`'s route registry).
15164
+ "/files/auth/*": {
15165
+ tier: "STANDARD",
15166
+ userLimit: 500,
15167
+ skipAuthenticatedUsers: true,
15168
+ userLimitKey: "/files/auth/*"
15169
+ },
15030
15170
  // Channel webhooks - high throughput (external systems, never authenticated)
15031
15171
  "/webhooks/whatsapp/*": { tier: "HIGH" },
15032
15172
  "/webhooks/instagram/*": { tier: "HIGH" },
@@ -15040,8 +15180,8 @@ var init_dist = __esm({
15040
15180
  // so a runaway create loop merges rather than floods. Still STRICT tier + failClosed so a
15041
15181
  // genuinely runaway distinct-report loop surfaces as 429. The `/*` is load-bearing — an
15042
15182
  // exact `/api/reports` key would leave the `/:id` paths unmatched (→ unthrottled).
15043
- // `userLimitKey` is equally load-bearing: without it, middleware falls back to each raw
15044
- // pathname and report IDs/actions receive independent counters instead of this shared budget.
15183
+ // `userLimitKey` is equally load-bearing: without it, middleware falls back to each request's
15184
+ // path and report IDs/actions receive independent counters instead of this shared budget.
15045
15185
  "/api/reports/*": {
15046
15186
  tier: "STRICT",
15047
15187
  userLimit: 60,
@@ -15055,7 +15195,7 @@ var init_dist = __esm({
15055
15195
  // cap so legitimate triage bursts aren't throttled (grouping is one request
15056
15196
  // even for many members); deliberately NOT failClosed so a Redis blip never
15057
15197
  // blocks an admin's triage. The bare GET reads share this budget harmlessly.
15058
- "/api/admin/reports/*": { tier: "STANDARD", userLimit: 150 },
15198
+ "/api/admin/reports/*": { tier: "STANDARD", userLimit: 150, userLimitKey: "/api/admin/reports/*" },
15059
15199
  // GitHub webhook (issues.closed → platform_report addressed). MODERATE +
15060
15200
  // fail-closed; GitHub retries on transient failures so a brief Redis blip
15061
15201
  // doesn't lose state.
@@ -15089,30 +15229,48 @@ var init_dist = __esm({
15089
15229
  // The mutating routes: initiate, the authenticated confirm, and cancel. Per user rather than
15090
15230
  // per IP — all three are authenticated and org-admin gated — and hourly, since a single human
15091
15231
  // touching thirty production-deletion operations in an hour is already far past normal.
15092
- // Longest-prefix wins, so the two entries above are not widened by this one.
15093
- [`${BASE_DESTRUCTION_PREFIX2}/*`]: { tier: "STANDARD", userLimit: 30, userWindow: 3600, failClosed: true },
15232
+ // Longest-prefix wins, so the two entries above are not widened by this one. The key is
15233
+ // pinned so those thirty are counted across every base the caller touches (gh #4756).
15234
+ [`${BASE_DESTRUCTION_PREFIX2}/*`]: {
15235
+ tier: "STANDARD",
15236
+ userLimit: 30,
15237
+ userWindow: 3600,
15238
+ failClosed: true,
15239
+ userLimitKey: `${BASE_DESTRUCTION_PREFIX2}/*`
15240
+ },
15094
15241
  // Email-invite preview — public, fail-closed. MODERATE (30/min IP) leaves
15095
15242
  // headroom for the signup-page server-fetch + reloads + prefetches; STRICT
15096
15243
  // would throttle legitimate users opening the link in multiple tabs.
15097
15244
  "/api/invites/preview": { tier: "MODERATE", failClosed: true },
15245
+ // "Don't email me again" (gh #4661) — public; one POST per click on its confirm page. STRICT
15246
+ // per IP. No `failClosed`: it is consulted only on the per-user branch, which a pre-auth route
15247
+ // never reaches (see `BASE_DESTRUCTION_CONFIRM_PATH` above).
15248
+ "/api/invites/unsubscribe": { tier: "STRICT" },
15098
15249
  // Admin DO debug reads — the ONE deliberate deviation from the Data Explorer
15099
15250
  // catch-all below, and the only reason a per-route key still exists here.
15100
15251
  // Platform-admin is enforced at the route; this is the independent
15101
15252
  // defense-in-depth signal so a runaway investigation script surfaces as 429.
15102
15253
  //
15103
- // STRICT is kept ON PURPOSE even though the catch-all moved off it, because
15104
- // `tier` is the only layer that bounds enumeration on this surface: the
15105
- // per-user cap keys on the RAW pathname (see the CAVEAT below), so sweeping
15106
- // `/debug/do/hub/<id>/tables` across thousands of ids never trips it. At 5/min
15107
- // vs STANDARD's 100/min, walking 10k ids takes ~33h instead of ~100min — a
15108
- // detection window worth keeping on the routes that return RAW DO ROWS.
15254
+ // STRICT is kept ON PURPOSE even though the catch-all moved off it: per IP, at 5/min vs
15255
+ // STANDARD's 100/min, walking 10k ids takes ~33h instead of ~100min — a detection window
15256
+ // worth keeping on the routes that return RAW DO ROWS.
15109
15257
  //
15110
15258
  // The cost, stated rather than elided: STRICT is one bucket shared with
15111
15259
  // `/oauth/callback/*` and `/api/auth/magic-code/*`, so a debug session from a
15112
15260
  // NAT'd office IP can 429 a colleague's login for up to a minute. That trade is
15113
15261
  // accepted for a rare, deliberate investigation surface — and is exactly why the
15114
15262
  // browse routes below are NOT here.
15115
- "/api/admin/data-explorer/debug/*": { tier: "STRICT", userLimit: 60, userWindow: 3600, failClosed: true },
15263
+ //
15264
+ // The key is pinned, so a sweep of `/debug/do/hub/<id>/tables` across ids spends one
15265
+ // per-admin budget (gh #4756). 120 an hour: an agent's investigation of a dozen
15266
+ // conversations made 37 debug reads in its busiest hour.
15267
+ "/api/admin/data-explorer/debug/*": {
15268
+ tier: "STRICT",
15269
+ userLimit: 120,
15270
+ userWindow: 3600,
15271
+ failClosed: true,
15272
+ userLimitKey: "/api/admin/data-explorer/debug/*"
15273
+ },
15116
15274
  // Catch-all for the rest of the Data Explorer (`/search`, `/entity/*`, `/do/*`,
15117
15275
  // `/kv/*`, the DELETE routes). Added as a catch-all rather than another per-route
15118
15276
  // key because this budget kept lagging behind routes joining the debug boundary:
@@ -15131,8 +15289,8 @@ var init_dist = __esm({
15131
15289
  // `/oauth/callback/*` and `/api/auth/magic-code/*`, which on a NAT'd office IP
15132
15290
  // means all admins. The per-user hourly cap is the leg that matters here.
15133
15291
  //
15134
- // The canonical key is deliberate: raw pathnames contain DO ids and arbitrary
15135
- // malformed requests can contain credential material. Keying on the raw pathname
15292
+ // The canonical key is deliberate: request paths contain DO ids and arbitrary
15293
+ // malformed requests can contain credential material. Keying on the request path
15136
15294
  // both stores that material in Redis/logs and gives every target a fresh counter.
15137
15295
  // One stable identity makes every browse request consume the same per-admin
15138
15296
  // budget without storing request targets.
@@ -15148,17 +15306,29 @@ var init_dist = __esm({
15148
15306
  },
15149
15307
  // Admin sandbox exec (harness-agents PR 1.5) — this is ARBITRARY CODE EXECUTION,
15150
15308
  // so it gets the strictest budget on the platform: STRICT tier + a low per-user
15151
- // hourly cap (well below the 60/hr debug-read cap) + fail-closed. Platform-admin
15309
+ // hourly cap (well below the debug-read cap) + fail-closed. Platform-admin
15152
15310
  // is enforced at the route; this is the independent defense-in-depth signal so a
15153
15311
  // runaway exec loop surfaces as 429 instead of silently provisioning sandboxes.
15154
- "/api/admin/sandbox/*": { tier: "STRICT", userLimit: 20, userWindow: 3600, failClosed: true },
15312
+ "/api/admin/sandbox/*": {
15313
+ tier: "STRICT",
15314
+ userLimit: 20,
15315
+ userWindow: 3600,
15316
+ failClosed: true,
15317
+ userLimitKey: "/api/admin/sandbox/*"
15318
+ },
15155
15319
  // Admin harness incident-response (harness-agents PR 2.9b) — mass-destroy reaps
15156
15320
  // EVERY live harness sandbox/token/slot in scope, so it gets a strict budget
15157
15321
  // (STRICT + a low per-user hourly cap + fail-closed). Platform-admin is enforced
15158
15322
  // at the route; this is the independent defense-in-depth signal so a runaway
15159
15323
  // reap loop surfaces as 429. The break-glass disable/enable rides through
15160
15324
  // `/api/admin/config` (its own STANDARD budget), not this key.
15161
- "/api/admin/harness/*": { tier: "STRICT", userLimit: 10, userWindow: 3600, failClosed: true },
15325
+ "/api/admin/harness/*": {
15326
+ tier: "STRICT",
15327
+ userLimit: 10,
15328
+ userWindow: 3600,
15329
+ failClosed: true,
15330
+ userLimitKey: "/api/admin/harness/*"
15331
+ },
15162
15332
  // Platform-wide team-orphan repair — a single call can WRITE across every hub of
15163
15333
  // every org (HubDO purge + UserDO mirror fan-out), so it gets the same strict,
15164
15334
  // fail-closed budget as the other cross-platform admin write. Exact path (not a
@@ -15170,13 +15340,15 @@ var init_dist = __esm({
15170
15340
  // fans out over every production hub of every org, so it takes the same strict,
15171
15341
  // fail-closed budget as the team-orphan repair. Exact path, for the same reason.
15172
15342
  "/api/admin/hubs/repair-branching-orphans": { tier: "STRICT", userLimit: 10, userWindow: 3600, failClosed: true },
15173
- // CI/GitOps endpoints - standard with user limits
15174
- "/api/ci/*": { tier: "STANDARD", userLimit: 100, skipAuthenticatedUsers: true },
15175
- // Attested `/v1` proxy onto the Rekor Worker. `userLimitKey` is load-bearing here in a
15176
- // way it is not for the siblings above: the per-user budget defaults to the full request
15177
- // path, and this surface's paths carry base, record, and file ids — so without a pinned
15178
- // key every distinct resource would get its own fresh budget and the per-user limit
15179
- // would bound nothing. One shared budget across the whole data surface is the intent.
15343
+ // CI/GitOps endpoints - standard with user limits. 500 because `wayai push` makes four requests
15344
+ // (pull, diff, push, pull) and a GitOps job may push every hub at once with one token; when
15345
+ // each path held its own 100, that ran to 100 hubs a minute.
15346
+ "/api/ci/*": { tier: "STANDARD", userLimit: 500, skipAuthenticatedUsers: true, userLimitKey: "/api/ci/*" },
15347
+ // Attested `/v1` proxy onto the Rekor Worker. `userLimitKey` is load-bearing here: the
15348
+ // per-user budget defaults to the full request path, and this surface's paths carry base,
15349
+ // record, and file ids — so without a pinned key every distinct resource would get its own
15350
+ // fresh budget and the per-user limit would bound nothing. One shared budget across the
15351
+ // whole data surface is the intent.
15180
15352
  [`${DATA_PROXY_PREFIX2}/*`]: {
15181
15353
  tier: "STANDARD",
15182
15354
  userLimit: 150,
@@ -15239,6 +15411,16 @@ var init_dist = __esm({
15239
15411
  skipAuthenticatedUsers: true,
15240
15412
  userLimitKey: "/api/threads/*"
15241
15413
  },
15414
+ // An org admin's erasure of one person's thread messages (gh #4661 owner decision 7): any user
15415
+ // can own a free org, so each request arms that org's alarm, and this caps how fast one person
15416
+ // can ask. The org's own daily cap (`PEOPLE_ORG_ERASURES_PER_DAY`, counted in its OrgDO in the
15417
+ // write it bounds) is the fail-closed bound; this budget, on the native binding, fails open.
15418
+ "/api/threads/org-erasures": {
15419
+ tier: "STANDARD",
15420
+ userLimit: 10,
15421
+ skipAuthenticatedUsers: true,
15422
+ userLimitKey: "/api/threads/org-erasures"
15423
+ },
15242
15424
  // App channel - high throughput with user limits
15243
15425
  "/channels/app/*": { tier: "HIGH", userLimit: 500, skipAuthenticatedUsers: true },
15244
15426
  // API channel (api-channel-connector) - machine-to-machine, high throughput
@@ -15302,10 +15484,6 @@ var init_dist = __esm({
15302
15484
  SUPPORTED_LOCALES2 = ["en", "pt", "es"];
15303
15485
  uuidSchema2 = external_exports.string().uuid();
15304
15486
  USER_ID_REGEX2 = /^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|user_[A-Za-z0-9]+)$/i;
15305
- paginationSchema3 = external_exports.object({
15306
- limit: external_exports.coerce.number().int().min(1).max(100).default(50),
15307
- offset: external_exports.coerce.number().int().min(0).default(0)
15308
- });
15309
15487
  timestampSchema2 = external_exports.string().datetime();
15310
15488
  idParamSchema2 = external_exports.object({
15311
15489
  id: uuidSchema2
@@ -17530,7 +17708,7 @@ var init_dist = __esm({
17530
17708
  EVAL_RUN_DEADLINE_MIN_MS2 = 1e3;
17531
17709
  EVAL_RUN_DEADLINE_MAX_MS2 = 18e5;
17532
17710
  ISO_UTC_RE2 = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
17533
- paginationSchema22 = external_exports.object({
17711
+ paginationSchema2 = external_exports.object({
17534
17712
  limit: external_exports.number().int().positive().max(1e3).default(50),
17535
17713
  offset: external_exports.number().int().min(0).default(0)
17536
17714
  }).optional();
@@ -19378,7 +19556,13 @@ var init_dist = __esm({
19378
19556
  token: external_exports.string().min(1).max(512),
19379
19557
  platform: external_exports.enum(["ios", "android"]),
19380
19558
  /** Stable per-install id so re-registration replaces the prior token for the device. */
19381
- device_id: external_exports.string().min(1).max(128).optional()
19559
+ device_id: external_exports.string().min(1).max(128).optional(),
19560
+ /**
19561
+ * The build opens a person-to-person thread from a push (gh #4661): only a token registered
19562
+ * with it receives thread pushes, whose `data` carries `thread_id` and no `conversation_id`.
19563
+ * Each registration states it afresh, so a build that sends none clears it.
19564
+ */
19565
+ supports_threads: external_exports.boolean().optional()
19382
19566
  });
19383
19567
  deletePushTokenQuery2 = external_exports.object({
19384
19568
  token: external_exports.string().min(1).max(512)
@@ -19418,6 +19602,9 @@ var init_dist = __esm({
19418
19602
  conversationIdParam2 = external_exports.object({
19419
19603
  id: external_exports.string().uuid()
19420
19604
  });
19605
+ conversationHubQuery2 = external_exports.object({
19606
+ hub_id: external_exports.string().uuid().optional()
19607
+ });
19421
19608
  claimBody2 = external_exports.object({
19422
19609
  hub_id: external_exports.string().uuid(),
19423
19610
  new_team_id: external_exports.string().uuid(),
@@ -19838,10 +20025,11 @@ var init_dist = __esm({
19838
20025
  agent_id: external_exports.string().uuid(),
19839
20026
  hub_id: external_exports.string().uuid()
19840
20027
  });
20028
+ SIGN_URL_MAX_EXPIRES_IN_SECONDS2 = 3600;
19841
20029
  signUrlBody2 = external_exports.object({
19842
20030
  bucket: external_exports.string(),
19843
20031
  filePath: external_exports.string(),
19844
- expiresIn: external_exports.number().int().positive().optional()
20032
+ expiresIn: external_exports.number().int().positive().max(SIGN_URL_MAX_EXPIRES_IN_SECONDS2).optional()
19845
20033
  });
19846
20034
  outboundSchemaQuery2 = external_exports.object({
19847
20035
  type: external_exports.enum(["whatsapp", "email", "app", "all"]).default("all")
@@ -20829,10 +21017,6 @@ var init_dist = __esm({
20829
21017
  */
20830
21018
  active_thread_id: external_exports.string().uuid().optional()
20831
21019
  });
20832
- requestSnapshotChunkMessage2 = external_exports.object({
20833
- type: external_exports.literal("request_snapshot_chunk"),
20834
- cursor: external_exports.string()
20835
- });
20836
21020
  MAX_NAME_LENGTH3 = 100;
20837
21021
  MAX_VALUE_LENGTH2 = 32 * 1024;
20838
21022
  MAX_TAGS2 = 20;
@@ -20900,53 +21084,10 @@ var init_dist = __esm({
20900
21084
  ).optional()
20901
21085
  });
20902
21086
  tokenOrgIdParam2 = external_exports.object({ orgId: uuidSchema2 });
20903
- tokenGrantScopeSchema2 = external_exports.object({
20904
- org_id: external_exports.string().min(1),
20905
- hubs: external_exports.array(external_exports.string().min(1)).min(1),
20906
- hub_tags: external_exports.array(external_exports.string().min(1)).min(1).optional(),
20907
- environments: external_exports.array(external_exports.enum(["production", "preview"])).min(1).optional()
20908
- });
20909
- tokenGrantSchema2 = external_exports.object({
20910
- scope: tokenGrantScopeSchema2,
20911
- permissions: external_exports.array(external_exports.enum(PERMISSIONS2)).min(1)
20912
- });
20913
- tokenMetadataSchema2 = external_exports.object({
20914
- token_id: external_exports.string(),
20915
- name: external_exports.string(),
20916
- token_prefix: external_exports.string(),
20917
- grants: external_exports.array(tokenGrantSchema2),
20918
- created_at: external_exports.string(),
20919
- expires_at: external_exports.string().optional(),
20920
- last_used_at: external_exports.string().optional()
20921
- });
20922
- listTokensResponse2 = external_exports.object({
20923
- data: external_exports.array(tokenMetadataSchema2)
20924
- });
20925
- createTokenResponse2 = external_exports.object({
20926
- data: external_exports.object({
20927
- token: external_exports.string(),
20928
- token_id: external_exports.string(),
20929
- name: external_exports.string(),
20930
- expires_at: external_exports.string().optional()
20931
- })
20932
- });
20933
- orgTokenSummarySchema2 = external_exports.object({
20934
- token_id: external_exports.string(),
20935
- name: external_exports.string(),
20936
- token_prefix: external_exports.string(),
20937
- owner_user_id: external_exports.string(),
20938
- created_at: external_exports.string(),
20939
- expires_at: external_exports.string().optional(),
20940
- last_used_at: external_exports.string().optional(),
20941
- grants_for_org: external_exports.array(tokenGrantSchema2)
20942
- });
20943
- listOrgTokensResponse2 = external_exports.object({
20944
- data: external_exports.array(orgTokenSummarySchema2)
20945
- });
20946
21087
  invitePreviewQuery2 = external_exports.object({
20947
21088
  token: external_exports.string().min(1).max(2048)
20948
21089
  });
20949
- invitePreviewResponse2 = external_exports.object({
21090
+ inviteRolePreviewResponse2 = external_exports.object({
20950
21091
  inviter_name: external_exports.string(),
20951
21092
  entity_id: external_exports.string().uuid(),
20952
21093
  entity_name: external_exports.string(),
@@ -20954,6 +21095,15 @@ var init_dist = __esm({
20954
21095
  role: external_exports.enum(["org_admin", "admin", "team_user", "user"]),
20955
21096
  expires_at: external_exports.string().datetime()
20956
21097
  });
21098
+ inviteContactPreviewResponse2 = external_exports.object({
21099
+ inviter_name: external_exports.string().nullable(),
21100
+ entity_id: external_exports.string().uuid(),
21101
+ entity_type: external_exports.literal("contact"),
21102
+ role: external_exports.literal("contact"),
21103
+ expires_at: external_exports.string().datetime()
21104
+ });
21105
+ invitePreviewResponse2 = external_exports.union([inviteRolePreviewResponse2, inviteContactPreviewResponse2]);
21106
+ inviteUnsubscribeBody2 = external_exports.object({ token: external_exports.string().min(1).max(256) }).strict();
20957
21107
  jsonSchemaSchema2 = external_exports.record(external_exports.unknown());
20958
21108
  hubUserIdentity2 = external_exports.object({
20959
21109
  user_id: external_exports.string().nullable(),
@@ -21175,8 +21325,9 @@ var init_dist = __esm({
21175
21325
  PEOPLE_CONTACT_PAGE_DEFAULT2 = 50;
21176
21326
  PEOPLE_CONTACT_EMAIL_MAX_LENGTH2 = 254;
21177
21327
  peopleUserIdSchema2 = external_exports.string().max(64).regex(USER_ID_REGEX2, "must be a user id");
21328
+ peopleInviteEmailSchema2 = external_exports.string().trim().max(PEOPLE_CONTACT_EMAIL_MAX_LENGTH2).email();
21178
21329
  peopleContactInviteBody2 = external_exports.object({
21179
- email: external_exports.string().trim().max(PEOPLE_CONTACT_EMAIL_MAX_LENGTH2).email()
21330
+ email: peopleInviteEmailSchema2
21180
21331
  }).strict();
21181
21332
  peopleContactInviteIdParam2 = external_exports.object({ inviteId: uuidSchema2 });
21182
21333
  peopleContactUserIdParam2 = external_exports.object({ userId: peopleUserIdSchema2 });
@@ -21209,6 +21360,14 @@ var init_dist = __esm({
21209
21360
  PEOPLE_THREAD_MESSAGES_PAGE_MAX2 = 50;
21210
21361
  PEOPLE_THREAD_PAGE_MAX2 = 100;
21211
21362
  PEOPLE_THREAD_PAGE_DEFAULT2 = 50;
21363
+ PEOPLE_GROUP_NAME_MAX_LENGTH2 = 100;
21364
+ PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH2 = 2048;
21365
+ PEOPLE_THREAD_ATTACHMENT_MAX_BYTES2 = 7 * 1024 * 1024;
21366
+ PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH2 = 255;
21367
+ PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES2 = 1024 * 1024 * 1024;
21368
+ PEOPLE_THREAD_ATTACHMENT_MAX_MB2 = Math.floor(PEOPLE_THREAD_ATTACHMENT_MAX_BYTES2 / (1024 * 1024));
21369
+ PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS2 = 15 * 60;
21370
+ PEOPLE_THREAD_ATTACHMENT_URLS_MAX2 = PEOPLE_THREAD_MESSAGES_PAGE_MAX2;
21212
21371
  peopleThreadIdParam2 = external_exports.object({ threadId: uuidSchema2 });
21213
21372
  peopleThreadMessageIdParam2 = external_exports.object({ threadId: uuidSchema2, messageId: uuidSchema2 });
21214
21373
  peopleThreadListQuery2 = external_exports.object({
@@ -21219,15 +21378,51 @@ var init_dist = __esm({
21219
21378
  before_seq: external_exports.coerce.number().int().min(1).optional(),
21220
21379
  limit: external_exports.coerce.number().int().min(1).max(PEOPLE_THREAD_MESSAGES_PAGE_MAX2).default(PEOPLE_THREAD_MESSAGES_PAGE_MAX2)
21221
21380
  });
21222
- peopleThreadSendBody2 = external_exports.object({
21223
- body: external_exports.string().max(PEOPLE_THREAD_MESSAGE_MAX_LENGTH2).refine((s) => s.trim().length > 0, "must not be empty"),
21224
- client_message_id: uuidSchema2.optional()
21381
+ peopleThreadAttachmentUploadSchema2 = external_exports.object({
21382
+ file_name: external_exports.string().trim().min(1).max(PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH2),
21383
+ file_binary: external_exports.string().min(1)
21225
21384
  }).strict();
21385
+ peopleThreadSendBody2 = external_exports.object({
21386
+ body: external_exports.string().max(PEOPLE_THREAD_MESSAGE_MAX_LENGTH2).default(""),
21387
+ client_message_id: uuidSchema2.optional(),
21388
+ attachment: peopleThreadAttachmentUploadSchema2.optional()
21389
+ }).strict().refine((b) => b.body.trim().length > 0 || b.attachment !== void 0, {
21390
+ message: "must not be empty",
21391
+ path: ["body"]
21392
+ });
21393
+ peopleThreadAttachmentUrlsBody2 = external_exports.object({ attachment_ids: external_exports.array(uuidSchema2).min(1).max(PEOPLE_THREAD_ATTACHMENT_URLS_MAX2) }).strict();
21226
21394
  peopleThreadReadBody2 = external_exports.object({ seq: external_exports.number().int().min(0) }).strict();
21227
21395
  peopleThreadSettingsBody2 = external_exports.object({
21228
21396
  muted: external_exports.boolean().optional(),
21229
21397
  hidden: external_exports.boolean().optional()
21230
21398
  }).strict().refine((b) => b.muted !== void 0 || b.hidden !== void 0, "nothing to change");
21399
+ peopleGroupNameSchema2 = external_exports.string().trim().min(1).max(PEOPLE_GROUP_NAME_MAX_LENGTH2);
21400
+ peopleGroupAvatarUrlSchema2 = external_exports.string().max(PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH2).url().refine((s) => s.startsWith("https://"), "must be an https URL");
21401
+ peopleGroupCreateBody2 = external_exports.object({
21402
+ name: peopleGroupNameSchema2,
21403
+ avatar_url: peopleGroupAvatarUrlSchema2.nullable().optional(),
21404
+ org_id: uuidSchema2.optional()
21405
+ }).strict();
21406
+ peopleOrgDirectBody2 = external_exports.object({
21407
+ org_id: uuidSchema2,
21408
+ user_id: peopleUserIdSchema2
21409
+ }).strict();
21410
+ peopleGroupUpdateBody2 = external_exports.object({
21411
+ name: peopleGroupNameSchema2.optional(),
21412
+ avatar_url: peopleGroupAvatarUrlSchema2.nullable().optional()
21413
+ }).strict().refine((b) => b.name !== void 0 || b.avatar_url !== void 0, "nothing to change");
21414
+ peopleGroupInviteBody2 = external_exports.union([
21415
+ external_exports.object({ user_id: peopleUserIdSchema2 }).strict(),
21416
+ external_exports.object({ email: peopleInviteEmailSchema2 }).strict()
21417
+ ]);
21418
+ peopleOrgErasureBody2 = external_exports.object({
21419
+ org_id: uuidSchema2,
21420
+ email: peopleInviteEmailSchema2
21421
+ }).strict();
21422
+ peopleGroupLeaveBody2 = external_exports.object({ delete_my_messages: external_exports.boolean().optional() }).strict();
21423
+ peopleGroupInviteIdParam2 = external_exports.object({ threadId: uuidSchema2, inviteId: uuidSchema2 });
21424
+ peopleGroupIncomingInviteIdParam2 = external_exports.object({ inviteId: uuidSchema2 });
21425
+ peopleGroupMemberParam2 = external_exports.object({ threadId: uuidSchema2, userId: peopleUserIdSchema2 });
21231
21426
  peopleThreadKindSchema2 = external_exports.enum(["dm", "group"]);
21232
21427
  peopleThreadMemberSchema2 = external_exports.object({
21233
21428
  user_id: peopleUserIdSchema2,
@@ -21242,6 +21437,12 @@ var init_dist = __esm({
21242
21437
  deleted: external_exports.boolean(),
21243
21438
  created_at: timestampSchema2
21244
21439
  }).strict();
21440
+ peopleGroupRoleSchema2 = external_exports.enum(["admin", "member"]);
21441
+ peopleGroupSummarySchema2 = external_exports.object({
21442
+ membership: external_exports.enum(["member", "removed", "left"]),
21443
+ role: peopleGroupRoleSchema2.nullable(),
21444
+ avatar_url: external_exports.string().nullable()
21445
+ }).strict();
21245
21446
  peopleThreadSummarySchema2 = external_exports.object({
21246
21447
  thread_id: uuidSchema2,
21247
21448
  kind: peopleThreadKindSchema2,
@@ -21256,7 +21457,14 @@ var init_dist = __esm({
21256
21457
  unread_count: external_exports.number().int().nonnegative(),
21257
21458
  muted: external_exports.boolean(),
21258
21459
  hidden: external_exports.boolean(),
21259
- writable: external_exports.boolean()
21460
+ writable: external_exports.boolean(),
21461
+ group: peopleGroupSummarySchema2.nullable().optional()
21462
+ }).strict();
21463
+ peopleThreadAttachmentSchema2 = external_exports.object({
21464
+ attachment_id: uuidSchema2,
21465
+ file_name: external_exports.string(),
21466
+ content_type: external_exports.string(),
21467
+ size_bytes: external_exports.number().int().positive()
21260
21468
  }).strict();
21261
21469
  peopleThreadMessageSchema2 = external_exports.object({
21262
21470
  message_id: uuidSchema2,
@@ -21266,7 +21474,27 @@ var init_dist = __esm({
21266
21474
  deleted: external_exports.boolean(),
21267
21475
  created_at: timestampSchema2,
21268
21476
  deleted_at: timestampSchema2.nullable(),
21269
- client_message_id: uuidSchema2.nullable()
21477
+ client_message_id: uuidSchema2.nullable(),
21478
+ attachment: peopleThreadAttachmentSchema2.nullable().optional()
21479
+ }).strict();
21480
+ peopleGroupMemberSchema2 = peopleThreadMemberSchema2.extend({ role: peopleGroupRoleSchema2, joined_at: timestampSchema2 }).strict();
21481
+ peopleGroupSentInviteSchema2 = external_exports.object({
21482
+ invite_id: uuidSchema2,
21483
+ invitee: peopleThreadMemberSchema2,
21484
+ invitee_email: external_exports.string().nullable().optional(),
21485
+ status: external_exports.literal("sent"),
21486
+ created_at: timestampSchema2,
21487
+ expires_at: timestampSchema2
21488
+ }).strict();
21489
+ peopleGroupIncomingInviteSchema2 = external_exports.object({
21490
+ invite_id: uuidSchema2,
21491
+ thread_id: uuidSchema2,
21492
+ kind: peopleThreadKindSchema2.optional(),
21493
+ group: external_exports.object({ name: external_exports.string() }).strict(),
21494
+ org: external_exports.object({ org_id: external_exports.string(), org_name: external_exports.string().nullable() }).strict().nullable().optional(),
21495
+ inviter: external_exports.object({ user_id: peopleUserIdSchema2, display_name: external_exports.string().nullable(), email: external_exports.string().nullable() }).strict(),
21496
+ created_at: timestampSchema2,
21497
+ expires_at: timestampSchema2
21270
21498
  }).strict();
21271
21499
  WAYAI_WORKSPACE_LAYOUT = {
21272
21500
  /** Product-namespaced root dir at the git root. */
@@ -28853,14 +29081,14 @@ var init_cross_hub_conversations = __esm({
28853
29081
  async function runConversationObservability(client, hubId, conversationId, opts) {
28854
29082
  if (opts.messageId) {
28855
29083
  const result2 = await fallbackOn404(
28856
- () => client.getMessageObservability(conversationId, opts.messageId),
29084
+ () => client.getMessageObservability(hubId, conversationId, opts.messageId),
28857
29085
  () => client.getArchivedMessageObservability(hubId, conversationId, opts.messageId)
28858
29086
  );
28859
29087
  renderRecord(result2.data, opts.jsonOutput);
28860
29088
  return;
28861
29089
  }
28862
29090
  const result = await fallbackOn404(
28863
- () => client.listConversationObservability(conversationId),
29091
+ () => client.listConversationObservability(hubId, conversationId),
28864
29092
  () => client.listArchivedConversationObservability(hubId, conversationId)
28865
29093
  );
28866
29094
  renderList({
@@ -35563,7 +35791,7 @@ function exitOnApiError(err) {
35563
35791
  process.exit(1);
35564
35792
  }
35565
35793
  if (err.status === 429) {
35566
- console.error("Rate limited. `wayai admin` is capped at 60 reads/hour per user.");
35794
+ console.error("Rate limited. `wayai admin` is capped at 120 reads/hour per user.");
35567
35795
  process.exit(1);
35568
35796
  }
35569
35797
  if (err.status === 503) {
@@ -36096,7 +36324,7 @@ Examples:
36096
36324
 
36097
36325
  Audit + rate limit:
36098
36326
  Every successful read is logged as admin_debug_read (queryable in Grafana
36099
- Loki \u2014 info-level events are NOT sent to Sentry). Capped at 60 reads/hour/user
36327
+ Loki \u2014 info-level events are NOT sent to Sentry). Capped at 120 reads/hour/user
36100
36328
  across all sources. Platform-admin grant required.
36101
36329
  `.trim());
36102
36330
  }