@wayai/cli 0.3.198 → 0.3.199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2476,6 +2476,24 @@ var init_chunk_SNA2DXAC = __esm({
2476
2476
  }
2477
2477
  });
2478
2478
 
2479
+ // ../../packages/core/dist/chunk-MIWZOSPI.js
2480
+ function toIso(epochMs) {
2481
+ return new Date(epochMs).toISOString();
2482
+ }
2483
+ function fromIso(iso) {
2484
+ return new Date(iso).getTime();
2485
+ }
2486
+ function isIsoTimestamp(value) {
2487
+ return typeof value === "string" && ISO_UTC_RE.test(value);
2488
+ }
2489
+ var ISO_UTC_RE;
2490
+ var init_chunk_MIWZOSPI = __esm({
2491
+ "../../packages/core/dist/chunk-MIWZOSPI.js"() {
2492
+ "use strict";
2493
+ ISO_UTC_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
2494
+ }
2495
+ });
2496
+
2479
2497
  // ../../packages/core/dist/chunk-IBL7FANV.js
2480
2498
  var SUMMARIZATION_THRESHOLD_MIN, SUMMARIZATION_THRESHOLD_MAX;
2481
2499
  var init_chunk_IBL7FANV = __esm({
@@ -2486,6 +2504,20 @@ var init_chunk_IBL7FANV = __esm({
2486
2504
  }
2487
2505
  });
2488
2506
 
2507
+ // ../../packages/core/dist/chunk-2ISUBJG7.js
2508
+ var 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;
2509
+ var init_chunk_2ISUBJG7 = __esm({
2510
+ "../../packages/core/dist/chunk-2ISUBJG7.js"() {
2511
+ "use strict";
2512
+ EVAL_PACING_PRESET_NAMES = ["conservative", "balanced", "fast", "custom"];
2513
+ PACING_INTERVAL_MIN_MS = 50;
2514
+ PACING_INTERVAL_MAX_MS = 6e4;
2515
+ EVAL_MAX_RUNS_PER_SCENARIO = 100;
2516
+ EVAL_RUN_DEADLINE_MIN_MS = 1e3;
2517
+ EVAL_RUN_DEADLINE_MAX_MS = 18e5;
2518
+ }
2519
+ });
2520
+
2489
2521
  // ../../packages/core/dist/chunk-C2UEA2KW.js
2490
2522
  var FLAG_CONDITION_OPERATORS;
2491
2523
  var init_chunk_C2UEA2KW = __esm({
@@ -6652,24 +6684,6 @@ var init_chunk_3NS3HULK = __esm({
6652
6684
  }
6653
6685
  });
6654
6686
 
6655
- // ../../packages/core/dist/chunk-MIWZOSPI.js
6656
- function toIso(epochMs) {
6657
- return new Date(epochMs).toISOString();
6658
- }
6659
- function fromIso(iso) {
6660
- return new Date(iso).getTime();
6661
- }
6662
- function isIsoTimestamp(value) {
6663
- return typeof value === "string" && ISO_UTC_RE.test(value);
6664
- }
6665
- var ISO_UTC_RE;
6666
- var init_chunk_MIWZOSPI = __esm({
6667
- "../../packages/core/dist/chunk-MIWZOSPI.js"() {
6668
- "use strict";
6669
- ISO_UTC_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
6670
- }
6671
- });
6672
-
6673
6687
  // ../../packages/core/dist/chunk-JWPRTSIB.js
6674
6688
  function normalizeAuthType(raw) {
6675
6689
  if (VALID_AUTH_TYPES.has(raw)) return raw;
@@ -6906,21 +6920,7 @@ var init_chunk_T7KQKDET = __esm({
6906
6920
  }
6907
6921
  });
6908
6922
 
6909
- // ../../packages/core/dist/chunk-2ISUBJG7.js
6910
- var 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;
6911
- var init_chunk_2ISUBJG7 = __esm({
6912
- "../../packages/core/dist/chunk-2ISUBJG7.js"() {
6913
- "use strict";
6914
- EVAL_PACING_PRESET_NAMES = ["conservative", "balanced", "fast", "custom"];
6915
- PACING_INTERVAL_MIN_MS = 50;
6916
- PACING_INTERVAL_MAX_MS = 6e4;
6917
- EVAL_MAX_RUNS_PER_SCENARIO = 100;
6918
- EVAL_RUN_DEADLINE_MIN_MS = 1e3;
6919
- EVAL_RUN_DEADLINE_MAX_MS = 18e5;
6920
- }
6921
- });
6922
-
6923
- // ../../packages/core/dist/chunk-YEYIDIR6.js
6923
+ // ../../packages/core/dist/chunk-6SBJQYK2.js
6924
6924
  function containsKanbanPlaceholders(value) {
6925
6925
  if (value == null) return false;
6926
6926
  const serialized = typeof value === "string" ? value : JSON.stringify(value);
@@ -7241,8 +7241,11 @@ function resolveMonitorTrigger(monitorConfig) {
7241
7241
  const raw = monitorConfig.trigger;
7242
7242
  return MONITOR_TRIGGERS.includes(raw) ? raw : "idle";
7243
7243
  }
7244
+ function isAutomationGateTrigger(trigger) {
7245
+ return AUTOMATION_GATE_TRIGGERS.includes(trigger);
7246
+ }
7244
7247
  function isFiringTrigger(trigger) {
7245
- return trigger !== "manual";
7248
+ return !NON_FIRING_TRIGGERS.includes(trigger);
7246
7249
  }
7247
7250
  function monitorConfigNeedsDelay(monitorConfig) {
7248
7251
  if (!monitorConfig || typeof monitorConfig !== "object") return false;
@@ -7342,10 +7345,24 @@ function decodedMonitorConfig(value) {
7342
7345
  function monitorRuleActionKinds(trigger) {
7343
7346
  if (trigger === "assistant_reply") return MONITOR_ASSISTANT_REPLY_ACTION_KINDS;
7344
7347
  if (trigger === "call_utterance") return MONITOR_CALL_UTTERANCE_ACTION_KINDS;
7348
+ if (trigger === "automation_fire") return MONITOR_AUTOMATION_FIRE_ACTION_KINDS;
7349
+ if (trigger === "automation_item") return MONITOR_AUTOMATION_ITEM_ACTION_KINDS;
7345
7350
  return MONITOR_USER_MESSAGE_ACTION_KINDS;
7346
7351
  }
7352
+ function isGateActionKind(kind) {
7353
+ return AUTOMATION_GATE_TRIGGERS.some((trigger) => monitorRuleActionKinds(trigger).includes(kind));
7354
+ }
7347
7355
  function monitorActionKindMessage(kind, trigger) {
7348
7356
  const allowed = monitorRuleActionKinds(trigger).join(", ");
7357
+ if (trigger === "automation_fire") {
7358
+ return `an automation_fire rule cannot select "${kind}": a fire gate runs before any conversation exists, so it only decides whether the fire runs. Use one of: ${allowed}.`;
7359
+ }
7360
+ if (trigger === "automation_item") {
7361
+ return `an automation_item rule cannot select "${kind}": an item gate runs before anything is started for the contact, so it only decides whether its work starts. Use one of: ${allowed}.`;
7362
+ }
7363
+ if (isGateActionKind(kind)) {
7364
+ return `a monitor rule cannot select "${kind}": it decides an automation's fire or one contact of it, so only an automation_fire or automation_item monitor can select it. Use one of: ${allowed}.`;
7365
+ }
7349
7366
  if (trigger === "assistant_reply") {
7350
7367
  return `an assistant_reply rule cannot select "${kind}". Use one of: ${allowed}.`;
7351
7368
  }
@@ -7400,12 +7417,27 @@ function monitorRuleActions(monitorConfig) {
7400
7417
  visit(config.fallback, ["fallback"]);
7401
7418
  return found;
7402
7419
  }
7420
+ function automationGateIssues(monitorConfig) {
7421
+ if (!monitorConfig || typeof monitorConfig !== "object") return [];
7422
+ const trigger = resolveMonitorTrigger(monitorConfig);
7423
+ if (!isAutomationGateTrigger(trigger)) return [];
7424
+ const messages = AUTOMATION_GATE_KEY_MESSAGES[trigger];
7425
+ const config = monitorConfig;
7426
+ const issues = [];
7427
+ if (Array.isArray(config.flag_conditions) && config.flag_conditions.length > 0) {
7428
+ issues.push({ path: ["flag_conditions"], message: messages.flagConditions });
7429
+ }
7430
+ for (const key of MONITOR_INPUT_SHAPING_KEYS) {
7431
+ if (config[key] !== void 0) issues.push({ path: [key], message: messages.inputShaping });
7432
+ }
7433
+ return issues;
7434
+ }
7403
7435
  function collectMonitorRuleIssues(monitorConfig) {
7404
7436
  const offTrigger = monitorRuleKeysOffTrigger(monitorConfig).map((key) => ({ path: [key], message: MONITOR_RULE_TRIGGER_MESSAGE }));
7405
7437
  if (offTrigger.length > 0) return offTrigger;
7406
7438
  const trigger = resolveMonitorTrigger(monitorConfig);
7407
7439
  const kinds = monitorRuleActionKinds(trigger);
7408
- const issues = callUtteranceRuleIssues(monitorConfig);
7440
+ const issues = [...callUtteranceRuleIssues(monitorConfig), ...automationGateIssues(monitorConfig)];
7409
7441
  for (const { action, path: path36 } of monitorRuleActions(monitorConfig)) {
7410
7442
  if (trigger === "call_utterance" && path36[0] === "fallback") continue;
7411
7443
  const kind = action.kind;
@@ -8166,19 +8198,19 @@ function refineHubAsCodeMonitorRulesOutput(config, ctx) {
8166
8198
  }
8167
8199
  });
8168
8200
  }
8169
- var PLACEHOLDER_TOKENS, ALLOWED_TYPES, SUBSCHEMA_OBJECT_KEYWORDS, SUBSCHEMA_LIST_KEYWORDS, SUBSCHEMA_MAP_KEYWORDS, MAX_SCHEMA_DEPTH, uuidSchema, USER_ID_REGEX, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, MESSAGE_ENVELOPE_HEADROOM_BYTES, MAX_AUDIO_FILE_BASE64_BYTES, MAX_KANBAN_STATUSES, MAX_FOLLOWUPS_PER_STATUS, MAX_LANES, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES, RESERVED_TEMPLATE_DUMP_NAME, kanbanStatusSlugSchema, followupTypeSchema, EVENT_RELATIVE_FOLLOWUP_TYPES, followupTimeUnitSchema, followupIdSchema, SELECTABLE_FOLLOWUP_TYPES, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS, followupSchema, MAX_OUTCOMES_PER_STATUS, kanbanOutcomeSchema, EXCLUSIVE_FLAG_PAIRS, kanbanStatusSchema, kanbanStatusesArraySchema, laneSchema, lanesArraySchema, toolIdParam, listToolsQuery, toolAgentQuery, deleteToolQuery, toolConnectionsQuery, nativeToolIdSchema, CONTEXT_BOUNDARIES, contextBoundarySchema, addNativeToolBody, addMcpToolBody, createCustomToolBody, updateCustomToolBody, updateToolExecutionConfigBody, PREVIOUS_CONVERSATIONS_MAX, NATIVE_TOOL_NAMES, previousConversationsCountField, summarizationThresholdField, flagConditionSchema, MONITOR_TRIGGERS, monitorTriggerSchema, MONITOR_FIRING_TRIGGERS, MONITOR_DELAY_SECONDS_MIN, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE, MONITOR_HISTORY_MESSAGES_MAX, monitorHistoryMessagesSchema, monitorIncludeToolResultsSchema, MONITOR_INPUT_SHAPING_KEYS, MONITOR_INPUT_SHAPING_SCHEMAS, MONITOR_INPUT_SHAPING_IDLE_MESSAGE, monitorArgumentSourceSchema, MONITOR_NOTE_TEMPLATE_MAX, MONITOR_STEER_NOTE_MAX, monitorActionSchema, monitorRuleSchema, MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS, MONITOR_RULE_TRIGGERS, MONITOR_RULE_TRIGGER_MESSAGE, CALL_UTTERANCE_SPEAKERS, callUtteranceSpeakerSchema, MONITOR_CALL_KEYS, MONITOR_CALL_SCHEMAS, MONITOR_CALL_KEY_MESSAGE, CALL_STEERING_MIN_CONFIDENCE, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE, CALL_UTTERANCE_FALLBACK_MESSAGE, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE, CALL_STEER_NOTE_BLANK_MESSAGE, MONITOR_USER_MESSAGE_ACTION_KINDS, MONITOR_ASSISTANT_REPLY_ACTION_KINDS, MONITOR_CALL_UTTERANCE_ACTION_KINDS, INSERT_NOTE_TOOL_NAME, RUN_MONITOR_TOOL_NAME, MONITOR_RULE_ALLOWED_NATIVE_TOOLS, MONITOR_RULE_REENTRY_TOOLS, MONITOR_RULE_REENTRY_TRACKS, monitorConfigField, flagConditionsField, agentIdParam, listAgentsQuery, agentConnectionsQuery, createAgentBody, updateAgentBody, AGENT_PARAMETER_TYPES, AGENT_PARAMETER_NAME_REGEX, agentParameterCreateSchema, MAX_AGENT_PARAMETERS_PER_REQUEST, createAgentParametersBody, evalIdParam, sessionIdParam, scenarioSetIdParam, hubIdQuery, evalDateContextSchema, EVAL_FIXTURE_NAME_MAX_LENGTH, evalFixtureOverrideSchema, runSessionQuery, runJourneyQuery, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, evalBody, EVAL_LIST_MAX_LIMIT, evalListLimit, getEvalsQuery, toggleEvalBody, bulkToggleEvalsBody, pacingConfigSchema, EVAL_MAX_SELECTED_SCENARIOS, evalScenarioSelectionEntrySchema, evalScenarioSelectionSchema, sessionConfigSchema, createSessionBody, getSessionsQuery, getSessionResultsQuery, getSessionRunsQuery, evalAnalyticsQuery, getSessionCostQuery, compareSessionsQuery, evalsSqlBody, evalsSqlSchemaQuery, exportResultsQuery, validateEvalBody, hubAgentsQuery, createScenarioSetBody, updateScenarioSetBody, scenarioSetsHubQuery, createScenarioFromConversationBody, createJourneyFromConversationBody, EVAL_ATTACHMENT_HASH_REGEX, evalAttachmentRef, turnMayCarryAttachments, ATTACHMENTS_USER_ONLY_MESSAGE, journeyIdParam, journeyToolCallSchema, journeyTurnSchema, journeyStepOverrideSchema, fixtureField, createJourneyBody, updateJourneyBody, evalSessionConfigResponseSchema, evalSessionResponseSchema, evalSessionListConfigSchema, evalSessionListItemSchema, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, MAX_RESOURCE_FILE_SIZE, CALL_OPENING_LANGUAGES, callOpeningLanguage, CALL_OPENING_MAX_DURATION_MS, CALL_OPENING_MAX_BYTES, CALL_OPENING_CAPTION_MAX_CHARS, CALL_OPENING_CONTENT_TYPES, callOpeningContentType, CALL_OPENING_HASH_REGEX, callOpeningHash, callOpeningCaption, storedCallOpening, MAX_CALL_OPENING_ENCODED_BYTES, MAX_CALL_OPENING_BODY_BYTES, agentCallOpeningParams, putAgentCallOpeningBody, deleteAgentCallOpeningQuery, callOpeningParam, callOpeningQuery, MAX_10MB_BASE64_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_CARRIERS, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES, MAX_RESOURCE_ENCODED_BYTES, MAX_HUB_AS_CODE_RESOURCES, MAX_HUB_AS_CODE_RESOURCE_FILES, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES, MAX_CI_CONFIG_BODY_BYTES, MAX_CALL_OPENING_CARRIERS, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES, hubAsCodeStateSchema, hubAsCodeResourceFileSchema, hubAsCodeResourceSchema, uuidPattern, ciUuidSchema, boundedHubAsCodeResourcesSchema, hubAsCodeConfigSchema, ciPullHubIdParam, ciBranchParam, ciPullQuery, ciHubsQuery, ciLookupQuery, ciBranchesQuery, ciSyncBody, ciPushBody, ciDiffBody, ciPublishBody, ciPublishPreviewBody, ciSyncMcpBody, ciOrgResourcesParam, orgResourcesConfigSchema, ciOrgResourcesPushBody, ciOrgResourcesDiffBody, CI_APPLY_ENTITY_KINDS, CI_APPLY_OPERATIONS, ciApplyErrorBaseSchema, ciApplyErrorSchema, ciSyncCountSchema, ciSyncChangesSchema, ciSyncWarningSchema, ciSyncResponseSchema;
8170
- var init_chunk_YEYIDIR6 = __esm({
8171
- "../../packages/core/dist/chunk-YEYIDIR6.js"() {
8201
+ var PLACEHOLDER_TOKENS, ALLOWED_TYPES, SUBSCHEMA_OBJECT_KEYWORDS, SUBSCHEMA_LIST_KEYWORDS, SUBSCHEMA_MAP_KEYWORDS, MAX_SCHEMA_DEPTH, uuidSchema, USER_ID_REGEX, timestampSchema, idParamSchema, clientOptionalString, clientOptionalBoolean, clientOptionalNumber, messageAttachment, MAX_MESSAGE_BODY_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, MESSAGE_ENVELOPE_HEADROOM_BYTES, MAX_AUDIO_FILE_BASE64_BYTES, MAX_KANBAN_STATUSES, MAX_FOLLOWUPS_PER_STATUS, MAX_LANES, MAX_ADDITIONAL_CONTEXT_SCHEMA_BYTES, RESERVED_TEMPLATE_DUMP_NAME, kanbanStatusSlugSchema, followupTypeSchema, EVENT_RELATIVE_FOLLOWUP_TYPES, followupTimeUnitSchema, followupIdSchema, SELECTABLE_FOLLOWUP_TYPES, MAX_LINKED_FOLLOWUP_TARGETS_PER_STATUS, followupSchema, MAX_OUTCOMES_PER_STATUS, kanbanOutcomeSchema, EXCLUSIVE_FLAG_PAIRS, kanbanStatusSchema, kanbanStatusesArraySchema, laneSchema, lanesArraySchema, toolIdParam, listToolsQuery, toolAgentQuery, deleteToolQuery, toolConnectionsQuery, nativeToolIdSchema, CONTEXT_BOUNDARIES, contextBoundarySchema, addNativeToolBody, addMcpToolBody, createCustomToolBody, updateCustomToolBody, updateToolExecutionConfigBody, PREVIOUS_CONVERSATIONS_MAX, NATIVE_TOOL_NAMES, previousConversationsCountField, summarizationThresholdField, flagConditionSchema, MONITOR_TRIGGERS, monitorTriggerSchema, AUTOMATION_GATE_TRIGGERS, NON_FIRING_TRIGGERS, MONITOR_FIRING_TRIGGERS, MONITOR_DELAY_SECONDS_MIN, MONITOR_IDLE_DELAY_REQUIRED_MESSAGE, MONITOR_HISTORY_MESSAGES_MAX, monitorHistoryMessagesSchema, monitorIncludeToolResultsSchema, MONITOR_INPUT_SHAPING_KEYS, MONITOR_INPUT_SHAPING_SCHEMAS, MONITOR_INPUT_SHAPING_IDLE_MESSAGE, monitorArgumentSourceSchema, MONITOR_NOTE_TEMPLATE_MAX, MONITOR_STEER_NOTE_MAX, MONITOR_GATE_AGENT_NAME_MAX, monitorActionSchema, monitorRuleSchema, MONITOR_RULE_KEYS, MONITOR_RULE_SCHEMAS, MONITOR_RULE_TRIGGERS, MONITOR_RULE_TRIGGER_MESSAGE, CALL_UTTERANCE_SPEAKERS, callUtteranceSpeakerSchema, MONITOR_CALL_KEYS, MONITOR_CALL_SCHEMAS, MONITOR_CALL_KEY_MESSAGE, CALL_STEERING_MIN_CONFIDENCE, CALL_UTTERANCE_RULE_NOT_CONFIDENT_MESSAGE, CALL_UTTERANCE_FALLBACK_MESSAGE, CALL_UTTERANCE_FLAG_CONDITIONS_MESSAGE, CALL_STEER_NOTE_BLANK_MESSAGE, MONITOR_USER_MESSAGE_ACTION_KINDS, MONITOR_ASSISTANT_REPLY_ACTION_KINDS, MONITOR_CALL_UTTERANCE_ACTION_KINDS, MONITOR_AUTOMATION_FIRE_ACTION_KINDS, MONITOR_AUTOMATION_ITEM_ACTION_KINDS, INSERT_NOTE_TOOL_NAME, RUN_MONITOR_TOOL_NAME, MONITOR_RULE_ALLOWED_NATIVE_TOOLS, MONITOR_RULE_REENTRY_TOOLS, MONITOR_RULE_REENTRY_TRACKS, AUTOMATION_FIRE_FLAG_CONDITIONS_MESSAGE, AUTOMATION_FIRE_INPUT_SHAPING_MESSAGE, AUTOMATION_ITEM_FLAG_CONDITIONS_MESSAGE, AUTOMATION_ITEM_INPUT_SHAPING_MESSAGE, AUTOMATION_GATE_KEY_MESSAGES, monitorConfigField, flagConditionsField, agentIdParam, listAgentsQuery, agentConnectionsQuery, createAgentBody, updateAgentBody, AGENT_PARAMETER_TYPES, AGENT_PARAMETER_NAME_REGEX, agentParameterCreateSchema, MAX_AGENT_PARAMETERS_PER_REQUEST, createAgentParametersBody, evalIdParam, sessionIdParam, scenarioSetIdParam, hubIdQuery, evalDateContextSchema, EVAL_FIXTURE_NAME_MAX_LENGTH, evalFixtureOverrideSchema, runSessionQuery, runJourneyQuery, EVAL_INPUT_ROLES, EVAL_INPUT_ROLE_LIST, ROLE_ECHO_MAX, EVAL_INITIAL_STATE_SCOPES, MAX_INITIAL_STATE_ENTRIES, evalInitialStateEntry, evalBody, EVAL_LIST_MAX_LIMIT, evalListLimit, getEvalsQuery, toggleEvalBody, bulkToggleEvalsBody, pacingConfigSchema, EVAL_MAX_SELECTED_SCENARIOS, evalScenarioSelectionEntrySchema, evalScenarioSelectionSchema, sessionConfigSchema, createSessionBody, getSessionsQuery, getSessionResultsQuery, getSessionRunsQuery, evalAnalyticsQuery, getSessionCostQuery, compareSessionsQuery, evalsSqlBody, evalsSqlSchemaQuery, exportResultsQuery, validateEvalBody, hubAgentsQuery, createScenarioSetBody, updateScenarioSetBody, scenarioSetsHubQuery, createScenarioFromConversationBody, createJourneyFromConversationBody, EVAL_ATTACHMENT_HASH_REGEX, evalAttachmentRef, turnMayCarryAttachments, ATTACHMENTS_USER_ONLY_MESSAGE, journeyIdParam, journeyToolCallSchema, journeyTurnSchema, journeyStepOverrideSchema, fixtureField, createJourneyBody, updateJourneyBody, evalSessionConfigResponseSchema, evalSessionResponseSchema, evalSessionListConfigSchema, evalSessionListItemSchema, seedReleaseStatusSchema, EVAL_SESSION_NOT_QUIESCENT, MAX_RESOURCE_FILE_SIZE, CALL_OPENING_LANGUAGES, callOpeningLanguage, CALL_OPENING_MAX_DURATION_MS, CALL_OPENING_MAX_BYTES, CALL_OPENING_CAPTION_MAX_CHARS, CALL_OPENING_CONTENT_TYPES, callOpeningContentType, CALL_OPENING_HASH_REGEX, callOpeningHash, callOpeningCaption, storedCallOpening, MAX_CALL_OPENING_ENCODED_BYTES, MAX_CALL_OPENING_BODY_BYTES, agentCallOpeningParams, putAgentCallOpeningBody, deleteAgentCallOpeningQuery, callOpeningParam, callOpeningQuery, MAX_10MB_BASE64_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_ENCODED_BYTES, MAX_EVAL_ATTACHMENT_CARRIERS, MAX_EVAL_ATTACHMENT_AGGREGATE_ENCODED_BYTES, MAX_RESOURCE_ENCODED_BYTES, MAX_HUB_AS_CODE_RESOURCES, MAX_HUB_AS_CODE_RESOURCE_FILES, MAX_RESOURCE_AGGREGATE_ENCODED_BYTES, MAX_CI_CONFIG_BODY_BYTES, MAX_CALL_OPENING_CARRIERS, MAX_CALL_OPENING_AGGREGATE_ENCODED_BYTES, hubAsCodeStateSchema, hubAsCodeResourceFileSchema, hubAsCodeResourceSchema, uuidPattern, ciUuidSchema, boundedHubAsCodeResourcesSchema, hubAsCodeConfigSchema, ciPullHubIdParam, ciBranchParam, ciPullQuery, ciHubsQuery, ciLookupQuery, ciBranchesQuery, ciSyncBody, ciPushBody, ciDiffBody, ciPublishBody, ciPublishPreviewBody, ciSyncMcpBody, ciOrgResourcesParam, orgResourcesConfigSchema, ciOrgResourcesPushBody, ciOrgResourcesDiffBody, CI_APPLY_ENTITY_KINDS, CI_APPLY_OPERATIONS, ciApplyErrorBaseSchema, ciApplyErrorSchema, ciSyncCountSchema, ciSyncChangesSchema, ciSyncWarningSchema, ciSyncResponseSchema;
8202
+ var init_chunk_6SBJQYK2 = __esm({
8203
+ "../../packages/core/dist/chunk-6SBJQYK2.js"() {
8172
8204
  "use strict";
8173
8205
  init_chunk_SNA2DXAC();
8206
+ init_chunk_MIWZOSPI();
8174
8207
  init_chunk_IBL7FANV();
8208
+ init_chunk_2ISUBJG7();
8175
8209
  init_chunk_C2UEA2KW();
8176
8210
  init_chunk_3NS3HULK();
8177
- init_chunk_MIWZOSPI();
8178
8211
  init_chunk_JWPRTSIB();
8179
8212
  init_chunk_T7KQKDET();
8180
8213
  init_chunk_L5F7ZOUJ();
8181
- init_chunk_2ISUBJG7();
8182
8214
  init_zod();
8183
8215
  init_zod();
8184
8216
  init_zod();
@@ -8601,8 +8633,18 @@ var init_chunk_YEYIDIR6 = __esm({
8601
8633
  // fail on a hub configured through the other surface.
8602
8634
  value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()])
8603
8635
  });
8604
- MONITOR_TRIGGERS = ["idle", "user_message", "assistant_reply", "manual", "call_utterance"];
8636
+ MONITOR_TRIGGERS = [
8637
+ "idle",
8638
+ "user_message",
8639
+ "assistant_reply",
8640
+ "manual",
8641
+ "call_utterance",
8642
+ "automation_fire",
8643
+ "automation_item"
8644
+ ];
8605
8645
  monitorTriggerSchema = external_exports.enum(MONITOR_TRIGGERS);
8646
+ AUTOMATION_GATE_TRIGGERS = ["automation_fire", "automation_item"];
8647
+ NON_FIRING_TRIGGERS = ["manual", ...AUTOMATION_GATE_TRIGGERS];
8606
8648
  MONITOR_FIRING_TRIGGERS = MONITOR_TRIGGERS.filter(isFiringTrigger);
8607
8649
  MONITOR_DELAY_SECONDS_MIN = 10;
8608
8650
  MONITOR_IDLE_DELAY_REQUIRED_MESSAGE = "delay_seconds is required for an idle monitor (an absent trigger is idle)";
@@ -8621,6 +8663,7 @@ var init_chunk_YEYIDIR6 = __esm({
8621
8663
  ]);
8622
8664
  MONITOR_NOTE_TEMPLATE_MAX = 2e3;
8623
8665
  MONITOR_STEER_NOTE_MAX = 500;
8666
+ MONITOR_GATE_AGENT_NAME_MAX = 255;
8624
8667
  monitorActionSchema = external_exports.discriminatedUnion("kind", [
8625
8668
  external_exports.object({ kind: external_exports.literal("none") }).strict(),
8626
8669
  external_exports.object({
@@ -8630,7 +8673,18 @@ var init_chunk_YEYIDIR6 = __esm({
8630
8673
  }).strict(),
8631
8674
  external_exports.object({ kind: external_exports.literal("hold") }).strict(),
8632
8675
  external_exports.object({ kind: external_exports.literal("rewrite"), note: external_exports.string().min(1).max(MONITOR_NOTE_TEMPLATE_MAX) }).strict(),
8633
- external_exports.object({ kind: external_exports.literal("steer"), note: external_exports.string().min(1).max(MONITOR_STEER_NOTE_MAX) }).strict()
8676
+ external_exports.object({ kind: external_exports.literal("steer"), note: external_exports.string().min(1).max(MONITOR_STEER_NOTE_MAX) }).strict(),
8677
+ // An automation's fire gate (`automation_fire` only): run the fire as configured, run it with
8678
+ // another of the hub's agents — named by `agent_name`, which survives publish and push the way
8679
+ // the gate's own name does — or skip it.
8680
+ external_exports.object({ kind: external_exports.literal("run") }).strict(),
8681
+ external_exports.object({ kind: external_exports.literal("run_with_agent"), agent: external_exports.string().trim().min(1).max(MONITOR_GATE_AGENT_NAME_MAX) }).strict(),
8682
+ // An automation's item gate (`automation_item` only), for one contact of a fire's list: start
8683
+ // its work as configured, or start it with another of the hub's agents (by `agent_name`, as
8684
+ // `run_with_agent` names one). Both gates' `skip`, below, starts nothing.
8685
+ external_exports.object({ kind: external_exports.literal("start") }).strict(),
8686
+ external_exports.object({ kind: external_exports.literal("start_with_agent"), agent: external_exports.string().trim().min(1).max(MONITOR_GATE_AGENT_NAME_MAX) }).strict(),
8687
+ external_exports.object({ kind: external_exports.literal("skip") }).strict()
8634
8688
  ]);
8635
8689
  monitorRuleSchema = external_exports.object({
8636
8690
  when: external_exports.array(flagConditionSchema).min(1),
@@ -8641,8 +8695,15 @@ var init_chunk_YEYIDIR6 = __esm({
8641
8695
  rules: external_exports.array(monitorRuleSchema).optional(),
8642
8696
  fallback: monitorActionSchema.optional()
8643
8697
  };
8644
- MONITOR_RULE_TRIGGERS = ["user_message", "assistant_reply", "manual", "call_utterance"];
8645
- MONITOR_RULE_TRIGGER_MESSAGE = "only a user_message, assistant_reply, manual or call_utterance monitor acts on rules \u2014 set one of those triggers, or remove this key. A manual monitor acts on its rules when another monitor runs it.";
8698
+ MONITOR_RULE_TRIGGERS = [
8699
+ "user_message",
8700
+ "assistant_reply",
8701
+ "manual",
8702
+ "call_utterance",
8703
+ "automation_fire",
8704
+ "automation_item"
8705
+ ];
8706
+ MONITOR_RULE_TRIGGER_MESSAGE = "only a user_message, assistant_reply, manual, call_utterance, automation_fire or automation_item monitor acts on rules \u2014 set one of those triggers, or remove this key. A manual monitor acts on its rules when another monitor runs it.";
8646
8707
  CALL_UTTERANCE_SPEAKERS = ["caller", "voice", "both"];
8647
8708
  callUtteranceSpeakerSchema = external_exports.enum(CALL_UTTERANCE_SPEAKERS);
8648
8709
  MONITOR_CALL_KEYS = ["speaker"];
@@ -8658,6 +8719,8 @@ var init_chunk_YEYIDIR6 = __esm({
8658
8719
  MONITOR_USER_MESSAGE_ACTION_KINDS = ["none", "call_tool"];
8659
8720
  MONITOR_ASSISTANT_REPLY_ACTION_KINDS = ["none", "call_tool", "hold", "rewrite"];
8660
8721
  MONITOR_CALL_UTTERANCE_ACTION_KINDS = ["none", "call_tool", "steer"];
8722
+ MONITOR_AUTOMATION_FIRE_ACTION_KINDS = ["run", "run_with_agent", "skip"];
8723
+ MONITOR_AUTOMATION_ITEM_ACTION_KINDS = ["start", "start_with_agent", "skip"];
8661
8724
  INSERT_NOTE_TOOL_NAME = "insert_note";
8662
8725
  RUN_MONITOR_TOOL_NAME = "run_monitor";
8663
8726
  MONITOR_RULE_ALLOWED_NATIVE_TOOLS = [
@@ -8673,6 +8736,14 @@ var init_chunk_YEYIDIR6 = __esm({
8673
8736
  transfer_to_team: "team"
8674
8737
  };
8675
8738
  MONITOR_RULE_REENTRY_TRACKS = new Map(Object.entries(MONITOR_RULE_REENTRY_TOOLS));
8739
+ AUTOMATION_FIRE_FLAG_CONDITIONS_MESSAGE = "an automation_fire monitor decides an automation's fire before any conversation exists, so there is no conversation for it to flag. Remove flag_conditions.";
8740
+ AUTOMATION_FIRE_INPUT_SHAPING_MESSAGE = "an automation_fire monitor reads the automation and its fire, never a conversation's messages, so it has no history window to size. Remove this key.";
8741
+ AUTOMATION_ITEM_FLAG_CONDITIONS_MESSAGE = "an automation_item monitor decides one contact of an automation's fire before anything is started for it, so there is no conversation for it to flag. Remove flag_conditions.";
8742
+ AUTOMATION_ITEM_INPUT_SHAPING_MESSAGE = "an automation_item monitor reads the automation, its fire and one contact, never a conversation's messages, so it has no history window to size. Remove this key.";
8743
+ AUTOMATION_GATE_KEY_MESSAGES = {
8744
+ automation_fire: { flagConditions: AUTOMATION_FIRE_FLAG_CONDITIONS_MESSAGE, inputShaping: AUTOMATION_FIRE_INPUT_SHAPING_MESSAGE },
8745
+ automation_item: { flagConditions: AUTOMATION_ITEM_FLAG_CONDITIONS_MESSAGE, inputShaping: AUTOMATION_ITEM_INPUT_SHAPING_MESSAGE }
8746
+ };
8676
8747
  monitorConfigField = external_exports.object({
8677
8748
  delay_seconds: external_exports.number().int().min(MONITOR_DELAY_SECONDS_MIN).optional(),
8678
8749
  trigger: monitorTriggerSchema.optional(),
@@ -9372,7 +9443,7 @@ var init_chunk_YEYIDIR6 = __esm({
9372
9443
  }
9373
9444
  });
9374
9445
 
9375
- // ../../packages/core/dist/chunk-H4RTULPH.js
9446
+ // ../../packages/core/dist/chunk-Z6GC65RQ.js
9376
9447
  function refineLaneReferences(val, ctx) {
9377
9448
  const lanes = val.lanes;
9378
9449
  const statuses = val.kanban_statuses;
@@ -9440,16 +9511,17 @@ function parseCommunityLessonVideoUrl(url) {
9440
9511
  }
9441
9512
  return id !== void 0 && YOUTUBE_ID.test(id) ? { provider: "youtube", id } : null;
9442
9513
  }
9443
- var primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, hubTagsField, createHubBody, updateHubBody, HUB_TAG_CHANGE_REFUSED, hubTagChangeRefusalSchema, addHubAdminBody, addHubIdentityAuthorizationBody, contactDecisionBody, approveContactBody, listContactAccessQuery, createHubTeamBody, updateHubTeamBody, addHubTeamUserBody, reassignHubUserBody, replicatePreviewBody, HUB_DIFF_SECTION_SET, HUB_DIFF_SECTIONS, updateChannelTestIdentitiesBody, claimCodeChannelParam, claimCodeDeleteParam, connectionIdParam, connectorIdParam, listConnectionsQuery, deleteConnectionQuery, addConnectionBody, editConnectionBody, PRODUCTION_DIRECT_FIELDS, setProductionCredentialBody, registerWhatsappQuery, registerWhatsappBody, retryProvisioningQuery, resendDomainStatusQuery, initialValueCreateSchema, initialValueUpdateSchema, stateIdParam, listStatesQuery, stateNameSchema, createStateBody, updateStateBody, reorderStatesBody, variantAiModeSchema, experimentStatusSchema, overlayUpdateSchema, experimentIdParam, variantIdParam, listExperimentsQuery, listVariantsQuery, listOverridesQuery, deleteOverrideQuery, createExperimentBody, updateExperimentBody, setExperimentStatusBody, createVariantBody, updateVariantBody, upsertOverrideBody, orgTagIdParam, listOrgTagsQuery, ORG_TAG_NAME_REGEX, ORG_TAG_NAME_MAX_LENGTH, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, BASE_CREDENTIAL_MANAGED_BY, BASE_CREDENTIAL_NAME_MAX, baseCredentialNameSchema, createBaseCredentialLinkBody, baseCredentialLinkParams, baseCredentialLinkQuery, orgResourceIdParam, orgResourceFileIdParam, orgResourceFolderIdParam, hubOrgResourceParam, listOrgResourcesQuery, orgIdQuery, createOrgResourceBody, updateOrgResourceBody, createOrgResourceFolderBody, updateOrgResourceFolderBody, uploadOrgResourceFileBody, updateOrgResourceFileBody, uploadOrgSkillZipBody, linkOrgResourceBody, resourceIdParam, listResourcesQuery, createResourceBody, updateResourceBody, syncSkillsBody, resourceFileIdParam, listResourceFilesQuery, createResourceFileBody, updateResourceFileBody, uploadResourceFileBody, uploadSkillZipBody, resourceFolderIdParam, listResourceFoldersQuery, createResourceFolderBody, updateResourceFolderBody, agentResourceQuery, hubResourceQuery, linkAgentResourceBody, updateAgentResourceBody, unlinkAgentResourceQuery, navItemSchema, hubCountResetBody, navItemCountResetBody, typingBody, analyticsHubIdParam, analyticsVariableIdParam, updateVariablePinBody, updateAnalyticsViewBody, NUMERIC_FILTER_OPS, TEXT_FILTER_OPS, CATEGORICAL_FILTER_OPS, VARIABLE_FILTER_OPS, STRUCTURED_QUERY_OPS, STRUCTURED_QUERY_AGGREGATIONS, filterValueSchema, conversationsBody, analyticsConversationIdParam, messagesQuery, conversationDetailDataQuery, analyticsDataBody, structuredQueryBody, analyticsSqlBody, analyticsSqlTable, analyticsSqlSchemaQuery, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, CALL_STATUSES, callStatus, CALL_END_REASONS, callEndReason, CALL_TRANSPORTS, callTransport, CALL_PARTICIPANT_TYPES, callParticipantType, callInstant, MAX_SDP_OFFER_LENGTH, sdpDescription, sdpOffer, MAX_CALL_REQUEST_BODY_BYTES, hubScoped, callSummaryFields, callSummary, callIdParam, createCallBody, createCallResponse, callReadyBody, callHangupBody, callStatusQuery, MAX_REPORTED_DELEGATION_IDS, callDelegationId, callDelegationsBody, callResponse, MAX_CALL_RECORDING_GAPS, callRecordingGap, callRecordingNoteMetadata, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, EVAL_CALL_SPOKEN_LINE_MAX_CHARS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallRecordQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecording, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, recordAiDisclosureAcceptanceBody, activityQuery, deletionModeSchema, deletionRequestBody, CACHE_RECONCILE_MAX_IDS, CACHE_RECONCILE_MAX_HUBS, cacheReconcileScopeSchema, cachedConversationPageSchema, cachedHistoryThreadSchema, cachedPeopleThreadSchema, cacheReconcileBody, archiveHubIdParam, archiveConversationParams, archiveListQuery, archiveMessageObservabilityParams, conversationIdParam, conversationHubQuery, claimBody, releaseBody, transferBody, closeBody, additionalContextPayloadSchema, kanbanUpdateBody, annotateConversationBody, observabilityParams, observabilityListParams, deleteUserConversationsBody, deleteUserConversationsResponse, sendMessageBody, listConversationsQuery, flagSourceSchema, getConversationsResponse, getConversationDetailParams, getConversationDetailQuery, getConversationDetailResponse, listWhatsAppTemplatesQuery, sendWhatsAppTemplateBody, copilotSuggestBody, copilotSuggestResponse, CONSULT_THREAD_STATUSES, consultThreadStatus, CONSULT_THREAD_TITLE_MAX, consultThreadTitle, consultThreadSummary, listConsultThreadsQuery, listConsultThreadsResponse, createConsultThreadBody, createConsultThreadResponse, consultThreadIdParam, updateConsultThreadBody, updateConsultThreadResponse, CONSULT_AWAIT_TIMEOUT_MS, billingOrgIdParam, subscriptionItemParams, spendCapBody, growthPacksBody, portalSessionBody, checkoutSessionBody, updateBillingCurrencyBody, invoicesQuery, planKeySchema, billingStatusSchema, billingPlanTypeSchema, dataUsageCountersSchema, REKOR_ENTITLEMENT_CONTRACT_VERSION, entitlementProjectionSchema, rekorEntitlementRefreshMessageSchema, downloadBody, uploadQuery, SIGN_URL_MAX_EXPIRES_IN_SECONDS, signUrlBody, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, CONTACT_ENVIRONMENTS, CONTACT_NAME_MAX, CONTACT_EMAIL_MAX, CONTACT_PHONE_INPUT_MAX, CONTACT_INSTAGRAM_SID_MAX, CONTACT_METADATA_MAX_BYTES, CONTACT_LABEL_MAX, CONTACT_LABELS_MAX, CONTACT_SCOPE_TAGS_MAX, CONTACT_PAGE_MAX, CONTACT_IMPORT_BATCH_MAX, CONTACT_SEARCH_MAX, CONTACT_LIST_NAME_MAX, CONTACT_LIST_NAME_REGEX, CONTACT_LIST_DESCRIPTION_MAX, CONTACT_LIST_FILTER_MAX, CONTACT_LIST_PINS_PER_REQUEST_MAX, SUPPRESSION_SCOPES, SUPPRESSION_ID_REGEX, contactName, contactPhone, contactEmail, contactInstagramSid, contactLabel, contactLabels, contactMetadata, scopeTagIds, contactVisibilitySchema, hasIdentity, IDENTITY_REQUIRED, contactBookOrgQuery, contactBookContactParam, contactBookListParam, contactBookHubParam, contactBookPageQuery, listContactBookContactsQuery, listHubContactBookContactsQuery, contactBookLinkCandidatesQuery, listContactBookListMembersQuery, contactRowFields, createContactBookContactBody, updateContactBookContactBody, contactImportRowSchema, importContactBookContactsBody, linkContactBookContactBody, listName, contactListFilterSchema, createContactBookListBody, updateContactBookListBody, updateContactBookListPinsBody, suppressionIdentitySchema, createContactBookSuppressionBody, contactBookSuppressionParam, listContactBookSuppressionsQuery, CONTACT_BOOK_EMAIL_UNSUBSCRIBE_PATH, contactBookEmailUnsubscribeTokenSchema, contactBookEmailUnsubscribeQuery, orgListReferenceSchema, hubListNameSchema, HUB_LIST_FILTER_REQUIRED, hubContactListFilterSchema, hubContactListIdParam, hubContactListHubQuery, description, createHubContactListBody, updateHubContactListBody, AUTOMATION_TRIGGER_TYPES, AUTOMATION_TARGET_TYPES, AUTOMATION_ACTION_TYPES, AUTOMATION_CHANNEL_TYPES, AUTOMATION_PURPOSES, AUTOMATION_NAME_MAX, AUTOMATION_DESCRIPTION_MAX, AUTOMATION_INSTRUCTIONS_MAX, AUTOMATION_TEXT_MAX, AUTOMATION_CRON_MAX, automationTriggerSchema, automationTargetSchema, automationActionSchema, automationName, automationDescription, automationIdParam, automationHubQuery, AUTOMATION_RUNS_PAGE_MAX, listAutomationRunsQuery, createAutomationBody, updateAutomationBody, AUTOMATION_ALERT_CATEGORIES, AUTOMATION_BLOCKED_ALERT_CATEGORY, VERSION_PART, MOBILE_APP_VERSION_RE, mobileAppVersionSchema, MOBILE_PLATFORMS, mobilePlatformSchema, mobileVersionPolicyQuery, mobileVersionPolicySchema, mobileVersionPolicyResponse, adminOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, AUTOMATION_LIST_MAX_CONTACTS_BOUND, automationListMaxContacts, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetShape, adminScopedTargetBody, BRANCHING_ORPHAN_ENTITY_TYPES, BRANCHING_ORPHAN_MAX_TARGETS, adminRepairBranchingOrphansBody, adminRepairLegacyOrgGrantsBody, adminRepairCompedPlansBody, updatePricingPlanBody, dataExplorerSearchQuery, dataExplorerOrgIdParam, dataExplorerHubIdParam, dataExplorerConvIdParam, dataExplorerDoInstancesQuery, dataExplorerNsIdParam, dataExplorerKvKeysBody, dataExplorerKvKeyBody, uuidOrHexId, dataExplorerDeleteOrgParam, dataExplorerDeleteHubParam, dataExplorerDeleteConvParam, dataExplorerDeleteUserParam, dataExplorerDeleteQuery, dataExplorerKvDeleteBody, pitrDoNamespace, pitrBookmarkParam, pitrRestoreBody, healthSamplingTriggerBody, dataExplorerDebugDoType, DEBUG_READ_MAX_LIMIT, DEBUG_READ_DEFAULT_LIMIT, DEBUG_DO_HEX_PREFIX, debugDoEntityId, debugTableName, dataExplorerDebugTablesParam, dataExplorerDebugRowsParam, dataExplorerDebugRowsQuery, dataExplorerDebugAnalyticsTable, debugUuid, dataExplorerDebugAnalyticsRowsParam, dataExplorerDebugAnalyticsRowsQuery, debugHubConvParam, debugMessageIdQuery, sandboxEgressPolicy, SANDBOX_EXEC_MAX_CMD_LENGTH, SANDBOX_EXEC_MAX_ALLOWLIST, SANDBOX_EXEC_MAX_TIMEOUT_MS, adminSandboxExecBody, META_ENTITY_ID_PATTERN, metaEntityId, whatsappCallbackBody, authMeResponse, wsTicketResponse, sessionCheckResponse, logoutResponse, magicCodeSendBody, magicCodeSendResponse, magicCodeVerifyBody, magicCodeVerifyResponse, passwordLoginBody, stateOperationBody, conversationListResourcesQuery, conversationReadResourceQuery, listPendingSchedulesQuery, listHubAggregateSchedulesQuery, reportSourceSchema, intakeReportSourceSchema, reportClassificationSchema, reportStatusSchema, reportLocaleSchema, reportMessageAuthorRoleSchema, reportMessageSchema, sentryRefStatusSchema, createReportBody, editReportBody, reporterReportSummarySchema, reporterListResponseSchema, getReportResponseSchema, reporterTransitionResponseSchema, contestReportBody, reporterListQuery, listReportsQuery, GITHUB_ISSUE_URL_REGEX, githubIssueUrlSchema, transitionReportBody, groupReportsBody, holdReportBody, clickhouseReadyResponse, bootstrapQuery, MAX_NAME_LENGTH, MAX_VALUE_LENGTH, MAX_TAGS, MAX_TAG_LENGTH, MAX_SCOPE_HUBS, MAX_SCOPE_TAGS, vaultSecretScopeSchema, vaultCreateBody, vaultUpdateBody, MAX_NAME_LENGTH2, MAX_HUBS_PER_GRANT, MAX_HUB_TAGS_PER_GRANT, MAX_GRANTS, permissionEnum, grantScopeSchema, grantSchema, createTokenBody, tokenOrgIdParam, invitePreviewQuery, inviteRolePreviewResponse, inviteContactPreviewResponse, invitePreviewResponse, inviteUnsubscribeBody, jsonSchemaSchema, hubUserIdentity, stateValueEntry, getHubUserContextResponse, updateHubUserBody, updateHubUserResponse, unlockHubUserNameResponse, stateResetParams, stateResetResponse, hubAlertsParam, hubAlertSeverity, hubAlert, hubAlertsListResponse, noticeSeveritySchema, noticeStatusSchema, NOTICE_SCOPE_REGEX, noticeScopeSchema, noticeLinkSchema, createNoticeBody, updateNoticeBody, listNoticesQuery, noticeIdParamSchema, ADMIN_SKILL_NAME_REGEX, adminSkillNameParam, REKOR_ACTOR_TYPE_HEADER, REKOR_ACTOR_ID_HEADER, REKOR_ACTOR_LABEL_HEADER, REKOR_ACTOR_ORG_HEADER, REKOR_ACTOR_ADMIN_HEADER, REKOR_CLIENT_HEADER, REKOR_TOOL_ID_HEADER, REKOR_CLIENTS, rekorClientSchema, MAX_REKOR_TOOL_ID_LENGTH, rekorToolIdSchema, DATA_PROXY_MOUNT, DATA_PROXY_PREFIX, REKOR_V1_PREFIX, DATA_PROXY_ORG_QUERY_PARAM, MAX_PROVISIONING_BODY_BYTES, dataProxyQuery, rekorAttestation, REQUIRED_REKOR_ATTESTATION_HEADERS, BASE_DESTRUCTION_MOUNT, BASE_DESTRUCTION_PREFIX, BASE_DESTRUCTION_CONFIRM_PATH, baseDestructionConfirmBody, BASE_DESTRUCTION_GRACE_MS, BASE_DESTRUCTION_CONFIRM_TTL_MS, BASE_DESTRUCTION_ORG_QUERY_PARAM, baseDestructionQuery, baseDestructionParam, baseDestructionInitiateBody, baseDestructionStatus, baseDestructionRequest, baseDestructionListResponse, baseDestructionInitiateResponse, baseDestructionConfirmResponse, baseDestructionCancelResponse, rekorBaseChangeMessageSchema, PEOPLE_CONTACT_PAGE_MAX, PEOPLE_CONTACT_PAGE_DEFAULT, PEOPLE_CONTACT_EMAIL_MAX_LENGTH, peopleUserIdSchema, peopleInviteEmailSchema, peopleContactInviteBody, peopleContactInviteIdParam, peopleContactUserIdParam, peopleContactBlockBody, peopleContactPageQuery, peopleOutgoingInviteSchema, peopleContactPersonSchema, peopleContactSchema, peopleIncomingInviteSchema, peopleBlockedUserSchema, PEOPLE_THREAD_MESSAGE_MAX_LENGTH, PEOPLE_THREAD_MESSAGES_PAGE_MAX, PEOPLE_THREAD_PAGE_MAX, PEOPLE_THREAD_PAGE_DEFAULT, PEOPLE_GROUP_NAME_MAX_LENGTH, PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH, PEOPLE_THREAD_ATTACHMENT_MAX_BYTES, PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH, PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES, PEOPLE_THREAD_ATTACHMENT_MAX_MB, PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS, PEOPLE_THREAD_ATTACHMENT_URLS_MAX, peopleThreadIdParam, peopleThreadMessageIdParam, peopleThreadListQuery, peopleThreadMessagesQuery, peopleThreadAttachmentUploadSchema, peopleThreadSendBody, peopleThreadAttachmentUrlsBody, peopleThreadReadBody, peopleThreadSettingsBody, peopleGroupNameSchema, peopleGroupAvatarUrlSchema, peopleGroupCreateBody, peopleOrgDirectBody, peopleGroupUpdateBody, peopleGroupInviteBody, peopleOrgErasureBody, peopleGroupLeaveBody, peopleGroupInviteIdParam, peopleGroupIncomingInviteIdParam, peopleGroupMemberParam, peopleThreadKindSchema, peopleThreadMemberSchema, peopleThreadLastMessageSchema, peopleGroupRoleSchema, peopleGroupSummarySchema, peopleThreadSummarySchema, peopleThreadAttachmentSchema, peopleThreadMessageSchema, peopleGroupMemberSchema, peopleGroupSentInviteSchema, peopleGroupIncomingInviteSchema, PEOPLE_REPORT_DETAILS_MAX_LENGTH, peopleReportReasonSchema, reportDetailsSchema, reportFields, peopleReportBody, PEOPLE_MODERATION_NOTE_MAX_LENGTH, ADMIN_PEOPLE_REPORTS_PAGE_MAX, ADMIN_PEOPLE_REPORTS_PAGE_DEFAULT, peopleModerationActionSchema, moderationNoteSchema, adminPeopleReportListQuery, adminPeopleReportIdParam, adminPeopleMessageRemovalBody, adminPeopleSuspendBody, adminPeopleNoteBody, COMMUNITIES_PER_ORG_MAX, COMMUNITY_NAME_MAX_LENGTH, COMMUNITY_REGISTRY_CLOSED_REASON, COMMUNITY_JOIN_SOURCE_MAX_LENGTH, COMMUNITY_JOIN_FLOW_TOKEN_MAX_LENGTH, COMMUNITY_ROOM_NAME_MAX_LENGTH, COMMUNITY_MESSAGE_MAX_LENGTH, COMMUNITY_MESSAGES_PAGE_SIZE, COMMUNITY_ATTACHMENT_URLS_MAX, COMMUNITY_POST_TITLE_MAX_LENGTH, COMMUNITY_POST_SEARCH_MAX_LENGTH, COMMUNITY_RULES_MAX_LENGTH, COMMUNITY_SLOW_MODE_MAX_SECONDS, COMMUNITY_COURSES_LABEL_MAX_LENGTH, COMMUNITY_LIVE_TICKET_PREFIX, communityNameSchema, adminCreateCommunityBody, communityIdParam, communityJoinTokenSchema, communityJoinSourceSchema, communityJoinPreviewQuery, communityJoinBody, communityRoomKindSchema, communityRoomNameSchema, communityRoomIdParam, communityMessageIdParam, communityRoomCreateBody, communityRoomUpdateBody, communityMessagesQuery, communityMessageBodySchema, communityPostTitleSchema, communityAttachmentUploadSchema, communitySendBody, communityEditBody, communityPostIdParam, communityPostsQuery, communityAnswerBody, communityReadBody, communityAttachmentUrlsBody, communityPersonParam, communityOrgParam, communityPeopleQuery, communityCoursesLabelSchema, communitySettingsBody, communityBanBody, communityLockBody, communityPinBody, communityModLogQuery, communityReportsQuery, communityReportIdParam, communityLiveTicketSchema, communityLiveQuery, communityMuteBody, communityEmailUnsubscribeTokenSchema, COMMUNITY_EMAIL_UNSUBSCRIBE_PATH, communityEmailUnsubscribeQuery, COMMUNITY_COURSE_TITLE_MAX_LENGTH, COMMUNITY_COURSE_DESCRIPTION_MAX_LENGTH, COMMUNITY_LESSON_BODY_MAX_LENGTH, COMMUNITY_LESSON_LINKS_MAX, COMMUNITY_LESSON_URL_MAX_LENGTH, YOUTUBE_ID, YOUTUBE_HOSTS, YOUTU_BE, YOUTUBE_ID_PATH, communityCourseIdParam, communityCourseModuleIdParam, communityLessonIdParam, communityCourseTitleSchema, communityCourseDescriptionSchema, communityCoursePositionSchema, communityLessonVideoUrlSchema, communityLessonLinkSchema, communityLessonLinksSchema, communityLessonBodySchema, communityCourseCreateBody, communityCourseUpdateBody, communityModuleCreateBody, communityModuleUpdateBody, communityLessonCreateBody, communityLessonUpdateBody, COMMUNITY_LESSON_TREE_MAX_BYTES, COMMUNITY_LESSON_LINK_PROTOCOLS, LINK_SCHEME;
9444
- var init_chunk_H4RTULPH = __esm({
9445
- "../../packages/core/dist/chunk-H4RTULPH.js"() {
9514
+ var primaryRegionSchema, placementSourceSchema, orgIdParam, orgAdminIdParam, createOrganizationBody, updateOrganizationBody, addOrgAdminBody, hubIdParam, hubAdminIdParam, hubUserIdParam, hubIdentityIdParam, hubTeamIdParam, hubTeamUserDeleteParam, hubSchemaQuery, PREVIEW_LABEL_MAX_LENGTH, MAX_ENDED_INDEX_RETENTION_DAYS, MAX_EVAL_RETENTION_DAYS, previewLabelField, hubTagsField, createHubBody, updateHubBody, HUB_TAG_CHANGE_REFUSED, hubTagChangeRefusalSchema, addHubAdminBody, addHubIdentityAuthorizationBody, contactDecisionBody, approveContactBody, listContactAccessQuery, createHubTeamBody, updateHubTeamBody, addHubTeamUserBody, reassignHubUserBody, replicatePreviewBody, HUB_DIFF_SECTION_SET, HUB_DIFF_SECTIONS, updateChannelTestIdentitiesBody, claimCodeChannelParam, claimCodeDeleteParam, connectionIdParam, connectorIdParam, listConnectionsQuery, deleteConnectionQuery, addConnectionBody, editConnectionBody, PRODUCTION_DIRECT_FIELDS, setProductionCredentialBody, registerWhatsappQuery, registerWhatsappBody, retryProvisioningQuery, resendDomainStatusQuery, initialValueCreateSchema, initialValueUpdateSchema, stateIdParam, listStatesQuery, stateNameSchema, createStateBody, updateStateBody, reorderStatesBody, variantAiModeSchema, experimentStatusSchema, overlayUpdateSchema, experimentIdParam, variantIdParam, listExperimentsQuery, listVariantsQuery, listOverridesQuery, deleteOverrideQuery, createExperimentBody, updateExperimentBody, setExperimentStatusBody, createVariantBody, updateVariantBody, upsertOverrideBody, orgTagIdParam, listOrgTagsQuery, ORG_TAG_NAME_REGEX, ORG_TAG_NAME_MAX_LENGTH, createOrgTagBody, updateOrgTagBody, orgCredentialIdParam, listOrgCredentialsQuery, createOrgCredentialBody, updateOrgCredentialBody, BASE_CREDENTIAL_MANAGED_BY, BASE_CREDENTIAL_NAME_MAX, baseCredentialNameSchema, createBaseCredentialLinkBody, baseCredentialLinkParams, baseCredentialLinkQuery, orgResourceIdParam, orgResourceFileIdParam, orgResourceFolderIdParam, hubOrgResourceParam, listOrgResourcesQuery, orgIdQuery, createOrgResourceBody, updateOrgResourceBody, createOrgResourceFolderBody, updateOrgResourceFolderBody, uploadOrgResourceFileBody, updateOrgResourceFileBody, uploadOrgSkillZipBody, linkOrgResourceBody, resourceIdParam, listResourcesQuery, createResourceBody, updateResourceBody, syncSkillsBody, resourceFileIdParam, listResourceFilesQuery, createResourceFileBody, updateResourceFileBody, uploadResourceFileBody, uploadSkillZipBody, resourceFolderIdParam, listResourceFoldersQuery, createResourceFolderBody, updateResourceFolderBody, agentResourceQuery, hubResourceQuery, linkAgentResourceBody, updateAgentResourceBody, unlinkAgentResourceQuery, navItemSchema, hubCountResetBody, navItemCountResetBody, typingBody, analyticsHubIdParam, analyticsVariableIdParam, updateVariablePinBody, updateAnalyticsViewBody, NUMERIC_FILTER_OPS, TEXT_FILTER_OPS, CATEGORICAL_FILTER_OPS, VARIABLE_FILTER_OPS, STRUCTURED_QUERY_OPS, STRUCTURED_QUERY_AGGREGATIONS, filterValueSchema, conversationsBody, analyticsConversationIdParam, messagesQuery, conversationDetailDataQuery, analyticsDataBody, structuredQueryBody, analyticsSqlBody, analyticsSqlTable, analyticsSqlSchemaQuery, getConversationsQuery, getMessagesQuery, appMessageSenderType, appMessageReceiverType, apiChannelMessage, apiChannelMessageBody, appMessageBody, appMessageResponse, CALL_STATUSES, callStatus, CALL_END_REASONS, callEndReason, CALL_TRANSPORTS, callTransport, CALL_PARTICIPANT_TYPES, callParticipantType, callInstant, MAX_SDP_OFFER_LENGTH, sdpDescription, sdpOffer, MAX_CALL_REQUEST_BODY_BYTES, hubScoped, callSummaryFields, callSummary, callIdParam, createCallBody, createCallResponse, callReadyBody, callHangupBody, callStatusQuery, MAX_REPORTED_DELEGATION_IDS, callDelegationId, callDelegationsBody, callResponse, MAX_CALL_RECORDING_GAPS, callRecordingGap, callRecordingNoteMetadata, evalCallInstant, EVAL_CALL_MIN_SECONDS, EVAL_CALL_MAX_SECONDS, EVAL_CALL_SPOKEN_LINE_MAX_CHARS, hubScoped2, createEvalCallBody, createEvalCallResponse, evalCallConversationQuery, evalCallRecordQuery, evalCallSpeaker, evalCallUtterance, evalCallTurn, evalCallRecording, evalCallRecordResponse, evalCallFinishResponse, updateUserBody, updateProfileBody, pathnameRegex, updatePreferencesBody, registerPushTokenBody, deletePushTokenQuery, recordAiDisclosureAcceptanceBody, activityQuery, deletionModeSchema, deletionRequestBody, CACHE_RECONCILE_MAX_IDS, CACHE_RECONCILE_MAX_HUBS, cacheReconcileScopeSchema, cachedConversationPageSchema, cachedHistoryThreadSchema, cachedPeopleThreadSchema, cacheReconcileBody, archiveHubIdParam, archiveConversationParams, archiveListQuery, archiveMessageObservabilityParams, conversationIdParam, conversationHubQuery, claimBody, releaseBody, transferBody, closeBody, additionalContextPayloadSchema, kanbanUpdateBody, annotateConversationBody, observabilityParams, observabilityListParams, deleteUserConversationsBody, deleteUserConversationsResponse, sendMessageBody, listConversationsQuery, flagSourceSchema, getConversationsResponse, getConversationDetailParams, getConversationDetailQuery, getConversationDetailResponse, listWhatsAppTemplatesQuery, sendWhatsAppTemplateBody, copilotSuggestBody, copilotSuggestResponse, CONSULT_THREAD_STATUSES, consultThreadStatus, CONSULT_THREAD_TITLE_MAX, consultThreadTitle, consultThreadSummary, listConsultThreadsQuery, listConsultThreadsResponse, createConsultThreadBody, createConsultThreadResponse, consultThreadIdParam, updateConsultThreadBody, updateConsultThreadResponse, CONSULT_AWAIT_TIMEOUT_MS, billingOrgIdParam, subscriptionItemParams, spendCapBody, growthPacksBody, portalSessionBody, checkoutSessionBody, updateBillingCurrencyBody, invoicesQuery, planKeySchema, billingStatusSchema, billingPlanTypeSchema, dataUsageCountersSchema, REKOR_ENTITLEMENT_CONTRACT_VERSION, entitlementProjectionSchema, rekorEntitlementRefreshMessageSchema, downloadBody, uploadQuery, SIGN_URL_MAX_EXPIRES_IN_SECONDS, signUrlBody, templateIdParam, listTemplatesQuery, deleteTemplateQuery, templateStatusQuery, createTemplateBody, updateTemplateBody, submitTemplateBody, testTemplateBody, CONTACT_ENVIRONMENTS, CONTACT_NAME_MAX, CONTACT_EMAIL_MAX, CONTACT_PHONE_INPUT_MAX, CONTACT_INSTAGRAM_SID_MAX, CONTACT_METADATA_MAX_BYTES, CONTACT_LABEL_MAX, CONTACT_LABELS_MAX, CONTACT_SCOPE_TAGS_MAX, CONTACT_PAGE_MAX, CONTACT_IMPORT_BATCH_MAX, CONTACT_SEARCH_MAX, CONTACT_LIST_NAME_MAX, CONTACT_LIST_NAME_REGEX, CONTACT_LIST_DESCRIPTION_MAX, CONTACT_LIST_FILTER_MAX, CONTACT_LIST_PINS_PER_REQUEST_MAX, SUPPRESSION_SCOPES, SUPPRESSION_ID_REGEX, contactName, contactPhone, contactEmail, contactInstagramSid, contactLabel, contactLabels, contactMetadata, scopeTagIds, contactVisibilitySchema, hasIdentity, IDENTITY_REQUIRED, contactBookOrgQuery, contactBookContactParam, contactBookListParam, contactBookHubParam, contactBookPageQuery, listContactBookContactsQuery, listHubContactBookContactsQuery, contactBookLinkCandidatesQuery, listContactBookListMembersQuery, contactRowFields, createContactBookContactBody, updateContactBookContactBody, contactImportRowSchema, importContactBookContactsBody, linkContactBookContactBody, listName, contactListFilterSchema, createContactBookListBody, updateContactBookListBody, updateContactBookListPinsBody, suppressionIdentitySchema, createContactBookSuppressionBody, contactBookSuppressionParam, listContactBookSuppressionsQuery, CONTACT_BOOK_EMAIL_UNSUBSCRIBE_PATH, contactBookEmailUnsubscribeTokenSchema, contactBookEmailUnsubscribeQuery, orgListReferenceSchema, hubListNameSchema, HUB_LIST_FILTER_REQUIRED, hubContactListFilterSchema, hubContactListIdParam, hubContactListHubQuery, description, createHubContactListBody, updateHubContactListBody, AUTOMATION_TRIGGER_TYPES, AUTOMATION_EVENT_TYPES, AUTOMATION_TARGET_TYPES, AUTOMATION_ACTION_TYPES, AUTOMATION_CHANNEL_TYPES, AUTOMATION_PURPOSES, AUTOMATION_NAME_MAX, AUTOMATION_DESCRIPTION_MAX, AUTOMATION_INSTRUCTIONS_MAX, AUTOMATION_TEXT_MAX, AUTOMATION_CRON_MAX, AUTOMATION_WEBHOOK_AUTHS, AUTOMATION_WEBHOOK_HEADERS, AUTOMATION_WEBHOOK_BODY_MAX_BYTES, AUTOMATION_WEBHOOK_HEADER_NAME_MAX, AUTOMATION_WEBHOOK_MOUNT, WEBHOOK_RESERVED_HEADERS, automationTriggerSchema, automationTargetSchema, automationActionSchema, automationGateSchema, automationName, automationDescription, automationIdParam, automationHubQuery, automationWebhookParams, AUTOMATION_RUNS_PAGE_MAX, listAutomationRunsQuery, createAutomationBody, updateAutomationBody, AUTOMATION_ALERT_CATEGORIES, AUTOMATION_BLOCKED_ALERT_CATEGORY, VERSION_PART, MOBILE_APP_VERSION_RE, mobileAppVersionSchema, MOBILE_PLATFORMS, mobilePlatformSchema, mobileVersionPolicyQuery, mobileVersionPolicySchema, mobileVersionPolicyResponse, adminOrgIdParam, adminOrgAdminIdParam, adminUserIdParam, PRICING_PLAN_ID_RE, adminPlanIdParam, adminOrganizationsQuery, adminUserSearchQuery, kanbanSlugMigrationQuery, adjustQuotaBody, updatePlanBody, addAdminUserBody, MAX_VOICE_CALL_MINUTE_OPS, voiceCallMinuteOps, AUTOMATION_GATE_EVALUATIONS_PER_OPERATION_BOUND, automationGateEvaluationsPerOperation, updatePlatformConfigBody, updateFreeOrgLimitBody, adminScopedTargetShape, adminScopedTargetBody, BRANCHING_ORPHAN_ENTITY_TYPES, BRANCHING_ORPHAN_MAX_TARGETS, adminRepairBranchingOrphansBody, adminRepairLegacyOrgGrantsBody, adminRepairCompedPlansBody, updatePricingPlanBody, dataExplorerSearchQuery, dataExplorerOrgIdParam, dataExplorerHubIdParam, dataExplorerConvIdParam, dataExplorerDoInstancesQuery, dataExplorerNsIdParam, dataExplorerKvKeysBody, dataExplorerKvKeyBody, uuidOrHexId, dataExplorerDeleteOrgParam, dataExplorerDeleteHubParam, dataExplorerDeleteConvParam, dataExplorerDeleteUserParam, dataExplorerDeleteQuery, dataExplorerKvDeleteBody, pitrDoNamespace, pitrBookmarkParam, pitrRestoreBody, healthSamplingTriggerBody, dataExplorerDebugDoType, DEBUG_READ_MAX_LIMIT, DEBUG_READ_DEFAULT_LIMIT, DEBUG_DO_HEX_PREFIX, debugDoEntityId, debugTableName, dataExplorerDebugTablesParam, dataExplorerDebugRowsParam, dataExplorerDebugRowsQuery, dataExplorerDebugAnalyticsTable, debugUuid, dataExplorerDebugAnalyticsRowsParam, dataExplorerDebugAnalyticsRowsQuery, debugHubConvParam, debugMessageIdQuery, sandboxEgressPolicy, SANDBOX_EXEC_MAX_CMD_LENGTH, SANDBOX_EXEC_MAX_ALLOWLIST, SANDBOX_EXEC_MAX_TIMEOUT_MS, adminSandboxExecBody, META_ENTITY_ID_PATTERN, metaEntityId, whatsappCallbackBody, authMeResponse, wsTicketResponse, sessionCheckResponse, logoutResponse, magicCodeSendBody, magicCodeSendResponse, magicCodeVerifyBody, magicCodeVerifyResponse, passwordLoginBody, stateOperationBody, conversationListResourcesQuery, conversationReadResourceQuery, listPendingSchedulesQuery, listHubAggregateSchedulesQuery, reportSourceSchema, intakeReportSourceSchema, reportClassificationSchema, reportStatusSchema, reportLocaleSchema, reportMessageAuthorRoleSchema, reportMessageSchema, sentryRefStatusSchema, createReportBody, editReportBody, reporterReportSummarySchema, reporterListResponseSchema, getReportResponseSchema, reporterTransitionResponseSchema, contestReportBody, reporterListQuery, listReportsQuery, GITHUB_ISSUE_URL_REGEX, githubIssueUrlSchema, transitionReportBody, groupReportsBody, holdReportBody, clickhouseReadyResponse, bootstrapQuery, MAX_NAME_LENGTH, MAX_VALUE_LENGTH, MAX_TAGS, MAX_TAG_LENGTH, MAX_SCOPE_HUBS, MAX_SCOPE_TAGS, vaultSecretScopeSchema, vaultCreateBody, vaultUpdateBody, MAX_NAME_LENGTH2, MAX_HUBS_PER_GRANT, MAX_HUB_TAGS_PER_GRANT, MAX_GRANTS, permissionEnum, grantScopeSchema, grantSchema, createTokenBody, tokenOrgIdParam, invitePreviewQuery, inviteRolePreviewResponse, inviteContactPreviewResponse, invitePreviewResponse, inviteUnsubscribeBody, jsonSchemaSchema, hubUserIdentity, stateValueEntry, getHubUserContextResponse, updateHubUserBody, updateHubUserResponse, unlockHubUserNameResponse, stateResetParams, stateResetResponse, hubAlertsParam, hubAlertSeverity, hubAlert, hubAlertsListResponse, noticeSeveritySchema, noticeStatusSchema, NOTICE_SCOPE_REGEX, noticeScopeSchema, noticeLinkSchema, createNoticeBody, updateNoticeBody, listNoticesQuery, noticeIdParamSchema, ADMIN_SKILL_NAME_REGEX, adminSkillNameParam, REKOR_ACTOR_TYPE_HEADER, REKOR_ACTOR_ID_HEADER, REKOR_ACTOR_LABEL_HEADER, REKOR_ACTOR_ORG_HEADER, REKOR_ACTOR_ADMIN_HEADER, REKOR_CLIENT_HEADER, REKOR_TOOL_ID_HEADER, REKOR_CLIENTS, rekorClientSchema, MAX_REKOR_TOOL_ID_LENGTH, rekorToolIdSchema, DATA_PROXY_MOUNT, DATA_PROXY_PREFIX, REKOR_V1_PREFIX, DATA_PROXY_ORG_QUERY_PARAM, MAX_PROVISIONING_BODY_BYTES, dataProxyQuery, rekorAttestation, REQUIRED_REKOR_ATTESTATION_HEADERS, BASE_DESTRUCTION_MOUNT, BASE_DESTRUCTION_PREFIX, BASE_DESTRUCTION_CONFIRM_PATH, baseDestructionConfirmBody, BASE_DESTRUCTION_GRACE_MS, BASE_DESTRUCTION_CONFIRM_TTL_MS, BASE_DESTRUCTION_ORG_QUERY_PARAM, baseDestructionQuery, baseDestructionParam, baseDestructionInitiateBody, baseDestructionStatus, baseDestructionRequest, baseDestructionListResponse, baseDestructionInitiateResponse, baseDestructionConfirmResponse, baseDestructionCancelResponse, rekorBaseChangeMessageSchema, PEOPLE_CONTACT_PAGE_MAX, PEOPLE_CONTACT_PAGE_DEFAULT, PEOPLE_CONTACT_EMAIL_MAX_LENGTH, peopleUserIdSchema, peopleInviteEmailSchema, peopleContactInviteBody, peopleContactInviteIdParam, peopleContactUserIdParam, peopleContactBlockBody, peopleContactPageQuery, peopleOutgoingInviteSchema, peopleContactPersonSchema, peopleContactSchema, peopleIncomingInviteSchema, peopleBlockedUserSchema, PEOPLE_THREAD_MESSAGE_MAX_LENGTH, PEOPLE_THREAD_MESSAGES_PAGE_MAX, PEOPLE_THREAD_PAGE_MAX, PEOPLE_THREAD_PAGE_DEFAULT, PEOPLE_GROUP_NAME_MAX_LENGTH, PEOPLE_GROUP_AVATAR_URL_MAX_LENGTH, PEOPLE_THREAD_ATTACHMENT_MAX_BYTES, PEOPLE_THREAD_ATTACHMENT_NAME_MAX_LENGTH, PEOPLE_ATTACHMENT_STORAGE_PER_USER_BYTES, PEOPLE_THREAD_ATTACHMENT_MAX_MB, PEOPLE_THREAD_ATTACHMENT_URL_TTL_SECONDS, PEOPLE_THREAD_ATTACHMENT_URLS_MAX, peopleThreadIdParam, peopleThreadMessageIdParam, peopleThreadListQuery, peopleThreadMessagesQuery, peopleThreadAttachmentUploadSchema, peopleThreadSendBody, peopleThreadAttachmentUrlsBody, peopleThreadReadBody, peopleThreadSettingsBody, peopleGroupNameSchema, peopleGroupAvatarUrlSchema, peopleGroupCreateBody, peopleOrgDirectBody, peopleGroupUpdateBody, peopleGroupInviteBody, peopleOrgErasureBody, peopleGroupLeaveBody, peopleGroupInviteIdParam, peopleGroupIncomingInviteIdParam, peopleGroupMemberParam, peopleThreadKindSchema, peopleThreadMemberSchema, peopleThreadLastMessageSchema, peopleGroupRoleSchema, peopleGroupSummarySchema, peopleThreadSummarySchema, peopleThreadAttachmentSchema, peopleThreadMessageSchema, peopleGroupMemberSchema, peopleGroupSentInviteSchema, peopleGroupIncomingInviteSchema, PEOPLE_REPORT_DETAILS_MAX_LENGTH, peopleReportReasonSchema, reportDetailsSchema, reportFields, peopleReportBody, PEOPLE_MODERATION_NOTE_MAX_LENGTH, ADMIN_PEOPLE_REPORTS_PAGE_MAX, ADMIN_PEOPLE_REPORTS_PAGE_DEFAULT, peopleModerationActionSchema, moderationNoteSchema, adminPeopleReportListQuery, adminPeopleReportIdParam, adminPeopleMessageRemovalBody, adminPeopleSuspendBody, adminPeopleNoteBody, COMMUNITIES_PER_ORG_MAX, COMMUNITY_NAME_MAX_LENGTH, COMMUNITY_REGISTRY_CLOSED_REASON, COMMUNITY_JOIN_SOURCE_MAX_LENGTH, COMMUNITY_JOIN_FLOW_TOKEN_MAX_LENGTH, COMMUNITY_ROOM_NAME_MAX_LENGTH, COMMUNITY_MESSAGE_MAX_LENGTH, COMMUNITY_MESSAGES_PAGE_SIZE, COMMUNITY_ATTACHMENT_URLS_MAX, COMMUNITY_POST_TITLE_MAX_LENGTH, COMMUNITY_POST_SEARCH_MAX_LENGTH, COMMUNITY_RULES_MAX_LENGTH, COMMUNITY_SLOW_MODE_MAX_SECONDS, COMMUNITY_COURSES_LABEL_MAX_LENGTH, COMMUNITY_LIVE_TICKET_PREFIX, communityNameSchema, adminCreateCommunityBody, communityIdParam, communityJoinTokenSchema, communityJoinSourceSchema, communityJoinPreviewQuery, communityJoinBody, communityRoomKindSchema, communityRoomNameSchema, communityRoomIdParam, communityMessageIdParam, communityRoomCreateBody, communityRoomUpdateBody, communityMessagesQuery, communityMessageBodySchema, communityPostTitleSchema, communityAttachmentUploadSchema, communitySendBody, communityEditBody, communityPostIdParam, communityPostsQuery, communityAnswerBody, communityReadBody, communityAttachmentUrlsBody, communityPersonParam, communityOrgParam, communityPeopleQuery, communityCoursesLabelSchema, communitySettingsBody, communityBanBody, communityLockBody, communityPinBody, communityModLogQuery, communityReportsQuery, communityReportIdParam, communityLiveTicketSchema, communityLiveQuery, communityMuteBody, communityEmailUnsubscribeTokenSchema, COMMUNITY_EMAIL_UNSUBSCRIBE_PATH, communityEmailUnsubscribeQuery, COMMUNITY_COURSE_TITLE_MAX_LENGTH, COMMUNITY_COURSE_DESCRIPTION_MAX_LENGTH, COMMUNITY_LESSON_BODY_MAX_LENGTH, COMMUNITY_LESSON_LINKS_MAX, COMMUNITY_LESSON_URL_MAX_LENGTH, YOUTUBE_ID, YOUTUBE_HOSTS, YOUTU_BE, YOUTUBE_ID_PATH, communityCourseIdParam, communityCourseModuleIdParam, communityLessonIdParam, communityCourseTitleSchema, communityCourseDescriptionSchema, communityCoursePositionSchema, communityLessonVideoUrlSchema, communityLessonLinkSchema, communityLessonLinksSchema, communityLessonBodySchema, communityCourseCreateBody, communityCourseUpdateBody, communityModuleCreateBody, communityModuleUpdateBody, communityLessonCreateBody, communityLessonUpdateBody, COMMUNITY_LESSON_TREE_MAX_BYTES, COMMUNITY_LESSON_LINK_PROTOCOLS, LINK_SCHEME;
9515
+ var init_chunk_Z6GC65RQ = __esm({
9516
+ "../../packages/core/dist/chunk-Z6GC65RQ.js"() {
9446
9517
  "use strict";
9447
9518
  init_chunk_VORPHGDT();
9448
9519
  init_chunk_POL7B3EM();
9449
- init_chunk_YEYIDIR6();
9450
- init_chunk_3NS3HULK();
9520
+ init_chunk_6SBJQYK2();
9451
9521
  init_chunk_MIWZOSPI();
9522
+ init_chunk_3NS3HULK();
9452
9523
  init_chunk_JWPRTSIB();
9524
+ init_chunk_T7KQKDET();
9453
9525
  init_zod();
9454
9526
  init_zod();
9455
9527
  init_zod();
@@ -11443,6 +11515,7 @@ var init_chunk_H4RTULPH = __esm({
11443
11515
  filter: hubContactListFilterSchema.optional()
11444
11516
  }).strict();
11445
11517
  AUTOMATION_TRIGGER_TYPES = ["schedule", "event", "webhook"];
11518
+ AUTOMATION_EVENT_TYPES = ["conversation.flagged", "conversation.closed"];
11446
11519
  AUTOMATION_TARGET_TYPES = ["none", "contact_list"];
11447
11520
  AUTOMATION_ACTION_TYPES = ["run_agent", "send_message"];
11448
11521
  AUTOMATION_CHANNEL_TYPES = ["whatsapp", "instagram", "email", "app"];
@@ -11452,10 +11525,34 @@ var init_chunk_H4RTULPH = __esm({
11452
11525
  AUTOMATION_INSTRUCTIONS_MAX = 1e4;
11453
11526
  AUTOMATION_TEXT_MAX = 4096;
11454
11527
  AUTOMATION_CRON_MAX = 512;
11528
+ AUTOMATION_WEBHOOK_AUTHS = ["hmac", "static_header"];
11529
+ AUTOMATION_WEBHOOK_HEADERS = {
11530
+ signature: "X-Data-Signature",
11531
+ timestamp: "X-Data-Timestamp",
11532
+ id: "X-Data-Id",
11533
+ idempotencyKey: "X-Data-Idempotency-Key"
11534
+ };
11535
+ AUTOMATION_WEBHOOK_BODY_MAX_BYTES = 64 * 1024;
11536
+ AUTOMATION_WEBHOOK_HEADER_NAME_MAX = 64;
11537
+ AUTOMATION_WEBHOOK_MOUNT = "/webhooks/automations";
11538
+ WEBHOOK_RESERVED_HEADERS = /* @__PURE__ */ new Set([
11539
+ "host",
11540
+ "connection",
11541
+ "cookie",
11542
+ "transfer-encoding",
11543
+ "forwarded",
11544
+ "via",
11545
+ "true-client-ip",
11546
+ "x-real-ip",
11547
+ ...Object.values(AUTOMATION_WEBHOOK_HEADERS).map((h) => h.toLowerCase())
11548
+ ]);
11455
11549
  automationTriggerSchema = external_exports.object({
11456
11550
  type: external_exports.enum(AUTOMATION_TRIGGER_TYPES),
11457
11551
  cron: external_exports.string().trim().min(1).max(AUTOMATION_CRON_MAX).optional(),
11458
- timezone: external_exports.string().trim().min(1).optional()
11552
+ timezone: external_exports.string().trim().min(1).optional(),
11553
+ event: external_exports.enum(AUTOMATION_EVENT_TYPES).optional(),
11554
+ auth: external_exports.enum(AUTOMATION_WEBHOOK_AUTHS).optional(),
11555
+ header: external_exports.string().trim().min(1).max(AUTOMATION_WEBHOOK_HEADER_NAME_MAX).optional()
11459
11556
  }).strict();
11460
11557
  automationTargetSchema = external_exports.object({
11461
11558
  type: external_exports.enum(AUTOMATION_TARGET_TYPES),
@@ -11471,6 +11568,9 @@ var init_chunk_H4RTULPH = __esm({
11471
11568
  agent_id: external_exports.string().uuid().nullable().optional(),
11472
11569
  instructions: external_exports.string().max(AUTOMATION_INSTRUCTIONS_MAX).nullable().optional()
11473
11570
  }).strict();
11571
+ automationGateSchema = external_exports.object({
11572
+ monitor: external_exports.string().trim().min(1).max(MONITOR_GATE_AGENT_NAME_MAX)
11573
+ }).strict();
11474
11574
  automationName = external_exports.string().trim().min(1).max(AUTOMATION_NAME_MAX);
11475
11575
  automationDescription = external_exports.string().max(AUTOMATION_DESCRIPTION_MAX).nullable().optional();
11476
11576
  automationIdParam = external_exports.object({
@@ -11479,6 +11579,10 @@ var init_chunk_H4RTULPH = __esm({
11479
11579
  automationHubQuery = external_exports.object({
11480
11580
  hub_id: external_exports.string().uuid()
11481
11581
  });
11582
+ automationWebhookParams = external_exports.object({
11583
+ hub_id: external_exports.string().uuid(),
11584
+ automation_id: external_exports.string().uuid()
11585
+ });
11482
11586
  AUTOMATION_RUNS_PAGE_MAX = 50;
11483
11587
  listAutomationRunsQuery = external_exports.object({
11484
11588
  hub_id: external_exports.string().uuid(),
@@ -11493,7 +11597,9 @@ var init_chunk_H4RTULPH = __esm({
11493
11597
  purpose: external_exports.enum(AUTOMATION_PURPOSES).optional(),
11494
11598
  trigger: automationTriggerSchema,
11495
11599
  target: automationTargetSchema,
11496
- action: automationActionSchema
11600
+ action: automationActionSchema,
11601
+ /** Absent or null: every fire runs. */
11602
+ gate: automationGateSchema.nullable().optional()
11497
11603
  }).strict();
11498
11604
  updateAutomationBody = external_exports.object({
11499
11605
  name: automationName.optional(),
@@ -11501,7 +11607,9 @@ var init_chunk_H4RTULPH = __esm({
11501
11607
  purpose: external_exports.enum(AUTOMATION_PURPOSES).optional(),
11502
11608
  trigger: automationTriggerSchema.optional(),
11503
11609
  target: automationTargetSchema.optional(),
11504
- action: automationActionSchema.optional()
11610
+ action: automationActionSchema.optional(),
11611
+ /** Replaced when present; null removes the gate. */
11612
+ gate: automationGateSchema.nullable().optional()
11505
11613
  }).strict();
11506
11614
  AUTOMATION_ALERT_CATEGORIES = {
11507
11615
  list_not_found: "automation_list_not_found",
@@ -11608,8 +11716,8 @@ var init_chunk_H4RTULPH = __esm({
11608
11716
  });
11609
11717
  MAX_VOICE_CALL_MINUTE_OPS = 60;
11610
11718
  voiceCallMinuteOps = external_exports.number().int().min(0).max(MAX_VOICE_CALL_MINUTE_OPS);
11611
- AUTOMATION_LIST_MAX_CONTACTS_BOUND = 1e4;
11612
- automationListMaxContacts = external_exports.number().int().min(1).max(AUTOMATION_LIST_MAX_CONTACTS_BOUND);
11719
+ AUTOMATION_GATE_EVALUATIONS_PER_OPERATION_BOUND = 1e3;
11720
+ automationGateEvaluationsPerOperation = external_exports.number().int().min(1).max(AUTOMATION_GATE_EVALUATIONS_PER_OPERATION_BOUND);
11613
11721
  updatePlatformConfigBody = external_exports.object({
11614
11722
  free_plan_max_free_orgs_per_user: external_exports.number().int().min(0).optional(),
11615
11723
  /** Kill switch for admin debug-read endpoints. 0 = off, 1 = on. */
@@ -11649,8 +11757,8 @@ var init_chunk_H4RTULPH = __esm({
11649
11757
  * `wayai admin communities enable|disable` flips this.
11650
11758
  */
11651
11759
  communities_enabled: external_exports.number().int().min(0).max(1).optional(),
11652
- /** The most contacts one automation fire reaches (`automationListMaxContacts`). */
11653
- automation_list_max_contacts: automationListMaxContacts.optional(),
11760
+ /** How many automation gate evaluations bill one operation (`automationGateEvaluationsPerOperation`). */
11761
+ automation_gate_evaluations_per_operation: automationGateEvaluationsPerOperation.optional(),
11654
11762
  /**
11655
11763
  * The mobile app version policy (`MOBILE_VERSION_POLICY_COLUMNS`), per platform: an install
11656
11764
  * below the minimum is blocked until it updates from the store; one below the recommended
@@ -11801,7 +11909,7 @@ var init_chunk_H4RTULPH = __esm({
11801
11909
  /** Filter to specific DO types (default: all) */
11802
11910
  do_types: external_exports.array(pitrDoNamespace).optional()
11803
11911
  });
11804
- dataExplorerDebugDoType = external_exports.enum(["hub", "org", "conversation", "user", "platform", "thread", "community", "contact_book"]);
11912
+ dataExplorerDebugDoType = external_exports.enum(["hub", "org", "conversation", "user", "platform", "thread", "community", "contact_book", "batch"]);
11805
11913
  DEBUG_READ_MAX_LIMIT = 100;
11806
11914
  DEBUG_READ_DEFAULT_LIMIT = 20;
11807
11915
  DEBUG_DO_HEX_PREFIX = "hex:";
@@ -12761,10 +12869,10 @@ var init_chunk_H4RTULPH = __esm({
12761
12869
  }
12762
12870
  });
12763
12871
 
12764
- // ../../packages/core/dist/chunk-R5WRRHCL.js
12872
+ // ../../packages/core/dist/chunk-LKBSHANA.js
12765
12873
  var DESKTOP_SHELL_VERSION_RE, DESKTOP_PLATFORMS, DESKTOP_FLAVORS, desktopShellInfoSchema, DESKTOP_PRESENCE_STATES, desktopPresenceSchema, desktopUpdateSchema, DESKTOP_SIGN_IN_URL_MAX_LENGTH, DESKTOP_APP_PATH_MAX_LENGTH, desktopAppPathSchema, DESKTOP_NOTIFICATION_KINDS, DESKTOP_NOTIFICATION_TITLE_MAX_LENGTH, DESKTOP_NOTIFICATION_BODY_MAX_LENGTH, notificationTitleSchema, notificationBodySchema, desktopNotificationSchema, DESKTOP_BADGE_MAX_COUNT, DESKTOP_BADGE_LABEL_MAX_LENGTH, desktopBadgeSchema, desktopNavigateSchema, desktopSettingsSchema, desktopSettingsChangeSchema, desktopBridgeArgsSchemas;
12766
- var init_chunk_R5WRRHCL = __esm({
12767
- "../../packages/core/dist/chunk-R5WRRHCL.js"() {
12874
+ var init_chunk_LKBSHANA = __esm({
12875
+ "../../packages/core/dist/chunk-LKBSHANA.js"() {
12768
12876
  "use strict";
12769
12877
  init_zod();
12770
12878
  DESKTOP_SHELL_VERSION_RE = /^(0|[1-9]\d{0,5})\.(0|[1-9]\d{0,5})\.(0|[1-9]\d{0,5})(-[0-9A-Za-z.-]{1,32})?$/;
@@ -12860,20 +12968,20 @@ var init_chunk_R5WRRHCL = __esm({
12860
12968
  var init_contracts = __esm({
12861
12969
  "../../packages/core/dist/contracts/index.js"() {
12862
12970
  "use strict";
12863
- init_chunk_H4RTULPH();
12971
+ init_chunk_Z6GC65RQ();
12864
12972
  init_chunk_VORPHGDT();
12865
12973
  init_chunk_POL7B3EM();
12866
- init_chunk_YEYIDIR6();
12974
+ init_chunk_6SBJQYK2();
12867
12975
  init_chunk_SNA2DXAC();
12868
- init_chunk_R5WRRHCL();
12976
+ init_chunk_MIWZOSPI();
12977
+ init_chunk_LKBSHANA();
12869
12978
  init_chunk_IBL7FANV();
12979
+ init_chunk_2ISUBJG7();
12870
12980
  init_chunk_C2UEA2KW();
12871
12981
  init_chunk_3NS3HULK();
12872
- init_chunk_MIWZOSPI();
12873
12982
  init_chunk_JWPRTSIB();
12874
12983
  init_chunk_T7KQKDET();
12875
12984
  init_chunk_L5F7ZOUJ();
12876
- init_chunk_2ISUBJG7();
12877
12985
  }
12878
12986
  });
12879
12987
 
@@ -13858,6 +13966,48 @@ var init_chunk_WSROLRJN = __esm({
13858
13966
  }
13859
13967
  });
13860
13968
 
13969
+ // ../../packages/core/dist/chunk-ERFR7IRY.js
13970
+ function findStepBoundaries(transcript) {
13971
+ const out = [];
13972
+ const n = transcript.length;
13973
+ let i = 0;
13974
+ while (i < n) {
13975
+ if (transcript[i].role !== "assistant") {
13976
+ i++;
13977
+ continue;
13978
+ }
13979
+ let triggerIdx = -1;
13980
+ for (let j = i - 1; j >= 0; j--) {
13981
+ if (transcript[j].role === "user") {
13982
+ triggerIdx = j;
13983
+ break;
13984
+ }
13985
+ }
13986
+ let runEnd = i;
13987
+ while (runEnd + 1 < n && (transcript[runEnd + 1].role === "assistant" || transcript[runEnd + 1].role === "tool")) {
13988
+ runEnd++;
13989
+ }
13990
+ let concludingIdx = -1;
13991
+ for (let j = runEnd; j >= i; j--) {
13992
+ if (transcript[j].role === "assistant") {
13993
+ concludingIdx = j;
13994
+ break;
13995
+ }
13996
+ }
13997
+ if (triggerIdx !== -1 && concludingIdx !== -1) {
13998
+ out.push({ triggerIdx, concludingIdx });
13999
+ }
14000
+ i = runEnd + 1;
14001
+ }
14002
+ return out;
14003
+ }
14004
+ var init_chunk_ERFR7IRY = __esm({
14005
+ "../../packages/core/dist/chunk-ERFR7IRY.js"() {
14006
+ "use strict";
14007
+ init_chunk_2ISUBJG7();
14008
+ }
14009
+ });
14010
+
13861
14011
  // ../../packages/core/dist/chunk-FEOO3UPS.js
13862
14012
  var init_chunk_FEOO3UPS = __esm({
13863
14013
  "../../packages/core/dist/chunk-FEOO3UPS.js"() {
@@ -13865,9 +14015,9 @@ var init_chunk_FEOO3UPS = __esm({
13865
14015
  }
13866
14016
  });
13867
14017
 
13868
- // ../../packages/core/dist/chunk-IOJOM4DE.js
13869
- var init_chunk_IOJOM4DE = __esm({
13870
- "../../packages/core/dist/chunk-IOJOM4DE.js"() {
14018
+ // ../../packages/core/dist/chunk-RPGBR5IN.js
14019
+ var init_chunk_RPGBR5IN = __esm({
14020
+ "../../packages/core/dist/chunk-RPGBR5IN.js"() {
13871
14021
  "use strict";
13872
14022
  init_chunk_C2UEA2KW();
13873
14023
  }
@@ -14083,48 +14233,6 @@ var init_chunk_4MBOLX7Q = __esm({
14083
14233
  }
14084
14234
  });
14085
14235
 
14086
- // ../../packages/core/dist/chunk-ERFR7IRY.js
14087
- function findStepBoundaries(transcript) {
14088
- const out = [];
14089
- const n = transcript.length;
14090
- let i = 0;
14091
- while (i < n) {
14092
- if (transcript[i].role !== "assistant") {
14093
- i++;
14094
- continue;
14095
- }
14096
- let triggerIdx = -1;
14097
- for (let j = i - 1; j >= 0; j--) {
14098
- if (transcript[j].role === "user") {
14099
- triggerIdx = j;
14100
- break;
14101
- }
14102
- }
14103
- let runEnd = i;
14104
- while (runEnd + 1 < n && (transcript[runEnd + 1].role === "assistant" || transcript[runEnd + 1].role === "tool")) {
14105
- runEnd++;
14106
- }
14107
- let concludingIdx = -1;
14108
- for (let j = runEnd; j >= i; j--) {
14109
- if (transcript[j].role === "assistant") {
14110
- concludingIdx = j;
14111
- break;
14112
- }
14113
- }
14114
- if (triggerIdx !== -1 && concludingIdx !== -1) {
14115
- out.push({ triggerIdx, concludingIdx });
14116
- }
14117
- i = runEnd + 1;
14118
- }
14119
- return out;
14120
- }
14121
- var init_chunk_ERFR7IRY = __esm({
14122
- "../../packages/core/dist/chunk-ERFR7IRY.js"() {
14123
- "use strict";
14124
- init_chunk_2ISUBJG7();
14125
- }
14126
- });
14127
-
14128
14236
  // ../../packages/core/dist/index.js
14129
14237
  function markdownToPlainText(text) {
14130
14238
  let result = text;
@@ -14147,26 +14255,26 @@ var init_dist = __esm({
14147
14255
  "../../packages/core/dist/index.js"() {
14148
14256
  "use strict";
14149
14257
  init_chunk_WSROLRJN();
14150
- init_chunk_H4RTULPH();
14258
+ init_chunk_Z6GC65RQ();
14151
14259
  init_chunk_VORPHGDT();
14152
14260
  init_chunk_POL7B3EM();
14153
- init_chunk_YEYIDIR6();
14261
+ init_chunk_6SBJQYK2();
14154
14262
  init_chunk_SNA2DXAC();
14155
- init_chunk_R5WRRHCL();
14263
+ init_chunk_MIWZOSPI();
14264
+ init_chunk_LKBSHANA();
14156
14265
  init_chunk_IBL7FANV();
14266
+ init_chunk_ERFR7IRY();
14267
+ init_chunk_2ISUBJG7();
14157
14268
  init_chunk_FEOO3UPS();
14158
- init_chunk_IOJOM4DE();
14269
+ init_chunk_RPGBR5IN();
14159
14270
  init_chunk_C2UEA2KW();
14160
14271
  init_chunk_3NS3HULK();
14161
- init_chunk_MIWZOSPI();
14162
14272
  init_chunk_JWPRTSIB();
14163
14273
  init_chunk_BF4WRSOQ();
14164
14274
  init_chunk_T7KQKDET();
14165
14275
  init_chunk_L5F7ZOUJ();
14166
14276
  init_chunk_4MBOLX7Q();
14167
14277
  init_chunk_R7VSUKKX();
14168
- init_chunk_ERFR7IRY();
14169
- init_chunk_2ISUBJG7();
14170
14278
  ENDPOINT_CONFIGS = {
14171
14279
  // OAuth callbacks - strict, fail-closed (prevent brute force)
14172
14280
  "/oauth/callback/*": { tier: "STRICT", failClosed: true },
@@ -14315,6 +14423,12 @@ var init_dist = __esm({
14315
14423
  // Channel webhooks - high throughput (external systems, never authenticated)
14316
14424
  "/webhooks/whatsapp/*": { tier: "HIGH" },
14317
14425
  "/webhooks/instagram/*": { tier: "HIGH" },
14426
+ // An automation's webhook deliveries (wayai#4931 D13) — no bearer token: the automation's
14427
+ // secret is the credential, checked against one HubDO read. This per-IP limit runs first, before
14428
+ // anything is read. HIGH, as the channel webhooks: senders are servers, and an integration
14429
+ // platform's egress addresses carry many tenants' deliveries. The per-automation budget is
14430
+ // `AUTOMATION_WEBHOOK_PER_AUTOMATION_LIMIT`, counted after the delivery is verified.
14431
+ [`${AUTOMATION_WEBHOOK_MOUNT}/*`]: { tier: "HIGH" },
14318
14432
  // Reports (CLI → platform_report triage queue). One per-user budget covers intake
14319
14433
  // (POST), the content edit (PATCH /:id), the reporter read-back (GET, GET /:id), and the
14320
14434
  // verification loop (POST /:id/accept, /:id/contest). The limiter is path-based, so a
@@ -22849,7 +22963,7 @@ function describeCategory(category) {
22849
22963
  case AUTOMATION_ALERT_CATEGORIES.list_over_cap:
22850
22964
  return {
22851
22965
  label: "Automation list over the cap",
22852
- hint: "An automation's list holds more contacts this hub sees than one fire may reach. Narrow the list's filter \u2014 a hub list in `hub.yaml` `contact_lists:`, an org list in the organization's Contacts settings."
22966
+ hint: "Raised before lists were read a page at a time: a list is no longer capped per fire, so the automation's next fire reaches the whole list. Nothing to change; the alert clears on its own."
22853
22967
  };
22854
22968
  // wayai#4931 D15: an automation, enabled and not paused, that cannot fire. Its subject is the
22855
22969
  // automation, never a connection; the reason, naming the automation, is the alert's detail.