lua-cli 3.49.2 → 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.
- package/dist/api-exports.d.ts +163 -16
- package/dist/api-exports.js +303 -23
- package/dist/api-exports.js.map +1 -1
- package/dist/index.js +316 -38
- package/dist/index.js.map +1 -1
- package/dist/workflow-builder.js +167 -17
- package/dist/workflow-builder.js.map +1 -1
- package/docs/README.md +3 -3
- package/docs/api/Agents.md +51 -9
- package/docs/api/Data.md +51 -0
- package/docs/api/Workflows.md +1 -0
- package/docs/workflows/schedules.md +1 -1
- package/package.json +3 -3
- package/template/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2668,6 +2668,31 @@ function scrubProviderMessage(raw, max = PROVIDER_MESSAGE_MAX_CHARS) {
|
|
|
2668
2668
|
function scrubStepErrorMessage(raw) {
|
|
2669
2669
|
return scrubProviderMessage(raw, ERROR_MESSAGE_MAX_CHARS);
|
|
2670
2670
|
}
|
|
2671
|
+
function scrubSecretsDeep(value3, options = {}) {
|
|
2672
|
+
return scrubDeep(value3, 0, /* @__PURE__ */ new WeakSet(), options.text !== false);
|
|
2673
|
+
}
|
|
2674
|
+
function isPlainObject2(v) {
|
|
2675
|
+
if (!v || typeof v !== "object") return false;
|
|
2676
|
+
const proto = Object.getPrototypeOf(v);
|
|
2677
|
+
return proto === Object.prototype || proto === null;
|
|
2678
|
+
}
|
|
2679
|
+
function scrubDeep(value3, depth, seen, text2) {
|
|
2680
|
+
if (typeof value3 === "string") return text2 ? scrubSecretText(value3) : value3;
|
|
2681
|
+
if (!value3 || typeof value3 !== "object") return value3;
|
|
2682
|
+
if (!Array.isArray(value3) && !isPlainObject2(value3)) return value3;
|
|
2683
|
+
if (depth >= SCRUB_DEEP_MAX_DEPTH || seen.has(value3)) return REDACTED_PLACEHOLDER;
|
|
2684
|
+
seen.add(value3);
|
|
2685
|
+
try {
|
|
2686
|
+
if (Array.isArray(value3)) return value3.map((v) => scrubDeep(v, depth + 1, seen, text2));
|
|
2687
|
+
const out = {};
|
|
2688
|
+
for (const [k, v] of Object.entries(value3)) {
|
|
2689
|
+
out[k] = isWorkflowSecretKey(k) && v !== null && v !== void 0 && typeof v !== "boolean" ? REDACTED_PLACEHOLDER : scrubDeep(v, depth + 1, seen, text2);
|
|
2690
|
+
}
|
|
2691
|
+
return out;
|
|
2692
|
+
} finally {
|
|
2693
|
+
seen.delete(value3);
|
|
2694
|
+
}
|
|
2695
|
+
}
|
|
2671
2696
|
function isTestSessionId(value3) {
|
|
2672
2697
|
return typeof value3 === "string" && TEST_SESSION_ID_PATTERN.test(value3);
|
|
2673
2698
|
}
|
|
@@ -2792,6 +2817,68 @@ function supervisionAccessBindingViolation(merged) {
|
|
|
2792
2817
|
}
|
|
2793
2818
|
return null;
|
|
2794
2819
|
}
|
|
2820
|
+
function canonicalSupervisedSecretJson(row2) {
|
|
2821
|
+
const sorted = {};
|
|
2822
|
+
for (const k of Object.keys(row2).sort()) sorted[k] = row2[k];
|
|
2823
|
+
return JSON.stringify(sorted);
|
|
2824
|
+
}
|
|
2825
|
+
function validateSupervisedSecretPut(args2) {
|
|
2826
|
+
const bad = /* @__PURE__ */ __name3((message) => ({
|
|
2827
|
+
ok: false,
|
|
2828
|
+
code: SUPERVISED_SECRET_ERRORS.BAD_ARGS,
|
|
2829
|
+
message
|
|
2830
|
+
}), "bad");
|
|
2831
|
+
const collection = args2?.collection;
|
|
2832
|
+
if (typeof collection !== "string" || !SUPERVISED_SECRET_NAME_RE.test(collection) || collection.startsWith("__")) {
|
|
2833
|
+
return bad("collection must be an explicit collection name (letters, digits, _ . : -; at most 128)");
|
|
2834
|
+
}
|
|
2835
|
+
const key = args2?.key;
|
|
2836
|
+
if (typeof key !== "string" || !SUPERVISED_SECRET_NAME_RE.test(key)) {
|
|
2837
|
+
return bad("key must be an explicit row key (letters, digits, _ . : -; at most 128)");
|
|
2838
|
+
}
|
|
2839
|
+
const value3 = args2?.value;
|
|
2840
|
+
if (!value3 || typeof value3 !== "object" || Array.isArray(value3) || Object.getPrototypeOf(value3) !== Object.prototype) {
|
|
2841
|
+
return bad("value must be a plain object of scalar fields");
|
|
2842
|
+
}
|
|
2843
|
+
const fields = Object.keys(value3);
|
|
2844
|
+
const row2 = {};
|
|
2845
|
+
for (const field of fields) {
|
|
2846
|
+
if (!SUPERVISED_SECRET_FIELD_RE.test(field)) {
|
|
2847
|
+
return bad("value field names must be plain identifiers (no $ prefix, no dots; at most 64 characters)");
|
|
2848
|
+
}
|
|
2849
|
+
const v = value3[field];
|
|
2850
|
+
if (typeof v === "string") {
|
|
2851
|
+
if (v.length > SUPERVISED_SECRET_LIMITS.maxStringLength) {
|
|
2852
|
+
return bad(`value.${field} is longer than ${SUPERVISED_SECRET_LIMITS.maxStringLength} characters`);
|
|
2853
|
+
}
|
|
2854
|
+
} else if (typeof v === "number") {
|
|
2855
|
+
if (!Number.isFinite(v)) return bad(`value.${field} must be a finite number`);
|
|
2856
|
+
} else if (typeof v !== "boolean" && v !== null) {
|
|
2857
|
+
return bad(`value.${field} must be a string, a finite number, a boolean or null (no nesting)`);
|
|
2858
|
+
}
|
|
2859
|
+
row2[field] = v;
|
|
2860
|
+
}
|
|
2861
|
+
if (Object.prototype.hasOwnProperty.call(row2, SUPERVISED_SECRET_KEY_FIELD) && row2[SUPERVISED_SECRET_KEY_FIELD] !== key) {
|
|
2862
|
+
return bad(`value.${SUPERVISED_SECRET_KEY_FIELD}, when present, must equal key`);
|
|
2863
|
+
}
|
|
2864
|
+
row2[SUPERVISED_SECRET_KEY_FIELD] = key;
|
|
2865
|
+
if (Object.keys(row2).length > SUPERVISED_SECRET_LIMITS.maxFields) {
|
|
2866
|
+
return bad(`value has more than ${SUPERVISED_SECRET_LIMITS.maxFields} fields`);
|
|
2867
|
+
}
|
|
2868
|
+
if (Object.keys(row2).length < 2) return bad("value must carry at least one field besides _pk");
|
|
2869
|
+
const bytes = new TextEncoder().encode(canonicalSupervisedSecretJson(row2)).byteLength;
|
|
2870
|
+
if (bytes > SUPERVISED_SECRET_LIMITS.maxBytes) {
|
|
2871
|
+
return bad(`value is larger than ${SUPERVISED_SECRET_LIMITS.maxBytes} bytes`);
|
|
2872
|
+
}
|
|
2873
|
+
return {
|
|
2874
|
+
ok: true,
|
|
2875
|
+
input: {
|
|
2876
|
+
collection,
|
|
2877
|
+
key,
|
|
2878
|
+
row: row2
|
|
2879
|
+
}
|
|
2880
|
+
};
|
|
2881
|
+
}
|
|
2795
2882
|
function hasFormatCharacters(text2) {
|
|
2796
2883
|
return FORMAT_CHARS.test(text2);
|
|
2797
2884
|
}
|
|
@@ -4677,7 +4764,7 @@ function describeFieldViolation(key, value3, check) {
|
|
|
4677
4764
|
return void 0;
|
|
4678
4765
|
}
|
|
4679
4766
|
function describeBrowserLogEventViolation(value3) {
|
|
4680
|
-
if (!
|
|
4767
|
+
if (!isPlainObject3(value3)) return "event must be an object";
|
|
4681
4768
|
const event = value3;
|
|
4682
4769
|
const base = describeBaseViolation(event);
|
|
4683
4770
|
if (base) return base;
|
|
@@ -4697,7 +4784,7 @@ function isBrowserLogEvent(value3) {
|
|
|
4697
4784
|
}
|
|
4698
4785
|
function describeBrowserLogContextViolation(value3) {
|
|
4699
4786
|
if (value3 === void 0) return void 0;
|
|
4700
|
-
if (!
|
|
4787
|
+
if (!isPlainObject3(value3)) return "logContext must be an object";
|
|
4701
4788
|
for (const [key, entry] of Object.entries(value3)) {
|
|
4702
4789
|
if (!BROWSER_LOG_CONTEXT_KEYS.includes(key)) return `logContext.${key} is not allowed`;
|
|
4703
4790
|
if (entry === void 0) continue;
|
|
@@ -7529,7 +7616,13 @@ function maskMcpServerHeaders(server) {
|
|
|
7529
7616
|
headersSet: headerNames.length > 0
|
|
7530
7617
|
};
|
|
7531
7618
|
}
|
|
7532
|
-
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, 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, 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, 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_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;
|
|
7619
|
+
function sharedDataOwnerKey(collectionId) {
|
|
7620
|
+
return `${SHARED_DATA_OWNER_PREFIX}${collectionId}`;
|
|
7621
|
+
}
|
|
7622
|
+
function isSharedDataOwnerKey(agentId2) {
|
|
7623
|
+
return typeof agentId2 === "string" && agentId2.startsWith(SHARED_DATA_OWNER_PREFIX);
|
|
7624
|
+
}
|
|
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;
|
|
7533
7626
|
var init_dist = __esm({
|
|
7534
7627
|
"../shared-types/dist/index.mjs"() {
|
|
7535
7628
|
"use strict";
|
|
@@ -7991,7 +8084,14 @@ var init_dist = __esm({
|
|
|
7991
8084
|
* the target (`snapshot.jobs[]`) so the promote activates and schedules it. Mongo-only marker write; EventBridge stays
|
|
7992
8085
|
* on the post-promote reconcile. Release-class: needs `register-job` AND `release` on the grant, from a signed step.
|
|
7993
8086
|
*/
|
|
7994
|
-
"jobs.register": "register-job"
|
|
8087
|
+
"jobs.register": "register-job",
|
|
8088
|
+
// [SW]
|
|
8089
|
+
/**
|
|
8090
|
+
* SW — `Agents.secrets(id).put(collection, key, value)`: write ONE secret row into the TARGET's own Data, in a
|
|
8091
|
+
* collection the grant names in `secretWriteCollections` (deny by default), keyed by `data._pk`. The value never
|
|
8092
|
+
* comes back: the answer is `{ ok, id, fingerprint }`, and the audit row carries the fingerprint only.
|
|
8093
|
+
*/
|
|
8094
|
+
"secrets.put": "act"
|
|
7995
8095
|
};
|
|
7996
8096
|
__name(isSupervisionOp, "isSupervisionOp");
|
|
7997
8097
|
__name3(isSupervisionOp, "isSupervisionOp");
|
|
@@ -8187,6 +8287,12 @@ var init_dist = __esm({
|
|
|
8187
8287
|
gate: "register-job",
|
|
8188
8288
|
targeted: true,
|
|
8189
8289
|
item: "JR"
|
|
8290
|
+
},
|
|
8291
|
+
/** SW — `Agents.secrets(id).put(collection, key, value)`: one secret row in a `secretWriteCollections` collection. */
|
|
8292
|
+
"secrets.put": {
|
|
8293
|
+
gate: "act",
|
|
8294
|
+
targeted: true,
|
|
8295
|
+
item: "SW"
|
|
8190
8296
|
}
|
|
8191
8297
|
};
|
|
8192
8298
|
SUPERVISION_WATCHDOG_OPS = {
|
|
@@ -8874,6 +8980,12 @@ var init_dist = __esm({
|
|
|
8874
8980
|
{
|
|
8875
8981
|
re: /\b(npm_)[A-Za-z0-9]{36}\b/g
|
|
8876
8982
|
},
|
|
8983
|
+
// Linear personal API keys (`lin_api_` + 40) and OAuth access / refresh tokens (`lin_oauth_` + 64 hex,
|
|
8984
|
+
// `lin_refresh_`): the fleet's Engineering Manager hands OAuth tokens to agents in a prompt + tool call, and
|
|
8985
|
+
// both landed verbatim in `vmExecutionLogs` (2026-10-11).
|
|
8986
|
+
{
|
|
8987
|
+
re: /\b(lin_(?:api|oauth|refresh)_)[A-Za-z0-9]{16,}/g
|
|
8988
|
+
},
|
|
8877
8989
|
{
|
|
8878
8990
|
re: /\b(sk-ant-)[A-Za-z0-9_-]{16,}/g
|
|
8879
8991
|
},
|
|
@@ -8892,11 +9004,16 @@ var init_dist = __esm({
|
|
|
8892
9004
|
{
|
|
8893
9005
|
re: /\b(ya29\.)[A-Za-z0-9_-]{20,}/g
|
|
8894
9006
|
},
|
|
9007
|
+
// 2026-10-11: `(?<![A-Za-z0-9_-])`, not `\b` — with `\b` every `eyJ` after a `-` / `_` started an attempt that
|
|
9008
|
+
// ran the first segment to the end of the run and failed on the missing `.`, so `eyJabcdefgh-` × 1 MB took
|
|
9009
|
+
// ~115 s (quadratic). Now a run of segment characters admits at most one attempt.
|
|
8895
9010
|
{
|
|
8896
|
-
re:
|
|
9011
|
+
re: /(?<![A-Za-z0-9_-])(eyJ)[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g
|
|
8897
9012
|
},
|
|
9013
|
+
// 2026-10-11: the body stops at the next `-----BEGIN ` — a lazy `[\s\S]*?` let every unterminated BEGIN scan to the
|
|
9014
|
+
// end of the text (quadratic on a repeated header with no END). A key whose END follows is matched as before.
|
|
8898
9015
|
{
|
|
8899
|
-
re: /(-----BEGIN [A-Z ]*PRIVATE KEY-----)[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g
|
|
9016
|
+
re: /(-----BEGIN [A-Z ]*PRIVATE KEY-----)(?:(?!-----BEGIN )[\s\S])*?-----END [A-Z ]*PRIVATE KEY-----/g
|
|
8900
9017
|
},
|
|
8901
9018
|
// `https://x-access-token:<token>@github.com/…` (the git credential shape the pod scrubbed already)
|
|
8902
9019
|
{
|
|
@@ -8904,7 +9021,7 @@ var init_dist = __esm({
|
|
|
8904
9021
|
suffix: true
|
|
8905
9022
|
}
|
|
8906
9023
|
];
|
|
8907
|
-
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?)";
|
|
9024
|
+
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?)";
|
|
8908
9025
|
SECRET_PAIR_PATTERNS = [
|
|
8909
9026
|
// `Authorization: Bearer x`, `x-api-key: x`, `AWS_SECRET_ACCESS_KEY=x`, `SVC_JOB_KEY=x`, `"apiKey": "x"`,
|
|
8910
9027
|
// `FOO_TOKEN=x`, `secretKey=x`, `password=x`. Groups: the char before the name, the name, the separator
|
|
@@ -8980,6 +9097,13 @@ var init_dist = __esm({
|
|
|
8980
9097
|
__name3(scrubProviderMessage, "scrubProviderMessage");
|
|
8981
9098
|
__name(scrubStepErrorMessage, "scrubStepErrorMessage");
|
|
8982
9099
|
__name3(scrubStepErrorMessage, "scrubStepErrorMessage");
|
|
9100
|
+
SCRUB_DEEP_MAX_DEPTH = 12;
|
|
9101
|
+
__name(scrubSecretsDeep, "scrubSecretsDeep");
|
|
9102
|
+
__name3(scrubSecretsDeep, "scrubSecretsDeep");
|
|
9103
|
+
__name(isPlainObject2, "isPlainObject2");
|
|
9104
|
+
__name3(isPlainObject2, "isPlainObject");
|
|
9105
|
+
__name(scrubDeep, "scrubDeep");
|
|
9106
|
+
__name3(scrubDeep, "scrubDeep");
|
|
8983
9107
|
TEST_SESSION_ID_PATTERN = /^tsn_[0-9a-f-]{36}$/;
|
|
8984
9108
|
__name(isTestSessionId, "isTestSessionId");
|
|
8985
9109
|
__name3(isTestSessionId, "isTestSessionId");
|
|
@@ -9031,6 +9155,27 @@ var init_dist = __esm({
|
|
|
9031
9155
|
__name3(sameSupervisionAccessFields, "sameSupervisionAccessFields");
|
|
9032
9156
|
__name(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
|
|
9033
9157
|
__name3(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
|
|
9158
|
+
SUPERVISED_SECRET_LIMITS = {
|
|
9159
|
+
/** Fields in `value` (the `_pk` field included). */
|
|
9160
|
+
maxFields: 32,
|
|
9161
|
+
/** One string field's length. */
|
|
9162
|
+
maxStringLength: 8192,
|
|
9163
|
+
/** The canonical JSON of the whole row. */
|
|
9164
|
+
maxBytes: 16384
|
|
9165
|
+
};
|
|
9166
|
+
SUPERVISED_SECRET_NAME_RE = /^[A-Za-z0-9_.:-]{1,128}$/;
|
|
9167
|
+
SUPERVISED_SECRET_FIELD_RE = /^[A-Za-z_][A-Za-z0-9_]{0,63}$/;
|
|
9168
|
+
SUPERVISED_SECRET_KEY_FIELD = "_pk";
|
|
9169
|
+
SUPERVISED_SECRET_ERRORS = {
|
|
9170
|
+
BAD_ARGS: "supervision_secret_bad_args",
|
|
9171
|
+
NOT_GRANTED: "supervision_secret_write_not_granted",
|
|
9172
|
+
/** A collection named for secret writes is write-only for the supervisor: `data.get` / `data.query` refuse it. */
|
|
9173
|
+
WRITE_ONLY: "supervision_secret_collection_write_only"
|
|
9174
|
+
};
|
|
9175
|
+
__name(canonicalSupervisedSecretJson, "canonicalSupervisedSecretJson");
|
|
9176
|
+
__name3(canonicalSupervisedSecretJson, "canonicalSupervisedSecretJson");
|
|
9177
|
+
__name(validateSupervisedSecretPut, "validateSupervisedSecretPut");
|
|
9178
|
+
__name3(validateSupervisedSecretPut, "validateSupervisedSecretPut");
|
|
9034
9179
|
CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY = "connectionAssignment";
|
|
9035
9180
|
CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS = 1200;
|
|
9036
9181
|
CONNECTION_HANDOVER_LIMITS = {
|
|
@@ -9910,7 +10055,7 @@ var init_dist = __esm({
|
|
|
9910
10055
|
},
|
|
9911
10056
|
{
|
|
9912
10057
|
name: "find",
|
|
9913
|
-
description: "Act by semantic locator. Args: by(role|text|label|placeholder|alt|title|testid), query, action(click|fill|
|
|
10058
|
+
description: "Act by semantic locator. Args: by(role|text|label|placeholder|alt|title|testid), query, action(click|fill|hover|check|text), value?, name?, exact?."
|
|
9914
10059
|
},
|
|
9915
10060
|
// AI fallbacks
|
|
9916
10061
|
{
|
|
@@ -9924,7 +10069,7 @@ var init_dist = __esm({
|
|
|
9924
10069
|
// wait
|
|
9925
10070
|
{
|
|
9926
10071
|
name: "wait",
|
|
9927
|
-
description: "Wait for a condition. Provide one of: selector(
|
|
10072
|
+
description: "Wait for a condition. Provide one of: selector (waits until it is visible), ms, text, url, load, fn."
|
|
9928
10073
|
},
|
|
9929
10074
|
// tabs / frames
|
|
9930
10075
|
{
|
|
@@ -9959,7 +10104,7 @@ var init_dist = __esm({
|
|
|
9959
10104
|
},
|
|
9960
10105
|
{
|
|
9961
10106
|
name: "set",
|
|
9962
|
-
description: "Configure the browser. Args: setting(viewport|device|geo|headers|credentials|media), args[]."
|
|
10107
|
+
description: "Configure the browser. Args: setting(viewport|device|geo|headers|credentials|media|offline), args[]."
|
|
9963
10108
|
},
|
|
9964
10109
|
// files / clipboard
|
|
9965
10110
|
{
|
|
@@ -10003,7 +10148,7 @@ var init_dist = __esm({
|
|
|
10003
10148
|
},
|
|
10004
10149
|
{
|
|
10005
10150
|
name: "keyboard",
|
|
10006
|
-
description: "Low-level keyboard at focus. Args: action(type|inserttext
|
|
10151
|
+
description: "Low-level keyboard at focus. Args: action(type|inserttext), text. Use press for single keys and chords."
|
|
10007
10152
|
},
|
|
10008
10153
|
{
|
|
10009
10154
|
name: "state",
|
|
@@ -10318,9 +10463,9 @@ var init_dist = __esm({
|
|
|
10318
10463
|
isString = /* @__PURE__ */ __name3((value3) => typeof value3 === "string", "isString");
|
|
10319
10464
|
isBoolean = /* @__PURE__ */ __name3((value3) => typeof value3 === "boolean", "isBoolean");
|
|
10320
10465
|
isCount = /* @__PURE__ */ __name3((value3) => typeof value3 === "number" && Number.isFinite(value3) && value3 >= 0, "isCount");
|
|
10321
|
-
|
|
10466
|
+
isPlainObject3 = /* @__PURE__ */ __name3((value3) => typeof value3 === "object" && value3 !== null && !Array.isArray(value3), "isPlainObject");
|
|
10322
10467
|
oneOf = /* @__PURE__ */ __name3((values) => (value3) => typeof value3 === "string" && values.includes(value3), "oneOf");
|
|
10323
|
-
isLimits = /* @__PURE__ */ __name3((value3) =>
|
|
10468
|
+
isLimits = /* @__PURE__ */ __name3((value3) => isPlainObject3(value3) && Object.values(value3).every((entry) => isCount(entry)), "isLimits");
|
|
10324
10469
|
EVENT_SHAPES = {
|
|
10325
10470
|
"session.opened": {
|
|
10326
10471
|
required: {
|
|
@@ -10340,7 +10485,7 @@ var init_dist = __esm({
|
|
|
10340
10485
|
ok: isBoolean
|
|
10341
10486
|
},
|
|
10342
10487
|
optional: {
|
|
10343
|
-
args:
|
|
10488
|
+
args: isPlainObject3,
|
|
10344
10489
|
urlBefore: isString,
|
|
10345
10490
|
urlAfter: isString,
|
|
10346
10491
|
resultBytes: isCount,
|
|
@@ -13361,6 +13506,23 @@ listed here; never invent a target.`;
|
|
|
13361
13506
|
}).strict();
|
|
13362
13507
|
__name(maskMcpServerHeaders, "maskMcpServerHeaders");
|
|
13363
13508
|
__name3(maskMcpServerHeaders, "maskMcpServerHeaders");
|
|
13509
|
+
SHARED_DATA_NAME_RE = /^[A-Za-z0-9_.-]{1,128}$/;
|
|
13510
|
+
SHARED_DATA_OWNER_PREFIX = "shared:";
|
|
13511
|
+
__name(sharedDataOwnerKey, "sharedDataOwnerKey");
|
|
13512
|
+
__name3(sharedDataOwnerKey, "sharedDataOwnerKey");
|
|
13513
|
+
__name(isSharedDataOwnerKey, "isSharedDataOwnerKey");
|
|
13514
|
+
__name3(isSharedDataOwnerKey, "isSharedDataOwnerKey");
|
|
13515
|
+
SHARED_DATA_ERRORS = {
|
|
13516
|
+
/** Not in the ACL for this access, the collection does not exist, or it belongs to another org: one answer. */
|
|
13517
|
+
FORBIDDEN: "shared_data_forbidden",
|
|
13518
|
+
/** A test session may read a shared collection but never write it (no shadow namespace for shared rows). */
|
|
13519
|
+
TEST_SESSION_WRITE_REFUSED: "shared_data_test_session_write_refused",
|
|
13520
|
+
/** `lua test` / offline runs have no server-side ACL to consult. */
|
|
13521
|
+
UNAVAILABLE_OFFLINE: "shared_data_unavailable_offline",
|
|
13522
|
+
/** A private Data route was called with a shared-collection owner key. */
|
|
13523
|
+
RESERVED_OWNER_KEY: "shared_data_reserved_owner_key",
|
|
13524
|
+
INVALID_NAME: "shared_data_invalid_name"
|
|
13525
|
+
};
|
|
13364
13526
|
}
|
|
13365
13527
|
});
|
|
13366
13528
|
|
|
@@ -17365,7 +17527,7 @@ function resolvePlacements(calls) {
|
|
|
17365
17527
|
function isConditionalJoinId(stepId) {
|
|
17366
17528
|
return CONDITIONAL_JOIN_ID.test(stepId);
|
|
17367
17529
|
}
|
|
17368
|
-
function
|
|
17530
|
+
function isPlainObject4(v) {
|
|
17369
17531
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
17370
17532
|
}
|
|
17371
17533
|
function leafValue(row2) {
|
|
@@ -17386,7 +17548,7 @@ function deriveRunOutput(steps) {
|
|
|
17386
17548
|
if (leaves.length === 1) {
|
|
17387
17549
|
const leaf = leaves[0];
|
|
17388
17550
|
const value22 = leafValue(leaf);
|
|
17389
|
-
if (isConditionalJoinId(leaf.stepId) &&
|
|
17551
|
+
if (isConditionalJoinId(leaf.stepId) && isPlainObject4(value22)) {
|
|
17390
17552
|
const keys = Object.keys(value22);
|
|
17391
17553
|
if (keys.length === 1) return {
|
|
17392
17554
|
output: value22[keys[0]],
|
|
@@ -19376,8 +19538,8 @@ var init_dist2 = __esm({
|
|
|
19376
19538
|
CONDITIONAL_JOIN_ID = /^conditional@\d+\.join$/;
|
|
19377
19539
|
__name(isConditionalJoinId, "isConditionalJoinId");
|
|
19378
19540
|
__name6(isConditionalJoinId, "isConditionalJoinId");
|
|
19379
|
-
__name(
|
|
19380
|
-
__name6(
|
|
19541
|
+
__name(isPlainObject4, "isPlainObject");
|
|
19542
|
+
__name6(isPlainObject4, "isPlainObject");
|
|
19381
19543
|
__name(leafValue, "leafValue");
|
|
19382
19544
|
__name6(leafValue, "leafValue");
|
|
19383
19545
|
__name(runOutputLeaves, "runOutputLeaves");
|
|
@@ -38789,6 +38951,49 @@ var init_data_entry_instance = __esm({
|
|
|
38789
38951
|
}
|
|
38790
38952
|
});
|
|
38791
38953
|
|
|
38954
|
+
// src/api/shared-data.offline.ts
|
|
38955
|
+
function assertSharedName(name) {
|
|
38956
|
+
if (typeof name !== "string" || !SHARED_DATA_NAME_RE.test(name)) {
|
|
38957
|
+
throw new SharedDataError(SHARED_DATA_ERRORS.INVALID_NAME, "Data.shared(name): name must be 1-128 of [A-Za-z0-9_.-]");
|
|
38958
|
+
}
|
|
38959
|
+
}
|
|
38960
|
+
function offlineSharedData(name) {
|
|
38961
|
+
assertSharedName(name);
|
|
38962
|
+
const refuse = /* @__PURE__ */ __name(async () => {
|
|
38963
|
+
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`);
|
|
38964
|
+
}, "refuse");
|
|
38965
|
+
return {
|
|
38966
|
+
collections: refuse,
|
|
38967
|
+
create: refuse,
|
|
38968
|
+
get: refuse,
|
|
38969
|
+
getEntry: refuse,
|
|
38970
|
+
update: refuse,
|
|
38971
|
+
patch: refuse,
|
|
38972
|
+
increment: refuse,
|
|
38973
|
+
search: refuse,
|
|
38974
|
+
delete: refuse
|
|
38975
|
+
};
|
|
38976
|
+
}
|
|
38977
|
+
var SharedDataError;
|
|
38978
|
+
var init_shared_data_offline = __esm({
|
|
38979
|
+
"src/api/shared-data.offline.ts"() {
|
|
38980
|
+
"use strict";
|
|
38981
|
+
init_dist();
|
|
38982
|
+
SharedDataError = class extends Error {
|
|
38983
|
+
static {
|
|
38984
|
+
__name(this, "SharedDataError");
|
|
38985
|
+
}
|
|
38986
|
+
code;
|
|
38987
|
+
name = "SharedDataError";
|
|
38988
|
+
constructor(code, message) {
|
|
38989
|
+
super(message), this.code = code;
|
|
38990
|
+
}
|
|
38991
|
+
};
|
|
38992
|
+
__name(assertSharedName, "assertSharedName");
|
|
38993
|
+
__name(offlineSharedData, "offlineSharedData");
|
|
38994
|
+
}
|
|
38995
|
+
});
|
|
38996
|
+
|
|
38792
38997
|
// src/api/custom.data.api.service.ts
|
|
38793
38998
|
var CustomDataApi;
|
|
38794
38999
|
var init_custom_data_api_service = __esm({
|
|
@@ -38797,6 +39002,7 @@ var init_custom_data_api_service = __esm({
|
|
|
38797
39002
|
init_http_client();
|
|
38798
39003
|
init_custom_data();
|
|
38799
39004
|
init_data_entry_instance();
|
|
39005
|
+
init_shared_data_offline();
|
|
38800
39006
|
CustomDataApi = class extends HttpClient {
|
|
38801
39007
|
static {
|
|
38802
39008
|
__name(this, "CustomDataApi");
|
|
@@ -38997,6 +39203,10 @@ var init_custom_data_api_service = __esm({
|
|
|
38997
39203
|
}
|
|
38998
39204
|
throw new Error(response.error?.message || "Failed to delete custom data entry");
|
|
38999
39205
|
}
|
|
39206
|
+
/** Org-shared Data. Local runs have no org ACL to consult, so every call of the handle rejects (offline). */
|
|
39207
|
+
shared(name) {
|
|
39208
|
+
return offlineSharedData(name);
|
|
39209
|
+
}
|
|
39000
39210
|
};
|
|
39001
39211
|
}
|
|
39002
39212
|
});
|
|
@@ -39733,7 +39943,7 @@ var init_agents_api_service = __esm({
|
|
|
39733
39943
|
if (op === "lease.acquire" || op === "lease.release") {
|
|
39734
39944
|
refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
|
|
39735
39945
|
}
|
|
39736
|
-
if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set" || op === "secrets.attach") {
|
|
39946
|
+
if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set" || op === "secrets.attach" || op === "secrets.put") {
|
|
39737
39947
|
refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
|
|
39738
39948
|
}
|
|
39739
39949
|
if (op === "agents.directory" || op === "access.request" || op === "access.requests" || op === "access.cancel") {
|
|
@@ -39785,7 +39995,9 @@ var init_agents_api_service = __esm({
|
|
|
39785
39995
|
return runSummary(await get(`/workflows/${id2}/runs/${encodeURIComponent(String(args2.runId ?? ""))}`));
|
|
39786
39996
|
case "versions.list":
|
|
39787
39997
|
return get(`/developer/agents/${id2}/versions${q({
|
|
39788
|
-
limit: args2.limit
|
|
39998
|
+
limit: args2.limit,
|
|
39999
|
+
status: Array.isArray(args2.status) ? args2.status.join(",") : args2.status,
|
|
40000
|
+
offset: args2.offset
|
|
39789
40001
|
})}`);
|
|
39790
40002
|
case "versions.get":
|
|
39791
40003
|
return get(`/developer/agents/${id2}/versions/${encodeURIComponent(String(args2.version))}`);
|
|
@@ -40660,10 +40872,32 @@ function createWorkflowsRuntime(getApi) {
|
|
|
40660
40872
|
assertBoundAgent(api, agentId2, "goals.close");
|
|
40661
40873
|
return unwrap(await api.closeGoal(goalId, opts), "Workflows.goals.close");
|
|
40662
40874
|
}
|
|
40875
|
+
},
|
|
40876
|
+
// Lua Apps — off the platform (`lua apps dev`, `lua test webapp`) a route runs as you, so the viewer IS the
|
|
40877
|
+
// CLI's own credential; on the platform the sandbox global routes these through the gateway-sealed viewer.
|
|
40878
|
+
viewer: {
|
|
40879
|
+
async decideApproval(runId, approvalId, decision) {
|
|
40880
|
+
const api = viewerApi(await getApi(), decision.agentId);
|
|
40881
|
+
return unwrap(await api.resolveApproval(runId, approvalId, {
|
|
40882
|
+
decision: decision.decision,
|
|
40883
|
+
...decision.note !== void 0 ? {
|
|
40884
|
+
note: decision.note
|
|
40885
|
+
} : {},
|
|
40886
|
+
...decision.expectedFingerprint !== void 0 ? {
|
|
40887
|
+
expectedFingerprint: decision.expectedFingerprint
|
|
40888
|
+
} : {}
|
|
40889
|
+
}), "Workflows.viewer.decideApproval");
|
|
40890
|
+
},
|
|
40891
|
+
async resume(runId, stepId, resumeData, opts = {}) {
|
|
40892
|
+
const api = viewerApi(await getApi(), opts.agentId);
|
|
40893
|
+
return unwrap(await api.resumeRun(runId, stepId, {
|
|
40894
|
+
resumeData
|
|
40895
|
+
}), "Workflows.viewer.resume");
|
|
40896
|
+
}
|
|
40663
40897
|
}
|
|
40664
40898
|
};
|
|
40665
40899
|
}
|
|
40666
|
-
var WORKFLOW_START_MAX_WAIT_SECONDS, WORKFLOW_START_CLIENT_DEADLINE_SLACK_MS, CONTROL_UNAVAILABLE_HINT, WorkflowApiError, WORKFLOWS_RUNTIME_MEMBERS, unwrap, isWorkflowIdShaped, assertBoundAgent, pathId, WorkflowApi;
|
|
40900
|
+
var WORKFLOW_START_MAX_WAIT_SECONDS, WORKFLOW_START_CLIENT_DEADLINE_SLACK_MS, CONTROL_UNAVAILABLE_HINT, WorkflowApiError, WORKFLOWS_RUNTIME_MEMBERS, unwrap, isWorkflowIdShaped, viewerApi, assertBoundAgent, pathId, WorkflowApi;
|
|
40667
40901
|
var init_workflow_api_service = __esm({
|
|
40668
40902
|
"src/api/workflow.api.service.ts"() {
|
|
40669
40903
|
"use strict";
|
|
@@ -40710,6 +40944,7 @@ var init_workflow_api_service = __esm({
|
|
|
40710
40944
|
return res.data;
|
|
40711
40945
|
}, "unwrap");
|
|
40712
40946
|
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");
|
|
40947
|
+
viewerApi = /* @__PURE__ */ __name((api, agentId2) => agentId2 && agentId2 !== api.agentId ? api.forAgent(agentId2) : api, "viewerApi");
|
|
40713
40948
|
assertBoundAgent = /* @__PURE__ */ __name((api, agentId2, member) => {
|
|
40714
40949
|
if (agentId2 && agentId2 !== api.agentId) {
|
|
40715
40950
|
throw new WorkflowApiError("FORBIDDEN", `Workflows.${member}: goals are scoped to the bound agent ${api.agentId}`, 403);
|
|
@@ -40717,7 +40952,7 @@ var init_workflow_api_service = __esm({
|
|
|
40717
40952
|
}, "assertBoundAgent");
|
|
40718
40953
|
pathId = /* @__PURE__ */ __name((id2) => encodeURIComponent(id2), "pathId");
|
|
40719
40954
|
__name(createWorkflowsRuntime, "createWorkflowsRuntime");
|
|
40720
|
-
WorkflowApi = class extends HttpClient {
|
|
40955
|
+
WorkflowApi = class _WorkflowApi extends HttpClient {
|
|
40721
40956
|
static {
|
|
40722
40957
|
__name(this, "WorkflowApi");
|
|
40723
40958
|
}
|
|
@@ -40728,6 +40963,10 @@ var init_workflow_api_service = __esm({
|
|
|
40728
40963
|
this.credential = credential;
|
|
40729
40964
|
this.agentId = agentId2;
|
|
40730
40965
|
}
|
|
40966
|
+
/** The same client and credential, bound to another agent's workflow tree (`Workflows.viewer` with `agentId`). */
|
|
40967
|
+
forAgent(agentId2) {
|
|
40968
|
+
return new _WorkflowApi(this.baseUrl, this.credential, agentId2);
|
|
40969
|
+
}
|
|
40731
40970
|
/** PRO-1434 (main sync): auth rides the renewable request credential — resolve a current bearer per call. */
|
|
40732
40971
|
async auth() {
|
|
40733
40972
|
return {
|
|
@@ -48692,7 +48931,20 @@ function buildSupervisionAgentsApi(call2) {
|
|
|
48692
48931
|
secrets: /* @__PURE__ */ __name10((agentId2) => ({
|
|
48693
48932
|
attach: /* @__PURE__ */ __name10((requestIds) => call2("secrets.attach", agentId2, {
|
|
48694
48933
|
requestIds: copyList(requestIds)
|
|
48695
|
-
}), "attach")
|
|
48934
|
+
}), "attach"),
|
|
48935
|
+
/**
|
|
48936
|
+
* SW — write ONE secret row into `agentId`'s own Data: the row of `collection` whose `_pk` is `key`, replaced
|
|
48937
|
+
* whole by `value` (flat: string / number / boolean / null fields), created when absent. Needs `act` and the
|
|
48938
|
+
* collection in the grant's `secretWriteCollections`. Answers `{ ok, id, fingerprint }`, never the value; call it
|
|
48939
|
+
* from code (a workflow step, a job), so the secret never passes through a model.
|
|
48940
|
+
*/
|
|
48941
|
+
put: /* @__PURE__ */ __name10((collection, key, value3) => call2("secrets.put", agentId2, {
|
|
48942
|
+
collection,
|
|
48943
|
+
key,
|
|
48944
|
+
value: value3 && typeof value3 === "object" && !Array.isArray(value3) ? {
|
|
48945
|
+
...value3
|
|
48946
|
+
} : value3
|
|
48947
|
+
}), "put")
|
|
48696
48948
|
}), "secrets")
|
|
48697
48949
|
};
|
|
48698
48950
|
}
|
|
@@ -53798,6 +54050,12 @@ var ALIAS_MAP = {
|
|
|
53798
54050
|
],
|
|
53799
54051
|
aliases: lowerKeys({
|
|
53800
54052
|
skills: "skill",
|
|
54053
|
+
// Lua Apps: a web app's route executions are logged as `web-route`.
|
|
54054
|
+
webapp: "web-route",
|
|
54055
|
+
webapps: "web-route",
|
|
54056
|
+
"web-app": "web-route",
|
|
54057
|
+
"web-apps": "web-route",
|
|
54058
|
+
"web-routes": "web-route",
|
|
53801
54059
|
jobs: "job",
|
|
53802
54060
|
webhooks: "webhook",
|
|
53803
54061
|
preprocessors: "preprocessor",
|
|
@@ -59927,19 +60185,19 @@ init_cli();
|
|
|
59927
60185
|
init_constants();
|
|
59928
60186
|
import { readFileSync as readFileSync12, writeFileSync as writeFileSync9, mkdirSync as mkdirSync7 } from "fs";
|
|
59929
60187
|
import { dirname as dirname6 } from "path";
|
|
59930
|
-
function
|
|
60188
|
+
function isPlainObject5(value3) {
|
|
59931
60189
|
return typeof value3 === "object" && value3 !== null && !Array.isArray(value3);
|
|
59932
60190
|
}
|
|
59933
|
-
__name(
|
|
60191
|
+
__name(isPlainObject5, "isPlainObject");
|
|
59934
60192
|
function readStore2() {
|
|
59935
60193
|
try {
|
|
59936
60194
|
const raw = readFileSync12(SANDBOX_STORAGE_FILE, "utf8");
|
|
59937
60195
|
const parsed = JSON.parse(raw);
|
|
59938
60196
|
return {
|
|
59939
|
-
skillsById:
|
|
59940
|
-
preprocessorsById:
|
|
59941
|
-
postprocessorsById:
|
|
59942
|
-
devicesById:
|
|
60197
|
+
skillsById: isPlainObject5(parsed.skillsById) ? parsed.skillsById : {},
|
|
60198
|
+
preprocessorsById: isPlainObject5(parsed.preprocessorsById) ? parsed.preprocessorsById : {},
|
|
60199
|
+
postprocessorsById: isPlainObject5(parsed.postprocessorsById) ? parsed.postprocessorsById : {},
|
|
60200
|
+
devicesById: isPlainObject5(parsed.devicesById) ? parsed.devicesById : {}
|
|
59943
60201
|
};
|
|
59944
60202
|
} catch {
|
|
59945
60203
|
return {
|
|
@@ -65407,7 +65665,9 @@ var ENTITY_SOURCES = /* @__PURE__ */ new Set([
|
|
|
65407
65665
|
"webhook",
|
|
65408
65666
|
"preprocessor",
|
|
65409
65667
|
"postprocessor",
|
|
65410
|
-
"device"
|
|
65668
|
+
"device",
|
|
65669
|
+
// Lua Apps: route executions, one entity per web app (`--type webapp --name <app>`).
|
|
65670
|
+
"web-route"
|
|
65411
65671
|
]);
|
|
65412
65672
|
var NON_ENTITY_SOURCES = new Set(ALL_VALID_SOURCES.filter((s) => !ENTITY_SOURCES.has(s)));
|
|
65413
65673
|
var FOLLOW_POLL_MS = 2e3;
|
|
@@ -65536,7 +65796,7 @@ function renderLogEntry(log, isLast) {
|
|
|
65536
65796
|
const icon = getLogIcon(log.subType, logSource);
|
|
65537
65797
|
const color = getLogColor(log.subType, logSource);
|
|
65538
65798
|
console.log(color(`${icon} [${timestamp}] ${log.subType.toUpperCase()}`));
|
|
65539
|
-
const capitalizedType = logSource ?
|
|
65799
|
+
const capitalizedType = logSource ? sourceLabel(logSource) : "Item";
|
|
65540
65800
|
if (logSource === "user_message" || logSource === "agent_response" || logSource === "agent_error") {
|
|
65541
65801
|
if (channel) {
|
|
65542
65802
|
console.log(chalk2.gray(` Channel: ${channel}`));
|
|
@@ -65635,6 +65895,10 @@ async function fetchEntitiesByType(apiKey, agentId2, type) {
|
|
|
65635
65895
|
const res = await new DeviceApi(BASE_URLS.API, apiKey, agentId2).getDevices();
|
|
65636
65896
|
return res.data?.devices || [];
|
|
65637
65897
|
}
|
|
65898
|
+
case "web-route": {
|
|
65899
|
+
const res = await new WebAppApi(BASE_URLS.API, apiKey, agentId2).getWebApps();
|
|
65900
|
+
return res.data?.webApps || [];
|
|
65901
|
+
}
|
|
65638
65902
|
default:
|
|
65639
65903
|
return [];
|
|
65640
65904
|
}
|
|
@@ -65803,10 +66067,14 @@ async function nonInteractiveLogs(logsApi, agentId2, apiKey, options) {
|
|
|
65803
66067
|
throw CliError.usage(`--name is not applicable for ${filters.logSource} type`, `Usage: lua logs --type ${filters.logSource} (no --name needed)`);
|
|
65804
66068
|
}
|
|
65805
66069
|
const entityId = await resolveEntityId(apiKey, agentId2, filters.logSource, options.name);
|
|
65806
|
-
if (
|
|
65807
|
-
|
|
66070
|
+
if (entityId) {
|
|
66071
|
+
filters.primitiveId = entityId;
|
|
66072
|
+
} else if (filters.logSource === "web-route") {
|
|
66073
|
+
writeInfo(`\u2139\uFE0F No web app named "${options.name}" on the agent now; showing logs recorded under that name.`);
|
|
66074
|
+
filters.primitiveName = options.name;
|
|
66075
|
+
} else {
|
|
66076
|
+
throw CliError.notFound(`${sourceLabel(filters.logSource ?? "")} "${options.name}" not found`);
|
|
65808
66077
|
}
|
|
65809
|
-
filters.primitiveId = entityId;
|
|
65810
66078
|
}
|
|
65811
66079
|
if (options.userId) {
|
|
65812
66080
|
filters.userId = options.userId;
|
|
@@ -65838,7 +66106,7 @@ async function nonInteractiveLogs(logsApi, agentId2, apiKey, options) {
|
|
|
65838
66106
|
pagination: data.pagination
|
|
65839
66107
|
}, null, 2));
|
|
65840
66108
|
} else {
|
|
65841
|
-
const typeLabel = options.type ?
|
|
66109
|
+
const typeLabel = options.type ? sourceLabel(options.type) : "All";
|
|
65842
66110
|
displayLogsCore(data.logs, data.pagination, `\u{1F4CA} ${typeLabel} Logs`);
|
|
65843
66111
|
writeHintBlock({
|
|
65844
66112
|
headline: "If you see errors:",
|
|
@@ -65925,6 +66193,10 @@ async function filterAndShowLogsInteractive(logsApi, agentId2, apiKey) {
|
|
|
65925
66193
|
name: "Devices",
|
|
65926
66194
|
value: "device"
|
|
65927
66195
|
},
|
|
66196
|
+
{
|
|
66197
|
+
name: "Web Apps",
|
|
66198
|
+
value: "web-route"
|
|
66199
|
+
},
|
|
65928
66200
|
new inquirer9.Separator(),
|
|
65929
66201
|
{
|
|
65930
66202
|
name: "\u{1F4AC} User Messages",
|
|
@@ -65989,10 +66261,10 @@ async function filterAndShowLogsInteractive(logsApi, agentId2, apiKey) {
|
|
|
65989
66261
|
continue;
|
|
65990
66262
|
}
|
|
65991
66263
|
const entitySource = filterType;
|
|
65992
|
-
const capitalizedType =
|
|
66264
|
+
const capitalizedType = sourceLabel(entitySource);
|
|
65993
66265
|
const items = await fetchEntitiesByType(apiKey, agentId2, entitySource);
|
|
65994
66266
|
if (items.length === 0) {
|
|
65995
|
-
writeInfo(`\u2139\uFE0F No ${
|
|
66267
|
+
writeInfo(`\u2139\uFE0F No ${capitalizedType.toLowerCase()}s found for this agent.
|
|
65996
66268
|
`);
|
|
65997
66269
|
continue;
|
|
65998
66270
|
}
|
|
@@ -66000,7 +66272,7 @@ async function filterAndShowLogsInteractive(logsApi, agentId2, apiKey) {
|
|
|
66000
66272
|
{
|
|
66001
66273
|
type: "list",
|
|
66002
66274
|
name: "selectedId",
|
|
66003
|
-
message: `Select a ${
|
|
66275
|
+
message: `Select a ${capitalizedType.toLowerCase()}:`,
|
|
66004
66276
|
choices: [
|
|
66005
66277
|
{
|
|
66006
66278
|
name: `All ${capitalizedType}s`,
|
|
@@ -66127,6 +66399,10 @@ function capitalize(str3) {
|
|
|
66127
66399
|
return str3.charAt(0).toUpperCase() + str3.slice(1);
|
|
66128
66400
|
}
|
|
66129
66401
|
__name(capitalize, "capitalize");
|
|
66402
|
+
function sourceLabel(source) {
|
|
66403
|
+
return source === "web-route" ? "Web app" : capitalize(source);
|
|
66404
|
+
}
|
|
66405
|
+
__name(sourceLabel, "sourceLabel");
|
|
66130
66406
|
function getLogIcon(subType, logSource) {
|
|
66131
66407
|
if (logSource === "user_message") {
|
|
66132
66408
|
return "\u{1F4AC}";
|
|
@@ -90353,6 +90629,8 @@ Examples:
|
|
|
90353
90629
|
$ lua logs --type skill --name mySkill --limit 10 Skill-specific logs
|
|
90354
90630
|
$ lua logs --type job --name healthCheck --json JSON output for CI
|
|
90355
90631
|
$ lua logs --type mcp View MCP tool execution logs
|
|
90632
|
+
$ lua logs --type webapp --name ops-dashboard A web app's route runs (console output, errors)
|
|
90633
|
+
$ lua logs --execution-id <id> One route call (the id is in X-Lua-Execution-Id)
|
|
90356
90634
|
$ lua logs --user-id user-123 View all logs for a user
|
|
90357
90635
|
$ lua logs --user-id user-123 --json > user-logs.json Export user logs
|
|
90358
90636
|
$ lua logs --channel integration:lua_crm Isolate one integration's wake-up turns
|