@wayai/cli 0.3.193 → 0.3.194

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
@@ -6896,7 +6896,7 @@ var init_chunk_2ISUBJG7 = __esm({
6896
6896
  }
6897
6897
  });
6898
6898
 
6899
- // ../../packages/core/dist/chunk-NCJ3EXN7.js
6899
+ // ../../packages/core/dist/chunk-Z6GKZO4F.js
6900
6900
  function containsKanbanPlaceholders(value) {
6901
6901
  if (value == null) return false;
6902
6902
  const serialized = typeof value === "string" ? value : JSON.stringify(value);
@@ -8143,8 +8143,8 @@ function refineHubAsCodeMonitorRulesOutput(config, ctx) {
8143
8143
  });
8144
8144
  }
8145
8145
  var PLACEHOLDER_TOKENS, ALLOWED_TYPES, SUBSCHEMA_OBJECT_KEYWORDS, SUBSCHEMA_LIST_KEYWORDS, SUBSCHEMA_MAP_KEYWORDS, MAX_SCHEMA_DEPTH, 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, 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, toolIdParam, listToolsQuery, toolAgentQuery, deleteToolQuery, toolConnectionsQuery, nativeToolIdSchema, CONTEXT_BOUNDARIES, contextBoundarySchema, addNativeToolBody, addMcpToolBody, createCustomToolBody, updateCustomToolBody, updateToolExecutionConfigBody, PREVIOUS_CONVERSATIONS_MAX, 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, 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, MAX_RESOURCE_FILE_SIZE, 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, 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;
