lua-cli 3.37.0 → 3.38.0

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.
@@ -1444,6 +1444,18 @@ export declare type ChatMessage = TextMessage | ImageMessage | FileMessage;
1444
1444
  */
1445
1445
  export declare type ContainerArm = StepRef | [LuaMapConfig, StepRef];
1446
1446
 
1447
+ /** Teams: resource-specific permissions are granted per chat by whoever adds the app; file access is a tenant-wide grant. */
1448
+ declare interface ConversationAccess {
1449
+ /** False when only messages that mention the agent are delivered. */
1450
+ canReadAllMessages: boolean;
1451
+ /** False when people are known only once they speak. */
1452
+ canReadMembers: boolean;
1453
+ /** False when files attached in the conversation cannot be opened. */
1454
+ canReadFiles: boolean;
1455
+ /** Provider permission names the conversation has not granted, e.g. `ChatMessage.Read.Chat`. */
1456
+ missing: string[];
1457
+ }
1458
+
1447
1459
  /**
1448
1460
  * Who is in the conversation this turn runs in.
1449
1461
  */
@@ -1488,6 +1500,11 @@ export declare interface ConversationRef {
1488
1500
  agentId: string;
1489
1501
  name?: string;
1490
1502
  }>;
1503
+ /**
1504
+ * What the channel lets the agent do in this conversation. Absent when the
1505
+ * platform could not determine it (a shared bot outside Lua's tenant).
1506
+ */
1507
+ access?: ConversationAccess;
1491
1508
  }
1492
1509
 
