lua-cli 3.50.0 → 3.52.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.
- package/dist/api-exports.d.ts +18 -1
- package/dist/api-exports.js +31 -1
- package/dist/api-exports.js.map +1 -1
- package/dist/index.js +317 -32
- package/dist/index.js.map +1 -1
- package/dist/workflow-builder.js +15 -0
- package/dist/workflow-builder.js.map +1 -1
- package/docs/README.md +3 -3
- package/docs/api/Data.md +38 -1
- package/package.json +3 -3
- package/template/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4317,8 +4317,8 @@ function normalizeWorkItems(items) {
|
|
|
4317
4317
|
if (item.needsAction !== void 0 && typeof item.needsAction !== "boolean") {
|
|
4318
4318
|
throw new Error(`Work item ${index}: \`needsAction\` must be a boolean`);
|
|
4319
4319
|
}
|
|
4320
|
-
const
|
|
4321
|
-
const date =
|
|
4320
|
+
const when4 = item.updatedAt;
|
|
4321
|
+
const date = when4 instanceof Date ? when4 : typeof when4 === "string" ? new Date(when4) : null;
|
|
4322
4322
|
if (!date || Number.isNaN(date.getTime())) {
|
|
4323
4323
|
throw new Error(`Work item ${index}: \`updatedAt\` must be a valid date`);
|
|
4324
4324
|
}
|
|
@@ -5790,6 +5790,13 @@ function luaClientMetricLabels(client2) {
|
|
|
5790
5790
|
client_attribution: canonical2?.attribution ?? "unknown"
|
|
5791
5791
|
};
|
|
5792
5792
|
}
|
|
5793
|
+
function webAppPreviewSessionBinding(webAppId, previewId) {
|
|
5794
|
+
const binding = `${webAppId}--p-${previewId}`;
|
|
5795
|
+
if (!WEB_APP_ID_PATTERN.test(binding)) {
|
|
5796
|
+
throw new Error(`Web app preview session binding does not fit WEB_APP_ID_PATTERN: ${binding.length} characters`);
|
|
5797
|
+
}
|
|
5798
|
+
return binding;
|
|
5799
|
+
}
|
|
5793
5800
|
function parseEffectiveAuthorization(value3) {
|
|
5794
5801
|
const parsed = EffectiveAuthorizationSchema.safeParse(value3);
|
|
5795
5802
|
return parsed.success ? parsed.data : void 0;
|
|
@@ -6656,6 +6663,9 @@ function isWebRouteInput(value3) {
|
|
|
6656
6663
|
if (!app || typeof app.id !== "string" || typeof app.name !== "string" || typeof app.origin !== "string") return false;
|
|
6657
6664
|
return true;
|
|
6658
6665
|
}
|
|
6666
|
+
function agentPaneEnabled(version) {
|
|
6667
|
+
return version?.agentPane !== false;
|
|
6668
|
+
}
|
|
6659
6669
|
function evidenceDisplayText(text2) {
|
|
6660
6670
|
const raw = typeof text2 === "string" ? text2 : "";
|
|
6661
6671
|
if (!raw.trim()) return "";
|
|
@@ -7622,7 +7632,7 @@ function sharedDataOwnerKey(collectionId) {
|
|
|
7622
7632
|
function isSharedDataOwnerKey(agentId2) {
|
|
7623
7633
|
return typeof agentId2 === "string" && agentId2.startsWith(SHARED_DATA_OWNER_PREFIX);
|
|
7624
7634
|
}
|
|
7625
|
-
var __defProp3, __name3, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, DECISION_PROVIDERS, DECISION_FALLBACK_PROVIDERS, OPENROUTER_DIRECT_VENDORS, OPENROUTER_NEEDS_MODEL_MESSAGE, DECISION_QUESTION_TYPES, DECISION_NAME_PATTERN, DECISION_SANDBOX_SITE_HEADER, DECISION_SANDBOX_PRIMITIVE_HEADER, DECISION_SANDBOX_TOOL_SEPARATOR, DECISION_LIMITS, DECISION_ERROR_CODES, DECISION_INACTIVE_CODE, MAX_NAME_CHARS, InstructionsSchema, NameSchema, OddsQuestionSchema, ChoiceQuestionSchema, ScoreQuestionSchema, DecisionQuestionSchema, DecisionOptionsSchema, DecisionQuestionsSchema, DecisionDefinitionSchema, DecisionDefinitionWriteSchema, INTEGRATION_PASSTHROUGH_READ_METHODS, URL_REINTERPRETED_PATH_CHARACTERS, PERCENT_ENCODED_DOT, PERCENT_ESCAPE, DECODED_PATH_SEPARATORS, DECODED_LEADING_SEPARATOR, MAX_PERCENT_DECODE_ROUNDS, URL_RESOLUTION_PROBE_BASE, PLATFORM_INVOCATION_CALLERS, MESSAGING_CHANNELS, VOICE_CHANNELS, TURN_CATEGORIES, AGENT_TOOL_CATEGORIES, count, AnthropicSseUsageReader, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, SUPERVISION_WATCHDOG_OPS, SUPERVISION_WATCHDOG_ERRORS, SUPERVISION_ROLLBACK_REFUSAL_CODES, SUPERVISION_ROLLBACK_LINEAGE_MAX, SUPERVISION_UNTARGETED_OPS, SUPERVISED_WORKFLOW_VERSIONS_MAX, SUPERVISION_EVENT_KINDS, AGENT_PROVISIONING_LIMITS, AGENT_PROVISIONING_APPROVAL_PAYLOAD_KEY, AGENT_PROVISIONING_ERRORS, PROVISIONED_SUPERVISION_ACTIONS, isNonEmptyString, uniqueStrings, sameSet, AGENT_PROVISIONING_APPROVAL_CARD_MAX_CHARS, APPROVAL_PAYLOAD_MEMBERS, AGENT_CONNECTION_POLICIES, AGENT_CONNECTION_POLICY_DEFAULT, AGENT_CONNECTION_MOUNT_MODES, AGENT_CONNECTION_GOVERNANCE_ERRORS, AGENT_CONNECTION_OPERATION_RULES_MAX, AGENT_CONNECTION_OPERATION_PATTERN_MAX_LENGTH, OPERATION_RULE_METHODS, PATH_SEPARATOR, PATH_SINGLE_SEGMENT_WILDCARD, PATH_REST_WILDCARD, METHOD_OVERRIDE_HEADER_NAMES, METHOD_OVERRIDE_QUERY_NAMES, ODATA_BATCH_SEGMENT, GOOGLE_BATCH_FIRST_SEGMENT, CONNECTION_CHECK_RESULTS, CONNECTION_CHECK_CATALOGUE_V1, CONNECTION_CHECK_NAME_PATTERN, CONNECTION_CHECK_NAME_MAX, CONNECT_OUTCOME_STATUSES, SECRET_TEST_RESULTS, SECRET_DATADOG_REGIONS, SECRET_PROVIDER_CATALOGUE_V1, SECRET_TEST_MAX_RESPONSE_BYTES, SECRET_ENV_KEY_PATTERN, SECRET_REQUEST_ERRORS, SECRET_OUTCOME_STATUSES, CLIENT_OUTCOME_TURNS_MAX, SHORT_TEXT_MAX, SLUG_MAX, shortText, optionalShortText, CONNECTION_REQUEST_TERMINAL_STATES, CONNECTION_USE_ORIGINS, AGENT_CONNECTION_OPERATION_LIMITS_BOUNDS, CURRENCY_CODE, LIMITS_KEYS, CAPS_KEYS, EXCLUSIONS_KEYS, EMAIL_IN_TEXT, MAX_EXCLUSION_DEPTH, PROJECTION_PARAMETER_KEYS, CHANNEL_PARAMETER_KEYS, GMAIL_SYSTEM_LABEL_IDS, ZERO_DECIMAL_CURRENCIES, THREE_DECIMAL_CURRENCIES, DECIMAL_AMOUNT, 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, SCRUB_DEEP_MAX_DEPTH, TEST_SESSION_ID_PATTERN, TEST_SESSION_COLLECTION_PREFIX, TEST_EFFECT_BODY_MAX_BYTES, TEST_EFFECT_DROPPED_HEADERS, EVAL_CREDITS_PER_1K_TOKENS, EVAL_RESERVED_TOOL_ID_PREFIXES, SUPERVISED_SECRET_LIMITS, SUPERVISED_SECRET_NAME_RE, SUPERVISED_SECRET_FIELD_RE, SUPERVISED_SECRET_KEY_FIELD, SUPERVISED_SECRET_ERRORS, CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY, CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS, CONNECTION_HANDOVER_LIMITS, MEMBERS, FORMAT_CHARS, oneLine, boundedString, AGENT_METRIC_NAME_PATTERN, AGENT_METRIC_LIMITS, AGENT_OBJECTIVE_ERRORS, CHANGE_LEASE_TTL_MINUTES_MIN, CHANGE_LEASE_TTL_MINUTES_MAX, CHANGE_LEASE_REASON_MAX, CHANGE_LEASE_ERRORS, AGENT_CONFIG_SET_LIMITS, SECRET_ENV_KEY_SUFFIXES, DEFAULT_OWNER_DEPARTURE_POLICY, AGENT_LIFECYCLE_ERRORS, USER_COST_COUNTER_TTL_SECONDS, USER_COST_ATTRIBUTION_CHANNELS, CALLER_DEDUPE_KEY_MAX, FOLLOW_UP_IDEMPOTENCY_TTL_SECONDS, THREAD_FOLLOW_UP_LIMITS, THREAD_FOLLOW_UP_ERRORS, PROGRESS_UPDATE_LIMITS, PAUSABLE_CAPABILITY_KINDS, UNIFIED_CATCH_UP_MAX_WINDOW_HOURS, UNIFIED_CATCH_UP_EVENTS, UNIFIED_CATCH_UP_FILTERABLE_OBJECT_TYPES, AGENT_NEVER_RULES_MAX, AGENT_NEVER_RULE_FIELD_MAX, AGENT_NEVER_RULE_INPUT_MATCH_MAX, NEVER_RULE_ID_PATTERN, NEVER_RULE_HTTP_METHODS, TEMPLATE_DISTRIBUTION_MODES, TAKEOVER_MAX_IDLE_MINUTES, MINUTES_PER_DAY, DEFAULT_IDLE_RELEASE_MINUTES, FALLBACK_IDLE_RELEASE_MINUTES, VARIATION_SELECTORS, SLACK_EMOJI_NAMES, SLACK_SHORTCODE, PLAIN_EMAIL_ADDRESS, DOMAIN, UNSAFE_TEXT, SLACK_CONVERSATION_ID, CHANNEL_SETTING_GROUPS, THREAD_SCOPING_NOUN, TAKEOVER_CHANNEL_TYPES, EMAIL_SETTINGS, SLACK_SETTING_DEFAULTS, SLACK_REACTION_MAX, SLACK_INTRO_MAX, SLACK_EXAMPLE_PROMPTS_MAX, SLACK_EXAMPLE_PROMPT_MAX, SLACK_SUPPORT_CONTACT_MAX, SLACK_SETTINGS, CHANNEL_SETTINGS, 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, WORK_ITEMS_KEY, MAX_WORK_ITEMS, LIMITS, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, SERVER_TRIGGERED_BROWSER_SOURCES, BROWSER_FALLBACKS, DEFAULT_BROWSER_FALLBACK, PROXY_COUNTRY_CODE, BROWSER_LOG_CONTENT_MODES, DEFAULT_BROWSER_LOG_CONTENT, BROWSER_SCREENSHOT_POLICIES, DEFAULT_BROWSER_SCREENSHOT_POLICY, BROWSER_ENGINES, BROWSER_PROFILE_NAME_PATTERN, BROWSER_LIMIT_KEYS, BROWSER_LIMIT_MAX, BROWSER_EXECUTE_METHOD, BROWSER_GLOBAL_METHODS, BROWSER_EXECUTE_DEFAULT_TIMEOUT_MS, BROWSER_EXECUTE_MAX_TIMEOUT_MS, 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, BROWSER_READ_FORMATS, BROWSER_READ_DEFAULT_TIMEOUT_MS, BROWSER_READ_MIN_TIMEOUT_MS, BROWSER_READ_MAX_TIMEOUT_MS, BROWSER_READ_MAX_CONTENT_CHARS, BROWSER_READ_DEFAULT_SELECTOR, BROWSER_READ_MATCH_SEPARATOR, BROWSER_READ_LOGIN_BLOCKER, BROWSER_ERROR_NAME, HTTP_STATUS_FAILURE, LOGIN_PATH_SEGMENTS, LOGIN_HOST_LABELS, AGENT_LOG_SOURCES, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, BROWSER_LOG_EVENT_KINDS, BROWSER_LOG_ENGINES, BROWSER_SESSION_OPEN_REASONS, BROWSER_BLOCK_KINDS, BROWSER_WALL_KINDS, BROWSER_WALL_NEXT_ACTIONS, BROWSER_CONFIRM_DECISIONS, BROWSER_SESSION_CLOSE_REASONS, BROWSER_LOG_CONTEXT_KEYS, BROWSER_LOG_ID_MAX_CHARS, BROWSER_LOG_TEXT_MAX_CHARS, isString, isBoolean, isCount, isPlainObject3, oneOf, isLimits, EVENT_SHAPES, BASE_KEYS, BROWSER_WORKER_SESSION_ID_SEPARATOR, BROWSER_WORKER_BLOCK_REASON_MAX_CHARS, 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, 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_AGENT_APP_CONNECTION_PREFIX, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_SIGNAL_NAME_RE, WORKFLOW_SUSPEND_DEFAULT_TIMEOUT_HOURS, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, SCHEDULE_HEALTH_NOTIFY_CHANNELS, SCHEDULE_HEALTH_DEFAULT_NOTIFY, SCHEDULE_HEALTH_LIMITS, KNOWN_KEYS, WORKFLOW_GOAL_JUDGE_SELF, APPROVAL_ARGS_MAX_CHARS, APPROVAL_ARG_STRING_MAX_CHARS, APPROVAL_ARGS_SUMMARY_MAX_CHARS, MAX_DEPTH, MAX_KEYS, MAX_ITEMS, MAX_NODES, MAX_KEY_CHARS, KEY_SCRUB_INPUT_MAX_CHARS, STRING_SCRUB_INPUT_MAX_CHARS, ELLIPSIS, SKIP, SCRUB_SECRETS_BEFORE_PERSIST_ENV, PERSIST_SCRUB_MAX_CHARS, PERSIST_SCRUB_REF_MAX_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, onboardingInstallScreenSchema, onboardingResultScreenSchema, onboardingConnectScreenSchema, 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_WALL_MS, WEB_ROUTE_MAX_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSETS, WEB_APP_ASSET_PATH_PATTERN, WEB_APP_ASSET_PATH_MAX_CHARS, WEB_APP_MAX_ROUTES, WEB_APP_MAX_ASSET_BYTES, WEB_APP_CSP_NONCE_PLACEHOLDER, EVIDENCE_SESSION_IDLE_MS, EVIDENCE_MIN_CONVERSATIONS, EVIDENCE_LOW_CONFIDENCE_N, EVIDENCE_SNIPPET_MAX_CHARS, EVIDENCE_EXAMPLES_PER_ITEM, EVIDENCE_SHOWN_ITEMS, EVIDENCE_LATENCY_BOUNDS_MS, EVIDENCE_WORD_BOUNDS, BAD_CONVERSATION_REASONS, ATTACHMENT_LINES, REVIEW_VERDICT_REASON_ORDER, ENV_TEMPLATE_SECRET_KEY_RE, CONNECTION_SEND_NOT_ALLOWED, CONNECTION_RECIPIENT_NOT_ALLOWED, NOT_SEND, PLAIN_ADDRESS, RecipientSet, MCP_MESSAGING_CREATE, MCP_CALENDAR_EVENT_WRITE, REPLY_KEYS, DEDICATED_MAIL_SLUGS, FULL_SUITE_SLUGS, WELL_KNOWN_MAIL_FOLDERS, MEMBER_KEYS, CANONICAL_ORIGIN, CANONICAL_PREFIX, STRICT_BASE64, GMAIL_PREFIX, GMAIL_MESSAGES_SEND, GMAIL_DRAFTS_SEND, GOOGLE_BATCH, GRAPH_VERSION, GRAPH_PRINCIPAL, GRAPH_SEND_MAIL, GRAPH_MESSAGE_ACTION, GRAPH_OWNER, GRAPH_EVENTS, GRAPH_EVENT_COLLECTION, GRAPH_EVENT_ID, GRAPH_EVENT_ITEM, GRAPH_EVENT_ACTION, GRAPH_BATCH, GRAPH_TEAMS_MESSAGE, GRAPH_ACTIVITY_NOTIFICATION, GRAPH_GROUP_CONVERSATION, GCAL_EVENTS, GRAPH_READ_KEYS, MALFORMED_POLICY, BILLING_REJECTION_TEXT_CREDITS, BILLING_REJECTION_TEXT_SEAT, BILLING_REJECTION_TEXT_USER_QUOTA, CUSTOM_MCP_CONNECTION_ID_PREFIX, CUSTOM_MCP_SOURCE, CUSTOM_MCP_TRANSPORT, CUSTOM_MCP_CONNECTION_ID_PATTERN, customMcpConnectionIdSchema, CONNECTION_BACKED_MCP_SOURCES, CUSTOM_MCP_REFERENCE_ID_PATTERN, customMcpReferenceIdSchema, CUSTOM_MCP_AUTH_KINDS, customMcpAuthKindSchema, CUSTOM_MCP_OAUTH_REGISTRATIONS, customMcpOAuthRegistrationSchema, CUSTOM_MCP_HEALTH_STATES, customMcpHealthStateSchema, CUSTOM_MCP_FAILURE_STEPS, customMcpFailureStepSchema, CUSTOM_MCP_CONNECT_STEPS, customMcpConnectStepSchema, customMcpFailureCodeSchema, WORKFLOW_KEY_MAX_LENGTH, CUSTOM_MCP_URL_MAX_LENGTH, CUSTOM_MCP_DISPLAY_NAME_MAX_LENGTH, CUSTOM_MCP_MAX_HEADERS, CUSTOM_MCP_HEADER_NAME_MAX_LENGTH, CUSTOM_MCP_HEADER_VALUE_MAX_LENGTH, CUSTOM_MCP_MAX_TOOLS, CUSTOM_MCP_TOOL_NAME_MAX_LENGTH, CUSTOM_MCP_TOOL_TEXT_MAX_LENGTH, CUSTOM_MCP_MIN_TIMEOUT_MS, CUSTOM_MCP_MAX_TIMEOUT_MS, CUSTOM_MCP_OAUTH_PENDING_TTL_MS, isoDateTime, agentId, nonNegativeInt, customMcpUrlInputSchema, customMcpDisplayNameSchema, customMcpTimeoutSchema, CUSTOM_MCP_RESERVED_HEADER_NAMES, HEADER_NAME, HEADER_VALUE_FORBIDDEN, customMcpHeaderNameSchema, headerValue, customMcpHeadersSchema, customMcpHeadersPatchSchema, customMcpToolNameSchema, customMcpToolSchema, customMcpServerInfoSchema, customMcpToolSelectionSchema, customMcpToolsResponseSchema, customMcpFailureSchema, customMcpHealthSchema, customMcpErrorBodySchema, customMcpConnectionBlockSchema, customMcpConnectionViewSchema, customMcpConnectionResponseSchema, customMcpProbeBodySchema, customMcpOAuthDiscoverySchema, customMcpProbeResponseSchema, createFields, mountAgentField, customMcpCreateAgentBodySchema, customMcpCreateUserBodySchema, customMcpOAuthClientSchema, startFields, customMcpOAuthStartAgentBodySchema, customMcpOAuthStartUserBodySchema, customMcpOAuthStartResponseSchema, nonce, customMcpOAuthSuccessRedirectQuerySchema, CUSTOM_MCP_OAUTH_CALLBACK_ERRORS, customMcpOAuthFailureRedirectQuerySchema, customMcpOAuthFinalizeBodySchema, customMcpCimdDocumentSchema, customMcpPatchBodySchema, customMcpCredentialRequestSchema, customMcpCredentialAuthSchema, customMcpCredentialResponseSchema, CUSTOM_MCP_CREDENTIAL_ERRORS, customMcpCredentialErrorBodySchema, customMcpHealthReportSchema, customMcpProbeRequestSchema, customMcpProbeResultSchema, customMcpOriginUrlSchema, customMcpServerProjectionSchema, customMcpMountUpsertBodySchema, SHARED_DATA_NAME_RE, SHARED_DATA_OWNER_PREFIX, SHARED_DATA_ERRORS;
|
|
7635
|
+
var __defProp3, __name3, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, DECISION_PROVIDERS, DECISION_FALLBACK_PROVIDERS, OPENROUTER_DIRECT_VENDORS, OPENROUTER_NEEDS_MODEL_MESSAGE, DECISION_QUESTION_TYPES, DECISION_NAME_PATTERN, DECISION_SANDBOX_SITE_HEADER, DECISION_SANDBOX_PRIMITIVE_HEADER, DECISION_SANDBOX_TOOL_SEPARATOR, DECISION_LIMITS, DECISION_ERROR_CODES, DECISION_INACTIVE_CODE, MAX_NAME_CHARS, InstructionsSchema, NameSchema, OddsQuestionSchema, ChoiceQuestionSchema, ScoreQuestionSchema, DecisionQuestionSchema, DecisionOptionsSchema, DecisionQuestionsSchema, DecisionDefinitionSchema, DecisionDefinitionWriteSchema, INTEGRATION_PASSTHROUGH_READ_METHODS, URL_REINTERPRETED_PATH_CHARACTERS, PERCENT_ENCODED_DOT, PERCENT_ESCAPE, DECODED_PATH_SEPARATORS, DECODED_LEADING_SEPARATOR, MAX_PERCENT_DECODE_ROUNDS, URL_RESOLUTION_PROBE_BASE, PLATFORM_INVOCATION_CALLERS, MESSAGING_CHANNELS, VOICE_CHANNELS, TURN_CATEGORIES, AGENT_TOOL_CATEGORIES, count, AnthropicSseUsageReader, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, SUPERVISION_WATCHDOG_OPS, SUPERVISION_WATCHDOG_ERRORS, SUPERVISION_ROLLBACK_REFUSAL_CODES, SUPERVISION_ROLLBACK_LINEAGE_MAX, SUPERVISION_UNTARGETED_OPS, SUPERVISED_WORKFLOW_VERSIONS_MAX, SUPERVISION_EVENT_KINDS, AGENT_PROVISIONING_LIMITS, AGENT_PROVISIONING_APPROVAL_PAYLOAD_KEY, AGENT_PROVISIONING_ERRORS, PROVISIONED_SUPERVISION_ACTIONS, isNonEmptyString, uniqueStrings, sameSet, AGENT_PROVISIONING_APPROVAL_CARD_MAX_CHARS, APPROVAL_PAYLOAD_MEMBERS, AGENT_CONNECTION_POLICIES, AGENT_CONNECTION_POLICY_DEFAULT, AGENT_CONNECTION_MOUNT_MODES, AGENT_CONNECTION_GOVERNANCE_ERRORS, AGENT_CONNECTION_OPERATION_RULES_MAX, AGENT_CONNECTION_OPERATION_PATTERN_MAX_LENGTH, OPERATION_RULE_METHODS, PATH_SEPARATOR, PATH_SINGLE_SEGMENT_WILDCARD, PATH_REST_WILDCARD, METHOD_OVERRIDE_HEADER_NAMES, METHOD_OVERRIDE_QUERY_NAMES, ODATA_BATCH_SEGMENT, GOOGLE_BATCH_FIRST_SEGMENT, CONNECTION_CHECK_RESULTS, CONNECTION_CHECK_CATALOGUE_V1, CONNECTION_CHECK_NAME_PATTERN, CONNECTION_CHECK_NAME_MAX, CONNECT_OUTCOME_STATUSES, SECRET_TEST_RESULTS, SECRET_DATADOG_REGIONS, SECRET_PROVIDER_CATALOGUE_V1, SECRET_TEST_MAX_RESPONSE_BYTES, SECRET_ENV_KEY_PATTERN, SECRET_REQUEST_ERRORS, SECRET_OUTCOME_STATUSES, CLIENT_OUTCOME_TURNS_MAX, SHORT_TEXT_MAX, SLUG_MAX, shortText, optionalShortText, CONNECTION_REQUEST_TERMINAL_STATES, CONNECTION_USE_ORIGINS, AGENT_CONNECTION_OPERATION_LIMITS_BOUNDS, CURRENCY_CODE, LIMITS_KEYS, CAPS_KEYS, EXCLUSIONS_KEYS, EMAIL_IN_TEXT, MAX_EXCLUSION_DEPTH, PROJECTION_PARAMETER_KEYS, CHANNEL_PARAMETER_KEYS, GMAIL_SYSTEM_LABEL_IDS, ZERO_DECIMAL_CURRENCIES, THREE_DECIMAL_CURRENCIES, DECIMAL_AMOUNT, 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, SCRUB_DEEP_MAX_DEPTH, TEST_SESSION_ID_PATTERN, TEST_SESSION_COLLECTION_PREFIX, TEST_EFFECT_BODY_MAX_BYTES, TEST_EFFECT_DROPPED_HEADERS, EVAL_CREDITS_PER_1K_TOKENS, EVAL_RESERVED_TOOL_ID_PREFIXES, SUPERVISED_SECRET_LIMITS, SUPERVISED_SECRET_NAME_RE, SUPERVISED_SECRET_FIELD_RE, SUPERVISED_SECRET_KEY_FIELD, SUPERVISED_SECRET_ERRORS, CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY, CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS, CONNECTION_HANDOVER_LIMITS, MEMBERS, FORMAT_CHARS, oneLine, boundedString, AGENT_METRIC_NAME_PATTERN, AGENT_METRIC_LIMITS, AGENT_OBJECTIVE_ERRORS, CHANGE_LEASE_TTL_MINUTES_MIN, CHANGE_LEASE_TTL_MINUTES_MAX, CHANGE_LEASE_REASON_MAX, CHANGE_LEASE_ERRORS, AGENT_CONFIG_SET_LIMITS, SECRET_ENV_KEY_SUFFIXES, DEFAULT_OWNER_DEPARTURE_POLICY, AGENT_LIFECYCLE_ERRORS, USER_COST_COUNTER_TTL_SECONDS, USER_COST_ATTRIBUTION_CHANNELS, CALLER_DEDUPE_KEY_MAX, FOLLOW_UP_IDEMPOTENCY_TTL_SECONDS, THREAD_FOLLOW_UP_LIMITS, THREAD_FOLLOW_UP_ERRORS, PROGRESS_UPDATE_LIMITS, PAUSABLE_CAPABILITY_KINDS, UNIFIED_CATCH_UP_MAX_WINDOW_HOURS, UNIFIED_CATCH_UP_EVENTS, UNIFIED_CATCH_UP_FILTERABLE_OBJECT_TYPES, AGENT_NEVER_RULES_MAX, AGENT_NEVER_RULE_FIELD_MAX, AGENT_NEVER_RULE_INPUT_MATCH_MAX, NEVER_RULE_ID_PATTERN, NEVER_RULE_HTTP_METHODS, TEMPLATE_DISTRIBUTION_MODES, TAKEOVER_MAX_IDLE_MINUTES, MINUTES_PER_DAY, DEFAULT_IDLE_RELEASE_MINUTES, FALLBACK_IDLE_RELEASE_MINUTES, VARIATION_SELECTORS, SLACK_EMOJI_NAMES, SLACK_SHORTCODE, PLAIN_EMAIL_ADDRESS, DOMAIN, UNSAFE_TEXT, SLACK_CONVERSATION_ID, CHANNEL_SETTING_GROUPS, THREAD_SCOPING_NOUN, TAKEOVER_CHANNEL_TYPES, EMAIL_SETTINGS, SLACK_SETTING_DEFAULTS, SLACK_REACTION_MAX, SLACK_INTRO_MAX, SLACK_EXAMPLE_PROMPTS_MAX, SLACK_EXAMPLE_PROMPT_MAX, SLACK_SUPPORT_CONTACT_MAX, SLACK_SETTINGS, CHANNEL_SETTINGS, 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, WORK_ITEMS_KEY, MAX_WORK_ITEMS, LIMITS, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, SERVER_TRIGGERED_BROWSER_SOURCES, BROWSER_FALLBACKS, DEFAULT_BROWSER_FALLBACK, PROXY_COUNTRY_CODE, BROWSER_LOG_CONTENT_MODES, DEFAULT_BROWSER_LOG_CONTENT, BROWSER_SCREENSHOT_POLICIES, DEFAULT_BROWSER_SCREENSHOT_POLICY, BROWSER_ENGINES, BROWSER_PROFILE_NAME_PATTERN, BROWSER_LIMIT_KEYS, BROWSER_LIMIT_MAX, BROWSER_EXECUTE_METHOD, BROWSER_GLOBAL_METHODS, BROWSER_EXECUTE_DEFAULT_TIMEOUT_MS, BROWSER_EXECUTE_MAX_TIMEOUT_MS, 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, BROWSER_READ_FORMATS, BROWSER_READ_DEFAULT_TIMEOUT_MS, BROWSER_READ_MIN_TIMEOUT_MS, BROWSER_READ_MAX_TIMEOUT_MS, BROWSER_READ_MAX_CONTENT_CHARS, BROWSER_READ_DEFAULT_SELECTOR, BROWSER_READ_MATCH_SEPARATOR, BROWSER_READ_LOGIN_BLOCKER, BROWSER_ERROR_NAME, HTTP_STATUS_FAILURE, LOGIN_PATH_SEGMENTS, LOGIN_HOST_LABELS, AGENT_LOG_SOURCES, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, BROWSER_LOG_EVENT_KINDS, BROWSER_LOG_ENGINES, BROWSER_SESSION_OPEN_REASONS, BROWSER_BLOCK_KINDS, BROWSER_WALL_KINDS, BROWSER_WALL_NEXT_ACTIONS, BROWSER_CONFIRM_DECISIONS, BROWSER_SESSION_CLOSE_REASONS, BROWSER_LOG_CONTEXT_KEYS, BROWSER_LOG_ID_MAX_CHARS, BROWSER_LOG_TEXT_MAX_CHARS, isString, isBoolean, isCount, isPlainObject3, oneOf, isLimits, EVENT_SHAPES, BASE_KEYS, BROWSER_WORKER_SESSION_ID_SEPARATOR, BROWSER_WORKER_BLOCK_REASON_MAX_CHARS, 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, 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, WEB_APP_ID_PATTERN, 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_AGENT_APP_CONNECTION_PREFIX, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_SIGNAL_NAME_RE, WORKFLOW_SUSPEND_DEFAULT_TIMEOUT_HOURS, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, SCHEDULE_HEALTH_NOTIFY_CHANNELS, SCHEDULE_HEALTH_DEFAULT_NOTIFY, SCHEDULE_HEALTH_LIMITS, KNOWN_KEYS, WORKFLOW_GOAL_JUDGE_SELF, APPROVAL_ARGS_MAX_CHARS, APPROVAL_ARG_STRING_MAX_CHARS, APPROVAL_ARGS_SUMMARY_MAX_CHARS, MAX_DEPTH, MAX_KEYS, MAX_ITEMS, MAX_NODES, MAX_KEY_CHARS, KEY_SCRUB_INPUT_MAX_CHARS, STRING_SCRUB_INPUT_MAX_CHARS, ELLIPSIS, SKIP, SCRUB_SECRETS_BEFORE_PERSIST_ENV, PERSIST_SCRUB_MAX_CHARS, PERSIST_SCRUB_REF_MAX_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, onboardingInstallScreenSchema, onboardingResultScreenSchema, onboardingConnectScreenSchema, 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_WALL_MS, WEB_ROUTE_MAX_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_TITLE_MAX_CHARS, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSETS, WEB_APP_ASSET_PATH_PATTERN, WEB_APP_ASSET_PATH_MAX_CHARS, WEB_APP_MAX_ROUTES, WEB_APP_MAX_ASSET_BYTES, WEB_APP_CSP_NONCE_PLACEHOLDER, EVIDENCE_SESSION_IDLE_MS, EVIDENCE_MIN_CONVERSATIONS, EVIDENCE_LOW_CONFIDENCE_N, EVIDENCE_SNIPPET_MAX_CHARS, EVIDENCE_EXAMPLES_PER_ITEM, EVIDENCE_SHOWN_ITEMS, EVIDENCE_LATENCY_BOUNDS_MS, EVIDENCE_WORD_BOUNDS, BAD_CONVERSATION_REASONS, ATTACHMENT_LINES, REVIEW_VERDICT_REASON_ORDER, ENV_TEMPLATE_SECRET_KEY_RE, CONNECTION_SEND_NOT_ALLOWED, CONNECTION_RECIPIENT_NOT_ALLOWED, NOT_SEND, PLAIN_ADDRESS, RecipientSet, MCP_MESSAGING_CREATE, MCP_CALENDAR_EVENT_WRITE, REPLY_KEYS, DEDICATED_MAIL_SLUGS, FULL_SUITE_SLUGS, WELL_KNOWN_MAIL_FOLDERS, MEMBER_KEYS, CANONICAL_ORIGIN, CANONICAL_PREFIX, STRICT_BASE64, GMAIL_PREFIX, GMAIL_MESSAGES_SEND, GMAIL_DRAFTS_SEND, GOOGLE_BATCH, GRAPH_VERSION, GRAPH_PRINCIPAL, GRAPH_SEND_MAIL, GRAPH_MESSAGE_ACTION, GRAPH_OWNER, GRAPH_EVENTS, GRAPH_EVENT_COLLECTION, GRAPH_EVENT_ID, GRAPH_EVENT_ITEM, GRAPH_EVENT_ACTION, GRAPH_BATCH, GRAPH_TEAMS_MESSAGE, GRAPH_ACTIVITY_NOTIFICATION, GRAPH_GROUP_CONVERSATION, GCAL_EVENTS, GRAPH_READ_KEYS, MALFORMED_POLICY, BILLING_REJECTION_TEXT_CREDITS, BILLING_REJECTION_TEXT_SEAT, BILLING_REJECTION_TEXT_USER_QUOTA, CUSTOM_MCP_CONNECTION_ID_PREFIX, CUSTOM_MCP_SOURCE, CUSTOM_MCP_TRANSPORT, CUSTOM_MCP_CONNECTION_ID_PATTERN, customMcpConnectionIdSchema, CONNECTION_BACKED_MCP_SOURCES, CUSTOM_MCP_REFERENCE_ID_PATTERN, customMcpReferenceIdSchema, CUSTOM_MCP_AUTH_KINDS, customMcpAuthKindSchema, CUSTOM_MCP_OAUTH_REGISTRATIONS, customMcpOAuthRegistrationSchema, CUSTOM_MCP_HEALTH_STATES, customMcpHealthStateSchema, CUSTOM_MCP_FAILURE_STEPS, customMcpFailureStepSchema, CUSTOM_MCP_CONNECT_STEPS, customMcpConnectStepSchema, customMcpFailureCodeSchema, WORKFLOW_KEY_MAX_LENGTH, CUSTOM_MCP_URL_MAX_LENGTH, CUSTOM_MCP_DISPLAY_NAME_MAX_LENGTH, CUSTOM_MCP_MAX_HEADERS, CUSTOM_MCP_HEADER_NAME_MAX_LENGTH, CUSTOM_MCP_HEADER_VALUE_MAX_LENGTH, CUSTOM_MCP_MAX_TOOLS, CUSTOM_MCP_TOOL_NAME_MAX_LENGTH, CUSTOM_MCP_TOOL_TEXT_MAX_LENGTH, CUSTOM_MCP_MIN_TIMEOUT_MS, CUSTOM_MCP_MAX_TIMEOUT_MS, CUSTOM_MCP_OAUTH_PENDING_TTL_MS, isoDateTime, agentId, nonNegativeInt, customMcpUrlInputSchema, customMcpDisplayNameSchema, customMcpTimeoutSchema, CUSTOM_MCP_RESERVED_HEADER_NAMES, HEADER_NAME, HEADER_VALUE_FORBIDDEN, customMcpHeaderNameSchema, headerValue, customMcpHeadersSchema, customMcpHeadersPatchSchema, customMcpToolNameSchema, customMcpToolSchema, customMcpServerInfoSchema, customMcpToolSelectionSchema, customMcpToolsResponseSchema, customMcpFailureSchema, customMcpHealthSchema, customMcpErrorBodySchema, customMcpConnectionBlockSchema, customMcpConnectionViewSchema, customMcpConnectionResponseSchema, customMcpProbeBodySchema, customMcpOAuthDiscoverySchema, customMcpProbeResponseSchema, createFields, mountAgentField, customMcpCreateAgentBodySchema, customMcpCreateUserBodySchema, customMcpOAuthClientSchema, startFields, customMcpOAuthStartAgentBodySchema, customMcpOAuthStartUserBodySchema, customMcpOAuthStartResponseSchema, nonce, customMcpOAuthSuccessRedirectQuerySchema, CUSTOM_MCP_OAUTH_CALLBACK_ERRORS, customMcpOAuthFailureRedirectQuerySchema, customMcpOAuthFinalizeBodySchema, customMcpCimdDocumentSchema, customMcpPatchBodySchema, customMcpCredentialRequestSchema, customMcpCredentialAuthSchema, customMcpCredentialResponseSchema, CUSTOM_MCP_CREDENTIAL_ERRORS, customMcpCredentialErrorBodySchema, customMcpHealthReportSchema, customMcpProbeRequestSchema, customMcpProbeResultSchema, customMcpOriginUrlSchema, customMcpServerProjectionSchema, customMcpMountUpsertBodySchema, SHARED_DATA_NAME_RE, SHARED_DATA_OWNER_PREFIX, SHARED_DATA_ERRORS;
|
|
7626
7636
|
var init_dist = __esm({
|
|
7627
7637
|
"../shared-types/dist/index.mjs"() {
|
|
7628
7638
|
"use strict";
|
|
@@ -11764,6 +11774,9 @@ This text is who you are for this person. As you learn them, their name, their w
|
|
|
11764
11774
|
__name(luaClientMetricLabels, "luaClientMetricLabels");
|
|
11765
11775
|
__name3(luaClientMetricLabels, "luaClientMetricLabels");
|
|
11766
11776
|
LUA_SESSION_ID_CLAIM = "luaSessionId";
|
|
11777
|
+
WEB_APP_ID_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
|
|
11778
|
+
__name(webAppPreviewSessionBinding, "webAppPreviewSessionBinding");
|
|
11779
|
+
__name3(webAppPreviewSessionBinding, "webAppPreviewSessionBinding");
|
|
11767
11780
|
SESSION_REVOKED_CODE = "SESSION_REVOKED";
|
|
11768
11781
|
AUTHZ_PROJECTION_VERSION = 1;
|
|
11769
11782
|
ProjectedScopeSchema = z4.string().min(1).max(128);
|
|
@@ -12693,6 +12706,9 @@ listed here; never invent a target.`;
|
|
|
12693
12706
|
__name(isWebRouteInput, "isWebRouteInput");
|
|
12694
12707
|
__name3(isWebRouteInput, "isWebRouteInput");
|
|
12695
12708
|
WEB_APP_NAME_PATTERN = /^[a-z][a-z0-9-]*$/;
|
|
12709
|
+
WEB_APP_TITLE_MAX_CHARS = 80;
|
|
12710
|
+
__name(agentPaneEnabled, "agentPaneEnabled");
|
|
12711
|
+
__name3(agentPaneEnabled, "agentPaneEnabled");
|
|
12696
12712
|
WEB_APP_ENTRY_HTML_MAX_CHARS = 256 * 1024;
|
|
12697
12713
|
WEB_APP_MAX_ASSETS = 1e3;
|
|
12698
12714
|
WEB_APP_ASSET_PATH_PATTERN = /^assets\/(?!.*\.\.)[A-Za-z0-9._\-/]+$/;
|
|
@@ -23931,9 +23947,9 @@ function writeTip(message) {
|
|
|
23931
23947
|
}
|
|
23932
23948
|
function writeNextStep(opts) {
|
|
23933
23949
|
if (hintsDisabled()) return;
|
|
23934
|
-
const
|
|
23935
|
-
const icon =
|
|
23936
|
-
const label2 =
|
|
23950
|
+
const when4 = opts.when ?? "success";
|
|
23951
|
+
const icon = when4 === "error" ? "\u{1F4A1}" : when4 === "partial" ? "\u26A0\uFE0F " : "\u2728";
|
|
23952
|
+
const label2 = when4 === "success" ? "Tip" : "Diagnose";
|
|
23937
23953
|
const rationale = opts.rationale?.trim();
|
|
23938
23954
|
const tail = rationale ? ` ${rationale}${/[.!?]$/.test(rationale) ? "" : "."}` : "";
|
|
23939
23955
|
writeInfo(`${icon} ${label2}: run \`${opts.command}\`${tail}`);
|
|
@@ -23941,8 +23957,8 @@ function writeNextStep(opts) {
|
|
|
23941
23957
|
function writeHintBlock(opts) {
|
|
23942
23958
|
if (hintsDisabled()) return;
|
|
23943
23959
|
const validLines = opts.lines.filter((l) => l.command && l.command.trim().length > 0);
|
|
23944
|
-
const
|
|
23945
|
-
const icon =
|
|
23960
|
+
const when4 = opts.when ?? "success";
|
|
23961
|
+
const icon = when4 === "error" ? "\u{1F4A1}" : when4 === "partial" ? "\u26A0\uFE0F " : "\u2728";
|
|
23946
23962
|
if (validLines.length === 0) {
|
|
23947
23963
|
writeInfo(`${icon} ${opts.headline}`);
|
|
23948
23964
|
return;
|
|
@@ -34338,11 +34354,17 @@ var init_web_app_plugin = __esm({
|
|
|
34338
34354
|
const pagesRoot = typeof pages?.root === "string" ? pages.root : pagesNode && Node19.isObjectLiteralExpression(pagesNode) ? extractStringProperty(pagesNode, "root") : void 0;
|
|
34339
34355
|
const { routes, unreadable, duplicates, files } = readRoutes(config);
|
|
34340
34356
|
const sourceFile = config.getSourceFile();
|
|
34357
|
+
const title = extractStringProperty(config, "title");
|
|
34358
|
+
const agentPane = extractBooleanProperty(config, "agentPane");
|
|
34341
34359
|
return {
|
|
34342
34360
|
kind: this.kind,
|
|
34343
34361
|
...common,
|
|
34344
34362
|
metadata: {
|
|
34345
34363
|
pattern,
|
|
34364
|
+
title,
|
|
34365
|
+
titleUnreadable: hasProperty(config, "title") && title === void 0,
|
|
34366
|
+
agentPane,
|
|
34367
|
+
agentPaneUnreadable: hasProperty(config, "agentPane") && agentPane === void 0,
|
|
34346
34368
|
pagesRoot,
|
|
34347
34369
|
spa: typeof pages?.spa === "boolean" ? pages.spa : void 0,
|
|
34348
34370
|
nav: Array.isArray(pages?.nav) ? pages.nav : void 0,
|
|
@@ -34383,6 +34405,14 @@ var init_web_app_plugin = __esm({
|
|
|
34383
34405
|
if (metadata.name && !WEB_APP_NAME_PATTERN.test(metadata.name)) {
|
|
34384
34406
|
errors.push(validationError(`Web app name must match ${WEB_APP_NAME_PATTERN} (lower-case letters, digits, dashes)`, at));
|
|
34385
34407
|
}
|
|
34408
|
+
if (meta.titleUnreadable) {
|
|
34409
|
+
errors.push(validationError("Web app `title` must be a compile-time string (the display name the shells show)", at));
|
|
34410
|
+
} else if (meta.title !== void 0 && (!meta.title.trim() || meta.title.length > WEB_APP_TITLE_MAX_CHARS)) {
|
|
34411
|
+
errors.push(validationError(`Web app \`title\` must be non-empty and at most ${WEB_APP_TITLE_MAX_CHARS} characters`, at));
|
|
34412
|
+
}
|
|
34413
|
+
if (meta.agentPaneUnreadable) {
|
|
34414
|
+
errors.push(validationError("Web app `agentPane` must be a compile-time boolean (`true` or `false`)", at));
|
|
34415
|
+
}
|
|
34386
34416
|
if (!meta.pagesRoot) {
|
|
34387
34417
|
errors.push(validationError("Web app `pages.root` must be a string literal naming the Vite project directory", at));
|
|
34388
34418
|
}
|
|
@@ -34489,6 +34519,13 @@ var init_web_app_plugin = __esm({
|
|
|
34489
34519
|
return {
|
|
34490
34520
|
...this.baseManifestFields(compiled),
|
|
34491
34521
|
kind: "web-app",
|
|
34522
|
+
...meta.title?.trim() ? {
|
|
34523
|
+
title: meta.title.trim()
|
|
34524
|
+
} : {},
|
|
34525
|
+
// Only the opt-out is written, so an app that never sets it compiles exactly as before.
|
|
34526
|
+
...meta.agentPane === false ? {
|
|
34527
|
+
agentPane: false
|
|
34528
|
+
} : {},
|
|
34492
34529
|
pagesRoot: meta.pagesRoot ?? ".",
|
|
34493
34530
|
spa: meta.spa !== false,
|
|
34494
34531
|
nav: meta.nav ?? [],
|
|
@@ -35200,9 +35237,9 @@ export function defineWebApp(config) {
|
|
|
35200
35237
|
logLevel: this.options.debug ? "debug" : "silent"
|
|
35201
35238
|
});
|
|
35202
35239
|
} catch (err) {
|
|
35203
|
-
const
|
|
35240
|
+
const failure3 = err;
|
|
35204
35241
|
const guardText = /* @__PURE__ */ __name((e) => typeof e.text === "string" ? e.text.replace(/^\[plugin [^\]]*\]\s*/, "") : "", "guardText");
|
|
35205
|
-
const guard =
|
|
35242
|
+
const guard = failure3?.errors?.find((e) => COMPILE_GUARD_CODES.some((c) => guardText(e).startsWith(c)));
|
|
35206
35243
|
if (guard) {
|
|
35207
35244
|
const at = guard.location ? ` (${guard.location.file}:${guard.location.line}:${guard.location.column + 1})` : "";
|
|
35208
35245
|
throw new Error(`${guardText(guard)}${at}`);
|
|
@@ -50498,9 +50535,9 @@ async function runWorkflowLocallyInner(rawOpts) {
|
|
|
50498
50535
|
fn(controller.signal),
|
|
50499
50536
|
new Promise((_, reject) => {
|
|
50500
50537
|
timer = setTimeout(() => {
|
|
50501
|
-
const
|
|
50502
|
-
controller.abort(
|
|
50503
|
-
reject(
|
|
50538
|
+
const failure3 = new StepFailure("TIMEOUT", `step "${stepId}" exceeded its ${wallMs / 1e3} s wall`);
|
|
50539
|
+
controller.abort(failure3);
|
|
50540
|
+
reject(failure3);
|
|
50504
50541
|
}, wallMs);
|
|
50505
50542
|
})
|
|
50506
50543
|
]);
|
|
@@ -51445,7 +51482,7 @@ async function runWorkflowLocallyInner(rawOpts) {
|
|
|
51445
51482
|
...rows3.values()
|
|
51446
51483
|
].filter((r) => r.status === "pending");
|
|
51447
51484
|
if (stuck.length) {
|
|
51448
|
-
const
|
|
51485
|
+
const failure3 = {
|
|
51449
51486
|
code: "FRONTIER_STALLED",
|
|
51450
51487
|
message: `no ready step; pending: ${stuck.map((r) => r.stepId).join(", ")}`
|
|
51451
51488
|
};
|
|
@@ -51454,7 +51491,7 @@ async function runWorkflowLocallyInner(rawOpts) {
|
|
|
51454
51491
|
return {
|
|
51455
51492
|
status: "failed",
|
|
51456
51493
|
exitCode: 4,
|
|
51457
|
-
error:
|
|
51494
|
+
error: failure3,
|
|
51458
51495
|
ledger,
|
|
51459
51496
|
timeline
|
|
51460
51497
|
};
|
|
@@ -51468,7 +51505,7 @@ async function runWorkflowLocallyInner(rawOpts) {
|
|
|
51468
51505
|
if (opts.schemas?.output) {
|
|
51469
51506
|
const issues = validateJsonSchema(opts.schemas.output, output);
|
|
51470
51507
|
if (issues.length) {
|
|
51471
|
-
const
|
|
51508
|
+
const failure3 = {
|
|
51472
51509
|
code: "OUTPUT_SCHEMA_INVALID",
|
|
51473
51510
|
message: `run output does not match outputSchema: ${issues.join("; ")}`
|
|
51474
51511
|
};
|
|
@@ -51477,7 +51514,7 @@ async function runWorkflowLocallyInner(rawOpts) {
|
|
|
51477
51514
|
return {
|
|
51478
51515
|
status: "failed",
|
|
51479
51516
|
exitCode: 4,
|
|
51480
|
-
error:
|
|
51517
|
+
error: failure3,
|
|
51481
51518
|
ledger,
|
|
51482
51519
|
timeline
|
|
51483
51520
|
};
|
|
@@ -52771,6 +52808,22 @@ var WebAppApi = class extends HttpClient {
|
|
|
52771
52808
|
code
|
|
52772
52809
|
}, {});
|
|
52773
52810
|
}
|
|
52811
|
+
/** Open a preview of one pushed version (`latest` by default), or get the open one for that version. */
|
|
52812
|
+
async openPreview(webAppId, input) {
|
|
52813
|
+
return this.httpPostOnce(`/developer/web-apps/${this.agentId}/${webAppId}/previews`, input, {});
|
|
52814
|
+
}
|
|
52815
|
+
async listPreviews(webAppId) {
|
|
52816
|
+
const query = webAppId ? `?webAppId=${encodeURIComponent(webAppId)}` : "";
|
|
52817
|
+
return this.httpGet(`/developer/web-apps/${this.agentId}/previews${query}`, {});
|
|
52818
|
+
}
|
|
52819
|
+
/** End a preview: its copy of the data and its recorded effects are deleted. */
|
|
52820
|
+
async closePreview(previewId) {
|
|
52821
|
+
return this.httpPost(`/developer/web-apps/${this.agentId}/previews/${encodeURIComponent(previewId)}/close`, {}, {});
|
|
52822
|
+
}
|
|
52823
|
+
async previewEffects(previewId, after) {
|
|
52824
|
+
const query = after !== void 0 ? `?after=${after}` : "";
|
|
52825
|
+
return this.httpGet(`/developer/web-apps/${this.agentId}/previews/${encodeURIComponent(previewId)}/effects${query}`, {});
|
|
52826
|
+
}
|
|
52774
52827
|
};
|
|
52775
52828
|
|
|
52776
52829
|
// src/primitives/web-app.handler.ts
|
|
@@ -52998,6 +53051,13 @@ var WebAppHandler = class extends BaseVersionedHandler {
|
|
|
52998
53051
|
const app = primitive;
|
|
52999
53052
|
return {
|
|
53000
53053
|
name: app.name,
|
|
53054
|
+
...app.title ? {
|
|
53055
|
+
title: app.title
|
|
53056
|
+
} : {},
|
|
53057
|
+
// Sent only to turn the pane off; absent ⇒ lua-api stores the default (on).
|
|
53058
|
+
...app.agentPane === false ? {
|
|
53059
|
+
agentPane: false
|
|
53060
|
+
} : {},
|
|
53001
53061
|
...app.description ? {
|
|
53002
53062
|
description: app.description
|
|
53003
53063
|
} : {},
|
|
@@ -53145,8 +53205,8 @@ var DecisionHandler = class extends BaseVersionedHandler {
|
|
|
53145
53205
|
}
|
|
53146
53206
|
return revivedLine(stale.name, record ? "was deleted on the server" : "no longer exists on the server", reused);
|
|
53147
53207
|
}
|
|
53148
|
-
async replaceStaleEntry(apiKey, agentId2, name, manifest,
|
|
53149
|
-
if (
|
|
53208
|
+
async replaceStaleEntry(apiKey, agentId2, name, manifest, failure3) {
|
|
53209
|
+
if (failure3.statusCode !== 409 || failure3.code !== DECISION_INACTIVE_CODE) return null;
|
|
53150
53210
|
const api = this.getApi(apiKey, agentId2);
|
|
53151
53211
|
const namesake = (await this.fetchFromServer(api))?.find((item) => item.name === name && isLive(item));
|
|
53152
53212
|
const primitive = findPrimitive(manifest, name, PrimitiveKind.DECISION);
|
|
@@ -53674,10 +53734,12 @@ async function handleDevRequest(req, ctx) {
|
|
|
53674
53734
|
app: {
|
|
53675
53735
|
id: "local",
|
|
53676
53736
|
name: ctx.app.name,
|
|
53737
|
+
title: ctx.app.title || ctx.app.branding?.name || void 0,
|
|
53677
53738
|
description: ctx.app.description,
|
|
53678
53739
|
version: "0.0.0-dev",
|
|
53679
53740
|
deployment: 0
|
|
53680
53741
|
},
|
|
53742
|
+
agentPane: ctx.app.agentPane !== false,
|
|
53681
53743
|
nav: ctx.app.nav,
|
|
53682
53744
|
user: {
|
|
53683
53745
|
id: ctx.auth.userId,
|
|
@@ -79892,6 +79954,10 @@ async function templateDraftAction(templateApi, options) {
|
|
|
79892
79954
|
} : {},
|
|
79893
79955
|
...result.draft.onUninstall ? {
|
|
79894
79956
|
onUninstall: result.draft.onUninstall
|
|
79957
|
+
} : {},
|
|
79958
|
+
// BAC-2623 — the draft composer does not author sharedData; keep what the yaml already declares.
|
|
79959
|
+
...config.template?.sharedData ? {
|
|
79960
|
+
sharedData: config.template.sharedData
|
|
79895
79961
|
} : {}
|
|
79896
79962
|
};
|
|
79897
79963
|
writeYamlConfig(config);
|
|
@@ -79929,7 +79995,8 @@ var TEMPLATE_SECTION_KEYS = [
|
|
|
79929
79995
|
"paramsMeta",
|
|
79930
79996
|
"onInstall",
|
|
79931
79997
|
"onUninstall",
|
|
79932
|
-
"installPolicy"
|
|
79998
|
+
"installPolicy",
|
|
79999
|
+
"sharedData"
|
|
79933
80000
|
];
|
|
79934
80001
|
var HOOK_KEYS = [
|
|
79935
80002
|
"tool",
|
|
@@ -79944,6 +80011,9 @@ function sectionKeys(section2, value3) {
|
|
|
79944
80011
|
const vars = value3.vars ?? [];
|
|
79945
80012
|
return vars.map((v) => v.name);
|
|
79946
80013
|
}
|
|
80014
|
+
if (section2 === "sharedData") {
|
|
80015
|
+
return (value3 ?? []).map((e) => `${e.name}:${e.access}`);
|
|
80016
|
+
}
|
|
79947
80017
|
if (section2 === "onInstall" || section2 === "onUninstall") {
|
|
79948
80018
|
const hook = value3;
|
|
79949
80019
|
return HOOK_KEYS.filter((key) => Boolean(hook[key]));
|
|
@@ -79965,7 +80035,8 @@ async function confirmTemplateSectionConsequences(templateApi, templateId, local
|
|
|
79965
80035
|
paramsMeta: "the deploy form falls back to derived display names and string typing",
|
|
79966
80036
|
onInstall: "new installs no longer run a post-install hook; installed agents are untouched",
|
|
79967
80037
|
onUninstall: "uninstalls no longer run cleanup before teardown (provider-side artifacts may be left behind)",
|
|
79968
|
-
installPolicy: "new installs are no longer limited to one per workspace"
|
|
80038
|
+
installPolicy: "new installs are no longer limited to one per workspace",
|
|
80039
|
+
sharedData: "new installs no longer join these shared collections; agents already on them keep their access"
|
|
79969
80040
|
};
|
|
79970
80041
|
for (const section2 of TEMPLATE_SECTION_KEYS) {
|
|
79971
80042
|
const serverKeys = sectionKeys(section2, latest[section2]);
|
|
@@ -80007,7 +80078,9 @@ async function templatePublishAction(templateApi, config, options) {
|
|
|
80007
80078
|
onInstall: templateSection.onInstall ?? null,
|
|
80008
80079
|
onUninstall: templateSection.onUninstall ?? null,
|
|
80009
80080
|
// BAC-466 — null clears (the personaTemplate rule): absent = no per-workspace limit.
|
|
80010
|
-
installPolicy: templateSection.installPolicy ?? null
|
|
80081
|
+
installPolicy: templateSection.installPolicy ?? null,
|
|
80082
|
+
// BAC-2623 — [] clears (absent = joins nothing).
|
|
80083
|
+
sharedData: templateSection.sharedData ?? []
|
|
80011
80084
|
};
|
|
80012
80085
|
}
|
|
80013
80086
|
writeProgress("\u{1F504} Publishing template version...");
|
|
@@ -89677,12 +89750,22 @@ function forgetWebAppInYaml(webAppId, name) {
|
|
|
89677
89750
|
return true;
|
|
89678
89751
|
}
|
|
89679
89752
|
__name(forgetWebAppInYaml, "forgetWebAppInYaml");
|
|
89753
|
+
var EXIT_1_CODES = /* @__PURE__ */ new Set([
|
|
89754
|
+
"NO_EMAIL_ON_ACCOUNT",
|
|
89755
|
+
"WEB_APP_DELETE_CODE_EMAIL_FAILED"
|
|
89756
|
+
]);
|
|
89757
|
+
var isExit1Code = /* @__PURE__ */ __name((code) => code !== void 0 && (code.startsWith("WEB_APP_DELETE_CODE_") || EXIT_1_CODES.has(code)), "isExit1Code");
|
|
89680
89758
|
function failure(response, fallback) {
|
|
89681
89759
|
const code = response.error?.code;
|
|
89682
|
-
|
|
89683
|
-
|
|
89684
|
-
|
|
89685
|
-
|
|
89760
|
+
const message = `${response.error?.message ?? fallback}${code ? ` (${code})` : ""}`;
|
|
89761
|
+
const status = response.error?.statusCode;
|
|
89762
|
+
if (isExit1Code(code) && status !== 401 && status !== 403) {
|
|
89763
|
+
return new CliError("api", message, {
|
|
89764
|
+
statusCode: status,
|
|
89765
|
+
serverCode: code
|
|
89766
|
+
});
|
|
89767
|
+
}
|
|
89768
|
+
return CliError.fromStatus(status, message, void 0, apiErrorDetail(response.error));
|
|
89686
89769
|
}
|
|
89687
89770
|
__name(failure, "failure");
|
|
89688
89771
|
function printPreview(p) {
|
|
@@ -89801,6 +89884,192 @@ async function appsDeleteCommand(name, opts = {}) {
|
|
|
89801
89884
|
}
|
|
89802
89885
|
__name(appsDeleteCommand, "appsDeleteCommand");
|
|
89803
89886
|
|
|
89887
|
+
// src/commands/apps-preview.ts
|
|
89888
|
+
init_dist();
|
|
89889
|
+
init_cli();
|
|
89890
|
+
init_write_info();
|
|
89891
|
+
init_files();
|
|
89892
|
+
init_cli_error();
|
|
89893
|
+
init_analytics();
|
|
89894
|
+
init_request_credential();
|
|
89895
|
+
init_constants();
|
|
89896
|
+
var PREVIEW_ID = /^[a-z2-7]{8}$/;
|
|
89897
|
+
var TTL_MAX_HOURS = 168;
|
|
89898
|
+
var DISPLAY_MAX = 200;
|
|
89899
|
+
var EFFECT_PAGES_MAX = 20;
|
|
89900
|
+
function forTerminal(value3, max = DISPLAY_MAX) {
|
|
89901
|
+
const text2 = String(value3 ?? "").replace(/[\u0000-\u001f\u007f-\u009f]/g, " ");
|
|
89902
|
+
return text2.length > max ? `${text2.slice(0, max - 1)}\u2026` : text2;
|
|
89903
|
+
}
|
|
89904
|
+
__name(forTerminal, "forTerminal");
|
|
89905
|
+
function printJson5(value3) {
|
|
89906
|
+
console.log(
|
|
89907
|
+
// eslint-disable-next-line no-control-regex
|
|
89908
|
+
JSON.stringify(value3, null, 2).replace(/[\u007f-\u009f]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`)
|
|
89909
|
+
);
|
|
89910
|
+
}
|
|
89911
|
+
__name(printJson5, "printJson");
|
|
89912
|
+
function parseTtlHours(raw) {
|
|
89913
|
+
const m = /^(\d+(?:\.\d+)?)(h|d)?$/i.exec(raw.trim());
|
|
89914
|
+
const hours = m ? Number(m[1]) * (m[2]?.toLowerCase() === "d" ? 24 : 1) : NaN;
|
|
89915
|
+
if (!Number.isFinite(hours) || hours <= 0 || hours > TTL_MAX_HOURS) {
|
|
89916
|
+
throw CliError.usage(`--ttl takes hours (24, 24h) or days (2d), at most ${TTL_MAX_HOURS} hours; got ${JSON.stringify(raw)}.`);
|
|
89917
|
+
}
|
|
89918
|
+
return hours;
|
|
89919
|
+
}
|
|
89920
|
+
__name(parseTtlHours, "parseTtlHours");
|
|
89921
|
+
function failure2(response, fallback) {
|
|
89922
|
+
const code = response.error?.code;
|
|
89923
|
+
const message = forTerminal(response.error?.message ?? fallback);
|
|
89924
|
+
return CliError.fromStatus(response.error?.statusCode, `${message}${code ? ` (${forTerminal(code, 80)})` : ""}`, void 0, apiErrorDetail(response.error));
|
|
89925
|
+
}
|
|
89926
|
+
__name(failure2, "failure");
|
|
89927
|
+
function when3(iso) {
|
|
89928
|
+
const d = new Date(iso);
|
|
89929
|
+
return Number.isNaN(d.getTime()) ? forTerminal(iso, 40) : d.toLocaleString("en-GB", {
|
|
89930
|
+
day: "numeric",
|
|
89931
|
+
month: "short",
|
|
89932
|
+
hour: "2-digit",
|
|
89933
|
+
minute: "2-digit"
|
|
89934
|
+
});
|
|
89935
|
+
}
|
|
89936
|
+
__name(when3, "when");
|
|
89937
|
+
function printOpened(p) {
|
|
89938
|
+
writeSuccess(`${p.created === false ? "\u2705 Open preview of" : "\u2705 Preview of"} ${forTerminal(p.name)} ${forTerminal(p.version)} (until ${when3(p.expiresAt)})`);
|
|
89939
|
+
writeInfo(` Open: ${forTerminal(p.openUrl, 500)}`);
|
|
89940
|
+
writeInfo(" Data writes go to a copy that is deleted when the preview ends; emails and messages are recorded, not sent; fetch calls fail (TEST_EGRESS_BLOCKED).");
|
|
89941
|
+
writeInfo(" Anyone who can edit this agent can open the link.");
|
|
89942
|
+
const id2 = forTerminal(p.id, 16);
|
|
89943
|
+
writeInfo(` End it now: lua apps preview --close ${id2} \xB7 What it recorded: lua apps preview --effects ${id2}`);
|
|
89944
|
+
}
|
|
89945
|
+
__name(printOpened, "printOpened");
|
|
89946
|
+
var TARGET_KEYS = [
|
|
89947
|
+
"url",
|
|
89948
|
+
"to",
|
|
89949
|
+
"channel",
|
|
89950
|
+
"tool",
|
|
89951
|
+
"collection"
|
|
89952
|
+
];
|
|
89953
|
+
var RECIPIENT_KEYS = [
|
|
89954
|
+
"email",
|
|
89955
|
+
"phoneNumber",
|
|
89956
|
+
"userId",
|
|
89957
|
+
"conversationId"
|
|
89958
|
+
];
|
|
89959
|
+
function effectTarget(request2) {
|
|
89960
|
+
const req = request2 && typeof request2 === "object" ? request2 : {};
|
|
89961
|
+
if (typeof req.surface === "string" && req.surface) {
|
|
89962
|
+
return typeof req.code === "string" && req.code ? `${req.surface} (${req.code})` : req.surface;
|
|
89963
|
+
}
|
|
89964
|
+
for (const key of TARGET_KEYS) {
|
|
89965
|
+
const value3 = req[key];
|
|
89966
|
+
if (typeof value3 === "string" && value3) return value3;
|
|
89967
|
+
if (value3 && typeof value3 === "object") {
|
|
89968
|
+
const to = value3;
|
|
89969
|
+
const hit = RECIPIENT_KEYS.map((k) => to[k]).find((v) => typeof v === "string" && v !== "");
|
|
89970
|
+
if (hit) return hit;
|
|
89971
|
+
}
|
|
89972
|
+
}
|
|
89973
|
+
return "";
|
|
89974
|
+
}
|
|
89975
|
+
__name(effectTarget, "effectTarget");
|
|
89976
|
+
function describeEffect(e) {
|
|
89977
|
+
const target = effectTarget(e.request);
|
|
89978
|
+
const site = e.site ? ` (${forTerminal(e.site, 40)})` : "";
|
|
89979
|
+
return ` #${forTerminal(e.seq, 12)} ${forTerminal(e.kind, 40)}${site}${target ? ` ${forTerminal(target)}` : ""} ${when3(e.at)}`;
|
|
89980
|
+
}
|
|
89981
|
+
__name(describeEffect, "describeEffect");
|
|
89982
|
+
async function appsPreviewCommand(name, opts = {}) {
|
|
89983
|
+
return withErrorHandling(async () => {
|
|
89984
|
+
const modes = [
|
|
89985
|
+
opts.list,
|
|
89986
|
+
opts.close,
|
|
89987
|
+
opts.effects
|
|
89988
|
+
].filter((m) => m !== void 0 && m !== false).length;
|
|
89989
|
+
if (modes > 1) throw CliError.usage("Use one of --list, --close <id> or --effects <id> at a time.");
|
|
89990
|
+
if (modes === 0 && !name) {
|
|
89991
|
+
throw CliError.usage("Name the web app to preview.", "lua apps preview <name> \xB7 lua apps preview --list");
|
|
89992
|
+
}
|
|
89993
|
+
if (name && !WEB_APP_NAME_PATTERN.test(name)) throw CliError.usage(`${JSON.stringify(name)} is not a web app name.`);
|
|
89994
|
+
for (const id2 of [
|
|
89995
|
+
opts.close,
|
|
89996
|
+
opts.effects
|
|
89997
|
+
]) {
|
|
89998
|
+
if (id2 !== void 0 && !PREVIEW_ID.test(id2)) {
|
|
89999
|
+
throw CliError.usage(`${JSON.stringify(id2)} is not a preview id (8 characters, as \`--list\` shows).`);
|
|
90000
|
+
}
|
|
90001
|
+
}
|
|
90002
|
+
const ttlHours = opts.ttl !== void 0 ? parseTtlHours(opts.ttl) : void 0;
|
|
90003
|
+
const agentId2 = opts.agent ?? readYamlConfig()?.agent?.agentId;
|
|
90004
|
+
if (!agentId2) throw CliError.usage("No agent: run this in an agent project, or pass --agent <agentId>.");
|
|
90005
|
+
const api = new WebAppApi(BASE_URLS.API, await resolveRequestCredential(), agentId2);
|
|
90006
|
+
const findApp = /* @__PURE__ */ __name(async (appName) => {
|
|
90007
|
+
const list = await api.getWebApps();
|
|
90008
|
+
if (!list.success) throw failure2(list, "Could not list the web apps of the agent.");
|
|
90009
|
+
const app2 = list.data?.webApps.find((a) => a.name === appName);
|
|
90010
|
+
if (!app2) throw CliError.notFound(`No web app named ${JSON.stringify(appName)} on agent ${agentId2}.`, `Push it first: lua push webapp --name ${appName}`);
|
|
90011
|
+
return app2;
|
|
90012
|
+
}, "findApp");
|
|
90013
|
+
if (opts.list) {
|
|
90014
|
+
const res2 = await api.listPreviews(name ? (await findApp(name)).id : void 0);
|
|
90015
|
+
if (!res2.success || !res2.data) throw failure2(res2, "Could not list the previews.");
|
|
90016
|
+
if (opts.json) return printJson5(res2.data.previews);
|
|
90017
|
+
if (!res2.data.previews.length) return writeInfo(`No open previews ${name ? `of ${name}` : "on this agent"}.`);
|
|
90018
|
+
for (const p of res2.data.previews) {
|
|
90019
|
+
writeInfo(` ${forTerminal(p.id, 16)} ${forTerminal(p.name)} ${forTerminal(p.version)} until ${when3(p.expiresAt)} ${forTerminal(p.openUrl, 500)}`);
|
|
90020
|
+
}
|
|
90021
|
+
return;
|
|
90022
|
+
}
|
|
90023
|
+
if (opts.close) {
|
|
90024
|
+
const res2 = await api.closePreview(opts.close);
|
|
90025
|
+
if (!res2.success) throw failure2(res2, "Could not end the preview.");
|
|
90026
|
+
if (opts.json) return printJson5(res2.data);
|
|
90027
|
+
writeSuccess(`\u2705 Preview ${opts.close} ended; its copy of the data and its recorded effects are deleted.`);
|
|
90028
|
+
trackEvent("cli_apps_preview_closed", {});
|
|
90029
|
+
return;
|
|
90030
|
+
}
|
|
90031
|
+
if (opts.effects) {
|
|
90032
|
+
const effects = [];
|
|
90033
|
+
let after;
|
|
90034
|
+
for (let page = 0; page < EFFECT_PAGES_MAX; page++) {
|
|
90035
|
+
const res2 = await api.previewEffects(opts.effects, after);
|
|
90036
|
+
if (!res2.success || !res2.data) throw failure2(res2, "Could not read what the preview recorded.");
|
|
90037
|
+
effects.push(...res2.data.effects);
|
|
90038
|
+
after = res2.data.nextAfter;
|
|
90039
|
+
if (after === void 0) break;
|
|
90040
|
+
}
|
|
90041
|
+
const truncated = after !== void 0;
|
|
90042
|
+
const cut2 = `Only the first ${effects.length} recorded effects are shown; the preview recorded more.`;
|
|
90043
|
+
if (opts.json) {
|
|
90044
|
+
if (truncated) console.error(cut2);
|
|
90045
|
+
return printJson5(effects);
|
|
90046
|
+
}
|
|
90047
|
+
if (!effects.length) return writeInfo("The preview has recorded nothing so far: no email or message.");
|
|
90048
|
+
writeInfo(`Recorded instead of sent (${effects.length}${truncated ? "+" : ""}):`);
|
|
90049
|
+
for (const e of effects) writeInfo(describeEffect(e));
|
|
90050
|
+
if (truncated) writeInfo(cut2);
|
|
90051
|
+
return;
|
|
90052
|
+
}
|
|
90053
|
+
const app = await findApp(name);
|
|
90054
|
+
const res = await api.openPreview(app.id, {
|
|
90055
|
+
...opts.version ? {
|
|
90056
|
+
version: opts.version
|
|
90057
|
+
} : {},
|
|
90058
|
+
...ttlHours !== void 0 ? {
|
|
90059
|
+
ttlHours
|
|
90060
|
+
} : {}
|
|
90061
|
+
});
|
|
90062
|
+
if (!res.success || !res.data) throw failure2(res, "Could not open the preview.");
|
|
90063
|
+
if (opts.json) return printJson5(res.data);
|
|
90064
|
+
printOpened(res.data);
|
|
90065
|
+
trackEvent("cli_apps_preview_opened", {
|
|
90066
|
+
created: res.data.created !== false,
|
|
90067
|
+
withVersion: Boolean(opts.version)
|
|
90068
|
+
});
|
|
90069
|
+
}, "apps preview");
|
|
90070
|
+
}
|
|
90071
|
+
__name(appsPreviewCommand, "appsPreviewCommand");
|
|
90072
|
+
|
|
89804
90073
|
// src/commands/browser.ts
|
|
89805
90074
|
init_cli();
|
|
89806
90075
|
init_hints();
|
|
@@ -90051,10 +90320,10 @@ async function browserContextOf(options) {
|
|
|
90051
90320
|
};
|
|
90052
90321
|
}
|
|
90053
90322
|
__name(browserContextOf, "browserContextOf");
|
|
90054
|
-
function
|
|
90323
|
+
function printJson6(value3) {
|
|
90055
90324
|
console.log(JSON.stringify(value3, null, 2));
|
|
90056
90325
|
}
|
|
90057
|
-
__name(
|
|
90326
|
+
__name(printJson6, "printJson");
|
|
90058
90327
|
function logsHint() {
|
|
90059
90328
|
writeNextStep({
|
|
90060
90329
|
command: BROWSER_LOGS_HINT,
|
|
@@ -90087,7 +90356,7 @@ async function runBrowserRead(ctx, url, options) {
|
|
|
90087
90356
|
json: !!options.json
|
|
90088
90357
|
});
|
|
90089
90358
|
if (options.json) {
|
|
90090
|
-
|
|
90359
|
+
printJson6(output);
|
|
90091
90360
|
return output;
|
|
90092
90361
|
}
|
|
90093
90362
|
if (output.error) {
|
|
@@ -90182,7 +90451,7 @@ async function runBrowserTask(ctx, task, options, out = terminalRunOutput()) {
|
|
|
90182
90451
|
environment: ctx.environment,
|
|
90183
90452
|
json: !!options.json
|
|
90184
90453
|
});
|
|
90185
|
-
if (options.json)
|
|
90454
|
+
if (options.json) printJson6({
|
|
90186
90455
|
id: view.id,
|
|
90187
90456
|
status: "cancelled",
|
|
90188
90457
|
cancelled
|
|
@@ -90208,7 +90477,7 @@ async function runBrowserTask(ctx, task, options, out = terminalRunOutput()) {
|
|
|
90208
90477
|
json: !!options.json
|
|
90209
90478
|
});
|
|
90210
90479
|
if (options.json) {
|
|
90211
|
-
|
|
90480
|
+
printJson6(view);
|
|
90212
90481
|
return {
|
|
90213
90482
|
view,
|
|
90214
90483
|
cancelled: false
|
|
@@ -91252,9 +91521,25 @@ Examples:
|
|
|
91252
91521
|
$ lua version delete v3 --ci Refused: needs --force (usage error, exit 2)
|
|
91253
91522
|
$ lua version delete v3 --ci --force Delete non-interactively
|
|
91254
91523
|
`).action((version, opts) => versionDeleteCommand(version, opts));
|
|
91255
|
-
const appsGroup = program2.command("apps").description("\u{1F5A5}\uFE0F Create, develop and delete web apps of this agent");
|
|
91524
|
+
const appsGroup = program2.command("apps").description("\u{1F5A5}\uFE0F Create, develop, preview and delete web apps of this agent");
|
|
91256
91525
|
appsGroup.command("new <name>").description("Scaffold a web app in src/apps/<name> (routes + a Vite/React page) and list it on the agent").action((name) => appsNewCommand(name));
|
|
91257
91526
|
appsGroup.command("dev <name>").description("Run a web app locally: pages on Vite with hot reload, routes in the local sandbox as you").option("--port <port>", "Port for the dev server (default: Vite's)").action((name, opts) => appsDevCommand(name, opts));
|
|
91527
|
+
appsGroup.command("preview [name]").description("Open a pushed web app version before it is live (a temporary copy of the data, nothing sent)").option("--version <version>", "The pushed version to open, or 'latest' (default)").option("--ttl <hours>", "How long the preview lives: hours (24, 24h) or days (2d), at most 168 hours (default 24)").option("--list", "List the previews that have not ended: of the agent, or of the web app you name").option("--close <id>", "End a preview now: its copy of the data and its recorded effects are deleted").option("--effects <id>", "What the preview recorded instead of sending (emails, messages)").option("--agent <agentId>", "The agent the web app belongs to (default: this project\u2019s agent)").option("--json", "Print JSON").addHelpText("after", `
|
|
91528
|
+
A preview opens in Lua Workspace from the link it prints, on its own address.
|
|
91529
|
+
Its routes write to a copy of the agent's data that is deleted when the
|
|
91530
|
+
preview ends; emails and messages are recorded, not sent, and fetch calls
|
|
91531
|
+
fail with TEST_EGRESS_BLOCKED. Anyone who can edit the agent can open the link. Opening a preview of a
|
|
91532
|
+
version that already has an open one gives you that one. --json prints the
|
|
91533
|
+
server's data unchanged (control characters escaped), for scripts.
|
|
91534
|
+
|
|
91535
|
+
Examples:
|
|
91536
|
+
$ lua apps preview ops-dashboard Preview the latest push
|
|
91537
|
+
$ lua apps preview ops-dashboard --version 1.0.4 --ttl 2d
|
|
91538
|
+
$ lua apps preview --list Every open preview on the agent
|
|
91539
|
+
$ lua apps preview ops-dashboard --list Only that app's
|
|
91540
|
+
$ lua apps preview --effects p7k2m3xq
|
|
91541
|
+
$ lua apps preview --close p7k2m3xq
|
|
91542
|
+
`).action((name, opts) => appsPreviewCommand(name, opts));
|
|
91258
91543
|
appsGroup.command("delete <name>").description("Delete a web app for good (confirmed by a code emailed to you)").option("--agent <agentId>", "The agent the web app belongs to (default: this project\u2019s agent)").option("--code <code>", "The 6-digit code from the email (non-interactive second step)").addHelpText("after", `
|
|
91259
91544
|
Permanent: the web app and every version of it are removed, the live agent
|
|
91260
91545
|
version stops listing it, and no rollback brings it back. Agent data stays.
|