lua-cli 3.42.0-beta.2 → 3.42.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 +74 -3
- package/dist/api-exports.js +187 -10
- package/dist/api-exports.js.map +1 -1
- package/dist/index.js +272 -19
- package/dist/index.js.map +1 -1
- package/dist/workflow-builder.js +153 -7
- package/dist/workflow-builder.js.map +1 -1
- package/docs/README.md +2 -2
- package/docs/api/Agents.md +78 -0
- package/docs/api/LuaWebhook.md +40 -2
- package/package.json +4 -4
- package/template/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1215,16 +1215,22 @@ function decideAgentProvisioning(params) {
|
|
|
1215
1215
|
if (input.unattendedWorkflowIds.length) {
|
|
1216
1216
|
return wf("unattendedWorkflowIds are not allowed on a provisioning grant (the member\u2019s consent does not cover them)");
|
|
1217
1217
|
}
|
|
1218
|
-
if (input.pendingSecretRequestIds.length) {
|
|
1218
|
+
if (input.pendingSecretRequestIds.length && !params.pendingSecretsEnabled) {
|
|
1219
1219
|
return {
|
|
1220
1220
|
code: AGENT_PROVISIONING_ERRORS.PENDING_SECRETS_UNSUPPORTED,
|
|
1221
|
-
message: "Pending secret requests
|
|
1221
|
+
message: "Pending secret requests are not enabled in this environment"
|
|
1222
|
+
};
|
|
1223
|
+
}
|
|
1224
|
+
if (input.pendingSecretRequestIds.length > AGENT_PROVISIONING_LIMITS.pendingSecretsMax) {
|
|
1225
|
+
return {
|
|
1226
|
+
code: AGENT_PROVISIONING_ERRORS.PENDING_SECRETS_UNSUPPORTED,
|
|
1227
|
+
message: `At most ${AGENT_PROVISIONING_LIMITS.pendingSecretsMax} pending secret requests can be attached`
|
|
1222
1228
|
};
|
|
1223
1229
|
}
|
|
1224
1230
|
return null;
|
|
1225
1231
|
}
|
|
1226
1232
|
function consentCoversProvisioning(consent, request2) {
|
|
1227
|
-
return consent.orgId === request2.orgId && consent.userId === request2.onBehalfOf && consent.provisionerAgentId === request2.provisionerAgentId && consent.agentName.trim() === request2.input.name && sameSet(consent.supervise ?? [], request2.input.supervise) && sameSet(consent.connections ?? [], request2.input.connections);
|
|
1233
|
+
return consent.orgId === request2.orgId && consent.userId === request2.onBehalfOf && consent.provisionerAgentId === request2.provisionerAgentId && consent.agentName.trim() === request2.input.name && sameSet(consent.supervise ?? [], request2.input.supervise) && sameSet(consent.connections ?? [], request2.input.connections) && sameSet(consent.pendingSecretRequestIds ?? [], request2.input.pendingSecretRequestIds);
|
|
1228
1234
|
}
|
|
1229
1235
|
function parseAgentProvisioningApprovalPayload(payload) {
|
|
1230
1236
|
if (!payload || typeof payload !== "object" || Array.isArray(payload)) return null;
|
|
@@ -2567,6 +2573,75 @@ function supervisionAccessBindingViolation(merged) {
|
|
|
2567
2573
|
}
|
|
2568
2574
|
return null;
|
|
2569
2575
|
}
|
|
2576
|
+
function hasFormatCharacters(text) {
|
|
2577
|
+
return FORMAT_CHARS.test(text);
|
|
2578
|
+
}
|
|
2579
|
+
function normalizedHandoverName(name) {
|
|
2580
|
+
return oneLine(name.normalize("NFKC")).toLowerCase();
|
|
2581
|
+
}
|
|
2582
|
+
function handoverAgentIdSuffix(agentId) {
|
|
2583
|
+
return agentId.slice(-6);
|
|
2584
|
+
}
|
|
2585
|
+
function parseConnectionHandoverApprovalPayload(payload) {
|
|
2586
|
+
if (!payload || typeof payload !== "object" || Array.isArray(payload)) return null;
|
|
2587
|
+
const top = Object.keys(payload);
|
|
2588
|
+
if (top.length !== 1 || top[0] !== CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY) return null;
|
|
2589
|
+
const p = payload[CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY];
|
|
2590
|
+
if (!p || typeof p !== "object" || Array.isArray(p)) return null;
|
|
2591
|
+
const r = p;
|
|
2592
|
+
if (Object.keys(r).some((k) => !MEMBERS.includes(k))) return null;
|
|
2593
|
+
const L = CONNECTION_HANDOVER_LIMITS;
|
|
2594
|
+
if (!boundedString(r.connectionId, L.idMax) || !boundedString(r.agentId, L.idMax) || !boundedString(r.agentName, L.agentNameMax) || !boundedString(r.supervisorName, L.agentNameMax) || !boundedString(r.integration, L.integrationMax) || r.account !== void 0 && !boundedString(r.account, L.accountMax)) {
|
|
2595
|
+
return null;
|
|
2596
|
+
}
|
|
2597
|
+
return {
|
|
2598
|
+
connectionId: r.connectionId.trim(),
|
|
2599
|
+
agentId: r.agentId.trim(),
|
|
2600
|
+
agentName: r.agentName.trim(),
|
|
2601
|
+
supervisorName: r.supervisorName.trim(),
|
|
2602
|
+
integration: r.integration.trim(),
|
|
2603
|
+
...r.account !== void 0 ? {
|
|
2604
|
+
account: r.account.trim()
|
|
2605
|
+
} : {}
|
|
2606
|
+
};
|
|
2607
|
+
}
|
|
2608
|
+
function describeConnectionHandoverApproval(payload) {
|
|
2609
|
+
const parsed = parseConnectionHandoverApprovalPayload(payload);
|
|
2610
|
+
if (!parsed) return null;
|
|
2611
|
+
const agent = `"${oneLine(parsed.agentName)}" (\u2026${handoverAgentIdSuffix(parsed.agentId)})`;
|
|
2612
|
+
const supervisor = `"${oneLine(parsed.supervisorName)}"`;
|
|
2613
|
+
const integration = oneLine(parsed.integration);
|
|
2614
|
+
const account = parsed.account ? ` (${oneLine(parsed.account)})` : "";
|
|
2615
|
+
return [
|
|
2616
|
+
`Give your ${integration} connection${account} to your agent ${agent}.`,
|
|
2617
|
+
"It can then use this account through its tools.",
|
|
2618
|
+
`${supervisor}, the agent asking, supervises it, so it can also reach this account through it: in test runs, previews and the actions its supervision rights allow.`,
|
|
2619
|
+
"You can remove it at any time from the agent's connections."
|
|
2620
|
+
].join("\n");
|
|
2621
|
+
}
|
|
2622
|
+
function connectionHandoverApprovalTitle(facts) {
|
|
2623
|
+
return `Give your ${oneLine(facts.integration)} connection to "${oneLine(facts.agentName)}"?`;
|
|
2624
|
+
}
|
|
2625
|
+
function normalizeConnectionHandoverArgs(raw) {
|
|
2626
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
2627
|
+
const r = raw;
|
|
2628
|
+
if (Object.keys(r).some((k) => k !== "connectionId" && k !== "approval")) return null;
|
|
2629
|
+
if (!boundedString(r.connectionId, CONNECTION_HANDOVER_LIMITS.idMax)) return null;
|
|
2630
|
+
const approval = normalizeApprovalRef(r.approval);
|
|
2631
|
+
if (!approval) return null;
|
|
2632
|
+
return {
|
|
2633
|
+
connectionId: r.connectionId.trim(),
|
|
2634
|
+
approval
|
|
2635
|
+
};
|
|
2636
|
+
}
|
|
2637
|
+
function approvalPayloadCoversConnectionHandover(payload, stored) {
|
|
2638
|
+
const p = parseConnectionHandoverApprovalPayload(payload);
|
|
2639
|
+
if (!p) return false;
|
|
2640
|
+
const text = describeConnectionHandoverApproval(payload) ?? "";
|
|
2641
|
+
if (text.length > CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS || scrubSecretText(text) !== text) return false;
|
|
2642
|
+
const storedAccount = stored.account?.trim() || void 0;
|
|
2643
|
+
return p.connectionId === stored.connectionId && p.agentId === stored.agentId && p.agentName === stored.agentName.trim() && p.supervisorName === stored.supervisorName.trim() && p.integration === stored.integration && p.account === storedAccount;
|
|
2644
|
+
}
|
|
2570
2645
|
function agentMetricTagsKey(tags) {
|
|
2571
2646
|
if (!tags) return "";
|
|
2572
2647
|
return Object.keys(tags).sort().map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(tags[k])}`).join("&");
|
|
@@ -6739,7 +6814,7 @@ function isPaymentRequiredChatErrorEnvelope(data) {
|
|
|
6739
6814
|
if (d.type !== "error") return false;
|
|
6740
6815
|
return d.textDelta === BILLING_REJECTION_TEXT_CREDITS || d.textDelta === BILLING_REJECTION_TEXT_SEAT || d.textDelta === BILLING_REJECTION_TEXT_USER_QUOTA;
|
|
6741
6816
|
}
|
|
6742
|
-
var __defProp2, __name2, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, 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, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, 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, 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, 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, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_AGENT_EFFORTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_TASK_CLASSES, WORKFLOW_MODEL_TRAITS, WORKFLOW_MODEL_REASON_MAX_LENGTH, WORKFLOW_MODELS_COMPOSE_MODES, WORKFLOW_MODELS_PIN_MODES, WORKFLOW_MODELS_FALLBACK_MODES, WORKFLOW_MODELS_CONSENT_ACTIONS_MIN, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_FORMS, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_ENABLED_DEFAULT, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, AGENT_LOG_SOURCES, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_FORMATS, LOG_DRAIN_SEVERITIES, LOG_DRAIN_SOURCES, LOG_DRAIN_CONTENT_SOURCES, LOG_DRAIN_DEFAULT_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, LOG_DRAIN_QUOTAS, LOG_DRAIN_QUOTA_WARN_RATIO, LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO, LOG_DRAIN_QUOTA_DROP_INFO_RATIO, LOG_DRAIN_QUOTA_PAUSE_RATIO, LOG_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, LOG_CURSOR_MAX_LENGTH, LOG_CURSOR_MAX_ID_LENGTH, LOG_RELATIVE_TIME_PATTERN, LOG_ISO_TIME_PATTERN, RELATIVE_UNIT_MS, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, EventType, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, TYPED_API_KEY, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_JOURNAL_PROTOCOL_VERSION, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_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;
|
|
6817
|
+
var __defProp2, __name2, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, 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, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, 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, 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, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_AGENT_EFFORTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_TASK_CLASSES, WORKFLOW_MODEL_TRAITS, WORKFLOW_MODEL_REASON_MAX_LENGTH, WORKFLOW_MODELS_COMPOSE_MODES, WORKFLOW_MODELS_PIN_MODES, WORKFLOW_MODELS_FALLBACK_MODES, WORKFLOW_MODELS_CONSENT_ACTIONS_MIN, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_FORMS, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_ENABLED_DEFAULT, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, AGENT_LOG_SOURCES, AGENT_LOG_ENVIRONMENTS, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_FORMATS, LOG_DRAIN_SEVERITIES, LOG_DRAIN_SOURCES, LOG_DRAIN_CONTENT_SOURCES, LOG_DRAIN_DEFAULT_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, LOG_DRAIN_QUOTAS, LOG_DRAIN_QUOTA_WARN_RATIO, LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO, LOG_DRAIN_QUOTA_DROP_INFO_RATIO, LOG_DRAIN_QUOTA_PAUSE_RATIO, LOG_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, LOG_CURSOR_MAX_LENGTH, LOG_CURSOR_MAX_ID_LENGTH, LOG_RELATIVE_TIME_PATTERN, LOG_ISO_TIME_PATTERN, RELATIVE_UNIT_MS, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, EventType, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, TYPED_API_KEY, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_JOURNAL_PROTOCOL_VERSION, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_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;
|
|
6743
6818
|
var init_dist = __esm({
|
|
6744
6819
|
"../shared-types/dist/index.mjs"() {
|
|
6745
6820
|
"use strict";
|
|
@@ -6943,7 +7018,19 @@ var init_dist = __esm({
|
|
|
6943
7018
|
* SV — `Agents.notifyOwner(id, { message })`: post a message (no model turn) to the TARGET OWNER's home thread with
|
|
6944
7019
|
* the caller. Needs the owner's opt-in recorded on the grant (`ownerNotify`) and `LUA_SUPERVISION_OWNER_NOTIFY_ENABLED`.
|
|
6945
7020
|
*/
|
|
6946
|
-
"owner.notify": "observe"
|
|
7021
|
+
"owner.notify": "observe",
|
|
7022
|
+
/**
|
|
7023
|
+
* SV — `Agents.connections(id).assign(connectionId, { approval })`: mount one of the target OWNER's personal
|
|
7024
|
+
* connections on the target, consented by the owner's own signed-in decision on Lua's approval card
|
|
7025
|
+
* (`supervised-connection-handover.types.ts`). Needs `LUA_SUPERVISED_CONNECTION_HANDOVER_ENABLED`.
|
|
7026
|
+
*/
|
|
7027
|
+
"connections.assign": "act",
|
|
7028
|
+
/**
|
|
7029
|
+
* SV — `Agents.secrets(id).attach(requestIds)`: attach U9 requests HELD for this existing agent (`{ pendingFor,
|
|
7030
|
+
* agentId }`) to its env. `act`, on a turn whose platform-picked user is the target's owner, never overwriting a
|
|
7031
|
+
* key (`LUA_SECRET_ATTACH_EXISTING_ENABLED`).
|
|
7032
|
+
*/
|
|
7033
|
+
"secrets.attach": "act"
|
|
6947
7034
|
};
|
|
6948
7035
|
__name(isSupervisionOp, "isSupervisionOp");
|
|
6949
7036
|
__name2(isSupervisionOp, "isSupervisionOp");
|
|
@@ -7109,6 +7196,18 @@ var init_dist = __esm({
|
|
|
7109
7196
|
gate: "observe",
|
|
7110
7197
|
targeted: true,
|
|
7111
7198
|
item: "SV"
|
|
7199
|
+
},
|
|
7200
|
+
/** SV — `Agents.connections(id).assign(connectionId, { approval })` (the owner's signed-in approval). */
|
|
7201
|
+
"connections.assign": {
|
|
7202
|
+
gate: "act",
|
|
7203
|
+
targeted: true,
|
|
7204
|
+
item: "SV"
|
|
7205
|
+
},
|
|
7206
|
+
/** SV — `Agents.secrets(id).attach(requestIds)`: held U9 requests onto an existing agent (owner's turn). */
|
|
7207
|
+
"secrets.attach": {
|
|
7208
|
+
gate: "act",
|
|
7209
|
+
targeted: true,
|
|
7210
|
+
item: "SV"
|
|
7112
7211
|
}
|
|
7113
7212
|
};
|
|
7114
7213
|
SUPERVISION_UNTARGETED_OPS = [
|
|
@@ -7148,6 +7247,7 @@ var init_dist = __esm({
|
|
|
7148
7247
|
nameMax: 80,
|
|
7149
7248
|
personaMax: 2e4,
|
|
7150
7249
|
connectionsMax: 20,
|
|
7250
|
+
pendingSecretsMax: 20,
|
|
7151
7251
|
maxAgentsPerUserCeiling: 50
|
|
7152
7252
|
};
|
|
7153
7253
|
AGENT_PROVISIONING_APPROVAL_PAYLOAD_KEY = "agentProvisioning";
|
|
@@ -7161,8 +7261,13 @@ var init_dist = __esm({
|
|
|
7161
7261
|
MODEL_NOT_ALLOWED: "agent_provisioning_model_not_allowed",
|
|
7162
7262
|
ACTIONS_NOT_ALLOWED: "agent_provisioning_actions_not_allowed",
|
|
7163
7263
|
WORKFLOW_IDS_INVALID: "agent_provisioning_workflow_ids_invalid",
|
|
7164
|
-
/**
|
|
7264
|
+
/** A non-empty `pendingSecretRequestIds` while `LUA_SECRET_REQUESTS_ENABLED` is off (or over the limit). */
|
|
7165
7265
|
PENDING_SECRETS_UNSUPPORTED: "agent_provisioning_pending_secrets_unsupported",
|
|
7266
|
+
/**
|
|
7267
|
+
* A pending secret request is not attachable to this create (unknown, another org / member / provisioner,
|
|
7268
|
+
* not `ok`-tested, already attached or purged). Checked before the agent exists.
|
|
7269
|
+
*/
|
|
7270
|
+
PENDING_SECRET_NOT_ATTACHABLE: "agent_provisioning_pending_secret_not_attachable",
|
|
7166
7271
|
/** The `Agents.create` input is malformed (name, model, persona, list shapes or limits). */
|
|
7167
7272
|
INVALID_INPUT: "agent_provisioning_invalid_input",
|
|
7168
7273
|
/** `PUT …/agent-provisioning-policy` body is malformed (`*`, unknown action, out-of-range quota…). */
|
|
@@ -7534,7 +7639,13 @@ var init_dist = __esm({
|
|
|
7534
7639
|
/** The input's `fields` do not match the provider's catalogue bundle. */
|
|
7535
7640
|
FIELDS_INVALID: "secret_fields_invalid",
|
|
7536
7641
|
/** `Secrets.test(key)` / status on a key with no request on record (the provider is unknown). */
|
|
7537
|
-
KEY_NOT_FOUND: "secret_key_not_found"
|
|
7642
|
+
KEY_NOT_FOUND: "secret_key_not_found",
|
|
7643
|
+
/** A held request for an existing agent while `LUA_SECRET_ATTACH_EXISTING_ENABLED` is off. */
|
|
7644
|
+
ATTACH_EXISTING_DISABLED: "secret_attach_existing_disabled",
|
|
7645
|
+
/** `secrets.attach` would set an env key the agent already has: never overwritten (remove or rotate it first). */
|
|
7646
|
+
KEY_EXISTS: "secret_key_exists",
|
|
7647
|
+
/** A request held for an existing agent submitted on the public token page: its owner submits it signed in. */
|
|
7648
|
+
OWNER_SUBMIT_REQUIRED: "secret_submit_requires_owner"
|
|
7538
7649
|
};
|
|
7539
7650
|
SECRET_OUTCOME_STATUSES = [
|
|
7540
7651
|
...SECRET_TEST_RESULTS,
|
|
@@ -7894,6 +8005,41 @@ var init_dist = __esm({
|
|
|
7894
8005
|
__name2(sameSupervisionAccessFields, "sameSupervisionAccessFields");
|
|
7895
8006
|
__name(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
|
|
7896
8007
|
__name2(supervisionAccessBindingViolation, "supervisionAccessBindingViolation");
|
|
8008
|
+
CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY = "connectionAssignment";
|
|
8009
|
+
CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS = 1200;
|
|
8010
|
+
CONNECTION_HANDOVER_LIMITS = {
|
|
8011
|
+
idMax: 128,
|
|
8012
|
+
agentNameMax: 200,
|
|
8013
|
+
integrationMax: 60,
|
|
8014
|
+
accountMax: 200
|
|
8015
|
+
};
|
|
8016
|
+
MEMBERS = [
|
|
8017
|
+
"connectionId",
|
|
8018
|
+
"agentId",
|
|
8019
|
+
"agentName",
|
|
8020
|
+
"supervisorName",
|
|
8021
|
+
"integration",
|
|
8022
|
+
"account"
|
|
8023
|
+
];
|
|
8024
|
+
FORMAT_CHARS = /[\p{Cf}\u200b-\u200d\u202a-\u202e\u2066-\u2069\ufeff]/u;
|
|
8025
|
+
__name(hasFormatCharacters, "hasFormatCharacters");
|
|
8026
|
+
__name2(hasFormatCharacters, "hasFormatCharacters");
|
|
8027
|
+
oneLine = /* @__PURE__ */ __name2((text) => text.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029"\u201c\u201d]/g, " ").replace(/\s+/g, " ").trim(), "oneLine");
|
|
8028
|
+
__name(normalizedHandoverName, "normalizedHandoverName");
|
|
8029
|
+
__name2(normalizedHandoverName, "normalizedHandoverName");
|
|
8030
|
+
__name(handoverAgentIdSuffix, "handoverAgentIdSuffix");
|
|
8031
|
+
__name2(handoverAgentIdSuffix, "handoverAgentIdSuffix");
|
|
8032
|
+
boundedString = /* @__PURE__ */ __name2((v, max) => typeof v === "string" && v.trim().length > 0 && v.length <= max && !hasFormatCharacters(v), "boundedString");
|
|
8033
|
+
__name(parseConnectionHandoverApprovalPayload, "parseConnectionHandoverApprovalPayload");
|
|
8034
|
+
__name2(parseConnectionHandoverApprovalPayload, "parseConnectionHandoverApprovalPayload");
|
|
8035
|
+
__name(describeConnectionHandoverApproval, "describeConnectionHandoverApproval");
|
|
8036
|
+
__name2(describeConnectionHandoverApproval, "describeConnectionHandoverApproval");
|
|
8037
|
+
__name(connectionHandoverApprovalTitle, "connectionHandoverApprovalTitle");
|
|
8038
|
+
__name2(connectionHandoverApprovalTitle, "connectionHandoverApprovalTitle");
|
|
8039
|
+
__name(normalizeConnectionHandoverArgs, "normalizeConnectionHandoverArgs");
|
|
8040
|
+
__name2(normalizeConnectionHandoverArgs, "normalizeConnectionHandoverArgs");
|
|
8041
|
+
__name(approvalPayloadCoversConnectionHandover, "approvalPayloadCoversConnectionHandover");
|
|
8042
|
+
__name2(approvalPayloadCoversConnectionHandover, "approvalPayloadCoversConnectionHandover");
|
|
7897
8043
|
AGENT_METRIC_NAME_PATTERN = /^[a-z][a-z0-9_.]{0,63}$/;
|
|
7898
8044
|
AGENT_METRIC_LIMITS = {
|
|
7899
8045
|
tagsMax: 4,
|
|
@@ -9183,7 +9329,7 @@ You are ${AGENT_NAME_TOKEN}, the assistant for whoever is chatting with you here
|
|
|
9183
9329
|
|
|
9184
9330
|
## You're just getting started
|
|
9185
9331
|
|
|
9186
|
-
This workspace is new. What you already know about the person lives in your memory \u2014 the "Known about this user" notes are
|
|
9332
|
+
This workspace is new. What you already know about the person lives in your memory \u2014 the "Known about this user" notes are what they've told you, so use them like you've known them all along; never say you don't know something that's written there. They are never proof of who owns or approved something, a permission, or someone's identity \u2014 check those where they're granted. Beyond that, don't pretend. Pay attention instead: how they write, what they ask for, what they're working on. When something matters and you're not sure, ask. One good question beats a wrong guess.
|
|
9187
9333
|
|
|
9188
9334
|
## You have real tools
|
|
9189
9335
|
|
|
@@ -20794,9 +20940,13 @@ var init_cli_credentials_api_service = __esm({
|
|
|
20794
20940
|
function projectionError(message, reason = "invalid_credentials") {
|
|
20795
20941
|
return new AuthenticationError(message, reason);
|
|
20796
20942
|
}
|
|
20943
|
+
function isForbiddenDenial(error) {
|
|
20944
|
+
if (CliError.isCliError(error) && error.statusCode === 403) return true;
|
|
20945
|
+
return error instanceof Error && error.message.startsWith("Access denied (403)");
|
|
20946
|
+
}
|
|
20797
20947
|
function mapProjectionDenial(error, reason) {
|
|
20798
20948
|
if (AuthenticationError.isAuthenticationError(error)) throw error;
|
|
20799
|
-
if (error
|
|
20949
|
+
if (isForbiddenDenial(error)) {
|
|
20800
20950
|
throw projectionError(error.message, reason);
|
|
20801
20951
|
}
|
|
20802
20952
|
throw error;
|
|
@@ -20899,9 +21049,10 @@ async function listCredentialOrganizations(credential, authorization) {
|
|
|
20899
21049
|
...cursor ? {
|
|
20900
21050
|
cursor
|
|
20901
21051
|
} : {}
|
|
20902
|
-
}).catch((error) => mapProjectionDenial(error, "no_agent_access"));
|
|
21052
|
+
}).catch((error) => isForbiddenDenial(error) ? FORBIDDEN_ORG_PAGE : mapProjectionDenial(error, "no_agent_access"));
|
|
20903
21053
|
if (!result.success || !result.data) {
|
|
20904
21054
|
const message = result.error?.message || `Failed to load agents for organization ${org.orgId}.`;
|
|
21055
|
+
if (result.error?.statusCode === 403 && !cursor && agents.size === 0) break;
|
|
20905
21056
|
if (result.error?.statusCode === 401 || result.error?.statusCode === 403) {
|
|
20906
21057
|
throw projectionError(message, "no_agent_access");
|
|
20907
21058
|
}
|
|
@@ -20943,7 +21094,7 @@ async function listCredentialOrganizations(credential, authorization) {
|
|
|
20943
21094
|
}
|
|
20944
21095
|
return organizations;
|
|
20945
21096
|
}
|
|
20946
|
-
var MAX_CREDENTIAL_ORGS, MAX_CREDENTIAL_RESOURCE_PAGES, ORGANIZATION_REQUEST_CONCURRENCY;
|
|
21097
|
+
var MAX_CREDENTIAL_ORGS, MAX_CREDENTIAL_RESOURCE_PAGES, ORGANIZATION_REQUEST_CONCURRENCY, FORBIDDEN_ORG_PAGE;
|
|
20947
21098
|
var init_credential_operational_context = __esm({
|
|
20948
21099
|
"src/services/credential-operational-context.ts"() {
|
|
20949
21100
|
"use strict";
|
|
@@ -20957,7 +21108,15 @@ var init_credential_operational_context = __esm({
|
|
|
20957
21108
|
MAX_CREDENTIAL_RESOURCE_PAGES = 500;
|
|
20958
21109
|
ORGANIZATION_REQUEST_CONCURRENCY = 10;
|
|
20959
21110
|
__name(projectionError, "projectionError");
|
|
21111
|
+
__name(isForbiddenDenial, "isForbiddenDenial");
|
|
20960
21112
|
__name(mapProjectionDenial, "mapProjectionDenial");
|
|
21113
|
+
FORBIDDEN_ORG_PAGE = {
|
|
21114
|
+
success: false,
|
|
21115
|
+
error: {
|
|
21116
|
+
statusCode: 403,
|
|
21117
|
+
message: "Access denied (403)"
|
|
21118
|
+
}
|
|
21119
|
+
};
|
|
20961
21120
|
__name(throwProjectionFailure, "throwProjectionFailure");
|
|
20962
21121
|
__name(identityOf, "identityOf");
|
|
20963
21122
|
__name(getUserIdentity, "getUserIdentity");
|
|
@@ -21733,11 +21892,18 @@ const __lua_primitive__ = {
|
|
|
21733
21892
|
|
|
21734
21893
|
export default {
|
|
21735
21894
|
__lua_primitive__,
|
|
21736
|
-
primitive: __primitive__,
|
|
21895
|
+
primitive: ${this.wrapPrimitiveExpression("__primitive__")},
|
|
21737
21896
|
};
|
|
21738
21897
|
`;
|
|
21739
21898
|
}
|
|
21740
21899
|
/**
|
|
21900
|
+
* Hook to wrap the `primitive` expression in a generated entry point.
|
|
21901
|
+
* Default: identity, so entry points stay byte-identical.
|
|
21902
|
+
*/
|
|
21903
|
+
wrapPrimitiveExpression(expr) {
|
|
21904
|
+
return expr;
|
|
21905
|
+
}
|
|
21906
|
+
/**
|
|
21741
21907
|
* Override to add extra fields to __lua_primitive__ object.
|
|
21742
21908
|
* Return a string like: `context: "some value",\n tools: ["tool1"]`
|
|
21743
21909
|
*/
|
|
@@ -22424,7 +22590,7 @@ var init_job_plugin = __esm({
|
|
|
22424
22590
|
|
|
22425
22591
|
// src/compiler/plugins/webhook.plugin.ts
|
|
22426
22592
|
import { Node as Node6 } from "ts-morph";
|
|
22427
|
-
var WebhookPlugin;
|
|
22593
|
+
var WEBHOOK_VALIDATION_WRAP_SOURCE, WebhookPlugin;
|
|
22428
22594
|
var init_webhook_plugin = __esm({
|
|
22429
22595
|
"src/compiler/plugins/webhook.plugin.ts"() {
|
|
22430
22596
|
"use strict";
|
|
@@ -22432,6 +22598,60 @@ var init_webhook_plugin = __esm({
|
|
|
22432
22598
|
init_ast_helpers();
|
|
22433
22599
|
init_class_hierarchy();
|
|
22434
22600
|
init_schema_converter();
|
|
22601
|
+
WEBHOOK_VALIDATION_WRAP_SOURCE = `(function (p) {
|
|
22602
|
+
if (!p || typeof p.execute !== 'function') return p;
|
|
22603
|
+
var parts = [
|
|
22604
|
+
['query', p.querySchema],
|
|
22605
|
+
['headers', p.headerSchema],
|
|
22606
|
+
['body', p.bodySchema],
|
|
22607
|
+
].filter(function (e) { return e[1] && typeof e[1].safeParse === 'function'; });
|
|
22608
|
+
if (parts.length === 0) return p;
|
|
22609
|
+
var enforce = p.enforceSchemas === true;
|
|
22610
|
+
return Object.assign({}, p, {
|
|
22611
|
+
execute: async function (event) {
|
|
22612
|
+
var ev = event || {};
|
|
22613
|
+
var failed = [];
|
|
22614
|
+
for (var i = 0; i < parts.length; i++) {
|
|
22615
|
+
var part = parts[i][0];
|
|
22616
|
+
var schema = parts[i][1];
|
|
22617
|
+
var input = part === 'body' ? ev.body : (ev[part] == null ? {} : ev[part]);
|
|
22618
|
+
var r;
|
|
22619
|
+
if (enforce) {
|
|
22620
|
+
r = typeof schema.safeParseAsync === 'function' ? await schema.safeParseAsync(input) : schema.safeParse(input);
|
|
22621
|
+
} else {
|
|
22622
|
+
try {
|
|
22623
|
+
r = typeof schema.safeParseAsync === 'function' ? await schema.safeParseAsync(input) : schema.safeParse(input);
|
|
22624
|
+
} catch (_e) {
|
|
22625
|
+
continue;
|
|
22626
|
+
}
|
|
22627
|
+
}
|
|
22628
|
+
if (!r || r.success) continue;
|
|
22629
|
+
var issues = r.error && Array.isArray(r.error.issues) ? r.error.issues : [];
|
|
22630
|
+
if (enforce) {
|
|
22631
|
+
var first = issues[0];
|
|
22632
|
+
var detail = first ? ': ' + (first.path && first.path.length ? first.path.join('.') + ': ' : '') + first.message : '';
|
|
22633
|
+
var err = new Error('Webhook request validation failed: invalid ' + part + detail);
|
|
22634
|
+
err.code = 'LUA_WEBHOOK_VALIDATION';
|
|
22635
|
+
err.part = part;
|
|
22636
|
+
err.issues = issues;
|
|
22637
|
+
throw err;
|
|
22638
|
+
}
|
|
22639
|
+
failed.push({ part: part, issues: issues });
|
|
22640
|
+
}
|
|
22641
|
+
if (failed.length > 0 && typeof console !== 'undefined' && console.warn) {
|
|
22642
|
+
try {
|
|
22643
|
+
var total = 0;
|
|
22644
|
+
for (var j = 0; j < failed.length; j++) total += failed[j].issues.length;
|
|
22645
|
+
var f0 = failed[0];
|
|
22646
|
+
var i0 = f0.issues[0];
|
|
22647
|
+
var firstDesc = f0.part + ':' + (i0 && i0.path ? i0.path.join('.') : '') + ':' + (i0 && i0.code ? i0.code : 'unknown');
|
|
22648
|
+
console.warn('[lua:webhook-schema] would-reject webhook=' + p.name + ' parts=' + failed.map(function (x) { return x.part; }).join(',') + ' issues=' + total + ' first=' + firstDesc + ' (request still processed; set enforceSchemas: true on the webhook to reject with HTTP 400)');
|
|
22649
|
+
} catch (_e) {}
|
|
22650
|
+
}
|
|
22651
|
+
return p.execute.call(p, event);
|
|
22652
|
+
},
|
|
22653
|
+
});
|
|
22654
|
+
})`;
|
|
22435
22655
|
WebhookPlugin = class extends BasePlugin {
|
|
22436
22656
|
static {
|
|
22437
22657
|
__name(this, "WebhookPlugin");
|
|
@@ -22485,15 +22705,20 @@ var init_webhook_plugin = __esm({
|
|
|
22485
22705
|
* win at runtime.
|
|
22486
22706
|
*/
|
|
22487
22707
|
getClassDefinitionPrimitiveShape(metadata) {
|
|
22488
|
-
return
|
|
22708
|
+
return `${WEBHOOK_VALIDATION_WRAP_SOURCE}({
|
|
22489
22709
|
kind: 'webhook',
|
|
22490
22710
|
name: __lua_instance__.name ?? ${JSON.stringify(metadata.name)},
|
|
22491
22711
|
description: __lua_instance__.description ?? ${JSON.stringify(metadata.description)},
|
|
22492
22712
|
querySchema: __lua_instance__.querySchema,
|
|
22493
22713
|
headerSchema: __lua_instance__.headerSchema,
|
|
22494
22714
|
bodySchema: __lua_instance__.bodySchema,
|
|
22715
|
+
enforceSchemas: __lua_instance__.enforceSchemas,
|
|
22495
22716
|
execute: typeof __lua_instance__.execute === 'function' ? __lua_instance__.execute.bind(__lua_instance__) : undefined,
|
|
22496
|
-
}`;
|
|
22717
|
+
})`;
|
|
22718
|
+
}
|
|
22719
|
+
/** Enforce declared schemas before `execute` (function / config-literal shapes). */
|
|
22720
|
+
wrapPrimitiveExpression(expr) {
|
|
22721
|
+
return `${WEBHOOK_VALIDATION_WRAP_SOURCE}(${expr})`;
|
|
22497
22722
|
}
|
|
22498
22723
|
/**
|
|
22499
22724
|
* Extract metadata from webhook config object.
|
|
@@ -35311,7 +35536,7 @@ var init_agents_api_service = __esm({
|
|
|
35311
35536
|
if (op === "lease.acquire" || op === "lease.release") {
|
|
35312
35537
|
refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
|
|
35313
35538
|
}
|
|
35314
|
-
if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set") {
|
|
35539
|
+
if (op === "lifecycle.archive" || op === "lifecycle.delete" || op === "config.set" || op === "secrets.attach") {
|
|
35315
35540
|
refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
|
|
35316
35541
|
}
|
|
35317
35542
|
if (op === "agents.directory" || op === "access.request" || op === "access.requests" || op === "access.cancel") {
|
|
@@ -35462,6 +35687,7 @@ var init_agents_api_service = __esm({
|
|
|
35462
35687
|
case "evals.run":
|
|
35463
35688
|
case "evals.cancel":
|
|
35464
35689
|
case "owner.notify":
|
|
35690
|
+
case "connections.assign":
|
|
35465
35691
|
return refuse("supervision_offline_unsupported", `${op} is not available offline; run it on the platform`);
|
|
35466
35692
|
default:
|
|
35467
35693
|
return refuse("supervision_unknown_op", `Unknown supervision operation ${String(op)}`);
|
|
@@ -43955,7 +44181,34 @@ function buildSupervisionAgentsApi(call2) {
|
|
|
43955
44181
|
...input?.idempotencyKey !== void 0 ? {
|
|
43956
44182
|
idempotencyKey: input.idempotencyKey
|
|
43957
44183
|
} : {}
|
|
43958
|
-
}), "notifyOwner")
|
|
44184
|
+
}), "notifyOwner"),
|
|
44185
|
+
// SV — the target OWNER hands it one of their personal connections (their signed-in approval, `act`).
|
|
44186
|
+
/**
|
|
44187
|
+
* Mount one of the OWNER's own personal connections on `agentId`. The owner consents on Lua's approval card in
|
|
44188
|
+
* their own signed-in session: suspend YOUR run (started by the owner) on
|
|
44189
|
+
* `.approval(step, { approver: 'creator', title })` with the payload exactly
|
|
44190
|
+
* `{ connectionAssignment: { connectionId, agentId, agentName, supervisorName, integration, account } }` and `title`
|
|
44191
|
+
* exactly `Give your <integration> connection to "<agentName>"?`, then call this from a code step of THAT run with
|
|
44192
|
+
* `{ approval: { runId, stepId } }`. Needs an `act` grant on the agent.
|
|
44193
|
+
*/
|
|
44194
|
+
connections: /* @__PURE__ */ __name8((agentId) => ({
|
|
44195
|
+
assign: /* @__PURE__ */ __name8((connectionId, opts) => call2("connections.assign", agentId, {
|
|
44196
|
+
connectionId,
|
|
44197
|
+
approval: opts?.approval && typeof opts.approval === "object" ? {
|
|
44198
|
+
...opts.approval
|
|
44199
|
+
} : opts?.approval
|
|
44200
|
+
}), "assign")
|
|
44201
|
+
}), "connections"),
|
|
44202
|
+
// SV — held U9 secret requests (`Secrets.request({ target: { pendingFor, agentId } })`) onto an EXISTING agent.
|
|
44203
|
+
/**
|
|
44204
|
+
* Attach requests held for `agentId` to its env (`act`, on the agent owner's own turn; never overwrites a key).
|
|
44205
|
+
* Answers the env keys set, never a value.
|
|
44206
|
+
*/
|
|
44207
|
+
secrets: /* @__PURE__ */ __name8((agentId) => ({
|
|
44208
|
+
attach: /* @__PURE__ */ __name8((requestIds) => call2("secrets.attach", agentId, {
|
|
44209
|
+
requestIds: copyList(requestIds)
|
|
44210
|
+
}), "attach")
|
|
44211
|
+
}), "secrets")
|
|
43959
44212
|
};
|
|
43960
44213
|
}
|
|
43961
44214
|
__name(buildSupervisionAgentsApi, "buildSupervisionAgentsApi");
|
|
@@ -47385,7 +47638,7 @@ function validateAgentNodeModelMembers(node, path31) {
|
|
|
47385
47638
|
}
|
|
47386
47639
|
__name(validateAgentNodeModelMembers, "validateAgentNodeModelMembers");
|
|
47387
47640
|
var WORKFLOW_MODEL_WALK_MAX_DEPTH = 64;
|
|
47388
|
-
var
|
|
47641
|
+
var MEMBERS2 = [
|
|
47389
47642
|
"model",
|
|
47390
47643
|
"taskClass",
|
|
47391
47644
|
"requires",
|
|
@@ -47404,7 +47657,7 @@ function validateGraphModelMembers(graph) {
|
|
|
47404
47657
|
return;
|
|
47405
47658
|
}
|
|
47406
47659
|
const node = value3;
|
|
47407
|
-
if (
|
|
47660
|
+
if (MEMBERS2.some((m) => node[m] !== void 0)) {
|
|
47408
47661
|
const label2 = typeof node.id === "string" && node.id ? node.id : path31;
|
|
47409
47662
|
issues.push(...validateAgentNodeModelMembers(node, label2));
|
|
47410
47663
|
}
|