@wayai/cli 0.3.129 → 0.3.131
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 +314 -292
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5004,43 +5004,14 @@ function collectTurnAttachmentHashes(turn) {
|
|
|
5004
5004
|
}
|
|
5005
5005
|
return hashes;
|
|
5006
5006
|
}
|
|
5007
|
-
function
|
|
5008
|
-
|
|
5009
|
-
if (path31.startsWith("/") || path31.includes("\\")) return false;
|
|
5010
|
-
const segments = path31.split("/");
|
|
5011
|
-
return segments.every(
|
|
5012
|
-
(seg) => seg.length > 0 && seg !== "." && seg !== ".." && /^[A-Za-z0-9._-]+$/.test(seg)
|
|
5013
|
-
);
|
|
5014
|
-
}
|
|
5015
|
-
function dropTemplateKeys(value, drop) {
|
|
5016
|
-
if (Array.isArray(value)) return value.map((v) => dropTemplateKeys(v, drop));
|
|
5017
|
-
if (isPlainObject(value)) {
|
|
5018
|
-
const out = {};
|
|
5019
|
-
for (const [key, child] of Object.entries(value)) {
|
|
5020
|
-
if (drop.has(key)) continue;
|
|
5021
|
-
out[key] = TEMPLATE_OPAQUE_BLOB_KEYS.has(key) ? child : dropTemplateKeys(child, drop);
|
|
5022
|
-
}
|
|
5023
|
-
return out;
|
|
5024
|
-
}
|
|
5025
|
-
return value;
|
|
5026
|
-
}
|
|
5027
|
-
function stripTemplateInstanceIds(value) {
|
|
5028
|
-
return dropTemplateKeys(value, TEMPLATE_INSTANCE_ID_KEYS);
|
|
5029
|
-
}
|
|
5030
|
-
function excludeTemplateAuthorData(value) {
|
|
5031
|
-
return dropTemplateKeys(value, TEMPLATE_AUTHOR_DATA_KEYS);
|
|
5032
|
-
}
|
|
5033
|
-
function isPlainObject(value) {
|
|
5034
|
-
if (value === null || typeof value !== "object") return false;
|
|
5035
|
-
const proto = Object.getPrototypeOf(value);
|
|
5036
|
-
return proto === Object.prototype || proto === null;
|
|
5007
|
+
function evaluatedRunCount(counts) {
|
|
5008
|
+
return counts.successful_runs + (counts.assertion_failure_runs ?? counts.failed_runs);
|
|
5037
5009
|
}
|
|
5038
|
-
function
|
|
5039
|
-
|
|
5040
|
-
return path31 !== "resources" && !path31.startsWith("resources/");
|
|
5010
|
+
function unprovenRunCount(counts) {
|
|
5011
|
+
return (counts.errored_runs ?? 0) + (counts.invalid_runs ?? 0);
|
|
5041
5012
|
}
|
|
5042
|
-
function
|
|
5043
|
-
return
|
|
5013
|
+
function terminalRunCount(counts) {
|
|
5014
|
+
return counts.successful_runs + counts.failed_runs;
|
|
5044
5015
|
}
|
|
5045
5016
|
function refineHubAsCodeCustomTools(config, ctx) {
|
|
5046
5017
|
const agents = config.agents;
|
|
@@ -5328,7 +5299,45 @@ function refineHubAsCodeDelegation(config, ctx) {
|
|
|
5328
5299
|
});
|
|
5329
5300
|
});
|
|
5330
5301
|
}
|
|
5331
|
-
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, summarizationThresholdField, monitorConfigField, 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, 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, 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, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, 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, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, createEvalBody, updateEvalBody, 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, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, activityQuery, deletionModeSchema, deletionRequestBody, templateLocaleSchema, TEMPLATE_SLUG_REGEX, templateSlugSchema, templateStatusSchema, templateFileMapSchema, TEMPLATE_INSTANCE_ID_KEYS, TEMPLATE_OPAQUE_BLOB_KEYS, TEMPLATE_AUTHOR_DATA_KEYS, templateTextSchema, templateUsesEntrySchema, templateUsesSchema, templateYamlLocaleEntry, templateYamlWayaiBlock, templateTagsSchema, templateYamlSchema, templateHeroSchema, templatePushLocaleSchema, templatePushBody, templateListQuery, templateSlugParam, templateDetailQuery, courseQuizScoreSchema, upsertCourseLessonBody, linkCourseCapstoneBody, 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, 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, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetBody, 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, 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, discordTier, discordBillingCycle, discordMetadata, discordOAuthStartResponse, discordOAuthFinalizeBody, discordOAuthFinalizeResponse, discordDisconnectResponse, 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;
|
|
5302
|
+
function isSafeTemplatePath(path31) {
|
|
5303
|
+
if (path31.length === 0 || path31.length > 300) return false;
|
|
5304
|
+
if (path31.startsWith("/") || path31.includes("\\")) return false;
|
|
5305
|
+
const segments = path31.split("/");
|
|
5306
|
+
return segments.every(
|
|
5307
|
+
(seg) => seg.length > 0 && seg !== "." && seg !== ".." && /^[A-Za-z0-9._-]+$/.test(seg)
|
|
5308
|
+
);
|
|
5309
|
+
}
|
|
5310
|
+
function dropTemplateKeys(value, drop) {
|
|
5311
|
+
if (Array.isArray(value)) return value.map((v) => dropTemplateKeys(v, drop));
|
|
5312
|
+
if (isPlainObject(value)) {
|
|
5313
|
+
const out = {};
|
|
5314
|
+
for (const [key, child] of Object.entries(value)) {
|
|
5315
|
+
if (drop.has(key)) continue;
|
|
5316
|
+
out[key] = TEMPLATE_OPAQUE_BLOB_KEYS.has(key) ? child : dropTemplateKeys(child, drop);
|
|
5317
|
+
}
|
|
5318
|
+
return out;
|
|
5319
|
+
}
|
|
5320
|
+
return value;
|
|
5321
|
+
}
|
|
5322
|
+
function stripTemplateInstanceIds(value) {
|
|
5323
|
+
return dropTemplateKeys(value, TEMPLATE_INSTANCE_ID_KEYS);
|
|
5324
|
+
}
|
|
5325
|
+
function excludeTemplateAuthorData(value) {
|
|
5326
|
+
return dropTemplateKeys(value, TEMPLATE_AUTHOR_DATA_KEYS);
|
|
5327
|
+
}
|
|
5328
|
+
function isPlainObject(value) {
|
|
5329
|
+
if (value === null || typeof value !== "object") return false;
|
|
5330
|
+
const proto = Object.getPrototypeOf(value);
|
|
5331
|
+
return proto === Object.prototype || proto === null;
|
|
5332
|
+
}
|
|
5333
|
+
function isSanitizableSliceFile(path31) {
|
|
5334
|
+
if (!/\.ya?ml$/i.test(path31)) return false;
|
|
5335
|
+
return path31 !== "resources" && !path31.startsWith("resources/");
|
|
5336
|
+
}
|
|
5337
|
+
function distinctUsesBackends(uses) {
|
|
5338
|
+
return [...new Set((uses ?? []).map((u) => u.backend))];
|
|
5339
|
+
}
|
|
5340
|
+
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, previousConversationsCountField, summarizationThresholdField, monitorConfigField, 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, 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, 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, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, 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, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, createEvalBody, updateEvalBody, 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, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, 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, 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, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetBody, 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, 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, discordTier, discordBillingCycle, discordMetadata, discordOAuthStartResponse, discordOAuthFinalizeBody, discordOAuthFinalizeResponse, discordDisconnectResponse, jsonSchemaSchema, hubUserIdentity, stateValueEntry, getHubUserContextResponse, updateHubUserBody, updateHubUserResponse, unlockHubUserNameResponse, stateResetParams, stateResetResponse, hubAlertsParam, hubAlertSeverity, hubAlert, hubAlertsListResponse, noticeSeveritySchema, noticeStatusSchema, NOTICE_SCOPE_REGEX, noticeScopeSchema, noticeLinkSchema, createNoticeBody, updateNoticeBody, listNoticesQuery, noticeIdParamSchema, templateLocaleSchema, TEMPLATE_SLUG_REGEX, templateSlugSchema, templateStatusSchema, templateFileMapSchema, TEMPLATE_INSTANCE_ID_KEYS, TEMPLATE_OPAQUE_BLOB_KEYS, TEMPLATE_AUTHOR_DATA_KEYS, templateTextSchema, templateUsesEntrySchema, templateUsesSchema, templateYamlLocaleEntry, templateYamlWayaiBlock, templateTagsSchema, templateYamlSchema, templateHeroSchema, templatePushLocaleSchema, templatePushBody, templateListQuery, templateSlugParam, templateDetailQuery, ADMIN_SKILL_NAME_REGEX, adminSkillNameParam;
|
|
5332
5341
|
var init_contracts = __esm({
|
|
5333
5342
|
"../../packages/core/dist/contracts/index.js"() {
|
|
5334
5343
|
"use strict";
|
|
@@ -5382,7 +5391,6 @@ var init_contracts = __esm({
|
|
|
5382
5391
|
init_zod();
|
|
5383
5392
|
init_zod();
|
|
5384
5393
|
init_zod();
|
|
5385
|
-
init_zod();
|
|
5386
5394
|
uuidSchema = external_exports.string().uuid();
|
|
5387
5395
|
paginationSchema = external_exports.object({
|
|
5388
5396
|
limit: external_exports.coerce.number().int().min(1).max(100).default(50),
|
|
@@ -5503,6 +5511,8 @@ var init_contracts = __esm({
|
|
|
5503
5511
|
SUPPORTED_LOCALES = ["en", "pt", "es"];
|
|
5504
5512
|
SUMMARIZATION_THRESHOLD_MIN = 1e3;
|
|
5505
5513
|
SUMMARIZATION_THRESHOLD_MAX = 1e6;
|
|
5514
|
+
PREVIOUS_CONVERSATIONS_MAX = 20;
|
|
5515
|
+
previousConversationsCountField = external_exports.number().int().min(0).max(PREVIOUS_CONVERSATIONS_MAX).nullable().optional();
|
|
5506
5516
|
summarizationThresholdField = external_exports.number().int().min(SUMMARIZATION_THRESHOLD_MIN).max(SUMMARIZATION_THRESHOLD_MAX).nullable().optional();
|
|
5507
5517
|
monitorConfigField = external_exports.object({
|
|
5508
5518
|
delay_seconds: external_exports.number().int().min(10),
|
|
@@ -5529,11 +5539,13 @@ var init_contracts = __esm({
|
|
|
5529
5539
|
agent_role: external_exports.enum(AGENT_ROLES),
|
|
5530
5540
|
additional_context_template: external_exports.string().max(2e4).optional(),
|
|
5531
5541
|
summarization_threshold_tokens: summarizationThresholdField,
|
|
5542
|
+
previous_conversations_count: previousConversationsCountField,
|
|
5532
5543
|
monitor_config: monitorConfigField
|
|
5533
5544
|
}).passthrough();
|
|
5534
5545
|
updateAgentBody = external_exports.object({
|
|
5535
5546
|
additional_context_template: external_exports.string().max(2e4).optional(),
|
|
5536
5547
|
summarization_threshold_tokens: summarizationThresholdField,
|
|
5548
|
+
previous_conversations_count: previousConversationsCountField,
|
|
5537
5549
|
monitor_config: monitorConfigField
|
|
5538
5550
|
}).passthrough();
|
|
5539
5551
|
AGENT_PARAMETER_TYPES = ["string", "number", "boolean", "integer", "enum"];
|
|
@@ -6869,7 +6881,17 @@ var init_contracts = __esm({
|
|
|
6869
6881
|
total_evals: external_exports.number(),
|
|
6870
6882
|
total_runs: external_exports.number(),
|
|
6871
6883
|
successful_runs: external_exports.number(),
|
|
6884
|
+
/**
|
|
6885
|
+
* Every terminal run that did NOT pass, whatever the reason. Unchanged
|
|
6886
|
+
* meaning — deliberately NOT narrowed to behavioral misses, so a released CLI
|
|
6887
|
+
* that predates the split cannot read an infrastructure wipeout as a clean
|
|
6888
|
+
* sweep. Use `assertion_failure_runs` for the narrow count.
|
|
6889
|
+
*/
|
|
6872
6890
|
failed_runs: external_exports.number(),
|
|
6891
|
+
/** The `failed_runs` breakdown by cause (see `EvalRunOutcomeKind`); sums to it. */
|
|
6892
|
+
assertion_failure_runs: external_exports.number(),
|
|
6893
|
+
errored_runs: external_exports.number(),
|
|
6894
|
+
invalid_runs: external_exports.number(),
|
|
6873
6895
|
created_by: external_exports.string(),
|
|
6874
6896
|
/** Optional — sessions created pre-PR2 may not have this. */
|
|
6875
6897
|
scenario_set_id: external_exports.string().nullable().optional(),
|
|
@@ -7072,153 +7094,6 @@ var init_contracts = __esm({
|
|
|
7072
7094
|
/** Type-to-confirm value; must equal the user's email (constant-time compared). */
|
|
7073
7095
|
email_confirmation: external_exports.string().min(1).max(320)
|
|
7074
7096
|
});
|
|
7075
|
-
templateLocaleSchema = external_exports.enum(SUPPORTED_LOCALES);
|
|
7076
|
-
TEMPLATE_SLUG_REGEX = /^[a-z0-9][a-z0-9-]{0,62}$/;
|
|
7077
|
-
templateSlugSchema = external_exports.string().regex(TEMPLATE_SLUG_REGEX, "slug must be lowercase alphanumeric with hyphens (max 63)");
|
|
7078
|
-
templateStatusSchema = external_exports.enum(["published", "draft", "internal"]);
|
|
7079
|
-
templateFileMapSchema = external_exports.record(external_exports.string()).refine((m) => Object.keys(m).every(isSafeTemplatePath), {
|
|
7080
|
-
message: 'file map contains an unsafe path (no absolute paths, "..", or backslashes)'
|
|
7081
|
-
});
|
|
7082
|
-
TEMPLATE_INSTANCE_ID_KEYS = /* @__PURE__ */ new Set([
|
|
7083
|
-
// Top-level hub instance metadata (hub.yaml) — set by `wayai pull`, never authored.
|
|
7084
|
-
"hub_id",
|
|
7085
|
-
"hub_environment",
|
|
7086
|
-
"preview_label",
|
|
7087
|
-
"branch_name",
|
|
7088
|
-
// Per-entity row id + cross-entity reference UUIDs (each has a portable name twin).
|
|
7089
|
-
"id",
|
|
7090
|
-
"connection_id",
|
|
7091
|
-
"target_id",
|
|
7092
|
-
"agent_id",
|
|
7093
|
-
"resource_id",
|
|
7094
|
-
"list_id",
|
|
7095
|
-
// Account-scoped Meta WhatsApp template id (name twin: `template_whatsapp`).
|
|
7096
|
-
"template_whatsapp_id"
|
|
7097
|
-
]);
|
|
7098
|
-
TEMPLATE_OPAQUE_BLOB_KEYS = /* @__PURE__ */ new Set([
|
|
7099
|
-
"settings",
|
|
7100
|
-
// agent + connection connector settings
|
|
7101
|
-
"schema_json",
|
|
7102
|
-
// agent response_format JSON Schema
|
|
7103
|
-
"json_schema",
|
|
7104
|
-
// state JSON Schema
|
|
7105
|
-
"initial_value",
|
|
7106
|
-
// state seed value
|
|
7107
|
-
"additional_context_schema",
|
|
7108
|
-
// kanban-status transition-form schema
|
|
7109
|
-
"config",
|
|
7110
|
-
// custom-tool OpenAI function schema
|
|
7111
|
-
"headers",
|
|
7112
|
-
"query_params",
|
|
7113
|
-
"body_params",
|
|
7114
|
-
// custom-tool HTTP shaping
|
|
7115
|
-
"mappings",
|
|
7116
|
-
// composed-tool argument mappings
|
|
7117
|
-
"input",
|
|
7118
|
-
"expected",
|
|
7119
|
-
"history",
|
|
7120
|
-
// eval message fixtures (tool_calls carry their own `id`)
|
|
7121
|
-
"transcript",
|
|
7122
|
-
"step_config"
|
|
7123
|
-
// journey fixtures (transcript carries `step_id`; step_config is keyed by it)
|
|
7124
|
-
]);
|
|
7125
|
-
TEMPLATE_AUTHOR_DATA_KEYS = /* @__PURE__ */ new Set([
|
|
7126
|
-
// Outbound campaign subsystem (hub.yaml top-level). `outbound_contacts` is the
|
|
7127
|
-
// author's real leads — `phone`/`email`/`instagram_sid` + the required `name` are
|
|
7128
|
-
// GDPR-grade PII. `outbound_lists` group those contacts by real name. `outbound_schedules`
|
|
7129
|
-
// bind to the (now-absent) lists and carry the author's campaign cadence + message
|
|
7130
|
-
// copy — operationally tied to the author's customers; a consumer builds their own.
|
|
7131
|
-
"outbound_contacts",
|
|
7132
|
-
"outbound_lists",
|
|
7133
|
-
"outbound_schedules",
|
|
7134
|
-
// Account-scoped channel identifier on a connection (Twilio SID / WhatsApp number /
|
|
7135
|
-
// IG username / from-email, per connector). The connection stays as portable
|
|
7136
|
-
// structure re-bound by name on push; this author-account value carries no blueprint
|
|
7137
|
-
// value. A dedicated top-level column — never nested in the `settings` opaque blob.
|
|
7138
|
-
"account_sid"
|
|
7139
|
-
]);
|
|
7140
|
-
templateTextSchema = external_exports.object({
|
|
7141
|
-
metaTitle: external_exports.string().min(1).max(200),
|
|
7142
|
-
metaDescription: external_exports.string().max(1e3).default("")
|
|
7143
|
-
});
|
|
7144
|
-
templateUsesEntrySchema = external_exports.object({
|
|
7145
|
-
backend: templateSlugSchema,
|
|
7146
|
-
endpoint: templateSlugSchema
|
|
7147
|
-
});
|
|
7148
|
-
templateUsesSchema = external_exports.array(templateUsesEntrySchema).max(24).default([]);
|
|
7149
|
-
templateYamlLocaleEntry = templateTextSchema.extend({ source: external_exports.string().min(1) });
|
|
7150
|
-
templateYamlWayaiBlock = external_exports.object({
|
|
7151
|
-
installCommand: external_exports.string().min(1).max(300),
|
|
7152
|
-
locales: external_exports.record(templateLocaleSchema, templateYamlLocaleEntry)
|
|
7153
|
-
});
|
|
7154
|
-
templateTagsSchema = external_exports.array(external_exports.string().min(1).max(30)).max(12).default([]).transform((tags) => [...new Set(tags.map((t) => t.trim().toLowerCase()).filter(Boolean))]);
|
|
7155
|
-
templateYamlSchema = external_exports.object({
|
|
7156
|
-
slug: templateSlugSchema,
|
|
7157
|
-
category: external_exports.string().min(1).max(60),
|
|
7158
|
-
tags: templateTagsSchema,
|
|
7159
|
-
status: templateStatusSchema.default("draft"),
|
|
7160
|
-
order: external_exports.number().int().min(0).max(1e5).optional(),
|
|
7161
|
-
defaultLocale: templateLocaleSchema,
|
|
7162
|
-
hero: external_exports.string().optional(),
|
|
7163
|
-
// relative path to a hero image inside the template folder
|
|
7164
|
-
// The Rekor backend(s) this channel runs on (gh #2955). Locale-agnostic. The
|
|
7165
|
-
// cross-link + MCP endpoint are derived from each entry's slugs, never authored.
|
|
7166
|
-
uses: templateUsesSchema,
|
|
7167
|
-
// A WayAI template IS a WayAI channel — the wayai slice is required. (The old
|
|
7168
|
-
// Rekor-only store entry is gone: a pure Rekor backend lives only in Rekor's store.)
|
|
7169
|
-
wayai: templateYamlWayaiBlock
|
|
7170
|
-
}).refine((c) => Boolean(c.wayai.locales[c.defaultLocale]), {
|
|
7171
|
-
message: "`wayai.locales` must include the defaultLocale"
|
|
7172
|
-
});
|
|
7173
|
-
templateHeroSchema = external_exports.object({
|
|
7174
|
-
filename: external_exports.string().min(1).max(200).regex(/\.(png|jpe?g|webp|gif)$/i, "hero must be a raster image (png/jpg/webp/gif)"),
|
|
7175
|
-
dataBase64: external_exports.string().min(1).max(8e6)
|
|
7176
|
-
});
|
|
7177
|
-
templatePushLocaleSchema = external_exports.object({
|
|
7178
|
-
wayai: templateTextSchema.optional(),
|
|
7179
|
-
readmeMarkdown: external_exports.string().default(""),
|
|
7180
|
-
wayaiFiles: templateFileMapSchema.optional()
|
|
7181
|
-
});
|
|
7182
|
-
templatePushBody = external_exports.object({
|
|
7183
|
-
slug: templateSlugSchema,
|
|
7184
|
-
defaultLocale: templateLocaleSchema,
|
|
7185
|
-
common: external_exports.object({
|
|
7186
|
-
category: external_exports.string().min(1).max(60),
|
|
7187
|
-
tags: templateTagsSchema,
|
|
7188
|
-
status: templateStatusSchema,
|
|
7189
|
-
order: external_exports.number().int().min(0).max(1e5).default(0),
|
|
7190
|
-
// The WayAI install command (a WayAI template always has a wayai side). Kept
|
|
7191
|
-
// optional on the wire so a malformed manifest 400s on the field, not the body.
|
|
7192
|
-
installCommand: external_exports.string().min(1).max(300).optional(),
|
|
7193
|
-
hero: templateHeroSchema.optional(),
|
|
7194
|
-
// The channel→backend edge (gh #2955), locale-agnostic.
|
|
7195
|
-
uses: templateUsesSchema
|
|
7196
|
-
}),
|
|
7197
|
-
locales: external_exports.record(templateLocaleSchema, templatePushLocaleSchema)
|
|
7198
|
-
}).refine((b) => Boolean(b.locales[b.defaultLocale]), {
|
|
7199
|
-
message: "`locales` must include the defaultLocale"
|
|
7200
|
-
});
|
|
7201
|
-
templateListQuery = external_exports.object({ locale: templateLocaleSchema.optional() });
|
|
7202
|
-
templateSlugParam = external_exports.object({ slug: templateSlugSchema });
|
|
7203
|
-
templateDetailQuery = external_exports.object({ locale: templateLocaleSchema.optional() });
|
|
7204
|
-
courseQuizScoreSchema = external_exports.object({
|
|
7205
|
-
correct: external_exports.number().int().min(0).max(50),
|
|
7206
|
-
total: external_exports.number().int().min(1).max(50),
|
|
7207
|
-
/** Chosen choice index per question; -1 = unanswered. */
|
|
7208
|
-
answers: external_exports.array(external_exports.number().int().min(-1).max(50)).max(50).optional()
|
|
7209
|
-
});
|
|
7210
|
-
upsertCourseLessonBody = external_exports.object({
|
|
7211
|
-
quiz_passed: external_exports.boolean().optional(),
|
|
7212
|
-
quiz_score: courseQuizScoreSchema.optional(),
|
|
7213
|
-
content_version: external_exports.number().int().min(1)
|
|
7214
|
-
}).strict();
|
|
7215
|
-
linkCourseCapstoneBody = external_exports.object({
|
|
7216
|
-
hub_id: external_exports.string().min(1).max(128),
|
|
7217
|
-
// A capstone's slug IS a canonical template slug — reuse the one validator
|
|
7218
|
-
// the template pipeline (CLI, admin, gallery) already enforces, so course
|
|
7219
|
-
// linking can't drift from how real template slugs are shaped.
|
|
7220
|
-
template_slug: templateSlugSchema.optional()
|
|
7221
|
-
}).strict();
|
|
7222
7097
|
archiveHubIdParam = external_exports.object({
|
|
7223
7098
|
hubId: external_exports.string().uuid()
|
|
7224
7099
|
});
|
|
@@ -8691,6 +8566,135 @@ var init_contracts = __esm({
|
|
|
8691
8566
|
offset: external_exports.coerce.number().int().min(0).optional()
|
|
8692
8567
|
});
|
|
8693
8568
|
noticeIdParamSchema = external_exports.object({ id: external_exports.string().min(1) });
|
|
8569
|
+
templateLocaleSchema = external_exports.enum(SUPPORTED_LOCALES);
|
|
8570
|
+
TEMPLATE_SLUG_REGEX = /^[a-z0-9][a-z0-9-]{0,62}$/;
|
|
8571
|
+
templateSlugSchema = external_exports.string().regex(TEMPLATE_SLUG_REGEX, "slug must be lowercase alphanumeric with hyphens (max 63)");
|
|
8572
|
+
templateStatusSchema = external_exports.enum(["published", "draft", "internal"]);
|
|
8573
|
+
templateFileMapSchema = external_exports.record(external_exports.string()).refine((m) => Object.keys(m).every(isSafeTemplatePath), {
|
|
8574
|
+
message: 'file map contains an unsafe path (no absolute paths, "..", or backslashes)'
|
|
8575
|
+
});
|
|
8576
|
+
TEMPLATE_INSTANCE_ID_KEYS = /* @__PURE__ */ new Set([
|
|
8577
|
+
// Top-level hub instance metadata (hub.yaml) — set by `wayai pull`, never authored.
|
|
8578
|
+
"hub_id",
|
|
8579
|
+
"hub_environment",
|
|
8580
|
+
"preview_label",
|
|
8581
|
+
"branch_name",
|
|
8582
|
+
// Per-entity row id + cross-entity reference UUIDs (each has a portable name twin).
|
|
8583
|
+
"id",
|
|
8584
|
+
"connection_id",
|
|
8585
|
+
"target_id",
|
|
8586
|
+
"agent_id",
|
|
8587
|
+
"resource_id",
|
|
8588
|
+
"list_id",
|
|
8589
|
+
// Account-scoped Meta WhatsApp template id (name twin: `template_whatsapp`).
|
|
8590
|
+
"template_whatsapp_id"
|
|
8591
|
+
]);
|
|
8592
|
+
TEMPLATE_OPAQUE_BLOB_KEYS = /* @__PURE__ */ new Set([
|
|
8593
|
+
"settings",
|
|
8594
|
+
// agent + connection connector settings
|
|
8595
|
+
"schema_json",
|
|
8596
|
+
// agent response_format JSON Schema
|
|
8597
|
+
"json_schema",
|
|
8598
|
+
// state JSON Schema
|
|
8599
|
+
"initial_value",
|
|
8600
|
+
// state seed value
|
|
8601
|
+
"additional_context_schema",
|
|
8602
|
+
// kanban-status transition-form schema
|
|
8603
|
+
"config",
|
|
8604
|
+
// custom-tool OpenAI function schema
|
|
8605
|
+
"headers",
|
|
8606
|
+
"query_params",
|
|
8607
|
+
"body_params",
|
|
8608
|
+
// custom-tool HTTP shaping
|
|
8609
|
+
"mappings",
|
|
8610
|
+
// composed-tool argument mappings
|
|
8611
|
+
"input",
|
|
8612
|
+
"expected",
|
|
8613
|
+
"history",
|
|
8614
|
+
// eval message fixtures (tool_calls carry their own `id`)
|
|
8615
|
+
"transcript",
|
|
8616
|
+
"step_config"
|
|
8617
|
+
// journey fixtures (transcript carries `step_id`; step_config is keyed by it)
|
|
8618
|
+
]);
|
|
8619
|
+
TEMPLATE_AUTHOR_DATA_KEYS = /* @__PURE__ */ new Set([
|
|
8620
|
+
// Outbound campaign subsystem (hub.yaml top-level). `outbound_contacts` is the
|
|
8621
|
+
// author's real leads — `phone`/`email`/`instagram_sid` + the required `name` are
|
|
8622
|
+
// GDPR-grade PII. `outbound_lists` group those contacts by real name. `outbound_schedules`
|
|
8623
|
+
// bind to the (now-absent) lists and carry the author's campaign cadence + message
|
|
8624
|
+
// copy — operationally tied to the author's customers; a consumer builds their own.
|
|
8625
|
+
"outbound_contacts",
|
|
8626
|
+
"outbound_lists",
|
|
8627
|
+
"outbound_schedules",
|
|
8628
|
+
// Account-scoped channel identifier on a connection (Twilio SID / WhatsApp number /
|
|
8629
|
+
// IG username / from-email, per connector). The connection stays as portable
|
|
8630
|
+
// structure re-bound by name on push; this author-account value carries no blueprint
|
|
8631
|
+
// value. A dedicated top-level column — never nested in the `settings` opaque blob.
|
|
8632
|
+
"account_sid"
|
|
8633
|
+
]);
|
|
8634
|
+
templateTextSchema = external_exports.object({
|
|
8635
|
+
metaTitle: external_exports.string().min(1).max(200),
|
|
8636
|
+
metaDescription: external_exports.string().max(1e3).default("")
|
|
8637
|
+
});
|
|
8638
|
+
templateUsesEntrySchema = external_exports.object({
|
|
8639
|
+
backend: templateSlugSchema,
|
|
8640
|
+
endpoint: templateSlugSchema
|
|
8641
|
+
});
|
|
8642
|
+
templateUsesSchema = external_exports.array(templateUsesEntrySchema).max(24).default([]);
|
|
8643
|
+
templateYamlLocaleEntry = templateTextSchema.extend({ source: external_exports.string().min(1) });
|
|
8644
|
+
templateYamlWayaiBlock = external_exports.object({
|
|
8645
|
+
installCommand: external_exports.string().min(1).max(300),
|
|
8646
|
+
locales: external_exports.record(templateLocaleSchema, templateYamlLocaleEntry)
|
|
8647
|
+
});
|
|
8648
|
+
templateTagsSchema = external_exports.array(external_exports.string().min(1).max(30)).max(12).default([]).transform((tags) => [...new Set(tags.map((t) => t.trim().toLowerCase()).filter(Boolean))]);
|
|
8649
|
+
templateYamlSchema = external_exports.object({
|
|
8650
|
+
slug: templateSlugSchema,
|
|
8651
|
+
category: external_exports.string().min(1).max(60),
|
|
8652
|
+
tags: templateTagsSchema,
|
|
8653
|
+
status: templateStatusSchema.default("draft"),
|
|
8654
|
+
order: external_exports.number().int().min(0).max(1e5).optional(),
|
|
8655
|
+
defaultLocale: templateLocaleSchema,
|
|
8656
|
+
hero: external_exports.string().optional(),
|
|
8657
|
+
// relative path to a hero image inside the template folder
|
|
8658
|
+
// The Rekor backend(s) this channel runs on (gh #2955). Locale-agnostic. The
|
|
8659
|
+
// cross-link + MCP endpoint are derived from each entry's slugs, never authored.
|
|
8660
|
+
uses: templateUsesSchema,
|
|
8661
|
+
// A WayAI template IS a WayAI channel — the wayai slice is required. (The old
|
|
8662
|
+
// Rekor-only store entry is gone: a pure Rekor backend lives only in Rekor's store.)
|
|
8663
|
+
wayai: templateYamlWayaiBlock
|
|
8664
|
+
}).refine((c) => Boolean(c.wayai.locales[c.defaultLocale]), {
|
|
8665
|
+
message: "`wayai.locales` must include the defaultLocale"
|
|
8666
|
+
});
|
|
8667
|
+
templateHeroSchema = external_exports.object({
|
|
8668
|
+
filename: external_exports.string().min(1).max(200).regex(/\.(png|jpe?g|webp|gif)$/i, "hero must be a raster image (png/jpg/webp/gif)"),
|
|
8669
|
+
dataBase64: external_exports.string().min(1).max(8e6)
|
|
8670
|
+
});
|
|
8671
|
+
templatePushLocaleSchema = external_exports.object({
|
|
8672
|
+
wayai: templateTextSchema.optional(),
|
|
8673
|
+
readmeMarkdown: external_exports.string().default(""),
|
|
8674
|
+
wayaiFiles: templateFileMapSchema.optional()
|
|
8675
|
+
});
|
|
8676
|
+
templatePushBody = external_exports.object({
|
|
8677
|
+
slug: templateSlugSchema,
|
|
8678
|
+
defaultLocale: templateLocaleSchema,
|
|
8679
|
+
common: external_exports.object({
|
|
8680
|
+
category: external_exports.string().min(1).max(60),
|
|
8681
|
+
tags: templateTagsSchema,
|
|
8682
|
+
status: templateStatusSchema,
|
|
8683
|
+
order: external_exports.number().int().min(0).max(1e5).default(0),
|
|
8684
|
+
// The WayAI install command (a WayAI template always has a wayai side). Kept
|
|
8685
|
+
// optional on the wire so a malformed manifest 400s on the field, not the body.
|
|
8686
|
+
installCommand: external_exports.string().min(1).max(300).optional(),
|
|
8687
|
+
hero: templateHeroSchema.optional(),
|
|
8688
|
+
// The channel→backend edge (gh #2955), locale-agnostic.
|
|
8689
|
+
uses: templateUsesSchema
|
|
8690
|
+
}),
|
|
8691
|
+
locales: external_exports.record(templateLocaleSchema, templatePushLocaleSchema)
|
|
8692
|
+
}).refine((b) => Boolean(b.locales[b.defaultLocale]), {
|
|
8693
|
+
message: "`locales` must include the defaultLocale"
|
|
8694
|
+
});
|
|
8695
|
+
templateListQuery = external_exports.object({ locale: templateLocaleSchema.optional() });
|
|
8696
|
+
templateSlugParam = external_exports.object({ slug: templateSlugSchema });
|
|
8697
|
+
templateDetailQuery = external_exports.object({ locale: templateLocaleSchema.optional() });
|
|
8694
8698
|
ADMIN_SKILL_NAME_REGEX = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
8695
8699
|
adminSkillNameParam = external_exports.object({
|
|
8696
8700
|
name: external_exports.string().regex(ADMIN_SKILL_NAME_REGEX, "invalid skill name")
|
|
@@ -9843,14 +9847,6 @@ function collectTurnAttachmentHashes2(turn) {
|
|
|
9843
9847
|
}
|
|
9844
9848
|
return hashes;
|
|
9845
9849
|
}
|
|
9846
|
-
function isSafeTemplatePath2(path31) {
|
|
9847
|
-
if (path31.length === 0 || path31.length > 300) return false;
|
|
9848
|
-
if (path31.startsWith("/") || path31.includes("\\")) return false;
|
|
9849
|
-
const segments = path31.split("/");
|
|
9850
|
-
return segments.every(
|
|
9851
|
-
(seg) => seg.length > 0 && seg !== "." && seg !== ".." && /^[A-Za-z0-9._-]+$/.test(seg)
|
|
9852
|
-
);
|
|
9853
|
-
}
|
|
9854
9850
|
function foldDiacritics(input) {
|
|
9855
9851
|
return input.normalize("NFKD").replace(/[̀-ͯ]/g, "");
|
|
9856
9852
|
}
|
|
@@ -10163,6 +10159,14 @@ function refineHubAsCodeDelegation2(config, ctx) {
|
|
|
10163
10159
|
});
|
|
10164
10160
|
});
|
|
10165
10161
|
}
|
|
10162
|
+
function isSafeTemplatePath2(path31) {
|
|
10163
|
+
if (path31.length === 0 || path31.length > 300) return false;
|
|
10164
|
+
if (path31.startsWith("/") || path31.includes("\\")) return false;
|
|
10165
|
+
const segments = path31.split("/");
|
|
10166
|
+
return segments.every(
|
|
10167
|
+
(seg) => seg.length > 0 && seg !== "." && seg !== ".." && /^[A-Za-z0-9._-]+$/.test(seg)
|
|
10168
|
+
);
|
|
10169
|
+
}
|
|
10166
10170
|
function identifyTokenType(token) {
|
|
10167
10171
|
if (token.startsWith("way_")) return "way_token";
|
|
10168
10172
|
if (token.startsWith("eyJ")) return "jwt";
|
|
@@ -10202,7 +10206,7 @@ function findStepBoundaries(transcript) {
|
|
|
10202
10206
|
}
|
|
10203
10207
|
return out;
|
|
10204
10208
|
}
|
|
10205
|
-
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, 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, summarizationThresholdField2, monitorConfigField2, 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, 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, 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, createOrgTagBody2, updateOrgTagBody2, orgCredentialIdParam2, listOrgCredentialsQuery2, createOrgCredentialBody2, updateOrgCredentialBody2, 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, EVAL_INPUT_ROLES2, EVAL_INPUT_ROLE_LIST2, ROLE_ECHO_MAX2, EVAL_INITIAL_STATE_SCOPES2, MAX_INITIAL_STATE_ENTRIES2, evalInitialStateEntry2, createEvalBody2, updateEvalBody2, 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, seedReleaseStatusSchema2, getConversationsQuery2, getMessagesQuery2, appMessageSenderType2, appMessageReceiverType2, apiChannelMessage2, apiChannelMessageBody2, appMessageBody2, appMessageResponse2, updateUserBody2, updateProfileBody2, pathnameRegex2, updatePreferencesBody2, registerPushTokenBody2, deletePushTokenQuery2, activityQuery2, deletionModeSchema2, deletionRequestBody2, templateLocaleSchema2, TEMPLATE_SLUG_REGEX2, templateSlugSchema2, templateStatusSchema2, templateFileMapSchema2, templateTextSchema2, templateUsesEntrySchema2, templateUsesSchema2, templateYamlLocaleEntry2, templateYamlWayaiBlock2, templateTagsSchema2, templateYamlSchema2, templateHeroSchema2, templatePushLocaleSchema2, templatePushBody2, templateListQuery2, templateSlugParam2, templateDetailQuery2, courseQuizScoreSchema2, upsertCourseLessonBody2, linkCourseCapstoneBody2, 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, 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, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, updatePlatformConfigBody2, updateFreeOrgLimitBody2, adminScopedTargetBody2, 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, 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, discordTier2, discordBillingCycle2, discordMetadata2, discordOAuthStartResponse2, discordOAuthFinalizeBody2, discordOAuthFinalizeResponse2, discordDisconnectResponse2, 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, WAYAI_WORKSPACE_LAYOUT;
|
|
10209
|
+
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, 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, previousConversationsCountField2, summarizationThresholdField2, monitorConfigField2, 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, 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, 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, createOrgTagBody2, updateOrgTagBody2, orgCredentialIdParam2, listOrgCredentialsQuery2, createOrgCredentialBody2, updateOrgCredentialBody2, 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, EVAL_INPUT_ROLES2, EVAL_INPUT_ROLE_LIST2, ROLE_ECHO_MAX2, EVAL_INITIAL_STATE_SCOPES2, MAX_INITIAL_STATE_ENTRIES2, evalInitialStateEntry2, createEvalBody2, updateEvalBody2, 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, seedReleaseStatusSchema2, getConversationsQuery2, getMessagesQuery2, appMessageSenderType2, appMessageReceiverType2, apiChannelMessage2, apiChannelMessageBody2, appMessageBody2, appMessageResponse2, 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, 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, adminPlanIdParam2, adminOrganizationsQuery2, adminUserSearchQuery2, kanbanSlugMigrationQuery2, adjustQuotaBody2, updatePlanBody2, addAdminUserBody2, updatePlatformConfigBody2, updateFreeOrgLimitBody2, adminScopedTargetBody2, 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, 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, discordTier2, discordBillingCycle2, discordMetadata2, discordOAuthStartResponse2, discordOAuthFinalizeBody2, discordOAuthFinalizeResponse2, discordDisconnectResponse2, jsonSchemaSchema2, hubUserIdentity2, stateValueEntry2, getHubUserContextResponse2, updateHubUserBody2, updateHubUserResponse2, unlockHubUserNameResponse2, stateResetParams2, stateResetResponse2, hubAlertsParam2, hubAlertSeverity2, hubAlert2, hubAlertsListResponse2, noticeSeveritySchema2, noticeStatusSchema2, NOTICE_SCOPE_REGEX2, noticeScopeSchema2, noticeLinkSchema2, createNoticeBody2, updateNoticeBody2, listNoticesQuery2, noticeIdParamSchema2, templateLocaleSchema2, TEMPLATE_SLUG_REGEX2, templateSlugSchema2, templateStatusSchema2, templateFileMapSchema2, templateTextSchema2, templateUsesEntrySchema2, templateUsesSchema2, templateYamlLocaleEntry2, templateYamlWayaiBlock2, templateTagsSchema2, templateYamlSchema2, templateHeroSchema2, templatePushLocaleSchema2, templatePushBody2, templateListQuery2, templateSlugParam2, templateDetailQuery2, ADMIN_SKILL_NAME_REGEX2, adminSkillNameParam2, WAYAI_WORKSPACE_LAYOUT;
|
|
10206
10210
|
var init_dist = __esm({
|
|
10207
10211
|
"../../packages/core/dist/index.js"() {
|
|
10208
10212
|
"use strict";
|
|
@@ -10256,7 +10260,6 @@ var init_dist = __esm({
|
|
|
10256
10260
|
init_zod();
|
|
10257
10261
|
init_zod();
|
|
10258
10262
|
init_zod();
|
|
10259
|
-
init_zod();
|
|
10260
10263
|
UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
10261
10264
|
HEX_RE = /^[0-9a-f]{16,}$/;
|
|
10262
10265
|
WORKOS_ID_RE = /^(?:user|org)_[0-9A-HJKMNP-TV-Z]{26}$/;
|
|
@@ -10534,6 +10537,8 @@ var init_dist = __esm({
|
|
|
10534
10537
|
});
|
|
10535
10538
|
SUMMARIZATION_THRESHOLD_MIN2 = 1e3;
|
|
10536
10539
|
SUMMARIZATION_THRESHOLD_MAX2 = 1e6;
|
|
10540
|
+
PREVIOUS_CONVERSATIONS_MAX2 = 20;
|
|
10541
|
+
previousConversationsCountField2 = external_exports.number().int().min(0).max(PREVIOUS_CONVERSATIONS_MAX2).nullable().optional();
|
|
10537
10542
|
summarizationThresholdField2 = external_exports.number().int().min(SUMMARIZATION_THRESHOLD_MIN2).max(SUMMARIZATION_THRESHOLD_MAX2).nullable().optional();
|
|
10538
10543
|
monitorConfigField2 = external_exports.object({
|
|
10539
10544
|
delay_seconds: external_exports.number().int().min(10),
|
|
@@ -10560,11 +10565,13 @@ var init_dist = __esm({
|
|
|
10560
10565
|
agent_role: external_exports.enum(AGENT_ROLES2),
|
|
10561
10566
|
additional_context_template: external_exports.string().max(2e4).optional(),
|
|
10562
10567
|
summarization_threshold_tokens: summarizationThresholdField2,
|
|
10568
|
+
previous_conversations_count: previousConversationsCountField2,
|
|
10563
10569
|
monitor_config: monitorConfigField2
|
|
10564
10570
|
}).passthrough();
|
|
10565
10571
|
updateAgentBody2 = external_exports.object({
|
|
10566
10572
|
additional_context_template: external_exports.string().max(2e4).optional(),
|
|
10567
10573
|
summarization_threshold_tokens: summarizationThresholdField2,
|
|
10574
|
+
previous_conversations_count: previousConversationsCountField2,
|
|
10568
10575
|
monitor_config: monitorConfigField2
|
|
10569
10576
|
}).passthrough();
|
|
10570
10577
|
AGENT_PARAMETER_TYPES2 = ["string", "number", "boolean", "integer", "enum"];
|
|
@@ -11900,7 +11907,17 @@ var init_dist = __esm({
|
|
|
11900
11907
|
total_evals: external_exports.number(),
|
|
11901
11908
|
total_runs: external_exports.number(),
|
|
11902
11909
|
successful_runs: external_exports.number(),
|
|
11910
|
+
/**
|
|
11911
|
+
* Every terminal run that did NOT pass, whatever the reason. Unchanged
|
|
11912
|
+
* meaning — deliberately NOT narrowed to behavioral misses, so a released CLI
|
|
11913
|
+
* that predates the split cannot read an infrastructure wipeout as a clean
|
|
11914
|
+
* sweep. Use `assertion_failure_runs` for the narrow count.
|
|
11915
|
+
*/
|
|
11903
11916
|
failed_runs: external_exports.number(),
|
|
11917
|
+
/** The `failed_runs` breakdown by cause (see `EvalRunOutcomeKind`); sums to it. */
|
|
11918
|
+
assertion_failure_runs: external_exports.number(),
|
|
11919
|
+
errored_runs: external_exports.number(),
|
|
11920
|
+
invalid_runs: external_exports.number(),
|
|
11904
11921
|
created_by: external_exports.string(),
|
|
11905
11922
|
/** Optional — sessions created pre-PR2 may not have this. */
|
|
11906
11923
|
scenario_set_id: external_exports.string().nullable().optional(),
|
|
@@ -12102,95 +12119,6 @@ var init_dist = __esm({
|
|
|
12102
12119
|
/** Type-to-confirm value; must equal the user's email (constant-time compared). */
|
|
12103
12120
|
email_confirmation: external_exports.string().min(1).max(320)
|
|
12104
12121
|
});
|
|
12105
|
-
templateLocaleSchema2 = external_exports.enum(SUPPORTED_LOCALES2);
|
|
12106
|
-
TEMPLATE_SLUG_REGEX2 = /^[a-z0-9][a-z0-9-]{0,62}$/;
|
|
12107
|
-
templateSlugSchema2 = external_exports.string().regex(TEMPLATE_SLUG_REGEX2, "slug must be lowercase alphanumeric with hyphens (max 63)");
|
|
12108
|
-
templateStatusSchema2 = external_exports.enum(["published", "draft", "internal"]);
|
|
12109
|
-
templateFileMapSchema2 = external_exports.record(external_exports.string()).refine((m) => Object.keys(m).every(isSafeTemplatePath2), {
|
|
12110
|
-
message: 'file map contains an unsafe path (no absolute paths, "..", or backslashes)'
|
|
12111
|
-
});
|
|
12112
|
-
templateTextSchema2 = external_exports.object({
|
|
12113
|
-
metaTitle: external_exports.string().min(1).max(200),
|
|
12114
|
-
metaDescription: external_exports.string().max(1e3).default("")
|
|
12115
|
-
});
|
|
12116
|
-
templateUsesEntrySchema2 = external_exports.object({
|
|
12117
|
-
backend: templateSlugSchema2,
|
|
12118
|
-
endpoint: templateSlugSchema2
|
|
12119
|
-
});
|
|
12120
|
-
templateUsesSchema2 = external_exports.array(templateUsesEntrySchema2).max(24).default([]);
|
|
12121
|
-
templateYamlLocaleEntry2 = templateTextSchema2.extend({ source: external_exports.string().min(1) });
|
|
12122
|
-
templateYamlWayaiBlock2 = external_exports.object({
|
|
12123
|
-
installCommand: external_exports.string().min(1).max(300),
|
|
12124
|
-
locales: external_exports.record(templateLocaleSchema2, templateYamlLocaleEntry2)
|
|
12125
|
-
});
|
|
12126
|
-
templateTagsSchema2 = external_exports.array(external_exports.string().min(1).max(30)).max(12).default([]).transform((tags) => [...new Set(tags.map((t) => t.trim().toLowerCase()).filter(Boolean))]);
|
|
12127
|
-
templateYamlSchema2 = external_exports.object({
|
|
12128
|
-
slug: templateSlugSchema2,
|
|
12129
|
-
category: external_exports.string().min(1).max(60),
|
|
12130
|
-
tags: templateTagsSchema2,
|
|
12131
|
-
status: templateStatusSchema2.default("draft"),
|
|
12132
|
-
order: external_exports.number().int().min(0).max(1e5).optional(),
|
|
12133
|
-
defaultLocale: templateLocaleSchema2,
|
|
12134
|
-
hero: external_exports.string().optional(),
|
|
12135
|
-
// relative path to a hero image inside the template folder
|
|
12136
|
-
// The Rekor backend(s) this channel runs on (gh #2955). Locale-agnostic. The
|
|
12137
|
-
// cross-link + MCP endpoint are derived from each entry's slugs, never authored.
|
|
12138
|
-
uses: templateUsesSchema2,
|
|
12139
|
-
// A WayAI template IS a WayAI channel — the wayai slice is required. (The old
|
|
12140
|
-
// Rekor-only store entry is gone: a pure Rekor backend lives only in Rekor's store.)
|
|
12141
|
-
wayai: templateYamlWayaiBlock2
|
|
12142
|
-
}).refine((c) => Boolean(c.wayai.locales[c.defaultLocale]), {
|
|
12143
|
-
message: "`wayai.locales` must include the defaultLocale"
|
|
12144
|
-
});
|
|
12145
|
-
templateHeroSchema2 = external_exports.object({
|
|
12146
|
-
filename: external_exports.string().min(1).max(200).regex(/\.(png|jpe?g|webp|gif)$/i, "hero must be a raster image (png/jpg/webp/gif)"),
|
|
12147
|
-
dataBase64: external_exports.string().min(1).max(8e6)
|
|
12148
|
-
});
|
|
12149
|
-
templatePushLocaleSchema2 = external_exports.object({
|
|
12150
|
-
wayai: templateTextSchema2.optional(),
|
|
12151
|
-
readmeMarkdown: external_exports.string().default(""),
|
|
12152
|
-
wayaiFiles: templateFileMapSchema2.optional()
|
|
12153
|
-
});
|
|
12154
|
-
templatePushBody2 = external_exports.object({
|
|
12155
|
-
slug: templateSlugSchema2,
|
|
12156
|
-
defaultLocale: templateLocaleSchema2,
|
|
12157
|
-
common: external_exports.object({
|
|
12158
|
-
category: external_exports.string().min(1).max(60),
|
|
12159
|
-
tags: templateTagsSchema2,
|
|
12160
|
-
status: templateStatusSchema2,
|
|
12161
|
-
order: external_exports.number().int().min(0).max(1e5).default(0),
|
|
12162
|
-
// The WayAI install command (a WayAI template always has a wayai side). Kept
|
|
12163
|
-
// optional on the wire so a malformed manifest 400s on the field, not the body.
|
|
12164
|
-
installCommand: external_exports.string().min(1).max(300).optional(),
|
|
12165
|
-
hero: templateHeroSchema2.optional(),
|
|
12166
|
-
// The channel→backend edge (gh #2955), locale-agnostic.
|
|
12167
|
-
uses: templateUsesSchema2
|
|
12168
|
-
}),
|
|
12169
|
-
locales: external_exports.record(templateLocaleSchema2, templatePushLocaleSchema2)
|
|
12170
|
-
}).refine((b) => Boolean(b.locales[b.defaultLocale]), {
|
|
12171
|
-
message: "`locales` must include the defaultLocale"
|
|
12172
|
-
});
|
|
12173
|
-
templateListQuery2 = external_exports.object({ locale: templateLocaleSchema2.optional() });
|
|
12174
|
-
templateSlugParam2 = external_exports.object({ slug: templateSlugSchema2 });
|
|
12175
|
-
templateDetailQuery2 = external_exports.object({ locale: templateLocaleSchema2.optional() });
|
|
12176
|
-
courseQuizScoreSchema2 = external_exports.object({
|
|
12177
|
-
correct: external_exports.number().int().min(0).max(50),
|
|
12178
|
-
total: external_exports.number().int().min(1).max(50),
|
|
12179
|
-
/** Chosen choice index per question; -1 = unanswered. */
|
|
12180
|
-
answers: external_exports.array(external_exports.number().int().min(-1).max(50)).max(50).optional()
|
|
12181
|
-
});
|
|
12182
|
-
upsertCourseLessonBody2 = external_exports.object({
|
|
12183
|
-
quiz_passed: external_exports.boolean().optional(),
|
|
12184
|
-
quiz_score: courseQuizScoreSchema2.optional(),
|
|
12185
|
-
content_version: external_exports.number().int().min(1)
|
|
12186
|
-
}).strict();
|
|
12187
|
-
linkCourseCapstoneBody2 = external_exports.object({
|
|
12188
|
-
hub_id: external_exports.string().min(1).max(128),
|
|
12189
|
-
// A capstone's slug IS a canonical template slug — reuse the one validator
|
|
12190
|
-
// the template pipeline (CLI, admin, gallery) already enforces, so course
|
|
12191
|
-
// linking can't drift from how real template slugs are shaped.
|
|
12192
|
-
template_slug: templateSlugSchema2.optional()
|
|
12193
|
-
}).strict();
|
|
12194
12122
|
archiveHubIdParam2 = external_exports.object({
|
|
12195
12123
|
hubId: external_exports.string().uuid()
|
|
12196
12124
|
});
|
|
@@ -13663,6 +13591,77 @@ var init_dist = __esm({
|
|
|
13663
13591
|
offset: external_exports.coerce.number().int().min(0).optional()
|
|
13664
13592
|
});
|
|
13665
13593
|
noticeIdParamSchema2 = external_exports.object({ id: external_exports.string().min(1) });
|
|
13594
|
+
templateLocaleSchema2 = external_exports.enum(SUPPORTED_LOCALES2);
|
|
13595
|
+
TEMPLATE_SLUG_REGEX2 = /^[a-z0-9][a-z0-9-]{0,62}$/;
|
|
13596
|
+
templateSlugSchema2 = external_exports.string().regex(TEMPLATE_SLUG_REGEX2, "slug must be lowercase alphanumeric with hyphens (max 63)");
|
|
13597
|
+
templateStatusSchema2 = external_exports.enum(["published", "draft", "internal"]);
|
|
13598
|
+
templateFileMapSchema2 = external_exports.record(external_exports.string()).refine((m) => Object.keys(m).every(isSafeTemplatePath2), {
|
|
13599
|
+
message: 'file map contains an unsafe path (no absolute paths, "..", or backslashes)'
|
|
13600
|
+
});
|
|
13601
|
+
templateTextSchema2 = external_exports.object({
|
|
13602
|
+
metaTitle: external_exports.string().min(1).max(200),
|
|
13603
|
+
metaDescription: external_exports.string().max(1e3).default("")
|
|
13604
|
+
});
|
|
13605
|
+
templateUsesEntrySchema2 = external_exports.object({
|
|
13606
|
+
backend: templateSlugSchema2,
|
|
13607
|
+
endpoint: templateSlugSchema2
|
|
13608
|
+
});
|
|
13609
|
+
templateUsesSchema2 = external_exports.array(templateUsesEntrySchema2).max(24).default([]);
|
|
13610
|
+
templateYamlLocaleEntry2 = templateTextSchema2.extend({ source: external_exports.string().min(1) });
|
|
13611
|
+
templateYamlWayaiBlock2 = external_exports.object({
|
|
13612
|
+
installCommand: external_exports.string().min(1).max(300),
|
|
13613
|
+
locales: external_exports.record(templateLocaleSchema2, templateYamlLocaleEntry2)
|
|
13614
|
+
});
|
|
13615
|
+
templateTagsSchema2 = external_exports.array(external_exports.string().min(1).max(30)).max(12).default([]).transform((tags) => [...new Set(tags.map((t) => t.trim().toLowerCase()).filter(Boolean))]);
|
|
13616
|
+
templateYamlSchema2 = external_exports.object({
|
|
13617
|
+
slug: templateSlugSchema2,
|
|
13618
|
+
category: external_exports.string().min(1).max(60),
|
|
13619
|
+
tags: templateTagsSchema2,
|
|
13620
|
+
status: templateStatusSchema2.default("draft"),
|
|
13621
|
+
order: external_exports.number().int().min(0).max(1e5).optional(),
|
|
13622
|
+
defaultLocale: templateLocaleSchema2,
|
|
13623
|
+
hero: external_exports.string().optional(),
|
|
13624
|
+
// relative path to a hero image inside the template folder
|
|
13625
|
+
// The Rekor backend(s) this channel runs on (gh #2955). Locale-agnostic. The
|
|
13626
|
+
// cross-link + MCP endpoint are derived from each entry's slugs, never authored.
|
|
13627
|
+
uses: templateUsesSchema2,
|
|
13628
|
+
// A WayAI template IS a WayAI channel — the wayai slice is required. (The old
|
|
13629
|
+
// Rekor-only store entry is gone: a pure Rekor backend lives only in Rekor's store.)
|
|
13630
|
+
wayai: templateYamlWayaiBlock2
|
|
13631
|
+
}).refine((c) => Boolean(c.wayai.locales[c.defaultLocale]), {
|
|
13632
|
+
message: "`wayai.locales` must include the defaultLocale"
|
|
13633
|
+
});
|
|
13634
|
+
templateHeroSchema2 = external_exports.object({
|
|
13635
|
+
filename: external_exports.string().min(1).max(200).regex(/\.(png|jpe?g|webp|gif)$/i, "hero must be a raster image (png/jpg/webp/gif)"),
|
|
13636
|
+
dataBase64: external_exports.string().min(1).max(8e6)
|
|
13637
|
+
});
|
|
13638
|
+
templatePushLocaleSchema2 = external_exports.object({
|
|
13639
|
+
wayai: templateTextSchema2.optional(),
|
|
13640
|
+
readmeMarkdown: external_exports.string().default(""),
|
|
13641
|
+
wayaiFiles: templateFileMapSchema2.optional()
|
|
13642
|
+
});
|
|
13643
|
+
templatePushBody2 = external_exports.object({
|
|
13644
|
+
slug: templateSlugSchema2,
|
|
13645
|
+
defaultLocale: templateLocaleSchema2,
|
|
13646
|
+
common: external_exports.object({
|
|
13647
|
+
category: external_exports.string().min(1).max(60),
|
|
13648
|
+
tags: templateTagsSchema2,
|
|
13649
|
+
status: templateStatusSchema2,
|
|
13650
|
+
order: external_exports.number().int().min(0).max(1e5).default(0),
|
|
13651
|
+
// The WayAI install command (a WayAI template always has a wayai side). Kept
|
|
13652
|
+
// optional on the wire so a malformed manifest 400s on the field, not the body.
|
|
13653
|
+
installCommand: external_exports.string().min(1).max(300).optional(),
|
|
13654
|
+
hero: templateHeroSchema2.optional(),
|
|
13655
|
+
// The channel→backend edge (gh #2955), locale-agnostic.
|
|
13656
|
+
uses: templateUsesSchema2
|
|
13657
|
+
}),
|
|
13658
|
+
locales: external_exports.record(templateLocaleSchema2, templatePushLocaleSchema2)
|
|
13659
|
+
}).refine((b) => Boolean(b.locales[b.defaultLocale]), {
|
|
13660
|
+
message: "`locales` must include the defaultLocale"
|
|
13661
|
+
});
|
|
13662
|
+
templateListQuery2 = external_exports.object({ locale: templateLocaleSchema2.optional() });
|
|
13663
|
+
templateSlugParam2 = external_exports.object({ slug: templateSlugSchema2 });
|
|
13664
|
+
templateDetailQuery2 = external_exports.object({ locale: templateLocaleSchema2.optional() });
|
|
13666
13665
|
ADMIN_SKILL_NAME_REGEX2 = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
13667
13666
|
adminSkillNameParam2 = external_exports.object({
|
|
13668
13667
|
name: external_exports.string().regex(ADMIN_SKILL_NAME_REGEX2, "invalid skill name")
|
|
@@ -18799,15 +18798,24 @@ var init_send_message = __esm({
|
|
|
18799
18798
|
});
|
|
18800
18799
|
|
|
18801
18800
|
// src/lib/eval-format.ts
|
|
18801
|
+
function runNotes(unproven, inProgress) {
|
|
18802
|
+
return [
|
|
18803
|
+
unproven > 0 ? `${unproven} unproven` : "",
|
|
18804
|
+
inProgress > 0 ? `${inProgress} in progress` : ""
|
|
18805
|
+
].filter(Boolean);
|
|
18806
|
+
}
|
|
18802
18807
|
function printResultsTable(results, mode) {
|
|
18803
18808
|
let totalPassed = 0;
|
|
18804
|
-
let
|
|
18809
|
+
let totalEvaluated = 0;
|
|
18810
|
+
let totalUnproven = 0;
|
|
18805
18811
|
let totalInProgress = 0;
|
|
18806
18812
|
for (const r of results) {
|
|
18807
18813
|
const evalName = r.eval?.eval_name || r.eval_id.slice(0, 8);
|
|
18808
|
-
const
|
|
18814
|
+
const evaluatedRuns = evaluatedRunCount(r);
|
|
18815
|
+
const unproven = unprovenRunCount(r);
|
|
18809
18816
|
const inProgress = (r.running_runs ?? 0) + (r.pending_runs ?? 0);
|
|
18810
|
-
const
|
|
18817
|
+
const notes2 = runNotes(unproven, inProgress);
|
|
18818
|
+
const passed = notes2.length > 0 ? `${r.successful_runs}/${evaluatedRuns} passed (${notes2.join(", ")})` : `${r.successful_runs}/${evaluatedRuns} passed`;
|
|
18811
18819
|
const avgTime = r.avg_execution_time_ms != null ? `avg ${(r.avg_execution_time_ms / 1e3).toFixed(1)}s` : "";
|
|
18812
18820
|
let scoresStr = "";
|
|
18813
18821
|
if (r.aggregated_scores) {
|
|
@@ -18818,13 +18826,15 @@ function printResultsTable(results, mode) {
|
|
|
18818
18826
|
}
|
|
18819
18827
|
console.log(` ${evalName.padEnd(20)} ${passed.padEnd(14)} ${avgTime}${scoresStr}`);
|
|
18820
18828
|
totalPassed += r.successful_runs;
|
|
18821
|
-
|
|
18829
|
+
totalEvaluated += evaluatedRuns;
|
|
18830
|
+
totalUnproven += unproven;
|
|
18822
18831
|
totalInProgress += inProgress;
|
|
18823
18832
|
}
|
|
18824
|
-
const pct =
|
|
18825
|
-
const
|
|
18833
|
+
const pct = totalEvaluated > 0 ? (totalPassed / totalEvaluated * 100).toFixed(1) : "0.0";
|
|
18834
|
+
const notes = runNotes(totalUnproven, totalInProgress);
|
|
18835
|
+
const note = notes.length > 0 ? ` \u2014 ${notes.join(", ")}` : "";
|
|
18826
18836
|
console.log(`
|
|
18827
|
-
Overall: ${totalPassed}/${
|
|
18837
|
+
Overall: ${totalPassed}/${totalEvaluated} passed (${pct}%)${note}`);
|
|
18828
18838
|
}
|
|
18829
18839
|
function truncate(str, maxLen) {
|
|
18830
18840
|
if (str.length <= maxLen) return str;
|
|
@@ -18846,6 +18856,17 @@ function isFailingRun(run) {
|
|
|
18846
18856
|
if (run.run_status && !TERMINAL_RUN_STATUSES.has(run.run_status)) return false;
|
|
18847
18857
|
return run.response_match !== true;
|
|
18848
18858
|
}
|
|
18859
|
+
function failureTag(run) {
|
|
18860
|
+
switch (run.outcome_kind) {
|
|
18861
|
+
case "execution_error":
|
|
18862
|
+
return "ERROR";
|
|
18863
|
+
case "evaluation_invalid":
|
|
18864
|
+
return "INVALID";
|
|
18865
|
+
// `assertion_failure`, and any pre-taxonomy payload.
|
|
18866
|
+
default:
|
|
18867
|
+
return "FAIL";
|
|
18868
|
+
}
|
|
18869
|
+
}
|
|
18849
18870
|
function printFailingRuns(runs) {
|
|
18850
18871
|
const failing = runs.filter(isFailingRun);
|
|
18851
18872
|
if (failing.length === 0) return;
|
|
@@ -18854,7 +18875,7 @@ Failures (${failing.length}):`);
|
|
|
18854
18875
|
let anyComment = false;
|
|
18855
18876
|
for (const run of failing) {
|
|
18856
18877
|
const evalName = run.eval?.eval_name || run.eval_id?.slice(0, 8) || "eval";
|
|
18857
|
-
console.log(` ${evalName} \u2014 Run #${run.run_number} [
|
|
18878
|
+
console.log(` ${evalName} \u2014 Run #${run.run_number} [${failureTag(run)}]`);
|
|
18858
18879
|
if (run.error_message) {
|
|
18859
18880
|
console.log(` Error: ${run.error_message}`);
|
|
18860
18881
|
}
|
|
@@ -18876,6 +18897,7 @@ var NO_EVALUATOR_NOTES_HINT, TERMINAL_RUN_STATUSES;
|
|
|
18876
18897
|
var init_eval_format = __esm({
|
|
18877
18898
|
"src/lib/eval-format.ts"() {
|
|
18878
18899
|
"use strict";
|
|
18900
|
+
init_contracts();
|
|
18879
18901
|
NO_EVALUATOR_NOTES_HINT = "No evaluator notes found \u2014 add a `notes` evaluation variable to the message_evaluator agent to surface its reasoning here.";
|
|
18880
18902
|
TERMINAL_RUN_STATUSES = /* @__PURE__ */ new Set(["completed", "failed"]);
|
|
18881
18903
|
}
|
|
@@ -20261,7 +20283,7 @@ Lost connection to the eval session: ${extractApiMessage(err)}`);
|
|
|
20261
20283
|
const session = details.data.session;
|
|
20262
20284
|
const results = details.data.results;
|
|
20263
20285
|
const totalRuns = results.reduce((sum, r) => sum + r.total_runs, 0);
|
|
20264
|
-
const completedRuns = results.reduce((sum, r) => sum + r
|
|
20286
|
+
const completedRuns = results.reduce((sum, r) => sum + terminalRunCount(r), 0);
|
|
20265
20287
|
if (TERMINAL_STATUSES.has(session.session_status)) {
|
|
20266
20288
|
if (await signalController.interrupted()) return;
|
|
20267
20289
|
console.log("");
|