lua-cli 3.49.1 → 3.50.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.
@@ -943,6 +943,17 @@ function aiGenerateInputFromSimplified(prompt, content) {
943
943
  ]
944
944
  };
945
945
  }
946
+ function directProviderOfOpenRouterModel(model) {
947
+ return OPENROUTER_DIRECT_VENDORS.find((vendor) => vendor.pattern.test(model))?.provider;
948
+ }
949
+ function openRouterModelIssue(options) {
950
+ const model = typeof options.model === "string" && options.model ? options.model : void 0;
951
+ if (options.provider === "openrouter" && !model) return OPENROUTER_NEEDS_MODEL_MESSAGE;
952
+ if (!model || !model.includes("/")) return null;
953
+ const direct = directProviderOfOpenRouterModel(model);
954
+ if (!direct) return null;
955
+ return `model ${model} runs on provider '${direct}': set provider '${direct}' instead of a vendor/model id`;
956
+ }
946
957
  function formatDecisionSandboxPrimitive(name, tool) {
947
958
  return tool ? `${name}${DECISION_SANDBOX_TOOL_SEPARATOR}${tool}` : name;
948
959
  }
@@ -2650,6 +2661,31 @@ function scrubProviderMessage(raw, max = PROVIDER_MESSAGE_MAX_CHARS) {
2650
2661
  function scrubStepErrorMessage(raw) {
2651
2662
  return scrubProviderMessage(raw, ERROR_MESSAGE_MAX_CHARS);
2652
2663
  }
2664
+ function scrubSecretsDeep(value3, options = {}) {
2665
+ return scrubDeep(value3, 0, /* @__PURE__ */ new WeakSet(), options.text !== false);
2666
+ }
2667
+ function isPlainObject2(v) {
2668
+ if (!v || typeof v !== "object") return false;
2669
+ const proto = Object.getPrototypeOf(v);
2670
+ return proto === Object.prototype || proto === null;
2671
+ }
2672
+ function scrubDeep(value3, depth, seen, text2) {
2673
+ if (typeof value3 === "string") return text2 ? scrubSecretText(value3) : value3;
2674
+ if (!value3 || typeof value3 !== "object") return value3;
2675
+ if (!Array.isArray(value3) && !isPlainObject2(value3)) return value3;
2676
+ if (depth >= SCRUB_DEEP_MAX_DEPTH || seen.has(value3)) return REDACTED_PLACEHOLDER;
2677
+ seen.add(value3);
2678
+ try {
2679
+ if (Array.isArray(value3)) return value3.map((v) => scrubDeep(v, depth + 1, seen, text2));
2680
+ const out = {};
2681
+ for (const [k, v] of Object.entries(value3)) {
2682
+ out[k] = isWorkflowSecretKey(k) && v !== null && v !== void 0 && typeof v !== "boolean" ? REDACTED_PLACEHOLDER : scrubDeep(v, depth + 1, seen, text2);
2683
+ }
2684
+ return out;
2685
+ } finally {
2686
+ seen.delete(value3);
2687
+ }
2688
+ }
2653
2689
  function isTestSessionId(value3) {
2654
2690
  return typeof value3 === "string" && TEST_SESSION_ID_PATTERN.test(value3);
2655
2691
  }
@@ -2774,6 +2810,68 @@ function supervisionAccessBindingViolation(merged) {
2774
2810
  }
2775
2811
  return null;
2776
2812
  }
2813
+ function canonicalSupervisedSecretJson(row) {
2814
+ const sorted = {};
2815
+ for (const k of Object.keys(row).sort()) sorted[k] = row[k];
2816
+ return JSON.stringify(sorted);
2817
+ }
2818
+ function validateSupervisedSecretPut(args) {
2819
+ const bad = /* @__PURE__ */ __name4((message) => ({
2820
+ ok: false,
2821
+ code: SUPERVISED_SECRET_ERRORS.BAD_ARGS,
2822
+ message
2823
+ }), "bad");
2824
+ const collection = args?.collection;
2825
+ if (typeof collection !== "string" || !SUPERVISED_SECRET_NAME_RE.test(collection) || collection.startsWith("__")) {
2826
+ return bad("collection must be an explicit collection name (letters, digits, _ . : -; at most 128)");
2827
+ }
2828
+ const key = args?.key;
2829
+ if (typeof key !== "string" || !SUPERVISED_SECRET_NAME_RE.test(key)) {
2830
+ return bad("key must be an explicit row key (letters, digits, _ . : -; at most 128)");
2831
+ }
2832
+ const value3 = args?.value;
2833
+ if (!value3 || typeof value3 !== "object" || Array.isArray(value3) || Object.getPrototypeOf(value3) !== Object.prototype) {
2834
+ return bad("value must be a plain object of scalar fields");
2835
+ }
2836
+ const fields = Object.keys(value3);
2837
+ const row = {};
2838
+ for (const field of fields) {
2839
+ if (!SUPERVISED_SECRET_FIELD_RE.test(field)) {
2840
+ return bad("value field names must be plain identifiers (no $ prefix, no dots; at most 64 characters)");
2841
+ }
2842
+ const v = value3[field];
2843
+ if (typeof v === "string") {
2844
+ if (v.length > SUPERVISED_SECRET_LIMITS.maxStringLength) {
2845
+ return bad(`value.${field} is longer than ${SUPERVISED_SECRET_LIMITS.maxStringLength} characters`);
2846
+ }
2847
+ } else if (typeof v === "number") {
2848
+ if (!Number.isFinite(v)) return bad(`value.${field} must be a finite number`);
2849
+ } else if (typeof v !== "boolean" && v !== null) {
2850
+ return bad(`value.${field} must be a string, a finite number, a boolean or null (no nesting)`);
2851
+ }
2852
+ row[field] = v;
2853
+ }
2854
+ if (Object.prototype.hasOwnProperty.call(row, SUPERVISED_SECRET_KEY_FIELD) && row[SUPERVISED_SECRET_KEY_FIELD] !== key) {
2855
+ return bad(`value.${SUPERVISED_SECRET_KEY_FIELD}, when present, must equal key`);
2856
+ }
2857
+ row[SUPERVISED_SECRET_KEY_FIELD] = key;
2858
+ if (Object.keys(row).length > SUPERVISED_SECRET_LIMITS.maxFields) {
2859
+ return bad(`value has more than ${SUPERVISED_SECRET_LIMITS.maxFields} fields`);
2860
+ }
2861
+ if (Object.keys(row).length < 2) return bad("value must carry at least one field besides _pk");
2862
+ const bytes = new TextEncoder().encode(canonicalSupervisedSecretJson(row)).byteLength;
2863
+ if (bytes > SUPERVISED_SECRET_LIMITS.maxBytes) {
2864
+ return bad(`value is larger than ${SUPERVISED_SECRET_LIMITS.maxBytes} bytes`);
2865
+ }
2866
+ return {
2867
+ ok: true,
2868
+ input: {
2869
+ collection,
2870
+ key,
2871
+ row
2872
+ }
2873
+ };
2874
+ }
2777
2875
  function hasFormatCharacters(text2) {
2778
2876
  return FORMAT_CHARS.test(text2);
2779
2877
  }
