lua-cli 3.39.3 → 3.39.4

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
@@ -957,6 +957,9 @@ function isInteractiveTurn(turn) {
957
957
  function removeNavigateBlock(input) {
958
958
  return input.replace(/::: navigate[\s\S]*?:::/g, "").trim();
959
959
  }
960
+ function removeHiddenBlocks(input) {
961
+ return input.replace(/::: hide\b[\s\S]*?:::/gi, "").replace(/::: hide\b[\s\S]*$/gi, "").trim();
962
+ }
960
963
  function transformChatHistoryContentParts(parts) {
961
964
  const content = [];
962
965
  for (const rawPart of parts ?? []) {
@@ -2812,7 +2815,44 @@ function parseOnboardingFlow(value3) {
2812
2815
  function parsePublishedOnboardingResponse(value3) {
2813
2816
  return getPublishedOnboardingResponseSchema.parse(value3);
2814
2817
  }
2815
- var __defProp2, __name2, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_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, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, 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_AGENT_EFFORTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_TASK_CLASSES, WORKFLOW_MODEL_TRAITS, WORKFLOW_MODEL_REASON_MAX_LENGTH, WORKFLOW_MODELS_COMPOSE_MODES, WORKFLOW_MODELS_PIN_MODES, WORKFLOW_MODELS_FALLBACK_MODES, WORKFLOW_MODELS_CONSENT_ACTIONS_MIN, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_FORMS, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_ENABLED_DEFAULT, 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, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_FORMATS, LOG_DRAIN_SEVERITIES, LOG_DRAIN_SOURCES, LOG_DRAIN_CONTENT_SOURCES, LOG_DRAIN_DEFAULT_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, 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_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, 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, EventType, 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, TYPED_API_KEY, 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_JOURNAL_PROTOCOL_VERSION, 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, ONBOARDING_FLOW_KEY, ONBOARDING_SCHEMA_VERSION, id, copy, onboardingHeadingSchema, onboardingRichTextInlineSchema, onboardingRichTextSchema, onboardingDestinationSchema, onboardingArtworkSchema, onboardingAnswerSchema, onboardingQuestionSchema, onboardingTemplateSectionSchema, onboardingTemplateContentSchema, onboardingUnavailableOutcomeSchema, onboardingFlowSchema, onboardingActorSchema, onboardingEditorSchema, onboardingPublicationSummarySchema, onboardingValidationIssueSchema, onboardingValidationResponseSchema, onboardingAssetSchema, onboardingPublicAssetSchema, getOnboardingConfigResponseSchema, saveOnboardingDraftRequestSchema, validateOnboardingRequestSchema, publishOnboardingRequestSchema, rollbackOnboardingRequestSchema, onboardingTemplateCatalogItemSchema, getPublishedOnboardingResponseSchema;
2818
+ function isForwardableWebRouteRequestHeader(name) {
2819
+ const n2 = name.toLowerCase();
2820
+ return WEB_ROUTE_REQUEST_HEADER_ALLOWLIST.includes(n2) || n2.startsWith("x-lua-");
2821
+ }
2822
+ function isForwardableWebRouteResponseHeader(name) {
2823
+ const n2 = name.toLowerCase();
2824
+ if (n2 === "set-cookie") return false;
2825
+ return WEB_ROUTE_RESPONSE_HEADER_ALLOWLIST.includes(n2) || n2.startsWith("x-lua-");
2826
+ }
2827
+ function isWebRouteBody(value3) {
2828
+ if (!value3 || typeof value3 !== "object") return false;
2829
+ const b = value3;
2830
+ if (b.kind === "json") return "value" in b;
2831
+ if (b.kind === "text" || b.kind === "base64") return typeof b.value === "string";
2832
+ return false;
2833
+ }
2834
+ function isWebRouteInput(value3) {
2835
+ if (!value3 || typeof value3 !== "object") return false;
2836
+ const v = value3;
2837
+ if (v.v !== WEB_ROUTE_PROTOCOL_VERSION) return false;
2838
+ const r = v.request;
2839
+ if (!r || typeof r !== "object") return false;
2840
+ if (!WEB_ROUTE_METHODS.includes(String(r.method))) return false;
2841
+ if (typeof r.path !== "string" || !r.path.startsWith("/")) return false;
2842
+ if (!r.params || typeof r.params !== "object") return false;
2843
+ if (!r.query || typeof r.query !== "object") return false;
2844
+ if (!r.headers || typeof r.headers !== "object") return false;
2845
+ if (r.body !== void 0) {
2846
+ if (r.method === "GET") return false;
2847
+ if (!isWebRouteBody(r.body)) return false;
2848
+ }
2849
+ const a = v.auth;
2850
+ if (!a || typeof a.userId !== "string" || typeof a.orgId !== "string" || typeof a.agentId !== "string") return false;
2851
+ const app = v.app;
2852
+ if (!app || typeof app.id !== "string" || typeof app.name !== "string" || typeof app.origin !== "string") return false;
2853
+ return true;
2854
+ }
2855
+ var __defProp2, __name2, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_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, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, 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_AGENT_EFFORTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_TASK_CLASSES, WORKFLOW_MODEL_TRAITS, WORKFLOW_MODEL_REASON_MAX_LENGTH, WORKFLOW_MODELS_COMPOSE_MODES, WORKFLOW_MODELS_PIN_MODES, WORKFLOW_MODELS_FALLBACK_MODES, WORKFLOW_MODELS_CONSENT_ACTIONS_MIN, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_FORMS, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_ENABLED_DEFAULT, 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, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_FORMATS, LOG_DRAIN_SEVERITIES, LOG_DRAIN_SOURCES, LOG_DRAIN_CONTENT_SOURCES, LOG_DRAIN_DEFAULT_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, 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_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, 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, EventType, 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, TYPED_API_KEY, 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_JOURNAL_PROTOCOL_VERSION, 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, ONBOARDING_FLOW_KEY, ONBOARDING_SCHEMA_VERSION, id, copy, onboardingHeadingSchema, onboardingRichTextInlineSchema, onboardingRichTextSchema, onboardingDestinationSchema, onboardingArtworkSchema, onboardingAnswerSchema, onboardingQuestionSchema, onboardingTemplateSectionSchema, onboardingTemplateContentSchema, onboardingUnavailableOutcomeSchema, onboardingFlowSchema, onboardingActorSchema, onboardingEditorSchema, onboardingPublicationSummarySchema, onboardingValidationIssueSchema, onboardingValidationResponseSchema, onboardingAssetSchema, onboardingPublicAssetSchema, getOnboardingConfigResponseSchema, saveOnboardingDraftRequestSchema, validateOnboardingRequestSchema, publishOnboardingRequestSchema, rollbackOnboardingRequestSchema, onboardingTemplateCatalogItemSchema, getPublishedOnboardingResponseSchema, WEB_ROUTE_PROTOCOL_VERSION, WEB_ROUTE_METHODS, WEB_ROUTE_REQUEST_HEADER_ALLOWLIST, WEB_ROUTE_RESPONSE_HEADER_ALLOWLIST, WEB_ROUTE_MAX_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES;
2816
2856
  var init_dist = __esm({
2817
2857
  "../shared-types/dist/index.mjs"() {
2818
2858
  "use strict";
@@ -2912,6 +2952,8 @@ var init_dist = __esm({
2912
2952
  __name2(isInteractiveTurn, "isInteractiveTurn");
2913
2953
  __name(removeNavigateBlock, "removeNavigateBlock");
2914
2954
  __name2(removeNavigateBlock, "removeNavigateBlock");
2955
+ __name(removeHiddenBlocks, "removeHiddenBlocks");
2956
+ __name2(removeHiddenBlocks, "removeHiddenBlocks");
2915
2957
  __name(transformChatHistoryContentParts, "transformChatHistoryContentParts");
2916
2958
  __name2(transformChatHistoryContentParts, "transformChatHistoryContentParts");
2917
2959
  RICH_PARTS_MESSAGE_ID_PREFIX = "rich-parts:";
@@ -3544,6 +3586,7 @@ This text is who you are for this person. As you learn them, their name, their w
3544
3586
  "skill",
3545
3587
  "job",
3546
3588
  "webhook",
3589
+ "web-route",
3547
3590
  "trigger",
3548
3591
  "preprocessor",
3549
3592
  "postprocessor",
@@ -5309,6 +5352,39 @@ listed here; never invent a target.`;
5309
5352
  __name2(parseOnboardingFlow, "parseOnboardingFlow");
5310
5353
  __name(parsePublishedOnboardingResponse, "parsePublishedOnboardingResponse");
5311
5354
  __name2(parsePublishedOnboardingResponse, "parsePublishedOnboardingResponse");
5355
+ WEB_ROUTE_PROTOCOL_VERSION = 1;
5356
+ WEB_ROUTE_METHODS = [
5357
+ "GET",
5358
+ "POST",
5359
+ "PUT",
5360
+ "PATCH",
5361
+ "DELETE"
5362
+ ];
5363
+ WEB_ROUTE_REQUEST_HEADER_ALLOWLIST = [
5364
+ "accept",
5365
+ "accept-language",
5366
+ "content-type",
5367
+ "if-none-match",
5368
+ "idempotency-key"
5369
+ ];
5370
+ WEB_ROUTE_RESPONSE_HEADER_ALLOWLIST = [
5371
+ "content-type",
5372
+ "cache-control",
5373
+ "etag",
5374
+ "location",
5375
+ "content-disposition",
5376
+ "content-language"
5377
+ ];
5378
+ __name(isForwardableWebRouteRequestHeader, "isForwardableWebRouteRequestHeader");
5379
+ __name2(isForwardableWebRouteRequestHeader, "isForwardableWebRouteRequestHeader");
5380
+ __name(isForwardableWebRouteResponseHeader, "isForwardableWebRouteResponseHeader");
5381
+ __name2(isForwardableWebRouteResponseHeader, "isForwardableWebRouteResponseHeader");
5382
+ WEB_ROUTE_MAX_REQUEST_BODY_BYTES = 1 * 1024 * 1024;
5383
+ WEB_ROUTE_MAX_RESPONSE_BYTES = 4 * 1024 * 1024;
5384
+ __name(isWebRouteBody, "isWebRouteBody");
5385
+ __name2(isWebRouteBody, "isWebRouteBody");
5386
+ __name(isWebRouteInput, "isWebRouteInput");
5387
+ __name2(isWebRouteInput, "isWebRouteInput");
5312
5388
  }
5313
5389
  });
5314
5390
 
@@ -30995,17 +31071,34 @@ var PersonaApi = class extends HttpClient {
30995
31071
  return this.httpGet(`/developer/agents/${this.agentId}/persona/versions${statusParam}`, {});
30996
31072
  }
30997
31073
  /**
30998
- * Creates a new persona version
31074
+ * Creates a new persona version.
31075
+ *
31076
+ * PRO-2170: the route STAGES by default — creating a version does not change
31077
+ * what the agent serves. `options.publish` is sent only when the caller
31078
+ * passes it, so an omitted flag means "whatever the server's default is" and
31079
+ * an explicit `false` pins the stage-only intent on the wire (what `lua push`
31080
+ * sends, so a server that ever flips its default cannot silently publish a
31081
+ * push again). Activation is `deployVersion`.
31082
+ *
30999
31083
  * @param persona - The persona content (string or channel-aware object)
31084
+ * @param options.publish - `true` = create and serve in one call; `false` = stage only
31000
31085
  * @returns Promise resolving to an ApiResponse with the created version
31001
31086
  */
31002
- async createVersion(persona) {
31087
+ async createVersion(persona, options = {}) {
31003
31088
  return this.httpPost(`/developer/agents/${this.agentId}/persona/version`, {
31004
- persona
31089
+ persona,
31090
+ ...options.publish === void 0 ? {} : {
31091
+ publish: options.publish
31092
+ }
31005
31093
  }, {});
31006
31094
  }
31007
31095
  /**
31008
- * Deploys/activates a persona version to production
31096
+ * Deploys/activates a persona version to production.
31097
+ *
31098
+ * PRO-2170: this is the ONLY path that changes the persona the agent serves.
31099
+ * It re-points the agent, marks the version `published` and demotes the
31100
+ * previously-published one to `staged`.
31101
+ *
31009
31102
  * @param version - The version number to deploy
31010
31103
  * @returns Promise resolving to an ApiResponse with confirmation
31011
31104
  */
@@ -31025,9 +31118,15 @@ var PersonaApi = class extends HttpClient {
31025
31118
  return sorted[0];
31026
31119
  }
31027
31120
  /**
31028
- * Gets the latest published persona version (excludes drafts)
31029
- * This is the most recently pushed version, regardless of whether it's currently active.
31030
- * Use this for sync - code should match the latest push, not a rollback.
31121
+ * Gets the latest published persona version.
31122
+ *
31123
+ * PRO-2170 changed what this means. It used to be "the most recently pushed
31124
+ * version", because a push published every version it created. Now a push
31125
+ * STAGES, so `published` is the version production SERVES, and a local
31126
+ * persona ahead of it is genuine drift (`checkPersonaDrift`) — the same
31127
+ * reading as a pushed-but-not-activated skill. Use `getLatestVersion` (all
31128
+ * statuses) when you want the most recent push instead.
31129
+ *
31031
31130
  * @returns Promise resolving to the latest published PersonaVersion or null if none exist
31032
31131
  */
31033
31132
  async getLatestPublishedVersion() {
@@ -31790,7 +31889,9 @@ var AgentHandler = class {
31790
31889
  }
31791
31890
  async pushPersona(ctx, persona) {
31792
31891
  const personaApi = new PersonaApi(BASE_URLS.API, ctx.apiKey, ctx.agentId);
31793
- const result = await personaApi.createVersion(persona);
31892
+ const result = await personaApi.createVersion(persona, {
31893
+ publish: false
31894
+ });
31794
31895
  return {
31795
31896
  success: result.success,
31796
31897
  version: result.data?.version
@@ -33537,6 +33638,7 @@ async function executePushMode(context, drift, primitiveDrift) {
33537
33638
  const result = await agentHandler.pushPersona(context, drift.persona.localPersona);
33538
33639
  if (result.success) {
33539
33640
  writeSuccess(`\u2705 Persona version ${result.version} created on server`);
33641
+ writeInfo(` Staged, NOT activated \u2014 activate it with \`lua deploy persona --set-version ${result.version}\`.`);
33540
33642
  } else {
33541
33643
  console.error("\u274C Failed to push persona");
33542
33644
  syncFullySucceeded = false;
@@ -33745,6 +33847,7 @@ async function handlePersonaDriftInteractive(context, drift) {
33745
33847
  const result = await agentHandler.pushPersona(context, drift.localPersona);
33746
33848
  if (result.success) {
33747
33849
  writeSuccess(`\u2705 Persona version ${result.version} created on server`);
33850
+ writeInfo(` Staged, NOT activated \u2014 activate it with \`lua deploy persona --set-version ${result.version}\`.`);
33748
33851
  } else {
33749
33852
  console.error("\u274C Failed to push persona");
33750
33853
  }
@@ -42575,11 +42678,11 @@ function getDeployHint(type) {
42575
42678
  };
42576
42679
  }
42577
42680
  __name(getDeployHint, "getDeployHint");
42578
- function writePersonaServedHint(version) {
42579
- writeInfo(`\u{1F4A1} Persona v${version} is now served \u2014 the push published it and pointed the agent at it.`);
42580
- writeInfo(" Roll back with `lua deploy persona` (pick an earlier version) or `lua persona production deploy --persona-version <n>`.");
42681
+ function writePersonaStagedHint(version) {
42682
+ writeInfo(`\u{1F4A1} Persona v${version} staged \u2014 NOT activated. What the agent serves is unchanged.`);
42683
+ writeInfo(` Activate it with \`lua deploy persona --set-version ${version}\` (asks for confirmation first).`);
42581
42684
  }
42582
- __name(writePersonaServedHint, "writePersonaServedHint");
42685
+ __name(writePersonaStagedHint, "writePersonaStagedHint");
42583
42686
  async function promptVersionConfirmOrUpdate(currentVersion) {
42584
42687
  console.log(`
42585
42688
  Current version: ${currentVersion || "(none - first push)"}`);
@@ -43165,7 +43268,7 @@ Model: ${model}`);
43165
43268
  personaDeployWasAttempted = true;
43166
43269
  productionDeployedWithAutoDeploy = await deployPersonaVersionAfterPush(apiKey, agentId, result.persona.version, options.autoDeploy || false);
43167
43270
  } else {
43168
- writePersonaServedHint(result.persona.version);
43271
+ writePersonaStagedHint(result.persona.version);
43169
43272
  }
43170
43273
  }
43171
43274
  const personaAutoDeployFailed = Boolean(options.autoDeploy && personaDeployEligible && personaDeployWasAttempted && !productionDeployedWithAutoDeploy);
@@ -43479,7 +43582,7 @@ ${icon} Pushing ${items.length} ${handler.displayName}(s)...`);
43479
43582
  };
43480
43583
  }
43481
43584
  if (personaPushResult && !options.autoDeploy) {
43482
- writePersonaServedHint(personaPushResult.version);
43585
+ writePersonaStagedHint(personaPushResult.version);
43483
43586
  }
43484
43587
  if (toDeploy.length > 0) {
43485
43588
  writeProgress("\n\u{1F680} Deploying all pushed versions to production...");
@@ -44125,7 +44228,9 @@ async function deployPersonaVersion(apiKey, agentId, options) {
44125
44228
  name: "version",
44126
44229
  message: "Select a persona version to deploy:",
44127
44230
  choices: sortedVersions.map((v) => ({
44128
- name: `v${v.version}${v.isCurrent ? " (CURRENT)" : ""} \u2014 ${new Date(v.createdDate).toLocaleDateString()}`,
44231
+ // PRO-2170: a push stages, so the list now contains versions that are
44232
+ // NOT served. Mark them, or the only clue is the absence of (CURRENT).
44233
+ name: `v${v.version}${v.isCurrent ? " (CURRENT)" : ""}${v.status === "staged" ? " (STAGED)" : v.status === "draft" ? " (DRAFT)" : ""} \u2014 ${new Date(v.createdDate).toLocaleDateString()}`,
44129
44234
  value: v.version
44130
44235
  }))
44131
44236
  }
@@ -46434,6 +46539,12 @@ init_compiler2();
46434
46539
  init_artifact_loader();
46435
46540
  init_analytics();
46436
46541
  init_cli_error();
46542
+ function versionStatusMarker(status) {
46543
+ if (status === "draft") return "[DRAFT]";
46544
+ if (status === "staged") return "[STAGED]";
46545
+ return "";
46546
+ }
46547
+ __name(versionStatusMarker, "versionStatusMarker");
46437
46548
  async function personaCommand(env, action, cmdObj) {
46438
46549
  return withErrorHandling(async () => {
46439
46550
  const options = {
@@ -46550,7 +46661,8 @@ function displayVersionsCore(versions) {
46550
46661
  const dateStr = date.toLocaleDateString();
46551
46662
  const timeStr = date.toLocaleTimeString();
46552
46663
  const currentMark = v.isCurrent ? " \u2B50 CURRENT" : "";
46553
- const status = v.status === "draft" ? " [DRAFT]" : "";
46664
+ const marker = versionStatusMarker(v.status);
46665
+ const status = marker ? ` ${marker}` : "";
46554
46666
  console.log(` Version ${v.version}${status} - ${dateStr} ${timeStr}${currentMark}`);
46555
46667
  });
46556
46668
  console.log("\n" + "=".repeat(60));
@@ -46808,7 +46920,7 @@ async function listPersonaVersionsInteractive(context) {
46808
46920
  const date = new Date(version.createdDate);
46809
46921
  const dateStr = date.toLocaleDateString();
46810
46922
  const timeStr = date.toLocaleTimeString();
46811
- const status = version.status === "draft" ? "[DRAFT]" : "";
46923
+ const status = versionStatusMarker(version.status);
46812
46924
  const currentMark = version.isCurrent ? " \u2B50 CURRENT" : "";
46813
46925
  return {
46814
46926
  name: `Version ${version.version} ${status} - (${dateStr}) ${timeStr} ${currentMark}`,
@@ -46827,7 +46939,7 @@ async function viewVersionDetailsInteractive(version) {
46827
46939
  console.log(`Persona Version ${version.version}`);
46828
46940
  console.log("=".repeat(60));
46829
46941
  console.log(`Created: ${date.toLocaleString()}`);
46830
- const versionStatus = version.status === "draft" ? "\u{1F528} DRAFT" : "";
46942
+ const versionStatus = version.status === "draft" ? "\u{1F528} DRAFT" : version.status === "staged" ? "\u{1F4E4} STAGED (not served)" : "\u2B50 PUBLISHED";
46831
46943
  console.log(`Version Status: ${versionStatus}`);
46832
46944
  console.log(`Active Status: ${version.isCurrent ? "\u2B50 CURRENT" : "Available"}`);
46833
46945
  if (version.createdBy) {
@@ -46910,7 +47022,7 @@ async function deployPersonaVersionInteractive(context) {
46910
47022
  const dateStr = date.toLocaleDateString();
46911
47023
  const timeStr = date.toLocaleTimeString();
46912
47024
  const currentMark = v.isCurrent ? " \u2B50 CURRENTLY DEPLOYED" : "";
46913
- const status = v.status === "draft" ? "[DRAFT]" : "";
47025
+ const status = versionStatusMarker(v.status);
46914
47026
  return {
46915
47027
  name: `Version ${v.version} ${status} - (${dateStr}) ${timeStr} ${currentMark}`,
46916
47028
  value: v.version