1493
1510
  /**
@@ -18,6 +18,12 @@ var __export = (target, all) => {
18
18
  import { z } from "zod";
19
19
  import { z as z2 } from "zod";
20
20
  import { z as z3 } from "zod";
21
+ function isChannelConversationChannel(channel) {
22
+ return !!channel && CHANNEL_CONVERSATION_CHANNELS.includes(channel);
23
+ }
24
+ function isChannelConversationThread(threadId, channel) {
25
+ return !!threadId && isChannelConversationChannel(channel);
26
+ }
21
27
  function isPersonaTextObject(value3) {
22
28
  if (value3 === null || typeof value3 !== "object" || Array.isArray(value3)) return false;
23
29
  const obj = value3;
@@ -580,6 +586,101 @@ function buildDefaultPersona(agentName) {
580
586
  function buildPersonalSpaceStartingPersona(agentName) {
581
587
  return PERSONAL_SPACE_STARTING_PERSONA.replace(new RegExp(AGENT_NAME_TOKEN.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"), () => agentName || "Your assistant");
582
588
  }
589
+ function maxDrainsForTier(tier) {
590
+ return tier === "enterprise" ? LOG_DRAIN_MAX_PER_ORG_ENTERPRISE : LOG_DRAIN_MAX_PER_ORG;
591
+ }
592
+ function resolvePresetEndpoint(type, site) {
593
+ const template3 = LOG_DRAIN_ENDPOINT_TEMPLATES[type];
594
+ if (!template3 || !site) return void 0;
595
+ return template3.replace("{site}", site);
596
+ }
597
+ function nextLogDrainQuotaResetAt(now) {
598
+ return new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1)).toISOString();
599
+ }
600
+ function logDrainQuotaWindowExpired(usage, now) {
601
+ const resetsAt = Date.parse(usage?.resetsAt ?? "");
602
+ if (!Number.isFinite(resetsAt)) return true;
603
+ return now.getTime() >= resetsAt;
604
+ }
605
+ function logDrainQuotaRatio(usage, now) {
606
+ if (!usage) return 0;
607
+ if (now && logDrainQuotaWindowExpired(usage, now)) return 0;
608
+ const dimension = /* @__PURE__ */ __name2((used, limit) => {
609
+ if (!Number.isFinite(limit) || limit <= 0) return 0;
610
+ if (!Number.isFinite(used) || used <= 0) return 0;
611
+ return used / limit;
612
+ }, "dimension");
613
+ return Math.max(dimension(usage.usedEvents, usage.eventsPerDay), dimension(usage.usedBytes, usage.bytesPerDay));
614
+ }
615
+ function logDrainQuotaDegradationForRatio(ratio) {
616
+ if (!Number.isFinite(ratio)) return "none";
617
+ if (ratio >= LOG_DRAIN_QUOTA_PAUSE_RATIO) return "paused";
618
+ if (ratio >= LOG_DRAIN_QUOTA_DROP_INFO_RATIO) return "info_dropped";
619
+ if (ratio >= LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO) return "debug_dropped";
620
+ return "none";
621
+ }
622
+ function logDrainQuotaDegradation(usage, now) {
623
+ return logDrainQuotaDegradationForRatio(logDrainQuotaRatio(usage, now));
624
+ }
625
+ function logDrainQuotaWarned(usage, now) {
626
+ return logDrainQuotaRatio(usage, now) >= LOG_DRAIN_QUOTA_WARN_RATIO;
627
+ }
628
+ function logDrainQuotaDroppedSeverities(degradation) {
629
+ switch (degradation) {
630
+ case "debug_dropped":
631
+ return [
632
+ 5
633
+ ];
634
+ case "info_dropped":
635
+ return [
636
+ 5,
637
+ 9
638
+ ];
639
+ default:
640
+ return [];
641
+ }
642
+ }
643
+ function encodeLogCursor(c) {
644
+ return Buffer.from(JSON.stringify({
645
+ t: c.t,
646
+ id: c.id
647
+ }), "utf8").toString("base64url");
648
+ }
649
+ function decodeLogCursor(raw) {
650
+ if (typeof raw !== "string") return null;
651
+ const trimmed = raw.trim();
652
+ if (!trimmed || trimmed.length > LOG_CURSOR_MAX_LENGTH) return null;
653
+ let parsed;
654
+ try {
655
+ parsed = JSON.parse(Buffer.from(trimmed, "base64url").toString("utf8"));
656
+ } catch {
657
+ return null;
658
+ }
659
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return null;
660
+ const { t, id } = parsed;
661
+ if (typeof t !== "number" || !Number.isSafeInteger(t) || t < 0) return null;
662
+ if (typeof id !== "string" || !id || id.length > LOG_CURSOR_MAX_ID_LENGTH) return null;
663
+ return {
664
+ t,
665
+ id
666
+ };
667
+ }
668
+ function parseLogTimeBound(raw, now = /* @__PURE__ */ new Date()) {
669
+ if (typeof raw !== "string") return null;
670
+ const value3 = raw.trim();
671
+ if (!value3) return null;
672
+ const relative = LOG_RELATIVE_TIME_PATTERN.exec(value3);
673
+ if (relative) {
674
+ const amount = Number(relative[1]);
675
+ const unitMs = RELATIVE_UNIT_MS[relative[2]];
676
+ if (!Number.isFinite(amount) || unitMs === void 0) return null;
677
+ const at2 = now.getTime() - amount * unitMs;
678
+ return Number.isFinite(at2) ? new Date(at2) : null;
679
+ }
680
+ if (!LOG_ISO_TIME_PATTERN.test(value3)) return null;
681
+ const at = Date.parse(value3);
682
+ return Number.isNaN(at) ? null : new Date(at);
683
+ }
583
684
  function isRecord(value3) {
584
685
  return typeof value3 === "object" && value3 !== null;
585
686
  }
@@ -1257,12 +1358,39 @@ function effectiveAgentFeatures(base, override, rule) {
1257
1358
  if (rule === "wholesale") return override || base || void 0;
1258
1359
  return effectiveAgentFeatureRows(base, override).rows;
1259
1360
  }
