@wayai/cli 0.3.170 → 0.3.171
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 +315 -133
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4776,6 +4776,11 @@ function readAgentSettingsModel(agentSettings) {
|
|
|
4776
4776
|
const model = settings.model;
|
|
4777
4777
|
return typeof model === "string" ? model : null;
|
|
4778
4778
|
}
|
|
4779
|
+
function catalogToolSideEffects(toolName) {
|
|
4780
|
+
const sideEffects = CATALOG_SIDE_EFFECTS.get(toolName);
|
|
4781
|
+
if (sideEffects === void 0) return "unknown";
|
|
4782
|
+
return sideEffects ? "side_effects" : "none";
|
|
4783
|
+
}
|
|
4779
4784
|
function resolveMonitorTrigger(monitorConfig) {
|
|
4780
4785
|
if (!monitorConfig || typeof monitorConfig !== "object") return "idle";
|
|
4781
4786
|
const raw = monitorConfig.trigger;
|
|
@@ -4800,6 +4805,60 @@ function monitorRuleKeysOffTrigger(monitorConfig) {
|
|
|
4800
4805
|
const config = monitorConfig;
|
|
4801
4806
|
return MONITOR_RULE_KEYS.filter((key) => config[key] !== void 0);
|
|
4802
4807
|
}
|
|
4808
|
+
function monitorCallKeysOffTrigger(monitorConfig) {
|
|
4809
|
+
if (!monitorConfig || typeof monitorConfig !== "object") return [];
|
|
4810
|
+
if (resolveMonitorTrigger(monitorConfig) === "call_utterance") return [];
|
|
4811
|
+
const config = monitorConfig;
|
|
4812
|
+
return MONITOR_CALL_KEYS.filter((key) => config[key] !== void 0);
|
|
4813
|
+
}
|
|
4814
|
+
function callUtteranceConfidenceConditions(rule) {
|
|
4815
|
+
if (!rule || typeof rule !== "object" || Array.isArray(rule)) return [];
|
|
4816
|
+
const when = rule.when;
|
|
4817
|
+
if (!Array.isArray(when)) return [];
|
|
4818
|
+
return when.filter(isConfidenceCondition);
|
|
4819
|
+
}
|
|
4820
|
+
function isConfidenceCondition(condition) {
|
|
4821
|
+
if (!condition || typeof condition !== "object" || Array.isArray(condition)) return false;
|
|
4822
|
+
const { variable, operator, value } = condition;
|
|
4823
|
+
if (typeof variable !== "string" || variable.length <= CONFIDENCE_VARIABLE_SUFFIX.length) return false;
|
|
4824
|
+
if (!variable.endsWith(CONFIDENCE_VARIABLE_SUFFIX)) return false;
|
|
4825
|
+
const bar = numericBar(value);
|
|
4826
|
+
if (bar === null || bar < CALL_STEERING_MIN_CONFIDENCE) return false;
|
|
4827
|
+
if (operator === ">=") return bar <= 1;
|
|
4828
|
+
if (operator === ">") return bar < 1;
|
|
4829
|
+
return false;
|
|
4830
|
+
}
|
|
4831
|
+
function numericBar(value) {
|
|
4832
|
+
if (typeof value === "number") return Number.isFinite(value) ? value : null;
|
|
4833
|
+
if (typeof value !== "string" || value.trim() === "") return null;
|
|
4834
|
+
const parsed = Number(value);
|
|
4835
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
4836
|
+
}
|
|
4837
|
+
function callUtteranceRuleIssues(monitorConfig) {
|
|
4838
|
+
if (!monitorConfig || typeof monitorConfig !== "object") return [];
|
|
4839
|
+
if (resolveMonitorTrigger(monitorConfig) !== "call_utterance") return [];
|
|
4840
|
+
const config = monitorConfig;
|
|
4841
|
+
const issues = [];
|
|
4842
|
+
if (config.fallback !== void 0) {
|
|
4843
|
+
issues.push({ path: ["fallback"], message: CALL_UTTERANCE_FALLBACK_MESSAGE });
|
|
4844
|
+
}
|
|
4845
|
+
if (Array.isArray(config.flag_conditions) && config.flag_conditions.length > 0) {
|
|
4846
|
+
issues.push({ path: ["flag_conditions"], message: CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE });
|
|
4847
|
+
}
|
|
4848
|
+
if (Array.isArray(config.rules)) {
|
|
4849
|
+
config.rules.forEach((rule, index) => {
|
|
4850
|
+
if (callUtteranceConfidenceConditions(rule).length === 0) {
|
|
4851
|
+
issues.push({ path: ["rules", index, "when"], message: CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE });
|
|
4852
|
+
}
|
|
4853
|
+
const action = rule && typeof rule === "object" ? rule.action : void 0;
|
|
4854
|
+
const { kind, note } = action && typeof action === "object" ? action : {};
|
|
4855
|
+
if (kind === "steer" && typeof note === "string" && note.trim() === "") {
|
|
4856
|
+
issues.push({ path: ["rules", index, "action", "note"], message: CALL_STEER_NOTE_BLANK_MESSAGE });
|
|
4857
|
+
}
|
|
4858
|
+
});
|
|
4859
|
+
}
|
|
4860
|
+
return issues;
|
|
4861
|
+
}
|
|
4803
4862
|
function monitorRulesStructuredOutputMessage(trigger) {
|
|
4804
4863
|
const [article, consequence] = trigger === "assistant_reply" ? ["an", "every reply is delivered unjudged"] : ["a", "none of their actions runs"];
|
|
4805
4864
|
return `${article} ${trigger} monitor with rules needs structured output: its rules read variables only a JSON answer carries, so on text output no rule can match and ${consequence}. Set response_format to json_schema (wayai push), or remove the rules.`;
|
|
@@ -4826,19 +4885,31 @@ function decodedMonitorConfig(value) {
|
|
|
4826
4885
|
}
|
|
4827
4886
|
}
|
|
4828
4887
|
function monitorRuleActionKinds(trigger) {
|
|
4829
|
-
|
|
4888
|
+
if (trigger === "assistant_reply") return MONITOR_ASSISTANT_REPLY_ACTION_KINDS;
|
|
4889
|
+
if (trigger === "call_utterance") return MONITOR_CALL_UTTERANCE_ACTION_KINDS;
|
|
4890
|
+
return MONITOR_USER_MESSAGE_ACTION_KINDS;
|
|
4830
4891
|
}
|
|
4831
4892
|
function monitorActionKindMessage(kind, trigger) {
|
|
4832
4893
|
const allowed = monitorRuleActionKinds(trigger).join(", ");
|
|
4833
4894
|
if (trigger === "assistant_reply") {
|
|
4834
4895
|
return `an assistant_reply rule cannot select "${kind}". Use one of: ${allowed}.`;
|
|
4835
4896
|
}
|
|
4897
|
+
if (trigger === "call_utterance") {
|
|
4898
|
+
return `a call_utterance rule cannot select "${kind}": there is no drafted reply on a live call. Use one of: ${allowed}.`;
|
|
4899
|
+
}
|
|
4900
|
+
if (kind === "steer") {
|
|
4901
|
+
return `a monitor rule cannot select "steer": it speaks to a live call's voice, so only a call_utterance monitor can steer. Use one of: ${allowed}.`;
|
|
4902
|
+
}
|
|
4836
4903
|
return `a monitor rule cannot select "${kind}": it acts before the reply exists. Use one of: ${allowed}.`;
|
|
4837
4904
|
}
|
|
4838
4905
|
function monitorRuleReentryTrack(toolName) {
|
|
4839
4906
|
return MONITOR_RULE_REENTRY_TRACKS.get(toolName);
|
|
4840
4907
|
}
|
|
4841
4908
|
function monitorRuleToolNotAllowedMessage(toolName, trigger) {
|
|
4909
|
+
if (trigger === "call_utterance") {
|
|
4910
|
+
const callable2 = MONITOR_RULE_ALLOWED_NATIVE_TOOLS.filter((name) => !isCallRefusedToolName(name));
|
|
4911
|
+
return `a call_utterance rule cannot call "${toolName}": it acts on a live call without the caller confirming anything, so it may call only a tool with no side effects \u2014 ${callable2.join(", ")}, or this hub's own HTTP tools that only read (GET, HEAD or OPTIONS). MCP tools, and tools whose effects are unknown, are refused.`;
|
|
4912
|
+
}
|
|
4842
4913
|
if (trigger === "assistant_reply" && isReplyGateRefusedToolName(toolName)) {
|
|
4843
4914
|
return `an assistant_reply rule cannot call "${toolName}": the reply already exists when this monitor runs, so there is no turn left for it to act on. Put it on a user_message monitor instead, which runs before the answering agent.`;
|
|
4844
4915
|
}
|
|
@@ -4848,9 +4919,13 @@ function monitorRuleToolNotAllowedMessage(toolName, trigger) {
|
|
|
4848
4919
|
function isReplyGateRefusedToolName(toolName) {
|
|
4849
4920
|
return monitorRuleReentryTrack(toolName) === "agent" || toolName === INSERT_NOTE_TOOL_NAME;
|
|
4850
4921
|
}
|
|
4922
|
+
function isCallRefusedToolName(toolName) {
|
|
4923
|
+
return toolName === INSERT_NOTE_TOOL_NAME || catalogToolSideEffects(toolName) !== "none";
|
|
4924
|
+
}
|
|
4851
4925
|
function isRefusedNativeToolName(toolName, trigger) {
|
|
4852
4926
|
if (!NATIVE_TOOL_NAMES.has(toolName)) return false;
|
|
4853
4927
|
if (!MONITOR_RULE_ALLOWED_NATIVE_TOOLS.includes(toolName)) return true;
|
|
4928
|
+
if (trigger === "call_utterance") return isCallRefusedToolName(toolName);
|
|
4854
4929
|
return trigger === "assistant_reply" && isReplyGateRefusedToolName(toolName);
|
|
4855
4930
|
}
|
|
4856
4931
|
function monitorRuleActions(monitorConfig) {
|
|
@@ -4875,8 +4950,9 @@ function collectMonitorRuleIssues(monitorConfig) {
|
|
|
4875
4950
|
if (offTrigger.length > 0) return offTrigger;
|
|
4876
4951
|
const trigger = resolveMonitorTrigger(monitorConfig);
|
|
4877
4952
|
const kinds = monitorRuleActionKinds(trigger);
|
|
4878
|
-
const issues =
|
|
4953
|
+
const issues = callUtteranceRuleIssues(monitorConfig);
|
|
4879
4954
|
for (const { action, path: path35 } of monitorRuleActions(monitorConfig)) {
|
|
4955
|
+
if (trigger === "call_utterance" && path35[0] === "fallback") continue;
|
|
4880
4956
|
const kind = action.kind;
|
|
4881
4957
|
if (typeof kind === "string" && !kinds.includes(kind)) {
|
|
4882
4958
|
issues.push({ path: [...path35, "kind"], message: monitorActionKindMessage(kind, trigger) });
|
|
@@ -5802,8 +5878,12 @@ function refineHubAsCodeMonitorConfig(config, ctx) {
|
|
|
5802
5878
|
message: MONITOR_INPUT_SHAPING_IDLE_MESSAGE
|
|
5803
5879
|
});
|
|
5804
5880
|
}
|
|
5881
|
+
for (const key of monitorCallKeysOffTrigger(monitorConfig)) {
|
|
5882
|
+
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: [...basePath, key], message: MONITOR_CALL_KEY_MESSAGE });
|
|
5883
|
+
}
|
|
5805
5884
|
checkKeyValues(MONITOR_INPUT_SHAPING_KEYS, MONITOR_INPUT_SHAPING_SCHEMAS);
|
|
5806
5885
|
checkKeyValues(MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS);
|
|
5886
|
+
checkKeyValues(MONITOR_CALL_KEYS, MONITOR_CALL_SCHEMAS);
|
|
5807
5887
|
for (const issue of collectMonitorRuleIssues(monitorConfig)) {
|
|
5808
5888
|
ctx.addIssue({
|
|
5809
5889
|
code: external_exports.ZodIssueCode.custom,
|
|
@@ -5854,18 +5934,7 @@ function refineHubAsCodeMonitorRulesOutput(config, ctx) {
|
|
|
5854
5934
|
}
|
|
5855
5935
|
});
|
|
5856
5936
|
}
|
|
5857
|
-
function parseVoiceCallsOrgAllowlist(raw) {
|
|
5858
|
-
if (typeof raw !== "string") return [];
|
|
5859
|
-
let value;
|
|
5860
|
-
try {
|
|
5861
|
-
value = JSON.parse(raw);
|
|
5862
|
-
} catch {
|
|
5863
|
-
return [];
|
|
5864
|
-
}
|
|
5865
|
-
const parsed = voiceCallsOrgAllowlistSchema.safeParse(value);
|
|
5866
|
-
return parsed.success ? parsed.data : [];
|
|
5867
|
-
}
|
|
5868
|
-
var uuidSchema, paginationSchema, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, 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, 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, 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, monitorActionSchema, monitorRuleSchema, MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS, MONITOR_RULE_TRIGGERS, MONITOR_RULE_TRIGGER_MESSAGE, MONITOR_USER_MESSAGE_ACTION_KINDS, MONITOR_ASSISTANT_REPLY_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, createEvalBody, updateEvalBody, 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, 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, gptLive, CONNECTORS, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, 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, 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, adminOrgIdParam, adminVoiceCallsOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, updatePlatformConfigBody, MAX_VOICE_CALLS_ALLOWLIST_ORGS, voiceCallsOrgAllowlistSchema, updateFreeOrgLimitBody, adminScopedTargetBody, 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, browserParams, browserFoldersQuery, browserFilesQuery, 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;
|
|
5937
|
+
var uuidSchema, paginationSchema, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, 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, createEvalBody, updateEvalBody, 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, 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, gptLive, CONNECTORS, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, 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, 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, adminOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetBody, 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, browserParams, browserFoldersQuery, browserFilesQuery, 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;
|
|
5869
5938
|
var init_contracts = __esm({
|
|
5870
5939
|
"../../packages/core/dist/contracts/index.js"() {
|
|
5871
5940
|
"use strict";
|
|
@@ -6046,6 +6115,7 @@ var init_contracts = __esm({
|
|
|
6046
6115
|
SUMMARIZATION_THRESHOLD_MAX = 1e6;
|
|
6047
6116
|
PREVIOUS_CONVERSATIONS_MAX = 20;
|
|
6048
6117
|
FLAG_CONDITION_OPERATORS = ["=", "!=", ">=", "<=", ">", "<"];
|
|
6118
|
+
CONFIDENCE_VARIABLE_SUFFIX = "_confidence";
|
|
6049
6119
|
DECISION_SCORE_MIN_LEVELS = 2;
|
|
6050
6120
|
DECISION_SCORE_MAX_LEVELS = 10;
|
|
6051
6121
|
DECISIONS_MODEL_PREFIXES = ["typesafe/jev-", "jev-"];
|
|
@@ -6935,6 +7005,9 @@ var init_contracts = __esm({
|
|
|
6935
7005
|
tool_instructions: schema.tool_instructions
|
|
6936
7006
|
};
|
|
6937
7007
|
});
|
|
7008
|
+
CATALOG_SIDE_EFFECTS = new Map(
|
|
7009
|
+
NATIVE_TOOLS.map((tool) => [tool.tool_name, tool.side_effects])
|
|
7010
|
+
);
|
|
6938
7011
|
NATIVE_TOOL_NAMES = new Set(NATIVE_TOOLS.map((t) => t.tool_name));
|
|
6939
7012
|
previousConversationsCountField = external_exports.number().int().min(0).max(PREVIOUS_CONVERSATIONS_MAX).nullable().optional();
|
|
6940
7013
|
summarizationThresholdField = external_exports.number().int().min(SUMMARIZATION_THRESHOLD_MIN).max(SUMMARIZATION_THRESHOLD_MAX).nullable().optional();
|
|
@@ -6949,7 +7022,7 @@ var init_contracts = __esm({
|
|
|
6949
7022
|
// fail on a hub configured through the other surface.
|
|
6950
7023
|
value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()])
|
|
6951
7024
|
});
|
|
6952
|
-
MONITOR_TRIGGERS = ["idle", "user_message", "assistant_reply", "manual"];
|
|
7025
|
+
MONITOR_TRIGGERS = ["idle", "user_message", "assistant_reply", "manual", "call_utterance"];
|
|
6953
7026
|
monitorTriggerSchema = external_exports.enum(MONITOR_TRIGGERS);
|
|
6954
7027
|
MONITOR_FIRING_TRIGGERS = MONITOR_TRIGGERS.filter(isFiringTrigger);
|
|
6955
7028
|
MONITOR_DELAY_SECONDS_MIN = 10;
|
|
@@ -6962,12 +7035,13 @@ var init_contracts = __esm({
|
|
|
6962
7035
|
history_messages: monitorHistoryMessagesSchema.optional(),
|
|
6963
7036
|
include_tool_results: monitorIncludeToolResultsSchema.optional()
|
|
6964
7037
|
};
|
|
6965
|
-
MONITOR_INPUT_SHAPING_IDLE_MESSAGE = "only a user_message, assistant_reply or
|
|
7038
|
+
MONITOR_INPUT_SHAPING_IDLE_MESSAGE = "only a user_message, assistant_reply, manual or call_utterance monitor reads this \u2014 an idle monitor runs as a full turn and takes the ordinary history window";
|
|
6966
7039
|
monitorArgumentSourceSchema = external_exports.union([
|
|
6967
7040
|
external_exports.object({ from_variable: external_exports.string().min(1) }).strict(),
|
|
6968
7041
|
external_exports.object({ const: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]) }).strict()
|
|
6969
7042
|
]);
|
|
6970
7043
|
MONITOR_NOTE_TEMPLATE_MAX = 2e3;
|
|
7044
|
+
MONITOR_STEER_NOTE_MAX = 500;
|
|
6971
7045
|
monitorActionSchema = external_exports.discriminatedUnion("kind", [
|
|
6972
7046
|
external_exports.object({ kind: external_exports.literal("none") }).strict(),
|
|
6973
7047
|
external_exports.object({
|
|
@@ -6976,7 +7050,8 @@ var init_contracts = __esm({
|
|
|
6976
7050
|
args: external_exports.record(monitorArgumentSourceSchema).optional()
|
|
6977
7051
|
}).strict(),
|
|
6978
7052
|
external_exports.object({ kind: external_exports.literal("hold") }).strict(),
|
|
6979
|
-
external_exports.object({ kind: external_exports.literal("rewrite"), note: external_exports.string().min(1).max(MONITOR_NOTE_TEMPLATE_MAX) }).strict()
|
|
7053
|
+
external_exports.object({ kind: external_exports.literal("rewrite"), note: external_exports.string().min(1).max(MONITOR_NOTE_TEMPLATE_MAX) }).strict(),
|
|
7054
|
+
external_exports.object({ kind: external_exports.literal("steer"), note: external_exports.string().min(1).max(MONITOR_STEER_NOTE_MAX) }).strict()
|
|
6980
7055
|
]);
|
|
6981
7056
|
monitorRuleSchema = external_exports.object({
|
|
6982
7057
|
when: external_exports.array(flagConditionSchema).min(1),
|
|
@@ -6987,10 +7062,23 @@ var init_contracts = __esm({
|
|
|
6987
7062
|
rules: external_exports.array(monitorRuleSchema).optional(),
|
|
6988
7063
|
fallback: monitorActionSchema.optional()
|
|
6989
7064
|
};
|
|
6990
|
-
MONITOR_RULE_TRIGGERS = ["user_message", "assistant_reply", "manual"];
|
|
6991
|
-
MONITOR_RULE_TRIGGER_MESSAGE = "only a user_message, assistant_reply or
|
|
7065
|
+
MONITOR_RULE_TRIGGERS = ["user_message", "assistant_reply", "manual", "call_utterance"];
|
|
7066
|
+
MONITOR_RULE_TRIGGER_MESSAGE = "only a user_message, assistant_reply, manual or call_utterance monitor acts on rules \u2014 set one of those triggers, or remove this key. A manual monitor acts on its rules when another monitor runs it.";
|
|
7067
|
+
CALL_UTTERANCE_SPEAKERS = ["caller", "voice", "both"];
|
|
7068
|
+
callUtteranceSpeakerSchema = external_exports.enum(CALL_UTTERANCE_SPEAKERS);
|
|
7069
|
+
MONITOR_CALL_KEYS = ["speaker"];
|
|
7070
|
+
MONITOR_CALL_SCHEMAS = {
|
|
7071
|
+
speaker: callUtteranceSpeakerSchema.optional()
|
|
7072
|
+
};
|
|
7073
|
+
MONITOR_CALL_KEY_MESSAGE = "only a call_utterance monitor reads this: it names whose speech on a live call a check waits for";
|
|
7074
|
+
CALL_STEERING_MIN_CONFIDENCE = 0.9;
|
|
7075
|
+
CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE = `a call_utterance rule acts on a live call from a transcript that can be misheard, so it must be high-confidence: give it a condition on one of this monitor's "\u2026${CONFIDENCE_VARIABLE_SUFFIX}" variables with ">= ${CALL_STEERING_MIN_CONFIDENCE}" or a higher bar, up to 1.`;
|
|
7076
|
+
CALL_UTTERANCE_FALLBACK_MESSAGE = "a call_utterance monitor acts only when a high-confidence rule matches \u2014 a fallback would act on every check of the call. Remove it.";
|
|
7077
|
+
CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE = "a call_utterance monitor checks a live call every few seconds and does not flag the conversation. Remove its flag_conditions, or flag from a monitor on another trigger.";
|
|
7078
|
+
CALL_STEER_NOTE_BLANK_MESSAGE = "a steer's note is what the voice is told \u2014 write the instruction it should follow.";
|
|
6992
7079
|
MONITOR_USER_MESSAGE_ACTION_KINDS = ["none", "call_tool"];
|
|
6993
7080
|
MONITOR_ASSISTANT_REPLY_ACTION_KINDS = ["none", "call_tool", "hold", "rewrite"];
|
|
7081
|
+
MONITOR_CALL_UTTERANCE_ACTION_KINDS = ["none", "call_tool", "steer"];
|
|
6994
7082
|
INSERT_NOTE_TOOL_NAME = "insert_note";
|
|
6995
7083
|
RUN_MONITOR_TOOL_NAME = "run_monitor";
|
|
6996
7084
|
MONITOR_RULE_ALLOWED_NATIVE_TOOLS = [
|
|
@@ -7011,6 +7099,7 @@ var init_contracts = __esm({
|
|
|
7011
7099
|
trigger: monitorTriggerSchema.optional(),
|
|
7012
7100
|
...MONITOR_INPUT_SHAPING_SCHEMAS,
|
|
7013
7101
|
...MONITOR_RULE_SCHEMAS,
|
|
7102
|
+
...MONITOR_CALL_SCHEMAS,
|
|
7014
7103
|
flag_conditions: external_exports.array(flagConditionSchema).optional()
|
|
7015
7104
|
}).passthrough().superRefine((config, ctx) => {
|
|
7016
7105
|
if (monitorConfigNeedsDelay(config)) {
|
|
@@ -7027,6 +7116,9 @@ var init_contracts = __esm({
|
|
|
7027
7116
|
message: MONITOR_INPUT_SHAPING_IDLE_MESSAGE
|
|
7028
7117
|
});
|
|
7029
7118
|
}
|
|
7119
|
+
for (const key of monitorCallKeysOffTrigger(config)) {
|
|
7120
|
+
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: [key], message: MONITOR_CALL_KEY_MESSAGE });
|
|
7121
|
+
}
|
|
7030
7122
|
for (const issue of collectMonitorRuleIssues(config)) {
|
|
7031
7123
|
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: issue.path, message: issue.message });
|
|
7032
7124
|
}
|
|
@@ -8721,14 +8813,29 @@ var init_contracts = __esm({
|
|
|
8721
8813
|
*/
|
|
8722
8814
|
conversation_id: external_exports.string().uuid().nullish().transform((v) => v ?? void 0),
|
|
8723
8815
|
/** The browser's SDP offer, sent to the provider unchanged. */
|
|
8724
|
-
sdp_offer: sdpOffer
|
|
8816
|
+
sdp_offer: sdpOffer,
|
|
8817
|
+
/**
|
|
8818
|
+
* The client plays the RECORDING NOTICE — the disclosure's part that tells the caller the
|
|
8819
|
+
* call is recorded — before the voice layer speaks, whenever the answer says `recorded`.
|
|
8820
|
+
* A hub that records calls records only a call whose client says so: a client without the
|
|
8821
|
+
* notice (one that predates it, or a stale tab) gets an unrecorded call, never a recorded
|
|
8822
|
+
* call its caller was not told about. Absent: false.
|
|
8823
|
+
*/
|
|
8824
|
+
plays_recording_notice: external_exports.boolean().optional()
|
|
8725
8825
|
});
|
|
8726
8826
|
createCallResponse = external_exports.object({
|
|
8727
8827
|
call_id: external_exports.string().uuid(),
|
|
8728
8828
|
/** The conversation the call is attached to: the one named, or else the caller's active one. */
|
|
8729
8829
|
conversation_id: external_exports.string().uuid(),
|
|
8730
8830
|
/** The provider's SDP answer, for the browser's `setRemoteDescription`. */
|
|
8731
|
-
sdp_answer: sdpDescription
|
|
8831
|
+
sdp_answer: sdpDescription,
|
|
8832
|
+
/**
|
|
8833
|
+
* The call is recorded: its hub records calls and the create said its client plays the
|
|
8834
|
+
* recording notice. The client plays the notice before it sends `ready`, and the recording
|
|
8835
|
+
* starts only once `ready` arrives. Absent only from a server that predates recording, which
|
|
8836
|
+
* records nothing: absent means not recorded.
|
|
8837
|
+
*/
|
|
8838
|
+
recorded: external_exports.boolean().optional()
|
|
8732
8839
|
});
|
|
8733
8840
|
callReadyBody = external_exports.object(hubScoped);
|
|
8734
8841
|
callHangupBody = external_exports.object(hubScoped);
|
|
@@ -8742,6 +8849,24 @@ var init_contracts = __esm({
|
|
|
8742
8849
|
callResponse = external_exports.object({
|
|
8743
8850
|
call: callSummary
|
|
8744
8851
|
});
|
|
8852
|
+
MAX_CALL_RECORDING_GAPS = 500;
|
|
8853
|
+
callRecordingGap = external_exports.object({
|
|
8854
|
+
start_ms: external_exports.number().int().nonnegative(),
|
|
8855
|
+
end_ms: external_exports.number().int().positive()
|
|
8856
|
+
}).refine((gap) => gap.end_ms > gap.start_ms, "A gap ends after it starts");
|
|
8857
|
+
callRecordingNoteMetadata = external_exports.object({
|
|
8858
|
+
call_id: external_exports.string().min(1),
|
|
8859
|
+
team_notice: external_exports.literal("call_recording"),
|
|
8860
|
+
recording: external_exports.object({
|
|
8861
|
+
/** The recording's `conversation_file` row, the note's one file. */
|
|
8862
|
+
file_id: external_exports.string().uuid(),
|
|
8863
|
+
/** When its first audio arrived: its time 0. */
|
|
8864
|
+
started_at: callInstant,
|
|
8865
|
+
duration_ms: external_exports.number().int().nonnegative(),
|
|
8866
|
+
/** Ascending and disjoint, each within the recording. */
|
|
8867
|
+
gaps: external_exports.array(callRecordingGap).max(MAX_CALL_RECORDING_GAPS)
|
|
8868
|
+
})
|
|
8869
|
+
});
|
|
8745
8870
|
TTS_VOICE_REPLY_ENABLED_FIELD = {
|
|
8746
8871
|
voice_reply_enabled: {
|
|
8747
8872
|
type: "toggle",
|
|
@@ -9738,7 +9863,9 @@ var init_contracts = __esm({
|
|
|
9738
9863
|
// start + 7,199 s), so 119 whole minutes is the most a call can last.
|
|
9739
9864
|
max_call_minutes: { type: "number", label: "Maximum Call Length (minutes)", min: 1, max: 119, default: 10, description: "A call ends when it reaches this length." },
|
|
9740
9865
|
inactivity_timeout_seconds: { type: "number", label: "Inactivity Timeout (seconds)", min: 10, max: 600, default: 60, description: "A call ends after this many seconds in which neither side speaks." },
|
|
9741
|
-
delegation_timeout_seconds: { type: "number", label: "Answer Timeout (seconds)", min: 5, max: 120, default: 30, description: "How long the voice waits for the hub's agent to answer one question before it gives up on that answer." }
|
|
9866
|
+
delegation_timeout_seconds: { type: "number", label: "Answer Timeout (seconds)", min: 5, max: 120, default: 30, description: "How long the voice waits for the hub's agent to answer one question before it gives up on that answer." },
|
|
9867
|
+
// Opt-in (D7): off unless turned on. Read by the call route (`resolveVoiceCallSettings`).
|
|
9868
|
+
record_calls: { type: "toggle", label: "Record Calls", default: false, description: "Keep each call's audio, both sides, as a recording your team can play from the conversation. Callers hear that the call is recorded before the voice speaks." }
|
|
9742
9869
|
},
|
|
9743
9870
|
channel_settings_schema: null,
|
|
9744
9871
|
tool_settings_schema: null,
|
|
@@ -10749,9 +10876,6 @@ var init_contracts = __esm({
|
|
|
10749
10876
|
adminOrgIdParam = external_exports.object({
|
|
10750
10877
|
orgId: uuidSchema
|
|
10751
10878
|
});
|
|
10752
|
-
adminVoiceCallsOrgIdParam = external_exports.object({
|
|
10753
|
-
orgId: uuidSchema.transform((id) => id.toLowerCase())
|
|
10754
|
-
});
|
|
10755
10879
|
adminOrgAdminIdParam = external_exports.object({
|
|
10756
10880
|
orgId: uuidSchema,
|
|
10757
10881
|
// `adminId` is a `member_grant.user_id`, which for a logged-in user is the
|
|
@@ -10852,11 +10976,9 @@ var init_contracts = __esm({
|
|
|
10852
10976
|
*/
|
|
10853
10977
|
default_eval_retention_days: external_exports.number().int().min(0).max(MAX_EVAL_RETENTION_DAYS).optional(),
|
|
10854
10978
|
/**
|
|
10855
|
-
* The voice-calls kill switch
|
|
10856
|
-
*
|
|
10857
|
-
*
|
|
10858
|
-
* which this body cannot write (`PUT`/`DELETE /admin/voice-calls/allowlist/:orgId`
|
|
10859
|
-
* change one org at a time). `wayai admin voice-calls enable|disable` flips this.
|
|
10979
|
+
* The voice-calls kill switch. 0 = off (the default: every voice-call surface stays dark
|
|
10980
|
+
* for every org), 1 = on (every org; a hub takes calls once it is configured for them).
|
|
10981
|
+
* `wayai admin voice-calls enable|disable` flips this.
|
|
10860
10982
|
*/
|
|
10861
10983
|
voice_calls_enabled: external_exports.number().int().min(0).max(1).optional(),
|
|
10862
10984
|
/** The voice-call meter's price (`voiceCallMinuteOps`). `wayai admin voice-calls price` sets it. */
|
|
@@ -10865,8 +10987,6 @@ var init_contracts = __esm({
|
|
|
10865
10987
|
(data) => Object.keys(data).length > 0,
|
|
10866
10988
|
{ message: "No fields to update" }
|
|
10867
10989
|
);
|
|
10868
|
-
MAX_VOICE_CALLS_ALLOWLIST_ORGS = 200;
|
|
10869
|
-
voiceCallsOrgAllowlistSchema = external_exports.array(uuidSchema).max(MAX_VOICE_CALLS_ALLOWLIST_ORGS);
|
|
10870
10990
|
updateFreeOrgLimitBody = external_exports.object({
|
|
10871
10991
|
max_free_orgs_override: external_exports.number().int().min(0).nullable()
|
|
10872
10992
|
});
|
|
@@ -11827,20 +11947,6 @@ var init_api_client = __esm({
|
|
|
11827
11947
|
async adminUpdateConfig(body) {
|
|
11828
11948
|
return this.request("PATCH", "/api/admin/config", body);
|
|
11829
11949
|
}
|
|
11830
|
-
// Put one org on / take it off the voice-calls allowlist (platform-admin gated,
|
|
11831
|
-
// idempotent). Used by `wayai admin voice-calls allow|deny --org`.
|
|
11832
|
-
async adminAllowVoiceCallsOrg(orgId) {
|
|
11833
|
-
return this.request(
|
|
11834
|
-
"PUT",
|
|
11835
|
-
`/api/admin/voice-calls/allowlist/${encodeURIComponent(orgId)}`
|
|
11836
|
-
);
|
|
11837
|
-
}
|
|
11838
|
-
async adminDenyVoiceCallsOrg(orgId) {
|
|
11839
|
-
return this.request(
|
|
11840
|
-
"DELETE",
|
|
11841
|
-
`/api/admin/voice-calls/allowlist/${encodeURIComponent(orgId)}`
|
|
11842
|
-
);
|
|
11843
|
-
}
|
|
11844
11950
|
/**
|
|
11845
11951
|
* Re-discover an MCP connection's tool/resource catalog (refreshes stale
|
|
11846
11952
|
* input schemas that `push` leaves untouched). `connection` is the display
|
|
@@ -12789,6 +12895,11 @@ function readAgentSettingsModel2(agentSettings) {
|
|
|
12789
12895
|
const model = settings.model;
|
|
12790
12896
|
return typeof model === "string" ? model : null;
|
|
12791
12897
|
}
|
|
12898
|
+
function catalogToolSideEffects2(toolName) {
|
|
12899
|
+
const sideEffects = CATALOG_SIDE_EFFECTS2.get(toolName);
|
|
12900
|
+
if (sideEffects === void 0) return "unknown";
|
|
12901
|
+
return sideEffects ? "side_effects" : "none";
|
|
12902
|
+
}
|
|
12792
12903
|
function resolveMonitorTrigger2(monitorConfig) {
|
|
12793
12904
|
if (!monitorConfig || typeof monitorConfig !== "object") return "idle";
|
|
12794
12905
|
const raw = monitorConfig.trigger;
|
|
@@ -12813,6 +12924,60 @@ function monitorRuleKeysOffTrigger2(monitorConfig) {
|
|
|
12813
12924
|
const config = monitorConfig;
|
|
12814
12925
|
return MONITOR_RULE_KEYS2.filter((key) => config[key] !== void 0);
|
|
12815
12926
|
}
|
|
12927
|
+
function monitorCallKeysOffTrigger2(monitorConfig) {
|
|
12928
|
+
if (!monitorConfig || typeof monitorConfig !== "object") return [];
|
|
12929
|
+
if (resolveMonitorTrigger2(monitorConfig) === "call_utterance") return [];
|
|
12930
|
+
const config = monitorConfig;
|
|
12931
|
+
return MONITOR_CALL_KEYS2.filter((key) => config[key] !== void 0);
|
|
12932
|
+
}
|
|
12933
|
+
function callUtteranceConfidenceConditions2(rule) {
|
|
12934
|
+
if (!rule || typeof rule !== "object" || Array.isArray(rule)) return [];
|
|
12935
|
+
const when = rule.when;
|
|
12936
|
+
if (!Array.isArray(when)) return [];
|
|
12937
|
+
return when.filter(isConfidenceCondition2);
|
|
12938
|
+
}
|
|
12939
|
+
function isConfidenceCondition2(condition) {
|
|
12940
|
+
if (!condition || typeof condition !== "object" || Array.isArray(condition)) return false;
|
|
12941
|
+
const { variable, operator, value } = condition;
|
|
12942
|
+
if (typeof variable !== "string" || variable.length <= CONFIDENCE_VARIABLE_SUFFIX2.length) return false;
|
|
12943
|
+
if (!variable.endsWith(CONFIDENCE_VARIABLE_SUFFIX2)) return false;
|
|
12944
|
+
const bar = numericBar2(value);
|
|
12945
|
+
if (bar === null || bar < CALL_STEERING_MIN_CONFIDENCE2) return false;
|
|
12946
|
+
if (operator === ">=") return bar <= 1;
|
|
12947
|
+
if (operator === ">") return bar < 1;
|
|
12948
|
+
return false;
|
|
12949
|
+
}
|
|
12950
|
+
function numericBar2(value) {
|
|
12951
|
+
if (typeof value === "number") return Number.isFinite(value) ? value : null;
|
|
12952
|
+
if (typeof value !== "string" || value.trim() === "") return null;
|
|
12953
|
+
const parsed = Number(value);
|
|
12954
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
12955
|
+
}
|
|
12956
|
+
function callUtteranceRuleIssues2(monitorConfig) {
|
|
12957
|
+
if (!monitorConfig || typeof monitorConfig !== "object") return [];
|
|
12958
|
+
if (resolveMonitorTrigger2(monitorConfig) !== "call_utterance") return [];
|
|
12959
|
+
const config = monitorConfig;
|
|
12960
|
+
const issues = [];
|
|
12961
|
+
if (config.fallback !== void 0) {
|
|
12962
|
+
issues.push({ path: ["fallback"], message: CALL_UTTERANCE_FALLBACK_MESSAGE2 });
|
|
12963
|
+
}
|
|
12964
|
+
if (Array.isArray(config.flag_conditions) && config.flag_conditions.length > 0) {
|
|
12965
|
+
issues.push({ path: ["flag_conditions"], message: CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE2 });
|
|
12966
|
+
}
|
|
12967
|
+
if (Array.isArray(config.rules)) {
|
|
12968
|
+
config.rules.forEach((rule, index) => {
|
|
12969
|
+
if (callUtteranceConfidenceConditions2(rule).length === 0) {
|
|
12970
|
+
issues.push({ path: ["rules", index, "when"], message: CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE2 });
|
|
12971
|
+
}
|
|
12972
|
+
const action = rule && typeof rule === "object" ? rule.action : void 0;
|
|
12973
|
+
const { kind, note } = action && typeof action === "object" ? action : {};
|
|
12974
|
+
if (kind === "steer" && typeof note === "string" && note.trim() === "") {
|
|
12975
|
+
issues.push({ path: ["rules", index, "action", "note"], message: CALL_STEER_NOTE_BLANK_MESSAGE2 });
|
|
12976
|
+
}
|
|
12977
|
+
});
|
|
12978
|
+
}
|
|
12979
|
+
return issues;
|
|
12980
|
+
}
|
|
12816
12981
|
function monitorRulesStructuredOutputMessage2(trigger) {
|
|
12817
12982
|
const [article, consequence] = trigger === "assistant_reply" ? ["an", "every reply is delivered unjudged"] : ["a", "none of their actions runs"];
|
|
12818
12983
|
return `${article} ${trigger} monitor with rules needs structured output: its rules read variables only a JSON answer carries, so on text output no rule can match and ${consequence}. Set response_format to json_schema (wayai push), or remove the rules.`;
|
|
@@ -12839,19 +13004,31 @@ function decodedMonitorConfig2(value) {
|
|
|
12839
13004
|
}
|
|
12840
13005
|
}
|
|
12841
13006
|
function monitorRuleActionKinds2(trigger) {
|
|
12842
|
-
|
|
13007
|
+
if (trigger === "assistant_reply") return MONITOR_ASSISTANT_REPLY_ACTION_KINDS2;
|
|
13008
|
+
if (trigger === "call_utterance") return MONITOR_CALL_UTTERANCE_ACTION_KINDS2;
|
|
13009
|
+
return MONITOR_USER_MESSAGE_ACTION_KINDS2;
|
|
12843
13010
|
}
|
|
12844
13011
|
function monitorActionKindMessage2(kind, trigger) {
|
|
12845
13012
|
const allowed = monitorRuleActionKinds2(trigger).join(", ");
|
|
12846
13013
|
if (trigger === "assistant_reply") {
|
|
12847
13014
|
return `an assistant_reply rule cannot select "${kind}". Use one of: ${allowed}.`;
|
|
12848
13015
|
}
|
|
13016
|
+
if (trigger === "call_utterance") {
|
|
13017
|
+
return `a call_utterance rule cannot select "${kind}": there is no drafted reply on a live call. Use one of: ${allowed}.`;
|
|
13018
|
+
}
|
|
13019
|
+
if (kind === "steer") {
|
|
13020
|
+
return `a monitor rule cannot select "steer": it speaks to a live call's voice, so only a call_utterance monitor can steer. Use one of: ${allowed}.`;
|
|
13021
|
+
}
|
|
12849
13022
|
return `a monitor rule cannot select "${kind}": it acts before the reply exists. Use one of: ${allowed}.`;
|
|
12850
13023
|
}
|
|
12851
13024
|
function monitorRuleReentryTrack2(toolName) {
|
|
12852
13025
|
return MONITOR_RULE_REENTRY_TRACKS2.get(toolName);
|
|
12853
13026
|
}
|
|
12854
13027
|
function monitorRuleToolNotAllowedMessage2(toolName, trigger) {
|
|
13028
|
+
if (trigger === "call_utterance") {
|
|
13029
|
+
const callable2 = MONITOR_RULE_ALLOWED_NATIVE_TOOLS2.filter((name) => !isCallRefusedToolName2(name));
|
|
13030
|
+
return `a call_utterance rule cannot call "${toolName}": it acts on a live call without the caller confirming anything, so it may call only a tool with no side effects \u2014 ${callable2.join(", ")}, or this hub's own HTTP tools that only read (GET, HEAD or OPTIONS). MCP tools, and tools whose effects are unknown, are refused.`;
|
|
13031
|
+
}
|
|
12855
13032
|
if (trigger === "assistant_reply" && isReplyGateRefusedToolName2(toolName)) {
|
|
12856
13033
|
return `an assistant_reply rule cannot call "${toolName}": the reply already exists when this monitor runs, so there is no turn left for it to act on. Put it on a user_message monitor instead, which runs before the answering agent.`;
|
|
12857
13034
|
}
|
|
@@ -12861,9 +13038,13 @@ function monitorRuleToolNotAllowedMessage2(toolName, trigger) {
|
|
|
12861
13038
|
function isReplyGateRefusedToolName2(toolName) {
|
|
12862
13039
|
return monitorRuleReentryTrack2(toolName) === "agent" || toolName === INSERT_NOTE_TOOL_NAME2;
|
|
12863
13040
|
}
|
|
13041
|
+
function isCallRefusedToolName2(toolName) {
|
|
13042
|
+
return toolName === INSERT_NOTE_TOOL_NAME2 || catalogToolSideEffects2(toolName) !== "none";
|
|
13043
|
+
}
|
|
12864
13044
|
function isRefusedNativeToolName2(toolName, trigger) {
|
|
12865
13045
|
if (!NATIVE_TOOL_NAMES2.has(toolName)) return false;
|
|
12866
13046
|
if (!MONITOR_RULE_ALLOWED_NATIVE_TOOLS2.includes(toolName)) return true;
|
|
13047
|
+
if (trigger === "call_utterance") return isCallRefusedToolName2(toolName);
|
|
12867
13048
|
return trigger === "assistant_reply" && isReplyGateRefusedToolName2(toolName);
|
|
12868
13049
|
}
|
|
12869
13050
|
function monitorRuleActions2(monitorConfig) {
|
|
@@ -12888,8 +13069,9 @@ function collectMonitorRuleIssues2(monitorConfig) {
|
|
|
12888
13069
|
if (offTrigger.length > 0) return offTrigger;
|
|
12889
13070
|
const trigger = resolveMonitorTrigger2(monitorConfig);
|
|
12890
13071
|
const kinds = monitorRuleActionKinds2(trigger);
|
|
12891
|
-
const issues =
|
|
13072
|
+
const issues = callUtteranceRuleIssues2(monitorConfig);
|
|
12892
13073
|
for (const { action, path: path35 } of monitorRuleActions2(monitorConfig)) {
|
|
13074
|
+
if (trigger === "call_utterance" && path35[0] === "fallback") continue;
|
|
12893
13075
|
const kind = action.kind;
|
|
12894
13076
|
if (typeof kind === "string" && !kinds.includes(kind)) {
|
|
12895
13077
|
issues.push({ path: [...path35, "kind"], message: monitorActionKindMessage2(kind, trigger) });
|
|
@@ -13838,8 +14020,12 @@ function refineHubAsCodeMonitorConfig2(config, ctx) {
|
|
|
13838
14020
|
message: MONITOR_INPUT_SHAPING_IDLE_MESSAGE2
|
|
13839
14021
|
});
|
|
13840
14022
|
}
|
|
14023
|
+
for (const key of monitorCallKeysOffTrigger2(monitorConfig)) {
|
|
14024
|
+
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: [...basePath, key], message: MONITOR_CALL_KEY_MESSAGE2 });
|
|
14025
|
+
}
|
|
13841
14026
|
checkKeyValues(MONITOR_INPUT_SHAPING_KEYS2, MONITOR_INPUT_SHAPING_SCHEMAS2);
|
|
13842
14027
|
checkKeyValues(MONITOR_RULE_KEYS2, MONITOR_RULE_SCHEMAS2);
|
|
14028
|
+
checkKeyValues(MONITOR_CALL_KEYS2, MONITOR_CALL_SCHEMAS2);
|
|
13843
14029
|
for (const issue of collectMonitorRuleIssues2(monitorConfig)) {
|
|
13844
14030
|
ctx.addIssue({
|
|
13845
14031
|
code: external_exports.ZodIssueCode.custom,
|
|
@@ -13945,7 +14131,7 @@ function findStepBoundaries(transcript) {
|
|
|
13945
14131
|
}
|
|
13946
14132
|
return out;
|
|
13947
14133
|
}
|
|
13948
|
-
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, paginationSchema3, timestampSchema2, idParamSchema2, clientOptionalString2, clientOptionalBoolean2, clientOptionalNumber2, messageAttachment2, MAX_MESSAGE_BODY_BYTES2, MAX_ATTACHMENTS_PER_MESSAGE2, MAX_AUDIO_FILE_BASE64_BYTES2, primaryRegionSchema2, placementSourceSchema2, orgIdParam2, orgAdminIdParam2, createOrganizationBody2, updateOrganizationBody2, addOrgAdminBody2, SUMMARIZATION_THRESHOLD_MIN2, SUMMARIZATION_THRESHOLD_MAX2, PREVIOUS_CONVERSATIONS_MAX2, FLAG_CONDITION_OPERATORS2, 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, 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, monitorActionSchema2, monitorRuleSchema2, MONITOR_RULE_KEYS2, MONITOR_RULE_SCHEMAS2, MONITOR_RULE_TRIGGERS2, MONITOR_RULE_TRIGGER_MESSAGE2, MONITOR_USER_MESSAGE_ACTION_KINDS2, MONITOR_ASSISTANT_REPLY_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, createEvalBody2, updateEvalBody2, 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, 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, gptLive2, CONNECTORS2, evalCallInstant2, EVAL_CALL_MIN_SECONDS2, EVAL_CALL_MAX_SECONDS2, hubScoped22, createEvalCallBody2, createEvalCallResponse2, evalCallConversationQuery2, evalCallSpeaker2, evalCallUtterance2, evalCallTurn2, evalCallRecordResponse2, evalCallFinishResponse2, updateUserBody2, updateProfileBody2, pathnameRegex2, updatePreferencesBody2, registerPushTokenBody2, deletePushTokenQuery2, 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, 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, adminOrgIdParam2, adminVoiceCallsOrgIdParam2, adminOrgAdminIdParam2, adminUserIdParam2, PRICING_PLAN_ID_RE2, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, MAX_VOICE_CALL_MINUTE_OPS2, voiceCallMinuteOps2, updatePlatformConfigBody2, MAX_VOICE_CALLS_ALLOWLIST_ORGS2, voiceCallsOrgAllowlistSchema2, updateFreeOrgLimitBody2, adminScopedTargetBody2, 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, browserParams2, browserFoldersQuery2, browserFilesQuery2, 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, WAYAI_WORKSPACE_LAYOUT, decisionAnswerSchema, decisionsResponseSchema;
|
|
14134
|
+
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, paginationSchema3, timestampSchema2, idParamSchema2, clientOptionalString2, clientOptionalBoolean2, clientOptionalNumber2, messageAttachment2, MAX_MESSAGE_BODY_BYTES2, MAX_ATTACHMENTS_PER_MESSAGE2, 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, createEvalBody2, updateEvalBody2, 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, 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, gptLive2, CONNECTORS2, evalCallInstant2, EVAL_CALL_MIN_SECONDS2, EVAL_CALL_MAX_SECONDS2, hubScoped22, createEvalCallBody2, createEvalCallResponse2, evalCallConversationQuery2, evalCallSpeaker2, evalCallUtterance2, evalCallTurn2, evalCallRecordResponse2, evalCallFinishResponse2, updateUserBody2, updateProfileBody2, pathnameRegex2, updatePreferencesBody2, registerPushTokenBody2, deletePushTokenQuery2, 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, 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, adminOrgIdParam2, adminOrgAdminIdParam2, adminUserIdParam2, PRICING_PLAN_ID_RE2, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, MAX_VOICE_CALL_MINUTE_OPS2, voiceCallMinuteOps2, updatePlatformConfigBody2, updateFreeOrgLimitBody2, adminScopedTargetBody2, 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, browserParams2, browserFoldersQuery2, browserFilesQuery2, 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, WAYAI_WORKSPACE_LAYOUT, decisionAnswerSchema, decisionsResponseSchema;
|
|
13949
14135
|
var init_dist = __esm({
|
|
13950
14136
|
"../../packages/core/dist/index.js"() {
|
|
13951
14137
|
"use strict";
|
|
@@ -14608,6 +14794,7 @@ var init_dist = __esm({
|
|
|
14608
14794
|
SUMMARIZATION_THRESHOLD_MAX2 = 1e6;
|
|
14609
14795
|
PREVIOUS_CONVERSATIONS_MAX2 = 20;
|
|
14610
14796
|
FLAG_CONDITION_OPERATORS2 = ["=", "!=", ">=", "<=", ">", "<"];
|
|
14797
|
+
CONFIDENCE_VARIABLE_SUFFIX2 = "_confidence";
|
|
14611
14798
|
DECISION_SCORE_MIN_LEVELS2 = 2;
|
|
14612
14799
|
DECISION_SCORE_MAX_LEVELS2 = 10;
|
|
14613
14800
|
DECISIONS_MODEL_PREFIXES2 = ["typesafe/jev-", "jev-"];
|
|
@@ -15497,6 +15684,9 @@ var init_dist = __esm({
|
|
|
15497
15684
|
tool_instructions: schema.tool_instructions
|
|
15498
15685
|
};
|
|
15499
15686
|
});
|
|
15687
|
+
CATALOG_SIDE_EFFECTS2 = new Map(
|
|
15688
|
+
NATIVE_TOOLS2.map((tool) => [tool.tool_name, tool.side_effects])
|
|
15689
|
+
);
|
|
15500
15690
|
NATIVE_TOOL_NAMES2 = new Set(NATIVE_TOOLS2.map((t) => t.tool_name));
|
|
15501
15691
|
previousConversationsCountField2 = external_exports.number().int().min(0).max(PREVIOUS_CONVERSATIONS_MAX2).nullable().optional();
|
|
15502
15692
|
summarizationThresholdField2 = external_exports.number().int().min(SUMMARIZATION_THRESHOLD_MIN2).max(SUMMARIZATION_THRESHOLD_MAX2).nullable().optional();
|
|
@@ -15511,7 +15701,7 @@ var init_dist = __esm({
|
|
|
15511
15701
|
// fail on a hub configured through the other surface.
|
|
15512
15702
|
value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()])
|
|
15513
15703
|
});
|
|
15514
|
-
MONITOR_TRIGGERS2 = ["idle", "user_message", "assistant_reply", "manual"];
|
|
15704
|
+
MONITOR_TRIGGERS2 = ["idle", "user_message", "assistant_reply", "manual", "call_utterance"];
|
|
15515
15705
|
monitorTriggerSchema2 = external_exports.enum(MONITOR_TRIGGERS2);
|
|
15516
15706
|
MONITOR_FIRING_TRIGGERS2 = MONITOR_TRIGGERS2.filter(isFiringTrigger2);
|
|
15517
15707
|
MONITOR_DELAY_SECONDS_MIN2 = 10;
|
|
@@ -15524,12 +15714,13 @@ var init_dist = __esm({
|
|
|
15524
15714
|
history_messages: monitorHistoryMessagesSchema2.optional(),
|
|
15525
15715
|
include_tool_results: monitorIncludeToolResultsSchema2.optional()
|
|
15526
15716
|
};
|
|
15527
|
-
MONITOR_INPUT_SHAPING_IDLE_MESSAGE2 = "only a user_message, assistant_reply or
|
|
15717
|
+
MONITOR_INPUT_SHAPING_IDLE_MESSAGE2 = "only a user_message, assistant_reply, manual or call_utterance monitor reads this \u2014 an idle monitor runs as a full turn and takes the ordinary history window";
|
|
15528
15718
|
monitorArgumentSourceSchema2 = external_exports.union([
|
|
15529
15719
|
external_exports.object({ from_variable: external_exports.string().min(1) }).strict(),
|
|
15530
15720
|
external_exports.object({ const: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]) }).strict()
|
|
15531
15721
|
]);
|
|
15532
15722
|
MONITOR_NOTE_TEMPLATE_MAX2 = 2e3;
|
|
15723
|
+
MONITOR_STEER_NOTE_MAX2 = 500;
|
|
15533
15724
|
monitorActionSchema2 = external_exports.discriminatedUnion("kind", [
|
|
15534
15725
|
external_exports.object({ kind: external_exports.literal("none") }).strict(),
|
|
15535
15726
|
external_exports.object({
|
|
@@ -15538,7 +15729,8 @@ var init_dist = __esm({
|
|
|
15538
15729
|
args: external_exports.record(monitorArgumentSourceSchema2).optional()
|
|
15539
15730
|
}).strict(),
|
|
15540
15731
|
external_exports.object({ kind: external_exports.literal("hold") }).strict(),
|
|
15541
|
-
external_exports.object({ kind: external_exports.literal("rewrite"), note: external_exports.string().min(1).max(MONITOR_NOTE_TEMPLATE_MAX2) }).strict()
|
|
15732
|
+
external_exports.object({ kind: external_exports.literal("rewrite"), note: external_exports.string().min(1).max(MONITOR_NOTE_TEMPLATE_MAX2) }).strict(),
|
|
15733
|
+
external_exports.object({ kind: external_exports.literal("steer"), note: external_exports.string().min(1).max(MONITOR_STEER_NOTE_MAX2) }).strict()
|
|
15542
15734
|
]);
|
|
15543
15735
|
monitorRuleSchema2 = external_exports.object({
|
|
15544
15736
|
when: external_exports.array(flagConditionSchema2).min(1),
|
|
@@ -15549,10 +15741,23 @@ var init_dist = __esm({
|
|
|
15549
15741
|
rules: external_exports.array(monitorRuleSchema2).optional(),
|
|
15550
15742
|
fallback: monitorActionSchema2.optional()
|
|
15551
15743
|
};
|
|
15552
|
-
MONITOR_RULE_TRIGGERS2 = ["user_message", "assistant_reply", "manual"];
|
|
15553
|
-
MONITOR_RULE_TRIGGER_MESSAGE2 = "only a user_message, assistant_reply or
|
|
15744
|
+
MONITOR_RULE_TRIGGERS2 = ["user_message", "assistant_reply", "manual", "call_utterance"];
|
|
15745
|
+
MONITOR_RULE_TRIGGER_MESSAGE2 = "only a user_message, assistant_reply, manual or call_utterance monitor acts on rules \u2014 set one of those triggers, or remove this key. A manual monitor acts on its rules when another monitor runs it.";
|
|
15746
|
+
CALL_UTTERANCE_SPEAKERS2 = ["caller", "voice", "both"];
|
|
15747
|
+
callUtteranceSpeakerSchema2 = external_exports.enum(CALL_UTTERANCE_SPEAKERS2);
|
|
15748
|
+
MONITOR_CALL_KEYS2 = ["speaker"];
|
|
15749
|
+
MONITOR_CALL_SCHEMAS2 = {
|
|
15750
|
+
speaker: callUtteranceSpeakerSchema2.optional()
|
|
15751
|
+
};
|
|
15752
|
+
MONITOR_CALL_KEY_MESSAGE2 = "only a call_utterance monitor reads this: it names whose speech on a live call a check waits for";
|
|
15753
|
+
CALL_STEERING_MIN_CONFIDENCE2 = 0.9;
|
|
15754
|
+
CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE2 = `a call_utterance rule acts on a live call from a transcript that can be misheard, so it must be high-confidence: give it a condition on one of this monitor's "\u2026${CONFIDENCE_VARIABLE_SUFFIX2}" variables with ">= ${CALL_STEERING_MIN_CONFIDENCE2}" or a higher bar, up to 1.`;
|
|
15755
|
+
CALL_UTTERANCE_FALLBACK_MESSAGE2 = "a call_utterance monitor acts only when a high-confidence rule matches \u2014 a fallback would act on every check of the call. Remove it.";
|
|
15756
|
+
CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE2 = "a call_utterance monitor checks a live call every few seconds and does not flag the conversation. Remove its flag_conditions, or flag from a monitor on another trigger.";
|
|
15757
|
+
CALL_STEER_NOTE_BLANK_MESSAGE2 = "a steer's note is what the voice is told \u2014 write the instruction it should follow.";
|
|
15554
15758
|
MONITOR_USER_MESSAGE_ACTION_KINDS2 = ["none", "call_tool"];
|
|
15555
15759
|
MONITOR_ASSISTANT_REPLY_ACTION_KINDS2 = ["none", "call_tool", "hold", "rewrite"];
|
|
15760
|
+
MONITOR_CALL_UTTERANCE_ACTION_KINDS2 = ["none", "call_tool", "steer"];
|
|
15556
15761
|
INSERT_NOTE_TOOL_NAME2 = "insert_note";
|
|
15557
15762
|
RUN_MONITOR_TOOL_NAME2 = "run_monitor";
|
|
15558
15763
|
MONITOR_RULE_ALLOWED_NATIVE_TOOLS2 = [
|
|
@@ -15573,6 +15778,7 @@ var init_dist = __esm({
|
|
|
15573
15778
|
trigger: monitorTriggerSchema2.optional(),
|
|
15574
15779
|
...MONITOR_INPUT_SHAPING_SCHEMAS2,
|
|
15575
15780
|
...MONITOR_RULE_SCHEMAS2,
|
|
15781
|
+
...MONITOR_CALL_SCHEMAS2,
|
|
15576
15782
|
flag_conditions: external_exports.array(flagConditionSchema2).optional()
|
|
15577
15783
|
}).passthrough().superRefine((config, ctx) => {
|
|
15578
15784
|
if (monitorConfigNeedsDelay2(config)) {
|
|
@@ -15589,6 +15795,9 @@ var init_dist = __esm({
|
|
|
15589
15795
|
message: MONITOR_INPUT_SHAPING_IDLE_MESSAGE2
|
|
15590
15796
|
});
|
|
15591
15797
|
}
|
|
15798
|
+
for (const key of monitorCallKeysOffTrigger2(config)) {
|
|
15799
|
+
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: [key], message: MONITOR_CALL_KEY_MESSAGE2 });
|
|
15800
|
+
}
|
|
15592
15801
|
for (const issue of collectMonitorRuleIssues2(config)) {
|
|
15593
15802
|
ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: issue.path, message: issue.message });
|
|
15594
15803
|
}
|
|
@@ -17278,14 +17487,29 @@ var init_dist = __esm({
|
|
|
17278
17487
|
*/
|
|
17279
17488
|
conversation_id: external_exports.string().uuid().nullish().transform((v) => v ?? void 0),
|
|
17280
17489
|
/** The browser's SDP offer, sent to the provider unchanged. */
|
|
17281
|
-
sdp_offer: sdpOffer2
|
|
17490
|
+
sdp_offer: sdpOffer2,
|
|
17491
|
+
/**
|
|
17492
|
+
* The client plays the RECORDING NOTICE — the disclosure's part that tells the caller the
|
|
17493
|
+
* call is recorded — before the voice layer speaks, whenever the answer says `recorded`.
|
|
17494
|
+
* A hub that records calls records only a call whose client says so: a client without the
|
|
17495
|
+
* notice (one that predates it, or a stale tab) gets an unrecorded call, never a recorded
|
|
17496
|
+
* call its caller was not told about. Absent: false.
|
|
17497
|
+
*/
|
|
17498
|
+
plays_recording_notice: external_exports.boolean().optional()
|
|
17282
17499
|
});
|
|
17283
17500
|
createCallResponse2 = external_exports.object({
|
|
17284
17501
|
call_id: external_exports.string().uuid(),
|
|
17285
17502
|
/** The conversation the call is attached to: the one named, or else the caller's active one. */
|
|
17286
17503
|
conversation_id: external_exports.string().uuid(),
|
|
17287
17504
|
/** The provider's SDP answer, for the browser's `setRemoteDescription`. */
|
|
17288
|
-
sdp_answer: sdpDescription2
|
|
17505
|
+
sdp_answer: sdpDescription2,
|
|
17506
|
+
/**
|
|
17507
|
+
* The call is recorded: its hub records calls and the create said its client plays the
|
|
17508
|
+
* recording notice. The client plays the notice before it sends `ready`, and the recording
|
|
17509
|
+
* starts only once `ready` arrives. Absent only from a server that predates recording, which
|
|
17510
|
+
* records nothing: absent means not recorded.
|
|
17511
|
+
*/
|
|
17512
|
+
recorded: external_exports.boolean().optional()
|
|
17289
17513
|
});
|
|
17290
17514
|
callReadyBody2 = external_exports.object(hubScoped3);
|
|
17291
17515
|
callHangupBody2 = external_exports.object(hubScoped3);
|
|
@@ -17299,6 +17523,24 @@ var init_dist = __esm({
|
|
|
17299
17523
|
callResponse2 = external_exports.object({
|
|
17300
17524
|
call: callSummary2
|
|
17301
17525
|
});
|
|
17526
|
+
MAX_CALL_RECORDING_GAPS2 = 500;
|
|
17527
|
+
callRecordingGap2 = external_exports.object({
|
|
17528
|
+
start_ms: external_exports.number().int().nonnegative(),
|
|
17529
|
+
end_ms: external_exports.number().int().positive()
|
|
17530
|
+
}).refine((gap) => gap.end_ms > gap.start_ms, "A gap ends after it starts");
|
|
17531
|
+
callRecordingNoteMetadata2 = external_exports.object({
|
|
17532
|
+
call_id: external_exports.string().min(1),
|
|
17533
|
+
team_notice: external_exports.literal("call_recording"),
|
|
17534
|
+
recording: external_exports.object({
|
|
17535
|
+
/** The recording's `conversation_file` row, the note's one file. */
|
|
17536
|
+
file_id: external_exports.string().uuid(),
|
|
17537
|
+
/** When its first audio arrived: its time 0. */
|
|
17538
|
+
started_at: callInstant2,
|
|
17539
|
+
duration_ms: external_exports.number().int().nonnegative(),
|
|
17540
|
+
/** Ascending and disjoint, each within the recording. */
|
|
17541
|
+
gaps: external_exports.array(callRecordingGap2).max(MAX_CALL_RECORDING_GAPS2)
|
|
17542
|
+
})
|
|
17543
|
+
});
|
|
17302
17544
|
TTS_VOICE_REPLY_ENABLED_FIELD2 = {
|
|
17303
17545
|
voice_reply_enabled: {
|
|
17304
17546
|
type: "toggle",
|
|
@@ -18295,7 +18537,9 @@ var init_dist = __esm({
|
|
|
18295
18537
|
// start + 7,199 s), so 119 whole minutes is the most a call can last.
|
|
18296
18538
|
max_call_minutes: { type: "number", label: "Maximum Call Length (minutes)", min: 1, max: 119, default: 10, description: "A call ends when it reaches this length." },
|
|
18297
18539
|
inactivity_timeout_seconds: { type: "number", label: "Inactivity Timeout (seconds)", min: 10, max: 600, default: 60, description: "A call ends after this many seconds in which neither side speaks." },
|
|
18298
|
-
delegation_timeout_seconds: { type: "number", label: "Answer Timeout (seconds)", min: 5, max: 120, default: 30, description: "How long the voice waits for the hub's agent to answer one question before it gives up on that answer." }
|
|
18540
|
+
delegation_timeout_seconds: { type: "number", label: "Answer Timeout (seconds)", min: 5, max: 120, default: 30, description: "How long the voice waits for the hub's agent to answer one question before it gives up on that answer." },
|
|
18541
|
+
// Opt-in (D7): off unless turned on. Read by the call route (`resolveVoiceCallSettings`).
|
|
18542
|
+
record_calls: { type: "toggle", label: "Record Calls", default: false, description: "Keep each call's audio, both sides, as a recording your team can play from the conversation. Callers hear that the call is recorded before the voice speaks." }
|
|
18299
18543
|
},
|
|
18300
18544
|
channel_settings_schema: null,
|
|
18301
18545
|
tool_settings_schema: null,
|
|
@@ -19306,9 +19550,6 @@ var init_dist = __esm({
|
|
|
19306
19550
|
adminOrgIdParam2 = external_exports.object({
|
|
19307
19551
|
orgId: uuidSchema2
|
|
19308
19552
|
});
|
|
19309
|
-
adminVoiceCallsOrgIdParam2 = external_exports.object({
|
|
19310
|
-
orgId: uuidSchema2.transform((id) => id.toLowerCase())
|
|
19311
|
-
});
|
|
19312
19553
|
adminOrgAdminIdParam2 = external_exports.object({
|
|
19313
19554
|
orgId: uuidSchema2,
|
|
19314
19555
|
// `adminId` is a `member_grant.user_id`, which for a logged-in user is the
|
|
@@ -19409,11 +19650,9 @@ var init_dist = __esm({
|
|
|
19409
19650
|
*/
|
|
19410
19651
|
default_eval_retention_days: external_exports.number().int().min(0).max(MAX_EVAL_RETENTION_DAYS2).optional(),
|
|
19411
19652
|
/**
|
|
19412
|
-
* The voice-calls kill switch
|
|
19413
|
-
*
|
|
19414
|
-
*
|
|
19415
|
-
* which this body cannot write (`PUT`/`DELETE /admin/voice-calls/allowlist/:orgId`
|
|
19416
|
-
* change one org at a time). `wayai admin voice-calls enable|disable` flips this.
|
|
19653
|
+
* The voice-calls kill switch. 0 = off (the default: every voice-call surface stays dark
|
|
19654
|
+
* for every org), 1 = on (every org; a hub takes calls once it is configured for them).
|
|
19655
|
+
* `wayai admin voice-calls enable|disable` flips this.
|
|
19417
19656
|
*/
|
|
19418
19657
|
voice_calls_enabled: external_exports.number().int().min(0).max(1).optional(),
|
|
19419
19658
|
/** The voice-call meter's price (`voiceCallMinuteOps`). `wayai admin voice-calls price` sets it. */
|
|
@@ -19422,8 +19661,6 @@ var init_dist = __esm({
|
|
|
19422
19661
|
(data) => Object.keys(data).length > 0,
|
|
19423
19662
|
{ message: "No fields to update" }
|
|
19424
19663
|
);
|
|
19425
|
-
MAX_VOICE_CALLS_ALLOWLIST_ORGS2 = 200;
|
|
19426
|
-
voiceCallsOrgAllowlistSchema2 = external_exports.array(uuidSchema2).max(MAX_VOICE_CALLS_ALLOWLIST_ORGS2);
|
|
19427
19664
|
updateFreeOrgLimitBody2 = external_exports.object({
|
|
19428
19665
|
max_free_orgs_override: external_exports.number().int().min(0).nullable()
|
|
19429
19666
|
});
|
|
@@ -33451,12 +33688,6 @@ async function adminCommand(args2) {
|
|
|
33451
33688
|
case "status":
|
|
33452
33689
|
await runVoiceCallsStatus(flagArgs);
|
|
33453
33690
|
return;
|
|
33454
|
-
case "allow":
|
|
33455
|
-
await runVoiceCallsAllowlist(true, flagArgs);
|
|
33456
|
-
return;
|
|
33457
|
-
case "deny":
|
|
33458
|
-
await runVoiceCallsAllowlist(false, flagArgs);
|
|
33459
|
-
return;
|
|
33460
33691
|
case "price":
|
|
33461
33692
|
await runVoiceCallsPrice(flagArgs);
|
|
33462
33693
|
return;
|
|
@@ -34050,9 +34281,7 @@ async function runHarnessMassDestroy(flagArgs) {
|
|
|
34050
34281
|
function rejectPlatformGateFlags(gate, sub, flagArgs) {
|
|
34051
34282
|
if (flagArgs.length === 0) return;
|
|
34052
34283
|
console.error(`Unknown flag: ${flagArgs[0]}`);
|
|
34053
|
-
console.error(
|
|
34054
|
-
gate.orgLayerCommand ? `The ${gate.label} is platform-wide; to target one org, use \`${gate.orgLayerCommand}\`.` : `The ${gate.label} is platform-wide; there is no --org/--hub layer.`
|
|
34055
|
-
);
|
|
34284
|
+
console.error(`The ${gate.label} is platform-wide; there is no --org/--hub layer.`);
|
|
34056
34285
|
console.error(`wayai admin ${gate.group} ${sub}`);
|
|
34057
34286
|
process.exit(1);
|
|
34058
34287
|
}
|
|
@@ -34104,17 +34333,14 @@ async function runHarnessToggle(enable, flagArgs) {
|
|
|
34104
34333
|
async function runVoiceCallsToggle(enable, flagArgs) {
|
|
34105
34334
|
await runPlatformGateToggle(VOICE_CALLS_GATE, enable, flagArgs);
|
|
34106
34335
|
if (enable) {
|
|
34107
|
-
console.log("
|
|
34336
|
+
console.log("Every org's hubs get voice-call surfaces once configured for them.");
|
|
34108
34337
|
} else {
|
|
34109
|
-
console.log("Every voice-call surface is dark for every org.
|
|
34338
|
+
console.log("Every voice-call surface is dark for every org.");
|
|
34110
34339
|
}
|
|
34111
34340
|
console.log(VOICE_CALLS_PROPAGATION_NOTE);
|
|
34112
34341
|
}
|
|
34113
34342
|
async function runVoiceCallsStatus(flagArgs) {
|
|
34114
34343
|
const data = await runPlatformGateStatus(VOICE_CALLS_GATE, flagArgs);
|
|
34115
|
-
const orgIds = parseVoiceCallsOrgAllowlist(data.voice_calls_org_allowlist);
|
|
34116
|
-
console.log(`voice_calls_org_allowlist: ${orgIds.length} org(s)${orgIds.length === 0 ? " (none)" : ""}`);
|
|
34117
|
-
for (const orgId of orgIds) console.log(` ${orgId}`);
|
|
34118
34344
|
console.log(voiceCallPriceLine(data));
|
|
34119
34345
|
}
|
|
34120
34346
|
function voiceCallPriceLine(data) {
|
|
@@ -34154,45 +34380,6 @@ async function runVoiceCallsPrice(flagArgs) {
|
|
|
34154
34380
|
console.log(VOICE_CALLS_PROPAGATION_NOTE);
|
|
34155
34381
|
}
|
|
34156
34382
|
}
|
|
34157
|
-
async function runVoiceCallsAllowlist(allow, flagArgs) {
|
|
34158
|
-
const usage3 = `wayai admin voice-calls ${allow ? "allow" : "deny"} --org <org_id>`;
|
|
34159
|
-
let orgId;
|
|
34160
|
-
for (let i = 0; i < flagArgs.length; i++) {
|
|
34161
|
-
if (flagArgs[i] === "--org") {
|
|
34162
|
-
orgId = requireFlagValue(flagArgs, i + 1, "--org");
|
|
34163
|
-
i++;
|
|
34164
|
-
} else {
|
|
34165
|
-
console.error(`Unknown flag: ${flagArgs[i]}`);
|
|
34166
|
-
console.error(usage3);
|
|
34167
|
-
process.exit(1);
|
|
34168
|
-
}
|
|
34169
|
-
}
|
|
34170
|
-
if (!orgId) {
|
|
34171
|
-
console.error("--org <org_id> is required");
|
|
34172
|
-
console.error(usage3);
|
|
34173
|
-
process.exit(1);
|
|
34174
|
-
}
|
|
34175
|
-
const { config, accessToken } = await requireAuth();
|
|
34176
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
34177
|
-
let data;
|
|
34178
|
-
try {
|
|
34179
|
-
data = (allow ? await client.adminAllowVoiceCallsOrg(orgId) : await client.adminDenyVoiceCallsOrg(orgId)).data;
|
|
34180
|
-
} catch (err) {
|
|
34181
|
-
if (err instanceof ApiError && err.status === 409) {
|
|
34182
|
-
console.error(`Refused: ${err.body || err.message}`);
|
|
34183
|
-
process.exit(1);
|
|
34184
|
-
}
|
|
34185
|
-
exitOnApiError(err);
|
|
34186
|
-
throw err;
|
|
34187
|
-
}
|
|
34188
|
-
const verb = allow ? "ALLOWED" : "DENIED";
|
|
34189
|
-
const note = data.changed ? "" : allow ? " (already on the allowlist)" : " (was not on the allowlist)";
|
|
34190
|
-
console.log(`Org ${data.org_id} ${verb} for voice calls${note}. Allowlist: ${data.org_ids.length} org(s).`);
|
|
34191
|
-
if (allow) {
|
|
34192
|
-
console.log("It gets voice-call surfaces only while the kill switch is on (`wayai admin voice-calls status`).");
|
|
34193
|
-
}
|
|
34194
|
-
if (data.changed) console.log(VOICE_CALLS_PROPAGATION_NOTE);
|
|
34195
|
-
}
|
|
34196
34383
|
function requireFlagValue(flagArgs, index, flag) {
|
|
34197
34384
|
const v = flagArgs[index];
|
|
34198
34385
|
if (v === void 0 || v === "" || v.startsWith("--")) {
|
|
@@ -34633,11 +34820,9 @@ Usage:
|
|
|
34633
34820
|
wayai admin harness mass-destroy --all | --org <org_id> | --hub <hub_id> [--dry-run] [--yes] [--json]
|
|
34634
34821
|
Reap every live harness sandbox/token/slot in scope (run --dry-run first to see the blast radius)
|
|
34635
34822
|
|
|
34636
|
-
wayai admin voice-calls enable Flip the platform voice_calls_enabled kill switch ON (
|
|
34823
|
+
wayai admin voice-calls enable Flip the platform voice_calls_enabled kill switch ON (every org)
|
|
34637
34824
|
wayai admin voice-calls disable Flip it OFF: every voice-call surface goes dark for every org
|
|
34638
|
-
wayai admin voice-calls status Print the kill switch and the
|
|
34639
|
-
wayai admin voice-calls allow --org <org_id> Put one org on the voice-calls allowlist
|
|
34640
|
-
wayai admin voice-calls deny --org <org_id> Take one org off the voice-calls allowlist
|
|
34825
|
+
wayai admin voice-calls status Print the kill switch and the call price
|
|
34641
34826
|
wayai admin voice-calls price [--ops-per-minute <n>]
|
|
34642
34827
|
Print, or set, the operations a call bills per connected minute (default 0)
|
|
34643
34828
|
|
|
@@ -34697,13 +34882,11 @@ Sources:
|
|
|
34697
34882
|
sandbox/token/slot that is live NOW (scope: --hub < --org < --all, prefer
|
|
34698
34883
|
the narrowest). Run \`mass-destroy --dry-run\` first to see the blast
|
|
34699
34884
|
radius.
|
|
34700
|
-
voice-calls The voice-calls
|
|
34701
|
-
|
|
34702
|
-
|
|
34703
|
-
|
|
34704
|
-
|
|
34705
|
-
operations per connected call-minute (0 until set). Changes land within
|
|
34706
|
-
about 60 s.
|
|
34885
|
+
voice-calls The voice-calls gate, default-deny: the PLATFORM-wide voice_calls_enabled
|
|
34886
|
+
switch (\`enable\`/\`disable\`). While it is on, every org's hubs get
|
|
34887
|
+
voice-call surfaces once configured for them; \`disable\` darkens every
|
|
34888
|
+
org. \`price\` is the call meter's price in operations per connected
|
|
34889
|
+
call-minute (0 until set). Changes land within about 60 s.
|
|
34707
34890
|
|
|
34708
34891
|
Types (do): ${VALID_TYPES.join(" | ")}
|
|
34709
34892
|
Tables (analytics): ${VALID_ANALYTICS_TABLES.join(" | ")}
|
|
@@ -34765,8 +34948,7 @@ var init_admin = __esm({
|
|
|
34765
34948
|
group: "voice-calls",
|
|
34766
34949
|
key: "voice_calls_enabled",
|
|
34767
34950
|
label: "voice-calls kill switch",
|
|
34768
|
-
displayName: "Voice calls"
|
|
34769
|
-
orgLayerCommand: "wayai admin voice-calls allow|deny --org <org_id>"
|
|
34951
|
+
displayName: "Voice calls"
|
|
34770
34952
|
};
|
|
34771
34953
|
VOICE_CALLS_PROPAGATION_NOTE = "Takes effect within about 60 s (the platform-config cache is dropped; KV deletes propagate eventually).";
|
|
34772
34954
|
VALID_NOTICE_SEVERITIES = ["critical", "warn", "info"];
|