8146
- var init_chunk_NCJ3EXN7 = __esm({
8147
- "../../packages/core/dist/chunk-NCJ3EXN7.js"() {
8146
+ var init_chunk_Z6GKZO4F = __esm({
8147
+ "../../packages/core/dist/chunk-Z6GKZO4F.js"() {
8148
8148
  "use strict";
8149
8149
  init_chunk_SNA2DXAC();
8150
8150
  init_chunk_IBL7FANV();
@@ -9263,9 +9263,6 @@ var init_chunk_NCJ3EXN7 = __esm({
9263
9263
  "eval",
9264
9264
  "hub_config",
9265
9265
  "journey",
9266
- "outbound_contact",
9267
- "outbound_list",
9268
- "outbound_list_contact",
9269
9266
  "resource",
9270
9267
  "resource_file",
9271
9268
  "state",
@@ -9326,12 +9323,6 @@ var init_chunk_NCJ3EXN7 = __esm({
9326
9323
  journeys_created: ciSyncCountSchema,
9327
9324
  journeys_updated: ciSyncCountSchema,
9328
9325
  journeys_deleted: ciSyncCountSchema,
9329
- outbound_contacts_created: ciSyncCountSchema,
9330
- outbound_contacts_updated: ciSyncCountSchema,
9331
- outbound_contacts_deleted: ciSyncCountSchema,
9332
- outbound_lists_created: ciSyncCountSchema,
9333
- outbound_lists_updated: ciSyncCountSchema,
9334
- outbound_lists_deleted: ciSyncCountSchema,
9335
9326
  automations_created: ciSyncCountSchema,
9336
9327
  automations_updated: ciSyncCountSchema,
9337
9328
  automations_deleted: ciSyncCountSchema
@@ -9353,10 +9344,10 @@ var init_chunk_NCJ3EXN7 = __esm({
9353
9344
  }
9354
9345
  });
9355
9346
 
9356
- // ../../packages/core/dist/chunk-XJDAH2N7.js
9347
+ // ../../packages/core/dist/chunk-VORPHGDT.js
9357
9348
  var PERMISSIONS;
9358
- var init_chunk_XJDAH2N7 = __esm({
9359
- "../../packages/core/dist/chunk-XJDAH2N7.js"() {
9349
+ var init_chunk_VORPHGDT = __esm({
9350
+ "../../packages/core/dist/chunk-VORPHGDT.js"() {
9360
9351
  "use strict";
9361
9352
  PERMISSIONS = [
9362
9353
  "hub:read",
@@ -9370,13 +9361,14 @@ var init_chunk_XJDAH2N7 = __esm({
9370
9361
  "org:read",
9371
9362
  "org:write",
9372
9363
  "org:admin",
9364
+ "contacts:write",
9373
9365
  "platform:admin",
9374
9366
  "*"
9375
9367
  ];
9376
9368
  }
9377
9369
  });
9378
9370
 
9379
- // ../../packages/core/dist/chunk-UBWCEXTH.js
9371
+ // ../../packages/core/dist/chunk-VIHOXNPF.js
9380
9372
  function refineLaneReferences(val, ctx) {
9381
9373
  const lanes = val.lanes;
9382
9374
  const statuses = val.kanban_statuses;
@@ -9388,6 +9380,17 @@ function refineLaneReferences(val, ctx) {
9388
9380
  function cacheReconcileIdCount(body) {
9389
9381
  return body.conversations.length + body.histories.reduce((n, history) => n + history.conversation_ids.length, 0) + body.threads.length;
9390
9382
  }
9383
+ function normalizeContactPhone(raw) {
9384
+ const compact = raw.trim().replace(/[\s\-.()]/g, "");
9385
+ const withPlus = compact.startsWith("00") ? `+${compact.slice(2)}` : compact;
9386
+ return /^\+[1-9]\d{7,14}$/.test(withPlus) ? withPlus : null;
9387
+ }
9388
+ function normalizeContactLabel(raw) {
9389
+ return raw.trim().replace(/\s+/g, " ").toLowerCase();
9390
+ }
9391
+ function importRowLabels(row, batchLabels) {
9392
+ return [.../* @__PURE__ */ new Set([...row.labels ?? [], ...batchLabels ?? []])];
9393
+ }
9391
9394
  function refineScopedTarget(data, ctx) {
9392
9395
  if (data.scope === "org") {
9393
9396
  if (!data.org_id) {
@@ -9430,15 +9433,15 @@ function parseCommunityLessonVideoUrl(url) {
9430
9433
  }
9431
9434
  return id !== void 0 && YOUTUBE_ID.test(id) ? { provider: "youtube", id } : null;
9432
9435
  }
9433
- var primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, hubTagsField, createHubBody, updateHubBody, HUB_TAG_CHANGE_REFUSED, hubTagChangeRefusalSchema, 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, 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, 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, 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, CACHE_RECONCILE_MAX_IDS, CACHE_RECONCILE_MAX_HUBS, cacheReconcileScopeSchema, cachedConversationPageSchema, cachedHistoryThreadSchema, cachedPeopleThreadSchema, cacheReconcileBody, 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, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, contactIdParam, listContactsQuery, createContactBody, updateContactBody, listIdParam, listListsQuery, listListContactsQuery, createListBody, updateListBody, addListContactsBody, removeListContactsBody, AUTOMATION_TRIGGER_TYPES, AUTOMATION_TARGET_TYPES, AUTOMATION_ACTION_TYPES, AUTOMATION_CHANNEL_TYPES, AUTOMATION_NAME_MAX, AUTOMATION_DESCRIPTION_MAX, AUTOMATION_INSTRUCTIONS_MAX, AUTOMATION_TEXT_MAX, AUTOMATION_CRON_MAX, automationTriggerSchema, automationTargetSchema, automationActionSchema, automationName, automationDescription, automationIdParam, automationHubQuery, AUTOMATION_RUNS_PAGE_MAX, listAutomationRunsQuery, createAutomationBody, updateAutomationBody, 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, 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, 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, PEOPLE_REPORT_DETAILS_MAX_LENGTH, peopleReportReasonSchema, reportDetailsSchema, reportFields, peopleReportBody, PEOPLE_MODERATION_NOTE_MAX_LENGTH, ADMIN_PEOPLE_REPORTS_PAGE_MAX, ADMIN_PEOPLE_REPORTS_PAGE_DEFAULT, peopleModerationActionSchema, moderationNoteSchema, adminPeopleReportListQuery, adminPeopleReportIdParam, adminPeopleMessageRemovalBody, adminPeopleSuspendBody, adminPeopleNoteBody, COMMUNITIES_PER_ORG_MAX, COMMUNITY_NAME_MAX_LENGTH, COMMUNITY_REGISTRY_CLOSED_REASON, COMMUNITY_JOIN_SOURCE_MAX_LENGTH, COMMUNITY_JOIN_FLOW_TOKEN_MAX_LENGTH, COMMUNITY_ROOM_NAME_MAX_LENGTH, COMMUNITY_MESSAGE_MAX_LENGTH, COMMUNITY_MESSAGES_PAGE_SIZE, COMMUNITY_ATTACHMENT_URLS_MAX, COMMUNITY_POST_TITLE_MAX_LENGTH, COMMUNITY_POST_SEARCH_MAX_LENGTH, COMMUNITY_RULES_MAX_LENGTH, COMMUNITY_SLOW_MODE_MAX_SECONDS, COMMUNITY_COURSES_LABEL_MAX_LENGTH, COMMUNITY_LIVE_TICKET_PREFIX, communityNameSchema, adminCreateCommunityBody, communityIdParam, communityJoinTokenSchema, communityJoinSourceSchema, communityJoinPreviewQuery, communityJoinBody, communityRoomKindSchema, communityRoomNameSchema, communityRoomIdParam, communityMessageIdParam, communityRoomCreateBody, communityRoomUpdateBody, communityMessagesQuery, communityMessageBodySchema, communityPostTitleSchema, communityAttachmentUploadSchema, communitySendBody, communityEditBody, communityPostIdParam, communityPostsQuery, communityAnswerBody, communityReadBody, communityAttachmentUrlsBody, communityPersonParam, communityOrgParam, communityPeopleQuery, communityCoursesLabelSchema, communitySettingsBody, communityBanBody, communityLockBody, communityPinBody, communityModLogQuery, communityReportsQuery, communityReportIdParam, communityLiveTicketSchema, communityLiveQuery, communityMuteBody, communityEmailUnsubscribeTokenSchema, COMMUNITY_EMAIL_UNSUBSCRIBE_PATH, communityEmailUnsubscribeQuery, COMMUNITY_COURSE_TITLE_MAX_LENGTH, COMMUNITY_COURSE_DESCRIPTION_MAX_LENGTH, COMMUNITY_LESSON_BODY_MAX_LENGTH, COMMUNITY_LESSON_LINKS_MAX, COMMUNITY_LESSON_URL_MAX_LENGTH, YOUTUBE_ID, YOUTUBE_HOSTS, YOUTU_BE, YOUTUBE_ID_PATH, communityCourseIdParam, communityCourseModuleIdParam, communityLessonIdParam, communityCourseTitleSchema, communityCourseDescriptionSchema, communityCoursePositionSchema, communityLessonVideoUrlSchema, communityLessonLinkSchema, communityLessonLinksSchema, communityLessonBodySchema, communityCourseCreateBody, communityCourseUpdateBody, communityModuleCreateBody, communityModuleUpdateBody, communityLessonCreateBody, communityLessonUpdateBody, COMMUNITY_LESSON_TREE_MAX_BYTES, COMMUNITY_LESSON_LINK_PROTOCOLS, LINK_SCHEME;
9434
- var init_chunk_UBWCEXTH = __esm({
9435
- "../../packages/core/dist/chunk-UBWCEXTH.js"() {
9436
+ var primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, hubTagsField, createHubBody, updateHubBody, HUB_TAG_CHANGE_REFUSED, hubTagChangeRefusalSchema, 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, 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, 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, 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, CACHE_RECONCILE_MAX_IDS, CACHE_RECONCILE_MAX_HUBS, cacheReconcileScopeSchema, cachedConversationPageSchema, cachedHistoryThreadSchema, cachedPeopleThreadSchema, cacheReconcileBody, 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, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, CONTACT_ENVIRONMENTS, CONTACT_NAME_MAX, CONTACT_EMAIL_MAX, CONTACT_PHONE_INPUT_MAX, CONTACT_INSTAGRAM_SID_MAX, CONTACT_METADATA_MAX_BYTES, CONTACT_LABEL_MAX, CONTACT_LABELS_MAX, CONTACT_SCOPE_TAGS_MAX, CONTACT_PAGE_MAX, CONTACT_IMPORT_BATCH_MAX, CONTACT_SEARCH_MAX, CONTACT_LIST_NAME_MAX, CONTACT_LIST_NAME_REGEX, CONTACT_LIST_DESCRIPTION_MAX, CONTACT_LIST_FILTER_MAX, CONTACT_LIST_PINS_PER_REQUEST_MAX, contactName, contactPhone, contactEmail, contactInstagramSid, contactLabel, contactLabels, contactMetadata, scopeTagIds, contactVisibilitySchema, hasIdentity, IDENTITY_REQUIRED, contactBookOrgQuery, contactBookContactParam, contactBookListParam, contactBookHubParam, contactBookPageQuery, listContactBookContactsQuery, listHubContactBookContactsQuery, contactBookLinkCandidatesQuery, listContactBookListMembersQuery, contactRowFields, createContactBookContactBody, updateContactBookContactBody, contactImportRowSchema, importContactBookContactsBody, linkContactBookContactBody, listName, contactListFilterSchema, createContactBookListBody, updateContactBookListBody, updateContactBookListPinsBody, orgListReferenceSchema, AUTOMATION_TRIGGER_TYPES, AUTOMATION_TARGET_TYPES, AUTOMATION_ACTION_TYPES, AUTOMATION_CHANNEL_TYPES, AUTOMATION_NAME_MAX, AUTOMATION_DESCRIPTION_MAX, AUTOMATION_INSTRUCTIONS_MAX, AUTOMATION_TEXT_MAX, AUTOMATION_CRON_MAX, automationTriggerSchema, automationTargetSchema, automationActionSchema, automationName, automationDescription, automationIdParam, automationHubQuery, AUTOMATION_RUNS_PAGE_MAX, listAutomationRunsQuery, createAutomationBody, updateAutomationBody, AUTOMATION_ALERT_CATEGORIES, 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, AUTOMATION_LIST_MAX_CONTACTS_BOUND, automationListMaxContacts, 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, 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, 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, PEOPLE_REPORT_DETAILS_MAX_LENGTH, peopleReportReasonSchema, reportDetailsSchema, reportFields, peopleReportBody, PEOPLE_MODERATION_NOTE_MAX_LENGTH, ADMIN_PEOPLE_REPORTS_PAGE_MAX, ADMIN_PEOPLE_REPORTS_PAGE_DEFAULT, peopleModerationActionSchema, moderationNoteSchema, adminPeopleReportListQuery, adminPeopleReportIdParam, adminPeopleMessageRemovalBody, adminPeopleSuspendBody, adminPeopleNoteBody, COMMUNITIES_PER_ORG_MAX, COMMUNITY_NAME_MAX_LENGTH, COMMUNITY_REGISTRY_CLOSED_REASON, COMMUNITY_JOIN_SOURCE_MAX_LENGTH, COMMUNITY_JOIN_FLOW_TOKEN_MAX_LENGTH, COMMUNITY_ROOM_NAME_MAX_LENGTH, COMMUNITY_MESSAGE_MAX_LENGTH, COMMUNITY_MESSAGES_PAGE_SIZE, COMMUNITY_ATTACHMENT_URLS_MAX, COMMUNITY_POST_TITLE_MAX_LENGTH, COMMUNITY_POST_SEARCH_MAX_LENGTH, COMMUNITY_RULES_MAX_LENGTH, COMMUNITY_SLOW_MODE_MAX_SECONDS, COMMUNITY_COURSES_LABEL_MAX_LENGTH, COMMUNITY_LIVE_TICKET_PREFIX, communityNameSchema, adminCreateCommunityBody, communityIdParam, communityJoinTokenSchema, communityJoinSourceSchema, communityJoinPreviewQuery, communityJoinBody, communityRoomKindSchema, communityRoomNameSchema, communityRoomIdParam, communityMessageIdParam, communityRoomCreateBody, communityRoomUpdateBody, communityMessagesQuery, communityMessageBodySchema, communityPostTitleSchema, communityAttachmentUploadSchema, communitySendBody, communityEditBody, communityPostIdParam, communityPostsQuery, communityAnswerBody, communityReadBody, communityAttachmentUrlsBody, communityPersonParam, communityOrgParam, communityPeopleQuery, communityCoursesLabelSchema, communitySettingsBody, communityBanBody, communityLockBody, communityPinBody, communityModLogQuery, communityReportsQuery, communityReportIdParam, communityLiveTicketSchema, communityLiveQuery, communityMuteBody, communityEmailUnsubscribeTokenSchema, COMMUNITY_EMAIL_UNSUBSCRIBE_PATH, communityEmailUnsubscribeQuery, COMMUNITY_COURSE_TITLE_MAX_LENGTH, COMMUNITY_COURSE_DESCRIPTION_MAX_LENGTH, COMMUNITY_LESSON_BODY_MAX_LENGTH, COMMUNITY_LESSON_LINKS_MAX, COMMUNITY_LESSON_URL_MAX_LENGTH, YOUTUBE_ID, YOUTUBE_HOSTS, YOUTU_BE, YOUTUBE_ID_PATH, communityCourseIdParam, communityCourseModuleIdParam, communityLessonIdParam, communityCourseTitleSchema, communityCourseDescriptionSchema, communityCoursePositionSchema, communityLessonVideoUrlSchema, communityLessonLinkSchema, communityLessonLinksSchema, communityLessonBodySchema, communityCourseCreateBody, communityCourseUpdateBody, communityModuleCreateBody, communityModuleUpdateBody, communityLessonCreateBody, communityLessonUpdateBody, COMMUNITY_LESSON_TREE_MAX_BYTES, COMMUNITY_LESSON_LINK_PROTOCOLS, LINK_SCHEME;
9437
+ var init_chunk_VIHOXNPF = __esm({
9438
+ "../../packages/core/dist/chunk-VIHOXNPF.js"() {
9436
9439
  "use strict";
9437
9440
  init_chunk_POL7B3EM();
9438
- init_chunk_NCJ3EXN7();
9441
+ init_chunk_Z6GKZO4F();
9439
9442
  init_chunk_3NS3HULK();
9440
9443
  init_chunk_MIWZOSPI();
9441
- init_chunk_XJDAH2N7();
9444
+ init_chunk_VORPHGDT();
9442
9445
  init_chunk_JWPRTSIB();
9443
9446
  init_zod();
9444
9447
  init_zod();
@@ -9493,7 +9496,6 @@ var init_chunk_UBWCEXTH = __esm({
9493
9496
  init_zod();
9494
9497
  init_zod();
9495
9498
  init_zod();
9496
- init_zod();
9497
9499
  primaryRegionSchema = external_exports.enum([
9498
9500
  "wnam",
9499
9501
  "enam",
@@ -10373,16 +10375,17 @@ var init_chunk_UBWCEXTH = __esm({
10373
10375
  sender_type: appMessageSenderType.nullish().transform((v) => v ?? void 0),
10374
10376
  receiver_type: appMessageReceiverType.nullish().transform((v) => v ?? void 0),
10375
10377
  // Only meaningful on a team send, where `validateAppTeamSendContext` proves the
10376
- // caller may send to this receiver. The end-user branch ignores it — see the
10377
- // receiver derivation in the route.
10378
+ // caller may send to this receiver. Absent on a team send to a conversation with no
10379
+ // person, which names its `conversation_id` instead. The end-user branch ignores it —
10380
+ // see the receiver derivation in the route.
10378
10381
  user_receiver_id: clientOptionalString,
10379
10382
  // ── Internal consult (consultant-agents PR 2 — H1.0) ──────────────────────
10380
10383
  // A team member handling a customer conversation can tag a `consultant`-role
10381
10384
  // agent for a PRIVATE, team-only exchange that never reaches the customer. A
10382
10385
  // consult send is a team send with `receiver_type: 'agent'` targeting the
10383
- // consultant; the still-required `user_receiver_id` identifies the customer whose
10384
- // conversation this is (and is authorized by `validateAppTeamSendContext`, exactly
10385
- // as a team→user send is). The consultant is resolved from `agent_receiver_id`
10386
+ // consultant; `user_receiver_id` identifies the customer whose conversation this is
10387
+ // (and is authorized by `validateAppTeamSendContext`, exactly as a team→user send is),
10388
+ // and is absent, as on a team→user send, when the conversation has no person. The consultant is resolved from `agent_receiver_id`
10386
10389
  // when supplied, else from an `@mention` parsed out of the message text against
10387
10390
  // the hub's consultant agents. `consult_thread_id` continues an existing thread;
10388
10391
  // absent, the route creates/reuses the single implicit thread. These fields are
@@ -11235,64 +11238,143 @@ var init_chunk_UBWCEXTH = __esm({
11235
11238
  hub_id: external_exports.string().uuid(),
11236
11239
  connection_id: external_exports.string().uuid()
11237
11240
  }).passthrough();
11238
- contactIdParam = external_exports.object({
11239
- id: external_exports.string().uuid()
11240
- });
11241
- listContactsQuery = external_exports.object({
11242
- hub_id: external_exports.string().uuid(),
11243
- search: external_exports.string().optional(),
11244
- tags: external_exports.string().optional(),
11245
- // comma-separated
11246
- page: external_exports.coerce.number().int().min(1).default(1),
11247
- per_page: external_exports.coerce.number().int().min(1).max(100).default(25)
11248
- });
11249
- createContactBody = external_exports.object({
11250
- hub_id: external_exports.string().uuid(),
11251
- contact_name: external_exports.string().min(1),
11252
- phone: external_exports.string().optional(),
11253
- email: external_exports.string().email().optional(),
11254
- instagram_sid: external_exports.string().optional(),
11255
- tags: external_exports.array(external_exports.string()).default([]),
11256
- metadata: external_exports.record(external_exports.unknown()).default({}),
11257
- enabled: external_exports.boolean().default(true)
11258
- }).refine(
11259
- (data) => data.phone || data.email || data.instagram_sid,
11260
- { message: "At least one channel (phone, email, or instagram_sid) is required" }
11241
+ CONTACT_ENVIRONMENTS = ["production", "preview", "all"];
11242
+ CONTACT_NAME_MAX = 200;
11243
+ CONTACT_EMAIL_MAX = 320;
11244
+ CONTACT_PHONE_INPUT_MAX = 40;
11245
+ CONTACT_INSTAGRAM_SID_MAX = 64;
11246
+ CONTACT_METADATA_MAX_BYTES = 4096;
11247
+ CONTACT_LABEL_MAX = 64;
11248
+ CONTACT_LABELS_MAX = 20;
11249
+ CONTACT_SCOPE_TAGS_MAX = 20;
11250
+ CONTACT_PAGE_MAX = 100;
11251
+ CONTACT_IMPORT_BATCH_MAX = 500;
11252
+ CONTACT_SEARCH_MAX = 100;
11253
+ CONTACT_LIST_NAME_MAX = 64;
11254
+ CONTACT_LIST_NAME_REGEX = /^[a-z0-9]+(-[a-z0-9]+)*$/;
11255
+ CONTACT_LIST_DESCRIPTION_MAX = 1e3;
11256
+ CONTACT_LIST_FILTER_MAX = 20;
11257
+ CONTACT_LIST_PINS_PER_REQUEST_MAX = 100;
11258
+ contactName = external_exports.string().trim().min(1).max(CONTACT_NAME_MAX);
11259
+ contactPhone = external_exports.string().max(CONTACT_PHONE_INPUT_MAX).transform((raw, ctx) => {
11260
+ const phone = normalizeContactPhone(raw);
11261
+ if (phone === null) {
11262
+ ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "Phone must be an international number, e.g. +5511999999999" });
11263
+ return external_exports.NEVER;
11264
+ }
11265
+ return phone;
11266
+ });
11267
+ contactEmail = external_exports.string().trim().toLowerCase().max(CONTACT_EMAIL_MAX).email();
11268
+ contactInstagramSid = external_exports.string().trim().min(1).max(CONTACT_INSTAGRAM_SID_MAX);
11269
+ contactLabel = external_exports.string().max(CONTACT_LABEL_MAX).transform(normalizeContactLabel).refine((label) => label.length > 0, "A label cannot be empty").refine((label) => !label.includes(","), "A label cannot contain a comma");
11270
+ contactLabels = external_exports.array(contactLabel).max(CONTACT_LABELS_MAX).transform((labels) => [...new Set(labels)]);
11271
+ contactMetadata = external_exports.record(external_exports.unknown()).refine(
11272
+ (metadata) => new TextEncoder().encode(JSON.stringify(metadata)).length <= CONTACT_METADATA_MAX_BYTES,
11273
+ `Metadata must serialize to at most ${CONTACT_METADATA_MAX_BYTES} bytes`
11261
11274
  );
11262
- updateContactBody = external_exports.object({
11263
- contact_name: external_exports.string().min(1).optional(),
11264
- phone: external_exports.string().nullable().optional(),
11265
- email: external_exports.string().email().nullable().optional(),
11266
- instagram_sid: external_exports.string().nullable().optional(),
11267
- tags: external_exports.array(external_exports.string()).optional(),
11268
- metadata: external_exports.record(external_exports.unknown()).optional(),
11269
- enabled: external_exports.boolean().optional()
11270
- });
11271
- listIdParam = external_exports.object({
11272
- id: external_exports.string().uuid()
11273
- });
11274
- listListsQuery = external_exports.object({
11275
- hub_id: external_exports.string().uuid()
11275
+ scopeTagIds = external_exports.array(external_exports.string().uuid()).min(1).max(CONTACT_SCOPE_TAGS_MAX).transform((ids) => [...new Set(ids)]);
11276
+ contactVisibilitySchema = external_exports.discriminatedUnion("scope", [
11277
+ external_exports.object({ scope: external_exports.literal("all_hubs") }).strict(),
11278
+ external_exports.object({ scope: external_exports.literal("tags"), tag_ids: scopeTagIds }).strict()
11279
+ ]);
11280
+ hasIdentity = (row) => Boolean(row.phone || row.email || row.instagram_sid);
11281
+ IDENTITY_REQUIRED = "A contact needs a phone, an email or an Instagram id";
11282
+ contactBookOrgQuery = external_exports.object({
11283
+ organization_id: external_exports.string().uuid()
11276
11284
  });
11277
- listListContactsQuery = external_exports.object({
11278
- page: external_exports.coerce.number().int().min(1).default(1),
11279
- per_page: external_exports.coerce.number().int().min(1).max(100).default(25)
11285
+ contactBookContactParam = external_exports.object({
11286
+ contactId: external_exports.string().uuid()
11280
11287
  });
11281
- createListBody = external_exports.object({
11282
- hub_id: external_exports.string().uuid(),
11283
- list_name: external_exports.string().min(1),
11284
- description: external_exports.string().nullable().optional()
11288
+ contactBookListParam = external_exports.object({
11289
+ listId: external_exports.string().uuid()
11285
11290
  });
11286
- updateListBody = external_exports.object({
11287
- list_name: external_exports.string().min(1).optional(),
11288
- description: external_exports.string().nullable().optional()
11291
+ contactBookHubParam = external_exports.object({
11292
+ hubId: external_exports.string().uuid()
11289
11293
  });
11290
- addListContactsBody = external_exports.object({
11291
- contact_ids: external_exports.array(external_exports.string().uuid()).min(1)
11294
+ contactBookPageQuery = external_exports.object({
11295
+ cursor: external_exports.string().max(2048).optional(),
11296
+ limit: external_exports.coerce.number().int().min(1).max(CONTACT_PAGE_MAX).default(50)
11297
+ });
11298
+ listContactBookContactsQuery = contactBookOrgQuery.merge(contactBookPageQuery).extend({
11299
+ q: external_exports.string().trim().max(CONTACT_SEARCH_MAX).optional(),
11300
+ label: external_exports.string().max(CONTACT_LABEL_MAX).transform(normalizeContactLabel).optional(),
11301
+ scope_tag_id: external_exports.string().uuid().optional()
11302
+ });
11303
+ listHubContactBookContactsQuery = contactBookPageQuery.extend({
11304
+ q: external_exports.string().trim().max(CONTACT_SEARCH_MAX).optional()
11305
+ });
11306
+ contactBookLinkCandidatesQuery = contactBookOrgQuery.extend({
11307
+ email: contactEmail
11308
+ });
11309
+ listContactBookListMembersQuery = contactBookOrgQuery.merge(contactBookPageQuery);
11310
+ contactRowFields = {
11311
+ name: contactName,
11312
+ phone: contactPhone.nullish(),
11313
+ email: contactEmail.nullish(),
11314
+ instagram_sid: contactInstagramSid.nullish(),
11315
+ labels: contactLabels.optional(),
11316
+ metadata: contactMetadata.optional()
11317
+ };
11318
+ createContactBookContactBody = external_exports.object({
11319
+ organization_id: external_exports.string().uuid(),
11320
+ ...contactRowFields,
11321
+ visibility: contactVisibilitySchema,
11322
+ environment: external_exports.enum(CONTACT_ENVIRONMENTS).optional()
11323
+ }).strict().refine(hasIdentity, IDENTITY_REQUIRED);
11324
+ updateContactBookContactBody = external_exports.object({
11325
+ name: contactName.optional(),
11326
+ phone: contactPhone.nullable().optional(),
11327
+ email: contactEmail.nullable().optional(),
11328
+ instagram_sid: contactInstagramSid.nullable().optional(),
11329
+ labels: contactLabels.optional(),
11330
+ metadata: contactMetadata.optional(),
11331
+ visibility: contactVisibilitySchema.optional(),
11332
+ environment: external_exports.enum(CONTACT_ENVIRONMENTS).optional()
11333
+ }).strict();
11334
+ contactImportRowSchema = external_exports.object(contactRowFields).strict().refine(hasIdentity, IDENTITY_REQUIRED);
11335
+ importContactBookContactsBody = external_exports.object({
11336
+ organization_id: external_exports.string().uuid(),
11337
+ visibility: contactVisibilitySchema,
11338
+ environment: external_exports.enum(CONTACT_ENVIRONMENTS).optional(),
11339
+ labels: contactLabels.optional(),
11340
+ rows: external_exports.array(contactImportRowSchema).min(1).max(CONTACT_IMPORT_BATCH_MAX)
11341
+ }).strict().superRefine((batch, ctx) => {
11342
+ batch.rows.forEach((row, index) => {
11343
+ if (importRowLabels(row, batch.labels).length > CONTACT_LABELS_MAX) {
11344
+ ctx.addIssue({
11345
+ code: external_exports.ZodIssueCode.custom,
11346
+ path: ["rows", index, "labels"],
11347
+ message: `A contact holds at most ${CONTACT_LABELS_MAX} labels, the batch's included`
11348
+ });
11349
+ }
11350
+ });
11292
11351
  });
11293
- removeListContactsBody = external_exports.object({
11294
- contact_ids: external_exports.array(external_exports.string().uuid()).min(1)
11352
+ linkContactBookContactBody = external_exports.object({
11353
+ user_id: external_exports.string().min(1).max(128)
11354
+ }).strict();
11355
+ listName = external_exports.string().trim().min(1).max(CONTACT_LIST_NAME_MAX).regex(CONTACT_LIST_NAME_REGEX, {
11356
+ message: 'Must be lowercase alphanumeric with hyphens (e.g. "vip-customers")'
11295
11357
  });
11358
+ contactListFilterSchema = external_exports.object({
11359
+ labels: external_exports.array(contactLabel).max(CONTACT_LIST_FILTER_MAX).transform((l) => [...new Set(l)]).default([]),
11360
+ scope_tag_ids: external_exports.array(external_exports.string().uuid()).max(CONTACT_LIST_FILTER_MAX).transform((t) => [...new Set(t)]).default([])
11361
+ }).strict();
11362
+ createContactBookListBody = external_exports.object({
11363
+ organization_id: external_exports.string().uuid(),
11364
+ name: listName,
11365
+ description: external_exports.string().max(CONTACT_LIST_DESCRIPTION_MAX).nullish(),
11366
+ filter: contactListFilterSchema.optional()
11367
+ }).strict();
11368
+ updateContactBookListBody = external_exports.object({
11369
+ name: listName.optional(),
11370
+ description: external_exports.string().max(CONTACT_LIST_DESCRIPTION_MAX).nullable().optional(),
11371
+ filter: contactListFilterSchema.optional()
11372
+ }).strict();
11373
+ updateContactBookListPinsBody = external_exports.object({
11374
+ add: external_exports.array(external_exports.string().uuid()).max(CONTACT_LIST_PINS_PER_REQUEST_MAX).default([]),
11375
+ remove: external_exports.array(external_exports.string().uuid()).max(CONTACT_LIST_PINS_PER_REQUEST_MAX).default([])
11376
+ }).strict().refine((b) => b.add.length + b.remove.length > 0, "Add or remove at least one contact");
11377
+ orgListReferenceSchema = listName;
11296
11378
  AUTOMATION_TRIGGER_TYPES = ["schedule", "event", "webhook"];
11297
11379
  AUTOMATION_TARGET_TYPES = ["none", "contact_list"];
11298
11380
  AUTOMATION_ACTION_TYPES = ["run_agent", "send_message"];
@@ -11309,7 +11391,7 @@ var init_chunk_UBWCEXTH = __esm({
11309
11391
  }).strict();
11310
11392
  automationTargetSchema = external_exports.object({
11311
11393
  type: external_exports.enum(AUTOMATION_TARGET_TYPES),
11312
- list_id: external_exports.string().uuid().optional()
11394
+ org_list: orgListReferenceSchema.optional()
11313
11395
  }).strict();
11314
11396
  automationActionSchema = external_exports.object({
11315
11397
  type: external_exports.enum(AUTOMATION_ACTION_TYPES),
@@ -11349,6 +11431,10 @@ var init_chunk_UBWCEXTH = __esm({
11349
11431
  target: automationTargetSchema.optional(),
11350
11432
  action: automationActionSchema.optional()
11351
11433
  }).strict();
11434
+ AUTOMATION_ALERT_CATEGORIES = {
11435
+ list_not_found: "automation_list_not_found",
11436
+ list_over_cap: "automation_list_over_cap"
11437
+ };
11352
11438
  VERSION_PART = "(0|[1-9][0-9]{0,5})";
11353
11439
  MOBILE_APP_VERSION_RE = new RegExp(`^${VERSION_PART}\\.${VERSION_PART}\\.${VERSION_PART}$`);
11354
11440
  mobileAppVersionSchema = external_exports.string().regex(MOBILE_APP_VERSION_RE, "must be a MAJOR.MINOR.PATCH version, e.g. 1.0.0");
@@ -11449,6 +11535,8 @@ var init_chunk_UBWCEXTH = __esm({
11449
11535
  });
11450
11536
  MAX_VOICE_CALL_MINUTE_OPS = 60;
11451
11537
  voiceCallMinuteOps = external_exports.number().int().min(0).max(MAX_VOICE_CALL_MINUTE_OPS);
11538
+ AUTOMATION_LIST_MAX_CONTACTS_BOUND = 1e4;
11539
+ automationListMaxContacts = external_exports.number().int().min(1).max(AUTOMATION_LIST_MAX_CONTACTS_BOUND);
11452
11540
  updatePlatformConfigBody = external_exports.object({
11453
11541
  free_plan_max_free_orgs_per_user: external_exports.number().int().min(0).optional(),
11454
11542
  /** Kill switch for admin debug-read endpoints. 0 = off, 1 = on. */
@@ -11488,6 +11576,8 @@ var init_chunk_UBWCEXTH = __esm({
11488
11576
  * `wayai admin communities enable|disable` flips this.
11489
11577
  */
11490
11578
  communities_enabled: external_exports.number().int().min(0).max(1).optional(),
11579
+ /** The most contacts one automation fire reaches (`automationListMaxContacts`). */
11580
+ automation_list_max_contacts: automationListMaxContacts.optional(),
11491
11581
  /**
11492
11582
  * The mobile app version policy (`MOBILE_VERSION_POLICY_COLUMNS`), per platform: an install
11493
11583
  * below the minimum is blocked until it updates from the store; one below the recommended
@@ -11520,7 +11610,6 @@ var init_chunk_UBWCEXTH = __esm({
11520
11610
  "connection",
11521
11611
  "eval",
11522
11612
  "mcp_tool",
11523
- "outbound_contact",
11524
11613
  "resource",
11525
11614
  "resource_folder",
11526
11615
  "tool"
@@ -11639,7 +11728,7 @@ var init_chunk_UBWCEXTH = __esm({
11639
11728
  /** Filter to specific DO types (default: all) */
11640
11729
  do_types: external_exports.array(pitrDoNamespace).optional()
11641
11730
  });
11642
- dataExplorerDebugDoType = external_exports.enum(["hub", "org", "conversation", "user", "platform", "thread", "community"]);
11731
+ dataExplorerDebugDoType = external_exports.enum(["hub", "org", "conversation", "user", "platform", "thread", "community", "contact_book"]);
11643
11732
  DEBUG_READ_MAX_LIMIT = 100;
11644
11733
  DEBUG_READ_DEFAULT_LIMIT = 20;
11645
11734
  DEBUG_DO_HEX_PREFIX = "hex:";
@@ -12698,16 +12787,16 @@ var init_chunk_R5WRRHCL = __esm({
12698
12787
  var init_contracts = __esm({
12699
12788
  "../../packages/core/dist/contracts/index.js"() {
12700
12789
  "use strict";
12701
- init_chunk_UBWCEXTH();
12790
+ init_chunk_VIHOXNPF();
12702
12791
  init_chunk_POL7B3EM();
12703
- init_chunk_NCJ3EXN7();
12792
+ init_chunk_Z6GKZO4F();
12704
12793
  init_chunk_SNA2DXAC();
12705
12794
  init_chunk_R5WRRHCL();
12706
12795
  init_chunk_IBL7FANV();
12707
12796
  init_chunk_C2UEA2KW();
12708
12797
  init_chunk_3NS3HULK();
12709
12798
  init_chunk_MIWZOSPI();
12710
- init_chunk_XJDAH2N7();
12799
+ init_chunk_VORPHGDT();
12711
12800
  init_chunk_JWPRTSIB();
12712
12801
  init_chunk_T7KQKDET();
12713
12802
  init_chunk_L5F7ZOUJ();
@@ -13691,16 +13780,16 @@ var init_chunk_IOJOM4DE = __esm({
13691
13780
  }
13692
13781
  });
13693
13782
 
13694
- // ../../packages/core/dist/chunk-5UOHWWD5.js
13783
+ // ../../packages/core/dist/chunk-WSROLRJN.js
13695
13784
  function identifyTokenType(token) {
13696
13785
  if (token.startsWith("way_")) return "way_token";
13697
13786
  if (token.startsWith("eyJ")) return "jwt";
13698
13787
  return "unknown";
13699
13788
  }
13700
- var init_chunk_5UOHWWD5 = __esm({
13701
- "../../packages/core/dist/chunk-5UOHWWD5.js"() {
13789
+ var init_chunk_WSROLRJN = __esm({
13790
+ "../../packages/core/dist/chunk-WSROLRJN.js"() {
13702
13791
  "use strict";
13703
- init_chunk_XJDAH2N7();
13792
+ init_chunk_VORPHGDT();
13704
13793
  }
13705
13794
  });
13706
13795
 
@@ -13802,10 +13891,10 @@ var init_chunk_R7VSUKKX = __esm({
13802
13891
  }
13803
13892
  });
13804
13893
 
13805
- // ../../packages/core/dist/chunk-MHWOQS63.js
13894
+ // ../../packages/core/dist/chunk-4MBOLX7Q.js
13806
13895
  var 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;
13807
- var init_chunk_MHWOQS63 = __esm({
13808
- "../../packages/core/dist/chunk-MHWOQS63.js"() {
13896
+ var init_chunk_4MBOLX7Q = __esm({
13897
+ "../../packages/core/dist/chunk-4MBOLX7Q.js"() {
13809
13898
  "use strict";
13810
13899
  init_chunk_R7VSUKKX();
13811
13900
  APP_ERROR_BRAND = /* @__PURE__ */ Symbol.for("wayai.AppError");
@@ -13984,9 +14073,9 @@ var ENDPOINT_CONFIGS, WAYAI_WORKSPACE_LAYOUT;
13984
14073
  var init_dist = __esm({
13985
14074
  "../../packages/core/dist/index.js"() {
13986
14075
  "use strict";
13987
- init_chunk_UBWCEXTH();
14076
+ init_chunk_VIHOXNPF();
13988
14077
  init_chunk_POL7B3EM();
13989
- init_chunk_NCJ3EXN7();
14078
+ init_chunk_Z6GKZO4F();
13990
14079
  init_chunk_SNA2DXAC();
13991
14080
  init_chunk_R5WRRHCL();
13992
14081
  init_chunk_IBL7FANV();
@@ -13994,13 +14083,13 @@ var init_dist = __esm({
13994
14083
  init_chunk_C2UEA2KW();
13995
14084
  init_chunk_3NS3HULK();
13996
14085
  init_chunk_MIWZOSPI();
13997
- init_chunk_5UOHWWD5();
13998
- init_chunk_XJDAH2N7();
14086
+ init_chunk_WSROLRJN();
14087
+ init_chunk_VORPHGDT();
13999
14088
  init_chunk_JWPRTSIB();
14000
14089
  init_chunk_BF4WRSOQ();
14001
14090
  init_chunk_T7KQKDET();
14002
14091
  init_chunk_L5F7ZOUJ();
14003
- init_chunk_MHWOQS63();
14092
+ init_chunk_4MBOLX7Q();
14004
14093
  init_chunk_R7VSUKKX();
14005
14094
  init_chunk_ERFR7IRY();
14006
14095
  init_chunk_2ISUBJG7();
@@ -14084,11 +14173,13 @@ var init_dist = __esm({
14084
14173
  userLimitKey: "/api/evals/calls/*"
14085
14174
  },
14086
14175
  "/api/files/*": { tier: "STANDARD", userLimit: 150, skipAuthenticatedUsers: true },
14087
- "/api/outbound/*": {
14176
+ // The org contact book (wayai#4931 PR 2b). A CSV import sends one request per
14177
+ // `CONTACT_IMPORT_BATCH_MAX` rows, so 150 a minute imports 75,000 rows a minute.
14178
+ "/api/contact-book/*": {
14088
14179
  tier: "STANDARD",
14089
14180
  userLimit: 150,
14090
14181
  skipAuthenticatedUsers: true,
14091
- userLimitKey: "/api/outbound/*"
14182
+ userLimitKey: "/api/contact-book/*"
14092
14183
  },
14093
14184
  "/api/automations/*": {
14094
14185
  tier: "STANDARD",
@@ -15798,7 +15889,7 @@ var init_registry = __esm({
15798
15889
  surviving: "bases import",
15799
15890
  clause: 3,
15800
15891
  shipped: true,
15801
- reason: "WayAI has outbound-contact import."
15892
+ reason: "WayAI has contact import (the organization's contact book)."
15802
15893
  },
15803
15894
  {
15804
15895
  original: "batch",
@@ -18087,18 +18178,17 @@ function parseHubFolder(hubFolder, opts) {
18087
18178
  if (Array.isArray(config.connections)) {
18088
18179
  payload.connections = config.connections;
18089
18180
  }
18090
- if (config.outbound_contacts && config.outbound_contacts.length > 0) {
18091
- payload.outbound_contacts = config.outbound_contacts;
18092
- }
18093
- if (config.outbound_lists && config.outbound_lists.length > 0) {
18094
- payload.outbound_lists = config.outbound_lists;
18095
- }
18096
18181
  if (Array.isArray(config.automations)) {
18097
18182
  payload.automations = config.automations;
18098
18183
  }
18099
18184
  if (config.outbound_schedules !== void 0) {
18100
18185
  console.warn(" Warning: hub.yaml `outbound_schedules:` is no longer read \u2014 schedules are now `automations:` (see the wayai skill). Its entries were not pushed.");
18101
18186
  }
18187
+ for (const key of ["outbound_contacts", "outbound_lists"]) {
18188
+ if (config[key] !== void 0) {
18189
+ console.warn(` Warning: hub.yaml \`${key}:\` is no longer read \u2014 contacts and lists are now the organization's contact book (see the wayai skill). Its entries were not pushed.`);
18190
+ }
18191
+ }
18102
18192
  const bytesByHash = /* @__PURE__ */ new Map();
18103
18193
  const evals = scanEvalYamlFiles(hubFolder, bytesByHash, unreadable);
18104
18194
  if (evals.length > 0) {
@@ -18599,12 +18689,6 @@ function buildYamlPayload(payload) {
18599
18689
  if (payload.connections && payload.connections.length > 0) {
18600
18690
  result.connections = payload.connections;
18601
18691
  }
18602
- if (payload.outbound_contacts && payload.outbound_contacts.length > 0) {
18603
- result.outbound_contacts = payload.outbound_contacts;
18604
- }
18605
- if (payload.outbound_lists && payload.outbound_lists.length > 0) {
18606
- result.outbound_lists = payload.outbound_lists;
18607
- }
18608
18692
  if (payload.automations && payload.automations.length > 0) {
18609
18693
  result.automations = payload.automations;
18610
18694
  }
@@ -20128,12 +20212,6 @@ Sync complete. Preview hub: ${result.preview_hub_id}`);
20128
20212
  if (c.resource_links_created > 0) parts.push(`${c.resource_links_created} resource link(s) created`);
20129
20213
  if (c.resource_links_updated > 0) parts.push(`${c.resource_links_updated} resource link(s) updated`);
20130
20214
  if (c.resource_links_deleted > 0) parts.push(`${c.resource_links_deleted} resource link(s) deleted`);
20131
- if (c.outbound_contacts_created > 0) parts.push(`${c.outbound_contacts_created} outbound contact(s) created`);
20132
- if (c.outbound_contacts_updated > 0) parts.push(`${c.outbound_contacts_updated} outbound contact(s) updated`);
20133
- if (c.outbound_contacts_deleted > 0) parts.push(`${c.outbound_contacts_deleted} outbound contact(s) deleted`);
20134
- if (c.outbound_lists_created > 0) parts.push(`${c.outbound_lists_created} outbound list(s) created`);
20135
- if (c.outbound_lists_updated > 0) parts.push(`${c.outbound_lists_updated} outbound list(s) updated`);
20136
- if (c.outbound_lists_deleted > 0) parts.push(`${c.outbound_lists_deleted} outbound list(s) deleted`);
20137
20215
  if (c.automations_created > 0) parts.push(`${c.automations_created} automation(s) created`);
20138
20216
  if (c.automations_updated > 0) parts.push(`${c.automations_updated} automation(s) updated`);
20139
20217
  if (c.automations_deleted > 0) parts.push(`${c.automations_deleted} automation(s) deleted`);
@@ -22652,6 +22730,17 @@ function describeCategory(category) {
22652
22730
  label: "Production credential missing",
22653
22731
  hint: "A production connection has no credential. Set it with `wayai set-connection-credential`."
22654
22732
  };
22733
+ // wayai#4931 PR 2b: an automation whose fire reached no org list.
22734
+ case AUTOMATION_ALERT_CATEGORIES.list_not_found:
22735
+ return {
22736
+ label: "Automation list not found",
22737
+ hint: "An automation names an org list the organization no longer has. Point it at another list (its `target.org_list`), or create the list in the organization's Contacts settings."
22738
+ };
22739
+ case AUTOMATION_ALERT_CATEGORIES.list_over_cap:
22740
+ return {
22741
+ label: "Automation list over the cap",
22742
+ hint: "An automation's org list holds more contacts this hub sees than one fire may reach. Narrow the list's filter in the organization's Contacts settings."
22743
+ };
22655
22744
  default:
22656
22745
  if (category.startsWith("provider:")) {
22657
22746
  return {
@@ -22681,6 +22770,7 @@ ${lines.join("\n")}`;
22681
22770
  var init_hub_alerts = __esm({
22682
22771
  "src/lib/hub-alerts.ts"() {
22683
22772
  "use strict";
22773
+ init_contracts();
22684
22774
  }
22685
22775
  });
22686
22776