1260
- var __defProp2, __name2, CHANNEL_SEND_CHANNELS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, WORKFLOW_GOAL_JUDGE_SELF, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES;
1361
+ var __defProp2, __name2, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHANNEL_SEND_CHANNELS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, AGENT_LOG_SOURCES, LOG_DRAIN_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_QUOTAS, LOG_DRAIN_QUOTA_WARN_RATIO, LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO, LOG_DRAIN_QUOTA_DROP_INFO_RATIO, LOG_DRAIN_QUOTA_PAUSE_RATIO, LOG_CURSOR_MAX_LENGTH, LOG_CURSOR_MAX_ID_LENGTH, LOG_RELATIVE_TIME_PATTERN, LOG_ISO_TIME_PATTERN, RELATIVE_UNIT_MS, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, WORKFLOW_GOAL_JUDGE_SELF, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES;
1261
1362
  var init_dist = __esm({
1262
1363
  "../shared-types/dist/index.mjs"() {
1263
1364
  "use strict";
1264
1365
  __defProp2 = Object.defineProperty;
1265
1366
  __name2 = /* @__PURE__ */ __name((target, value3) => __defProp2(target, "name", { value: value3, configurable: true }), "__name");
1367
+ PLUMBING_THREAD_CHANNELS = [
1368
+ "trigger",
1369
+ "template-install",
1370
+ "template-uninstall"
1371
+ ];
1372
+ CHANNEL_CONVERSATION_CHANNELS = [
1373
+ "whatsapp",
1374
+ "slack",
1375
+ "teams",
1376
+ "front",
1377
+ "email",
1378
+ "messagebird",
1379
+ "sms",
1380
+ "mms",
1381
+ "rcs",
1382
+ "instagram",
1383
+ "facebook",
1384
+ "imessage"
1385
+ ];
1386
+ HIDDEN_THREAD_CHANNELS = [
1387
+ ...PLUMBING_THREAD_CHANNELS,
1388
+ ...CHANNEL_CONVERSATION_CHANNELS
1389
+ ];
1390
+ __name(isChannelConversationChannel, "isChannelConversationChannel");
1391
+ __name2(isChannelConversationChannel, "isChannelConversationChannel");
1392
+ __name(isChannelConversationThread, "isChannelConversationThread");
1393
+ __name2(isChannelConversationThread, "isChannelConversationThread");
1266
1394
  __name(isPersonaTextObject, "isPersonaTextObject");
1267
1395
  __name2(isPersonaTextObject, "isPersonaTextObject");
1268
1396
  __name(flattenPersonaText, "flattenPersonaText");
@@ -1882,6 +2010,93 @@ This text is who you are for this person. As you learn them, their name, their w
1882
2010
  `;
1883
2011
  __name(buildPersonalSpaceStartingPersona, "buildPersonalSpaceStartingPersona");
1884
2012
  __name2(buildPersonalSpaceStartingPersona, "buildPersonalSpaceStartingPersona");
2013
+ AGENT_LOG_SOURCES = [
2014
+ "skill",
2015
+ "job",
2016
+ "webhook",
2017
+ "trigger",
2018
+ "preprocessor",
2019
+ "postprocessor",
2020
+ "user_message",
2021
+ "agent_response",
2022
+ "agent_error",
2023
+ "runtime",
2024
+ "mcp",
2025
+ "rag",
2026
+ "device",
2027
+ "device-trigger",
2028
+ "model-resolver",
2029
+ "workflow-step",
2030
+ "workflow-script",
2031
+ "workflow"
2032
+ ];
2033
+ LOG_DRAIN_SOURCES = [
2034
+ ...AGENT_LOG_SOURCES,
2035
+ "execution",
2036
+ // ── phase 2 ──
2037
+ "delivery",
2038
+ "trigger-execution",
2039
+ "job-execution",
2040
+ "workflow-run",
2041
+ "workflow-audit"
2042
+ ];
2043
+ LOG_DRAIN_MAX_PER_ORG = 5;
2044
+ LOG_DRAIN_MAX_PER_ORG_ENTERPRISE = 10;
2045
+ __name(maxDrainsForTier, "maxDrainsForTier");
2046
+ __name2(maxDrainsForTier, "maxDrainsForTier");
2047
+ LOG_DRAIN_ENDPOINT_TEMPLATES = {
2048
+ datadog: "https://http-intake.logs.{site}/api/v2/logs"
2049
+ };
2050
+ __name(resolvePresetEndpoint, "resolvePresetEndpoint");
2051
+ __name2(resolvePresetEndpoint, "resolvePresetEndpoint");
2052
+ LOG_DRAIN_QUOTAS = {
2053
+ team: {
2054
+ eventsPerDay: 1e6,
2055
+ bytesPerDay: 1 * 1024 ** 3
2056
+ },
2057
+ business: {
2058
+ eventsPerDay: 1e7,
2059
+ bytesPerDay: 10 * 1024 ** 3
2060
+ },
2061
+ enterprise: {
2062
+ eventsPerDay: Number.MAX_SAFE_INTEGER,
2063
+ bytesPerDay: Number.MAX_SAFE_INTEGER
2064
+ }
2065
+ };
2066
+ LOG_DRAIN_QUOTA_WARN_RATIO = 0.8;
2067
+ LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO = 1;
2068
+ LOG_DRAIN_QUOTA_DROP_INFO_RATIO = 1.25;
2069
+ LOG_DRAIN_QUOTA_PAUSE_RATIO = 1.5;
2070
+ __name(nextLogDrainQuotaResetAt, "nextLogDrainQuotaResetAt");
2071
+ __name2(nextLogDrainQuotaResetAt, "nextLogDrainQuotaResetAt");
2072
+ __name(logDrainQuotaWindowExpired, "logDrainQuotaWindowExpired");
2073
+ __name2(logDrainQuotaWindowExpired, "logDrainQuotaWindowExpired");
2074
+ __name(logDrainQuotaRatio, "logDrainQuotaRatio");
2075
+ __name2(logDrainQuotaRatio, "logDrainQuotaRatio");
2076
+ __name(logDrainQuotaDegradationForRatio, "logDrainQuotaDegradationForRatio");
2077
+ __name2(logDrainQuotaDegradationForRatio, "logDrainQuotaDegradationForRatio");
2078
+ __name(logDrainQuotaDegradation, "logDrainQuotaDegradation");
2079
+ __name2(logDrainQuotaDegradation, "logDrainQuotaDegradation");
2080
+ __name(logDrainQuotaWarned, "logDrainQuotaWarned");
2081
+ __name2(logDrainQuotaWarned, "logDrainQuotaWarned");
2082
+ __name(logDrainQuotaDroppedSeverities, "logDrainQuotaDroppedSeverities");
2083
+ __name2(logDrainQuotaDroppedSeverities, "logDrainQuotaDroppedSeverities");
2084
+ LOG_CURSOR_MAX_LENGTH = 512;
2085
+ LOG_CURSOR_MAX_ID_LENGTH = 128;
2086
+ LOG_RELATIVE_TIME_PATTERN = /^(\d{1,9})([smhd])$/;
2087
+ LOG_ISO_TIME_PATTERN = /^\d{4}-\d{2}-\d{2}([Tt ]\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?([Zz]|[+-]\d{2}:?\d{2})?)?$/;
2088
+ RELATIVE_UNIT_MS = {
2089
+ s: 1e3,
2090
+ m: 6e4,
2091
+ h: 36e5,
2092
+ d: 864e5
2093
+ };
2094
+ __name(encodeLogCursor, "encodeLogCursor");
2095
+ __name2(encodeLogCursor, "encodeLogCursor");
2096
+ __name(decodeLogCursor, "decodeLogCursor");
2097
+ __name2(decodeLogCursor, "decodeLogCursor");
2098
+ __name(parseLogTimeBound, "parseLogTimeBound");
2099
+ __name2(parseLogTimeBound, "parseLogTimeBound");
1885
2100
  CORE_DRAINING_CODE = "CORE_DRAINING";
1886
2101
  CORE_DRAINING_DEFAULT_RETRY_MS = 1e3;
1887
2102
  CORE_DRAINING_MAX_RETRY_MS = 5e3;
@@ -8334,7 +8549,6 @@ var init_constants = __esm({
8334
8549
  API: process.env.LUA_API_URL || "https://api.heylua.ai",
8335
8550
  AUTH: process.env.LUA_AUTH_URL || "https://auth.heylua.ai",
8336
8551
  CHAT: process.env.LUA_API_URL || "https://api.heylua.ai",
8337
- WEBHOOK: process.env.LUA_WEBHOOK_URL || "https://webhook.heylua.ai",
8338
8552
  CDN: "https://cdn.heylua.ai"
8339
8553
  };
8340
8554
  CREDENTIALS_FILE = join(CLI_CONFIG_DIR, "credentials");