@@ -4659,7 +4757,7 @@ function describeFieldViolation(key, value3, check) {
4659
4757
  return void 0;
4660
4758
  }
4661
4759
  function describeBrowserLogEventViolation(value3) {
4662
- if (!isPlainObject2(value3)) return "event must be an object";
4760
+ if (!isPlainObject3(value3)) return "event must be an object";
4663
4761
  const event = value3;
4664
4762
  const base = describeBaseViolation(event);
4665
4763
  if (base) return base;
@@ -4679,7 +4777,7 @@ function isBrowserLogEvent(value3) {
4679
4777
  }
4680
4778
  function describeBrowserLogContextViolation(value3) {
4681
4779
  if (value3 === void 0) return void 0;
4682
- if (!isPlainObject2(value3)) return "logContext must be an object";
4780
+ if (!isPlainObject3(value3)) return "logContext must be an object";
4683
4781
  for (const [key, entry] of Object.entries(value3)) {
4684
4782
  if (!BROWSER_LOG_CONTEXT_KEYS.includes(key)) return `logContext.${key} is not allowed`;
4685
4783
  if (entry === void 0) continue;
@@ -4704,6 +4802,10 @@ function browserLogContextOfWorkerContext(context) {
4704
4802
  if (context?.primitiveId) out.primitiveId = context.primitiveId;
4705
4803
  if (context?.primitiveName) out.primitiveName = context.primitiveName;
4706
4804
  if (context?.channel) out.channel = context.channel;
4805
+ if (context?.environment && AGENT_LOG_ENVIRONMENTS.includes(context.environment)) {
4806
+ out.environment = context.environment;
4807
+ }
4808
+ if (context?.agentVersion) out.agentVersion = context.agentVersion;
4707
4809
  return out;
4708
4810
  }
4709
4811
  function browserLogEventOfWorkerEvent(event, mapping = {}) {
@@ -7507,7 +7609,13 @@ function maskMcpServerHeaders(server) {
7507
7609
  headersSet: headerNames.length > 0
7508
7610
  };
7509
7611
  }
7510
- var __defProp4, __name4, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, DECISION_PROVIDERS, DECISION_QUESTION_TYPES, DECISION_NAME_PATTERN, DECISION_SANDBOX_SITE_HEADER, DECISION_SANDBOX_PRIMITIVE_HEADER, DECISION_SANDBOX_TOOL_SEPARATOR, DECISION_LIMITS, DECISION_ERROR_CODES, MAX_NAME_CHARS, InstructionsSchema, NameSchema, OddsQuestionSchema, ChoiceQuestionSchema, ScoreQuestionSchema, DecisionQuestionSchema, DecisionOptionsSchema, DecisionQuestionsSchema, DecisionDefinitionSchema, 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, 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, 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, CHANNEL_SEND_CHANNELS, 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_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, isPlainObject2, 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_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_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, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_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_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSET_BYTES, 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;
7612
+ function sharedDataOwnerKey(collectionId) {
7613
+ return `${SHARED_DATA_OWNER_PREFIX}${collectionId}`;
7614
+ }
7615
+ function isSharedDataOwnerKey(agentId2) {
7616
+ return typeof agentId2 === "string" && agentId2.startsWith(SHARED_DATA_OWNER_PREFIX);
7617
+ }
7618
+ var __defProp4, __name4, 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, 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, CHANNEL_SEND_CHANNELS, 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_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_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_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, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_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_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSET_BYTES, 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;
7511
7619
  var init_dist = __esm({
7512
7620
  "../shared-types/dist/index.mjs"() {
7513
7621
  "use strict";
@@ -7580,9 +7688,29 @@ var init_dist = __esm({
7580
7688
  __name(aiGenerateInputFromSimplified, "aiGenerateInputFromSimplified");
7581
7689
  __name4(aiGenerateInputFromSimplified, "aiGenerateInputFromSimplified");
7582
7690
  DECISION_PROVIDERS = [
7691
+ "jev",
7692
+ "openai",
7693
+ "openrouter"
7694
+ ];
7695
+ DECISION_FALLBACK_PROVIDERS = [
7583
7696
  "jev",
7584
7697
  "openai"
7585
7698
  ];
7699
+ OPENROUTER_DIRECT_VENDORS = [
7700
+ {
7701
+ pattern: /^~?typesafe\//,
7702
+ provider: "jev"
7703
+ },
7704
+ {
7705
+ pattern: /^openai\//,
7706
+ provider: "openai"
7707
+ }
7708
+ ];
7709
+ __name(directProviderOfOpenRouterModel, "directProviderOfOpenRouterModel");
7710
+ __name4(directProviderOfOpenRouterModel, "directProviderOfOpenRouterModel");
7711
+ OPENROUTER_NEEDS_MODEL_MESSAGE = "provider openrouter needs a model id, such as liquid/d1";
7712
+ __name(openRouterModelIssue, "openRouterModelIssue");
7713
+ __name4(openRouterModelIssue, "openRouterModelIssue");
7586
7714
  DECISION_QUESTION_TYPES = [
7587
7715
  "odds",
7588
7716
  "choice",
@@ -7665,7 +7793,7 @@ var init_dist = __esm({
7665
7793
  ]).optional(),
7666
7794
  model: z.string().min(1).optional(),
7667
7795
  fallback: z.union([
7668
- z.enum(DECISION_PROVIDERS),
7796
+ z.enum(DECISION_FALLBACK_PROVIDERS),
7669
7797
  z.literal("none")
7670
7798
  ]).optional(),
7671
7799
  region: z.literal("eu").optional(),
@@ -7694,6 +7822,16 @@ var init_dist = __esm({
7694
7822
  description: z.string().max(DECISION_LIMITS.maxInstructionChars).optional(),
7695
7823
  questions: DecisionQuestionsSchema
7696
7824
  }).strict();
7825
+ DecisionDefinitionWriteSchema = DecisionDefinitionSchema.superRefine((definition, ctx) => {
7826
+ const issue = openRouterModelIssue(definition);
7827
+ if (issue) ctx.addIssue({
7828
+ code: z.ZodIssueCode.custom,
7829
+ path: [
7830
+ "model"
7831
+ ],
7832
+ message: issue
7833
+ });
7834
+ });
7697
7835
  INTEGRATION_PASSTHROUGH_READ_METHODS = [
7698
7836
  "GET",
7699
7837
  "HEAD"
@@ -7938,7 +8076,14 @@ var init_dist = __esm({
7938
8076
  * the target (`snapshot.jobs[]`) so the promote activates and schedules it. Mongo-only marker write; EventBridge stays
7939
8077
  * on the post-promote reconcile. Release-class: needs `register-job` AND `release` on the grant, from a signed step.
7940
8078
  */
7941
- "jobs.register": "register-job"
8079
+ "jobs.register": "register-job",
8080
+ // [SW]
8081
+ /**
8082
+ * SW — `Agents.secrets(id).put(collection, key, value)`: write ONE secret row into the TARGET's own Data, in a
8083
+ * collection the grant names in `secretWriteCollections` (deny by default), keyed by `data._pk`. The value never
8084
+ * comes back: the answer is `{ ok, id, fingerprint }`, and the audit row carries the fingerprint only.
8085
+ */
8086
+ "secrets.put": "act"
7942
8087
  };
7943
8088
  __name(isSupervisionOp, "isSupervisionOp");
7944
8089
  __name4(isSupervisionOp, "isSupervisionOp");
@@ -8134,6 +8279,12 @@ var init_dist = __esm({
8134
8279
  gate: "register-job",
8135
8280
  targeted: true,
8136
8281
  item: "JR"
8282
+ },
8283
+ /** SW — `Agents.secrets(id).put(collection, key, value)`: one secret row in a `secretWriteCollections` collection. */
8284
+ "secrets.put": {
8285
+ gate: "act",
8286
+ targeted: true,
8287
+ item: "SW"
8137
8288
  }
8138
8289
  };
8139
8290
  SUPERVISION_WATCHDOG_OPS = {
@@ -8821,6 +8972,12 @@ var init_dist = __esm({
8821
8972
  {
8822
8973
  re: /\b(npm_)[A-Za-z0-9]{36}\b/g
8823
8974
  },
8975
+ // Linear personal API keys (`lin_api_` + 40) and OAuth access / refresh tokens (`lin_oauth_` + 64 hex,
8976
+ // `lin_refresh_`): the fleet's Engineering Manager hands OAuth tokens to agents in a prompt + tool call, and
8977
+ // both landed verbatim in `vmExecutionLogs` (2026-10-11).
8978
+ {
8979
+ re: /\b(lin_(?:api|oauth|refresh)_)[A-Za-z0-9]{16,}/g
8980
+ },
8824
8981
  {
8825
8982
  re: /\b(sk-ant-)[A-Za-z0-9_-]{16,}/g
8826
8983
  },
@@ -8839,11 +8996,16 @@ var init_dist = __esm({
8839
8996
  {
8840
8997
  re: /\b(ya29\.)[A-Za-z0-9_-]{20,}/g
8841
8998
  },
8999
+ // 2026-10-11: `(?<![A-Za-z0-9_-])`, not `\b` — with `\b` every `eyJ` after a `-` / `_` started an attempt that
9000
+ // ran the first segment to the end of the run and failed on the missing `.`, so `eyJabcdefgh-` × 1 MB took
9001
+ // ~115 s (quadratic). Now a run of segment characters admits at most one attempt.
8842
9002
  {
8843
- re: /\b(eyJ)[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g
9003
+ re: /(?<![A-Za-z0-9_-])(eyJ)[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g
8844
9004
  },
9005
+ // 2026-10-11: the body stops at the next `-----BEGIN ` — a lazy `[\s\S]*?` let every unterminated BEGIN scan to the
9006
+ // end of the text (quadratic on a repeated header with no END). A key whose END follows is matched as before.
8845
9007
  {
8846
- re: /(-----BEGIN [A-Z ]*PRIVATE KEY-----)[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g
9008
+ re: /(-----BEGIN [A-Z ]*PRIVATE KEY-----)(?:(?!-----BEGIN )[\s\S])*?-----END [A-Z ]*PRIVATE KEY-----/g
8847
9009
  },
8848
9010
  // `https://x-access-token:<token>@github.com/…` (the git credential shape the pod scrubbed already)
8849
9011
  {
@@ -8851,7 +9013,7 @@ var init_dist = __esm({
8851
9013
  suffix: true
8852
9014
  }
8853
9015
  ];
8854
- SECRET_NAME = "(?:authorization|proxy-authorization|x-api-key|x-wf-[a-z-]*key|x-internal-auth|api[_-]?key|apikey|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|secret|password|passwd|pwd|passphrase|token|credentials?)";
9016
+ SECRET_NAME = "(?:access[_-]?token|refresh[_-]?token|id[_-]?token|auth[_-]?token|authorization|proxy-authorization|x-api-key|x-wf-[a-z-]*key|x-internal-auth|api[_-]?key|apikey|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|secret|password|passwd|pwd|passphrase|token|credentials?)";
8855
9017
  SECRET_PAIR_PATTERNS = [
8856
9018
  // `Authorization: Bearer x`, `x-api-key: x`, `AWS_SECRET_ACCESS_KEY=x`, `SVC_JOB_KEY=x`, `"apiKey": "x"`,
8857
9019
  // `FOO_TOKEN=x`, `secretKey=x`, `password=x`. Groups: the char before the name, the name, the separator
@@ -8927,6 +9089,13 @@ var init_dist = __esm({
8927
9089
  __name4(scrubProviderMessage, "scrubProviderMessage");
8928
9090
  __name(scrubStepErrorMessage, "scrubStepErrorMessage");
8929
9091
  __name4(scrubStepErrorMessage, "scrubStepErrorMessage");
9092
+ SCRUB_DEEP_MAX_DEPTH = 12;
9093
+ __name(scrubSecretsDeep, "scrubSecretsDeep");
9094
+ __name4(scrubSecretsDeep, "scrubSecretsDeep");
9095
+ __name(isPlainObject2, "isPlainObject2");
9096
+ __name4(isPlainObject2, "isPlainObject");
9097
+ __name(scrubDeep, "scrubDeep");
9098
+ __name4(scrubDeep, "scrubDeep");
8930
9099
  TEST_SESSION_ID_PATTERN = /^tsn_[0-9a-f-]{36}$/;
8931
9100
  __name(isTestSessionId, "isTestSessionId");
8932
9101
  __name4(isTestSessionId, "isTestSessionId");
@@ -8978,6 +9147,27 @@ var init_dist = __esm({
8978
9147
  __name4(sameSupervisionAccessFields, "sameSupervisionAccessFields");
8979
9148
  __name(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
8980
9149
  __name4(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
9150
+ SUPERVISED_SECRET_LIMITS = {
9151
+ /** Fields in `value` (the `_pk` field included). */
9152
+ maxFields: 32,
9153
+ /** One string field's length. */
9154
+ maxStringLength: 8192,
9155
+ /** The canonical JSON of the whole row. */
9156
+ maxBytes: 16384
9157
+ };
9158
+ SUPERVISED_SECRET_NAME_RE = /^[A-Za-z0-9_.:-]{1,128}$/;
9159
+ SUPERVISED_SECRET_FIELD_RE = /^[A-Za-z_][A-Za-z0-9_]{0,63}$/;
9160
+ SUPERVISED_SECRET_KEY_FIELD = "_pk";
9161
+ SUPERVISED_SECRET_ERRORS = {
9162
+ BAD_ARGS: "supervision_secret_bad_args",
9163
+ NOT_GRANTED: "supervision_secret_write_not_granted",
9164
+ /** A collection named for secret writes is write-only for the supervisor: `data.get` / `data.query` refuse it. */
9165
+ WRITE_ONLY: "supervision_secret_collection_write_only"
9166
+ };
9167
+ __name(canonicalSupervisedSecretJson, "canonicalSupervisedSecretJson");
9168
+ __name4(canonicalSupervisedSecretJson, "canonicalSupervisedSecretJson");
9169
+ __name(validateSupervisedSecretPut, "validateSupervisedSecretPut");
9170
+ __name4(validateSupervisedSecretPut, "validateSupervisedSecretPut");
8981
9171
  CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY = "connectionAssignment";
8982
9172
  CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS = 1200;
8983
9173
  CONNECTION_HANDOVER_LIMITS = {
@@ -9867,7 +10057,7 @@ var init_dist = __esm({
9867
10057
  },
9868
10058
  {
9869
10059
  name: "find",
9870
- description: "Act by semantic locator. Args: by(role|text|label|placeholder|alt|title|testid), query, action(click|fill|type|hover|focus|check|uncheck|text), value?, name?, exact?."
10060
+ description: "Act by semantic locator. Args: by(role|text|label|placeholder|alt|title|testid), query, action(click|fill|hover|check|text), value?, name?, exact?."
9871
10061
  },
9872
10062
  // AI fallbacks
9873
10063
  {
@@ -9881,7 +10071,7 @@ var init_dist = __esm({
9881
10071
  // wait
9882
10072
  {
9883
10073
  name: "wait",
9884
- description: "Wait for a condition. Provide one of: selector(+state), ms, text, url, load, fn."
10074
+ description: "Wait for a condition. Provide one of: selector (waits until it is visible), ms, text, url, load, fn."
9885
10075
  },
9886
10076
  // tabs / frames
9887
10077
  {
@@ -9916,7 +10106,7 @@ var init_dist = __esm({
9916
10106
  },
9917
10107
  {
9918
10108
  name: "set",
9919
- description: "Configure the browser. Args: setting(viewport|device|geo|headers|credentials|media), args[]."
10109
+ description: "Configure the browser. Args: setting(viewport|device|geo|headers|credentials|media|offline), args[]."
9920
10110
  },
9921
10111
  // files / clipboard
9922
10112
  {
@@ -9960,7 +10150,7 @@ var init_dist = __esm({
9960
10150
  },
9961
10151
  {
9962
10152
  name: "keyboard",
9963
- description: "Low-level keyboard at focus. Args: action(type|inserttext|keydown|keyup), text?, key?."
10153
+ description: "Low-level keyboard at focus. Args: action(type|inserttext), text. Use press for single keys and chords."
9964
10154
  },
9965
10155
  {
9966
10156
  name: "state",
@@ -10249,7 +10439,11 @@ var init_dist = __esm({
10249
10439
  "max-steps",
10250
10440
  "cost-cap",
10251
10441
  "error",
10252
- "reaped"
10442
+ "reaped",
10443
+ "cancelled",
10444
+ "confirmation",
10445
+ "blocked",
10446
+ "stopped"
10253
10447
  ];
10254
10448
  BROWSER_LOG_CONTEXT_KEYS = [
10255
10449
  "runId",
@@ -10266,9 +10460,9 @@ var init_dist = __esm({
10266
10460
  isString = /* @__PURE__ */ __name4((value3) => typeof value3 === "string", "isString");
10267
10461
  isBoolean = /* @__PURE__ */ __name4((value3) => typeof value3 === "boolean", "isBoolean");
10268
10462
  isCount = /* @__PURE__ */ __name4((value3) => typeof value3 === "number" && Number.isFinite(value3) && value3 >= 0, "isCount");
10269
- isPlainObject2 = /* @__PURE__ */ __name4((value3) => typeof value3 === "object" && value3 !== null && !Array.isArray(value3), "isPlainObject");
10463
+ isPlainObject3 = /* @__PURE__ */ __name4((value3) => typeof value3 === "object" && value3 !== null && !Array.isArray(value3), "isPlainObject");
10270
10464
  oneOf = /* @__PURE__ */ __name4((values) => (value3) => typeof value3 === "string" && values.includes(value3), "oneOf");
10271
- isLimits = /* @__PURE__ */ __name4((value3) => isPlainObject2(value3) && Object.values(value3).every((entry) => isCount(entry)), "isLimits");
10465
+ isLimits = /* @__PURE__ */ __name4((value3) => isPlainObject3(value3) && Object.values(value3).every((entry) => isCount(entry)), "isLimits");
10272
10466
  EVENT_SHAPES = {
10273
10467
  "session.opened": {
10274
10468
  required: {
@@ -10277,7 +10471,8 @@ var init_dist = __esm({
10277
10471
  optional: {
10278
10472
  limits: isLimits,
10279
10473
  region: isString,
10280
- liveUrl: isString
10474
+ liveUrl: isString,
10475
+ browser: isString
10281
10476
  }
10282
10477
  },
10283
10478
  command: {
@@ -10287,7 +10482,7 @@ var init_dist = __esm({
10287
10482
  ok: isBoolean
10288
10483
  },
10289
10484
  optional: {
10290
- args: isPlainObject2,
10485
+ args: isPlainObject3,
10291
10486
  urlBefore: isString,
10292
10487
  urlAfter: isString,
10293
10488
  resultBytes: isCount,
@@ -13189,6 +13384,66 @@ listed here; never invent a target.`;
13189
13384
  }).strict();
13190
13385
  __name(maskMcpServerHeaders, "maskMcpServerHeaders");
13191
13386
  __name4(maskMcpServerHeaders, "maskMcpServerHeaders");
13387
+ SHARED_DATA_NAME_RE = /^[A-Za-z0-9_.-]{1,128}$/;
13388
+ SHARED_DATA_OWNER_PREFIX = "shared:";
13389
+ __name(sharedDataOwnerKey, "sharedDataOwnerKey");
13390
+ __name4(sharedDataOwnerKey, "sharedDataOwnerKey");
13391
+ __name(isSharedDataOwnerKey, "isSharedDataOwnerKey");
13392
+ __name4(isSharedDataOwnerKey, "isSharedDataOwnerKey");
13393
+ SHARED_DATA_ERRORS = {
13394
+ /** Not in the ACL for this access, the collection does not exist, or it belongs to another org: one answer. */
13395
+ FORBIDDEN: "shared_data_forbidden",
13396
+ /** A test session may read a shared collection but never write it (no shadow namespace for shared rows). */
13397
+ TEST_SESSION_WRITE_REFUSED: "shared_data_test_session_write_refused",
13398
+ /** `lua test` / offline runs have no server-side ACL to consult. */
13399
+ UNAVAILABLE_OFFLINE: "shared_data_unavailable_offline",
13400
+ /** A private Data route was called with a shared-collection owner key. */
13401
+ RESERVED_OWNER_KEY: "shared_data_reserved_owner_key",
13402
+ INVALID_NAME: "shared_data_invalid_name"
13403
+ };
13404
+ }
13405
+ });
13406
+
13407
+ // src/api/shared-data.offline.ts
13408
+ function assertSharedName(name) {
13409
+ if (typeof name !== "string" || !SHARED_DATA_NAME_RE.test(name)) {
13410
+ throw new SharedDataError(SHARED_DATA_ERRORS.INVALID_NAME, "Data.shared(name): name must be 1-128 of [A-Za-z0-9_.-]");
13411
+ }
13412
+ }
13413
+ function offlineSharedData(name) {
13414
+ assertSharedName(name);
13415
+ const refuse = /* @__PURE__ */ __name(async () => {
13416
+ throw new SharedDataError(SHARED_DATA_ERRORS.UNAVAILABLE_OFFLINE, `Data.shared('${name}') is only available to a deployed agent (the org ACL is checked on the platform); it is not available in local test runs`);
13417
+ }, "refuse");
13418
+ return {
13419
+ collections: refuse,
13420
+ create: refuse,
13421
+ get: refuse,
13422
+ getEntry: refuse,
13423
+ update: refuse,
13424
+ patch: refuse,
13425
+ increment: refuse,
13426
+ search: refuse,
13427
+ delete: refuse
13428
+ };
13429
+ }
13430
+ var SharedDataError;
13431
+ var init_shared_data_offline = __esm({
13432
+ "src/api/shared-data.offline.ts"() {
13433
+ "use strict";
13434
+ init_dist();
13435
+ SharedDataError = class extends Error {
13436
+ static {
13437
+ __name(this, "SharedDataError");
13438
+ }
13439
+ code;
13440
+ name = "SharedDataError";
13441
+ constructor(code, message) {
13442
+ super(message), this.code = code;
13443
+ }
13444
+ };
13445
+ __name(assertSharedName, "assertSharedName");
13446
+ __name(offlineSharedData, "offlineSharedData");
13192
13447
  }
13193
13448
  });
13194
13449
 
@@ -13646,6 +13901,9 @@ function apiErrorDetail(error) {
13646
13901
  keyOwner: error?.keyOwner
13647
13902
  };
13648
13903
  }
13904
+ function isLuaErrorBody(body) {
13905
+ return typeof body.message === "string" || typeof body.statusCode === "number" || typeof body.code === "string";
13906
+ }
13649
13907
  function isAccessDeniedError(error) {
13650
13908
  if (CliError.isCliError(error)) return error.statusCode === 403;
13651
13909
  return error instanceof Error && error.message.startsWith("Access denied (403)");
@@ -13800,7 +14058,7 @@ function classifyCliError(error) {
13800
14058
  message
13801
14059
  };
13802
14060
  }
13803
- var CLI_EXIT, CliError, NETWORK_ERRNO, NETWORK_MESSAGE, UNAVAILABLE_HINT, VENDOR_RETRY_SOON_SECONDS, VENDOR_LABELS, PROVIDER_REJECTED_SERVER_CODE, PROVIDER_REJECTED_HTTP_STATUS, PROVIDER_REJECTION_REASONS, PROVIDER_REJECTED_NO_RETRY, PROVIDER_REJECTED_LUA_SIDE, MODEL_SETTINGS_URL, DECISION_STATUS;
14061
+ var CLI_EXIT, CliError, EDGE_BLOCKED_CODE, NETWORK_ERRNO, NETWORK_MESSAGE, UNAVAILABLE_HINT, VENDOR_RETRY_SOON_SECONDS, VENDOR_LABELS, PROVIDER_REJECTED_SERVER_CODE, PROVIDER_REJECTED_HTTP_STATUS, PROVIDER_REJECTION_REASONS, PROVIDER_REJECTED_NO_RETRY, PROVIDER_REJECTED_LUA_SIDE, MODEL_SETTINGS_URL, DECISION_STATUS;
13804
14062
  var init_cli_error = __esm({
13805
14063
  "src/errors/cli.error.ts"() {
13806
14064
  "use strict";
@@ -13913,6 +14171,8 @@ var init_cli_error = __esm({
13913
14171
  return error instanceof _CliError || typeof error === "object" && error !== null && error.isCliError === true;
13914
14172
  }
13915
14173
  };
14174
+ EDGE_BLOCKED_CODE = "EDGE_BLOCKED";
14175
+ __name(isLuaErrorBody, "isLuaErrorBody");
13916
14176
  __name(isAccessDeniedError, "isAccessDeniedError");
13917
14177
  NETWORK_ERRNO = /* @__PURE__ */ new Set([
13918
14178
  "ECONNREFUSED",
@@ -14620,6 +14880,14 @@ async function classifyErrorResponse(response) {
14620
14880
  }
14621
14881
  throw new AuthenticationError(`Authentication failed: ${serverMessage}`, "unknown", serverMessage);
14622
14882
  }
14883
+ if (response.status === 403 && !isLuaErrorBody(errorData) && isHtmlResponse(response)) {
14884
+ throw new CliError("forbidden", "The request was blocked before it reached Lua (HTTP 403 from the network firewall), not by your credentials.", {
14885
+ exitCode: CLI_EXIT.FORBIDDEN,
14886
+ statusCode: 403,
14887
+ serverCode: EDGE_BLOCKED_CODE,
14888
+ hint: "Something in the request looked like an attack to the firewall, for example a URL that contains a system path. Change the request and try again."
14889
+ });
14890
+ }
14623
14891
  if (response.status === 403) {
14624
14892
  const detail = errorData.message || "You do not have permission to access this resource.";
14625
14893
  const serverCode = serverCodeOf(errorData.code, errorData.error);
@@ -14712,6 +14980,9 @@ async function* parseSseStream(body, signal) {
14712
14980
  }
14713
14981
  }
14714
14982
  }
14983
+ function isHtmlResponse(response) {
14984
+ return (response.headers.get("content-type") ?? "").toLowerCase().includes("text/html");
14985
+ }
14715
14986
  function parseRetryAfter(raw) {
14716
14987
  if (!raw) return void 0;
14717
14988
  const seconds = Number.parseInt(raw, 10);
@@ -15129,6 +15400,7 @@ var init_http_client = __esm({
15129
15400
  __name(classifyErrorResponse, "classifyErrorResponse");
15130
15401
  __name(serverCodeOf, "serverCodeOf");
15131
15402
  __name(parseSseStream, "parseSseStream");
15403
+ __name(isHtmlResponse, "isHtmlResponse");
15132
15404
  __name(parseRetryAfter, "parseRetryAfter");
15133
15405
  __name(isCoreDrainApiError, "isCoreDrainApiError");
15134
15406
  __name(coreDrainApiRetryDelayMs, "coreDrainApiRetryDelayMs");
@@ -17633,7 +17905,7 @@ function resolvePlacements(calls) {
17633
17905
  function isConditionalJoinId(stepId) {
17634
17906
  return CONDITIONAL_JOIN_ID.test(stepId);
17635
17907
  }
17636
- function isPlainObject3(v) {
17908
+ function isPlainObject4(v) {
17637
17909
  return typeof v === "object" && v !== null && !Array.isArray(v);
17638
17910
  }
17639
17911
  function leafValue(row) {
@@ -17654,7 +17926,7 @@ function deriveRunOutput(steps) {
17654
17926
  if (leaves.length === 1) {
17655
17927
  const leaf = leaves[0];
17656
17928
  const value22 = leafValue(leaf);
17657
- if (isConditionalJoinId(leaf.stepId) && isPlainObject3(value22)) {
17929
+ if (isConditionalJoinId(leaf.stepId) && isPlainObject4(value22)) {
17658
17930
  const keys = Object.keys(value22);
17659
17931
  if (keys.length === 1) return {
17660
17932
  output: value22[keys[0]],
@@ -19644,8 +19916,8 @@ var init_dist2 = __esm({
19644
19916
  CONDITIONAL_JOIN_ID = /^conditional@\d+\.join$/;
19645
19917
  __name(isConditionalJoinId, "isConditionalJoinId");
19646
19918
  __name8(isConditionalJoinId, "isConditionalJoinId");
19647
- __name(isPlainObject3, "isPlainObject");
19648
- __name8(isPlainObject3, "isPlainObject");
19919
+ __name(isPlainObject4, "isPlainObject");
19920
+ __name8(isPlainObject4, "isPlainObject");
19649
19921
  __name(leafValue, "leafValue");
19650
19922
  __name8(leafValue, "leafValue");
19651
19923
  __name(runOutputLeaves, "runOutputLeaves");
@@ -22661,6 +22933,7 @@ var init_cli = __esm({
22661
22933
  init_analytics();
22662
22934
  init_hints();
22663
22935
  init_write_info();
22936
+ init_write_info();
22664
22937
  }
22665
22938
  });
22666
22939
 
@@ -24683,6 +24956,7 @@ var init_custom_data_api_service = __esm({
24683
24956
  init_http_client();
24684
24957
  init_custom_data();
24685
24958
  init_data_entry_instance();
24959
+ init_shared_data_offline();
24686
24960
  CustomDataApi = class extends HttpClient {
24687
24961
  static {
24688
24962
  __name(this, "CustomDataApi");
@@ -24883,6 +25157,10 @@ var init_custom_data_api_service = __esm({
24883
25157
  }
24884
25158
  throw new Error(response.error?.message || "Failed to delete custom data entry");
24885
25159
  }
25160
+ /** Org-shared Data. Local runs have no org ACL to consult, so every call of the handle rejects (offline). */
25161
+ shared(name) {
25162
+ return offlineSharedData(name);
25163
+ }
24886
25164
  };
24887
25165
  }
24888
25166
  });
@@ -25778,7 +26056,7 @@ var init_agents_api_service = __esm({
25778
26056
  if (op === "lease.acquire" || op === "lease.release") {
25779
26057
  refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
25780
26058
  }
25781
- if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set" || op === "secrets.attach") {
26059
+ if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set" || op === "secrets.attach" || op === "secrets.put") {
25782
26060
  refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
25783
26061
  }
25784
26062
  if (op === "agents.directory" || op === "access.request" || op === "access.requests" || op === "access.cancel") {
@@ -25830,7 +26108,9 @@ var init_agents_api_service = __esm({
25830
26108
  return runSummary(await get(`/workflows/${id2}/runs/${encodeURIComponent(String(args.runId ?? ""))}`));
25831
26109
  case "versions.list":
25832
26110
  return get(`/developer/agents/${id2}/versions${q({
25833
- limit: args.limit
26111
+ limit: args.limit,
26112
+ status: Array.isArray(args.status) ? args.status.join(",") : args.status,
26113
+ offset: args.offset
25834
26114
  })}`);
25835
26115
  case "versions.get":
25836
26116
  return get(`/developer/agents/${id2}/versions/${encodeURIComponent(String(args.version))}`);
@@ -26695,10 +26975,32 @@ function createWorkflowsRuntime(getApi) {
26695
26975
  assertBoundAgent(api, agentId2, "goals.close");
26696
26976
  return unwrap(await api.closeGoal(goalId, opts), "Workflows.goals.close");
26697
26977
  }
26978
+ },
26979
+ // Lua Apps — off the platform (`lua apps dev`, `lua test webapp`) a route runs as you, so the viewer IS the
26980
+ // CLI's own credential; on the platform the sandbox global routes these through the gateway-sealed viewer.
26981
+ viewer: {
26982
+ async decideApproval(runId, approvalId, decision) {
26983
+ const api = viewerApi(await getApi(), decision.agentId);
26984
+ return unwrap(await api.resolveApproval(runId, approvalId, {
26985
+ decision: decision.decision,
26986
+ ...decision.note !== void 0 ? {
26987
+ note: decision.note
26988
+ } : {},
26989
+ ...decision.expectedFingerprint !== void 0 ? {
26990
+ expectedFingerprint: decision.expectedFingerprint
26991
+ } : {}
26992
+ }), "Workflows.viewer.decideApproval");
26993
+ },
26994
+ async resume(runId, stepId, resumeData, opts = {}) {
26995
+ const api = viewerApi(await getApi(), opts.agentId);
26996
+ return unwrap(await api.resumeRun(runId, stepId, {
26997
+ resumeData
26998
+ }), "Workflows.viewer.resume");
26999
+ }
26698
27000
  }
26699
27001
  };
26700
27002
  }
26701
- var WORKFLOW_START_MAX_WAIT_SECONDS, WORKFLOW_START_CLIENT_DEADLINE_SLACK_MS, WorkflowApiError, unwrap, isWorkflowIdShaped, assertBoundAgent, pathId, WorkflowApi;
27003
+ var WORKFLOW_START_MAX_WAIT_SECONDS, WORKFLOW_START_CLIENT_DEADLINE_SLACK_MS, WorkflowApiError, unwrap, isWorkflowIdShaped, viewerApi, assertBoundAgent, pathId, WorkflowApi;
26702
27004
  var init_workflow_api_service = __esm({
26703
27005
  "src/api/workflow.api.service.ts"() {
26704
27006
  "use strict";
@@ -26731,6 +27033,7 @@ var init_workflow_api_service = __esm({
26731
27033
  return res.data;
26732
27034
  }, "unwrap");
26733
27035
  isWorkflowIdShaped = /* @__PURE__ */ __name((v) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v) || /^wfc?_[A-Za-z0-9]/.test(v), "isWorkflowIdShaped");
27036
+ viewerApi = /* @__PURE__ */ __name((api, agentId2) => agentId2 && agentId2 !== api.agentId ? api.forAgent(agentId2) : api, "viewerApi");
26734
27037
  assertBoundAgent = /* @__PURE__ */ __name((api, agentId2, member) => {
26735
27038
  if (agentId2 && agentId2 !== api.agentId) {
26736
27039
  throw new WorkflowApiError("FORBIDDEN", `Workflows.${member}: goals are scoped to the bound agent ${api.agentId}`, 403);
@@ -26738,7 +27041,7 @@ var init_workflow_api_service = __esm({
26738
27041
  }, "assertBoundAgent");
26739
27042
  pathId = /* @__PURE__ */ __name((id2) => encodeURIComponent(id2), "pathId");
26740
27043
  __name(createWorkflowsRuntime, "createWorkflowsRuntime");
26741
- WorkflowApi = class extends HttpClient {
27044
+ WorkflowApi = class _WorkflowApi extends HttpClient {
26742
27045
  static {
26743
27046
  __name(this, "WorkflowApi");
26744
27047
  }
@@ -26749,6 +27052,10 @@ var init_workflow_api_service = __esm({
26749
27052
  this.credential = credential;
26750
27053
  this.agentId = agentId2;
26751
27054
  }
27055
+ /** The same client and credential, bound to another agent's workflow tree (`Workflows.viewer` with `agentId`). */
27056
+ forAgent(agentId2) {
27057
+ return new _WorkflowApi(this.baseUrl, this.credential, agentId2);
27058
+ }
26752
27059
  /** PRO-1434 (main sync): auth rides the renewable request credential — resolve a current bearer per call. */
26753
27060
  async auth() {
26754
27061
  return {
@@ -28000,7 +28307,20 @@ function buildSupervisionAgentsApi(call2) {
28000
28307
  secrets: /* @__PURE__ */ __name2((agentId2) => ({
28001
28308
  attach: /* @__PURE__ */ __name2((requestIds) => call2("secrets.attach", agentId2, {
28002
28309
  requestIds: copyList(requestIds)
28003
- }), "attach")
28310
+ }), "attach"),
28311
+ /**
28312
+ * SW — write ONE secret row into `agentId`'s own Data: the row of `collection` whose `_pk` is `key`, replaced
28313
+ * whole by `value` (flat: string / number / boolean / null fields), created when absent. Needs `act` and the
28314
+ * collection in the grant's `secretWriteCollections`. Answers `{ ok, id, fingerprint }`, never the value; call it
28315
+ * from code (a workflow step, a job), so the secret never passes through a model.
28316
+ */
28317
+ put: /* @__PURE__ */ __name2((collection, key, value3) => call2("secrets.put", agentId2, {
28318
+ collection,
28319
+ key,
28320
+ value: value3 && typeof value3 === "object" && !Array.isArray(value3) ? {
28321
+ ...value3
28322
+ } : value3
28323
+ }), "put")
28004
28324
  }), "secrets")
28005
28325
  };
28006
28326
  }
@@ -28065,6 +28385,7 @@ var offlineMetrics = {
28065
28385
  };
28066
28386
 
28067
28387
  // src/api-exports.ts
28388
+ init_shared_data_offline();
28068
28389
  init_connection_requests_api_service();
28069
28390
  init_decisions_api_service();
28070
28391
  init_decisions_api();
@@ -29161,6 +29482,7 @@ function createOfflineProgressApi() {
29161
29482
  __name(createOfflineProgressApi, "createOfflineProgressApi");
29162
29483
 
29163
29484
  // src/api-exports.ts
29485
+ init_shared_data_offline();
29164
29486
  var User = {
29165
29487
  /**
29166
29488
  * Retrieves user data by userId, email, or phone.
@@ -29414,6 +29736,31 @@ var Data = {
29414
29736
  async delete(collectionName, entryId) {
29415
29737
  const instance2 = await getDataInstance();
29416
29738
  return instance2.delete(collectionName, entryId);
29739
+ },
29740
+ /**
29741
+ * An org-shared Data collection (namespace). An org admin creates it and names which agents of the org may read
29742
+ * and which may write it (`POST /admin/orgs/:orgId/shared-collections`); agents never create one. The handle has
29743
+ * the same methods as `Data`, scoped to the namespace, so a namespace can hold several collections:
29744
+ *
29745
+ * ```typescript
29746
+ * const map = Data.shared('fleet_map');
29747
+ * await map.create('repos', { repo: 'lua-core-services', tier: 1 }, { searchText: 'backend monorepo' }); // writers
29748
+ * const { data } = await map.get('repos', { tier: 1 }); // readers
29749
+ * const hits = await map.search('edges', 'who calls lua-agents', 10);
29750
+ * ```
29751
+ *
29752
+ * - Readers may `collections`, `get`, `getEntry`, `search`; writers may also `create`, `update`, `patch`,
29753
+ * `increment`, `delete` (a writer can read). Anything else rejects with `code === 'shared_data_forbidden'`
29754
+ * (403) — also when the name does not exist or belongs to another org.
29755
+ * - Same limits, filters, managed indexes, compare-and-swap and vector search as `Data`. Every write is audited
29756
+ * (agent, collection, entry id; never the value).
29757
+ * - A test session may read but not write (`shared_data_test_session_write_refused`, 409).
29758
+ * - Deployed agents only: under `lua test` every call rejects with `code === 'shared_data_unavailable_offline'`.
29759
+ *
29760
+ * @param name - The shared collection name the org admin created (1-128 of `[A-Za-z0-9_.-]`)
29761
+ */
29762
+ shared(name) {
29763
+ return offlineSharedData(name);
29417
29764
  }
29418
29765
  };
29419
29766
  var Products = {
@@ -30079,6 +30426,7 @@ export {
30079
30426
  Products,
30080
30427
  Progress,
30081
30428
  Secrets,
30429
+ SharedDataError,
30082
30430
  Team,
30083
30431
  Templates,
30084
30432
  Threads,