librechat-data-provider 0.8.523 → 0.8.524
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/{data-service-Bx6IFaSa.mjs → data-service-B-WUVvTH.mjs} +434 -174
- package/dist/data-service-B-WUVvTH.mjs.map +1 -0
- package/dist/{data-service-CTX0tVO5.js → data-service-CUG1qdeC.js} +577 -203
- package/dist/data-service-CUG1qdeC.js.map +1 -0
- package/dist/index.js +346 -72
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +307 -68
- package/dist/index.mjs.map +1 -1
- package/dist/react-query/index.js +1 -1
- package/dist/react-query/index.mjs +1 -1
- package/dist/types/actions.d.ts +1 -1
- package/dist/types/agentToolOptions.d.ts +1 -1
- package/dist/types/api-endpoints.d.ts +1 -0
- package/dist/types/backgroundResults.d.ts +13 -0
- package/dist/types/balance.d.ts +4 -0
- package/dist/types/bedrock.d.ts +77 -70
- package/dist/types/code/workspace.d.ts +22 -0
- package/dist/types/config.d.ts +5362 -4206
- package/dist/types/data-service.d.ts +14 -12
- package/dist/types/file-config.d.ts +81 -42
- package/dist/types/filters.d.ts +205 -205
- package/dist/types/footer.d.ts +20 -0
- package/dist/types/generate.d.ts +28 -28
- package/dist/types/index.d.ts +4 -0
- package/dist/types/keys.d.ts +2 -1
- package/dist/types/limits.d.ts +8 -0
- package/dist/types/mcp.d.ts +999 -352
- package/dist/types/messages.d.ts +12 -7
- package/dist/types/models.d.ts +429 -429
- package/dist/types/parameterSettings.d.ts +2 -1
- package/dist/types/parsers.d.ts +25 -1
- package/dist/types/resolve-llm-delivery-path.d.ts +97 -4
- package/dist/types/schemas.d.ts +646 -643
- package/dist/types/types/agents.d.ts +233 -2
- package/dist/types/types/assistants.d.ts +2 -641
- package/dist/types/types/content.d.ts +286 -0
- package/dist/types/types/files.d.ts +14 -1
- package/dist/types/types/mutations.d.ts +3 -2
- package/dist/types/types/queuedTurns.d.ts +124 -90
- package/dist/types/types/runs.d.ts +9 -0
- package/dist/types/types/schedules.d.ts +10 -10
- package/dist/types/types/skills.d.ts +43 -0
- package/dist/types/types/tools.d.ts +132 -0
- package/dist/types/types/traces.d.ts +49 -0
- package/dist/types/types.d.ts +31 -1
- package/package.json +1 -1
- package/dist/data-service-Bx6IFaSa.mjs.map +0 -1
- package/dist/data-service-CTX0tVO5.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_data_service = require("./data-service-
|
|
2
|
+
const require_data_service = require("./data-service-CUG1qdeC.js");
|
|
3
3
|
let zod = require("zod");
|
|
4
4
|
let dayjs = require("dayjs");
|
|
5
5
|
dayjs = require_data_service.__toESM(dayjs);
|
|
@@ -15,13 +15,18 @@ let crypto = require("crypto");
|
|
|
15
15
|
crypto = require_data_service.__toESM(crypto);
|
|
16
16
|
let js_yaml = require("js-yaml");
|
|
17
17
|
//#region src/bedrock.ts
|
|
18
|
+
const THINKING_BINDING_BETA = "thinking-binding-controls-2026-08-01";
|
|
18
19
|
const DEFAULT_THINKING_BUDGET = 2e3;
|
|
19
20
|
const BEDROCK_CLAUDE_SONNET_4_6_MAX_OUTPUT = 64e3;
|
|
20
21
|
const BEDROCK_OUTPUT_128K_BETA = "output-128k-2025-02-19";
|
|
21
22
|
const BEDROCK_FINE_GRAINED_TOOL_STREAMING_BETA = "fine-grained-tool-streaming-2025-05-14";
|
|
22
23
|
/** Betas LibreChat injects itself, safe to strip from persisted AMRF when a
|
|
23
24
|
* model no longer supports them; anything else in `anthropic_beta` is a user opt-in. */
|
|
24
|
-
const GENERATED_BEDROCK_BETAS = new Set([
|
|
25
|
+
const GENERATED_BEDROCK_BETAS = new Set([
|
|
26
|
+
BEDROCK_OUTPUT_128K_BETA,
|
|
27
|
+
BEDROCK_FINE_GRAINED_TOOL_STREAMING_BETA,
|
|
28
|
+
THINKING_BINDING_BETA
|
|
29
|
+
]);
|
|
25
30
|
const bedrockReasoningConfigValues = new Set(Object.values(require_data_service.BedrockReasoningConfig));
|
|
26
31
|
/**
|
|
27
32
|
* Resolves the final `thinking.display` value for an adaptive-thinking request.
|
|
@@ -65,6 +70,13 @@ function parseOpusVersion(model) {
|
|
|
65
70
|
};
|
|
66
71
|
return null;
|
|
67
72
|
}
|
|
73
|
+
/** Opus 5.5 has an always-on, conversation-bound thinking contract unlike Opus 5. */
|
|
74
|
+
function isOpus55Model(model) {
|
|
75
|
+
const opus = parseOpusVersion(model);
|
|
76
|
+
return opus?.major === 5 && opus.minor === 5;
|
|
77
|
+
}
|
|
78
|
+
/** LibreChat permits edits and compaction of earlier turns; drop only invalidated blocks. */
|
|
79
|
+
const OPUS_55_BLOCK_BINDING = { prefix_mismatch_behavior: "drop_block" };
|
|
68
80
|
/** Extracts sonnet major/minor version from both naming formats.
|
|
69
81
|
* Uses bounded minor capture to avoid matching date suffixes (e.g., -20250514). */
|
|
70
82
|
function parseSonnetVersion(model) {
|
|
@@ -133,6 +145,7 @@ function omitsSamplingParameters(model) {
|
|
|
133
145
|
* See https://platform.claude.com/docs/en/about-claude/models/migration-guide#migrating-to-claude-sonnet-5
|
|
134
146
|
*/
|
|
135
147
|
function requiresExplicitThinkingDisabled(model) {
|
|
148
|
+
if (isOpus55Model(model)) return false;
|
|
136
149
|
const sonnet = parseSonnetVersion(model);
|
|
137
150
|
if (sonnet != null && sonnet.major >= 5) return true;
|
|
138
151
|
const opus = parseOpusVersion(model);
|
|
@@ -150,6 +163,7 @@ const EFFORTS_REJECTED_WHEN_THINKING_DISABLED = new Set(["xhigh", "max"]);
|
|
|
150
163
|
* off, so the cap is Opus 5+ only.
|
|
151
164
|
*/
|
|
152
165
|
function capsEffortWhenThinkingDisabled(model) {
|
|
166
|
+
if (isOpus55Model(model)) return false;
|
|
153
167
|
const opus = parseOpusVersion(model);
|
|
154
168
|
return opus != null && opus.major >= 5;
|
|
155
169
|
}
|
|
@@ -222,6 +236,7 @@ function isBedrockClaudeModel(model) {
|
|
|
222
236
|
* @returns Array of beta header strings, or empty array if not applicable
|
|
223
237
|
*/
|
|
224
238
|
function getBedrockAnthropicBetaHeaders(model) {
|
|
239
|
+
if (isOpus55Model(model)) return [THINKING_BINDING_BETA];
|
|
225
240
|
const betaHeaders = [];
|
|
226
241
|
/** Mythos-class (Fable/Mythos) is intentionally not matched: these betas are built-in/no-op for the
|
|
227
242
|
* 4.7+ generation (Fable has native 128K output), so omitting them on Bedrock is lossless. */
|
|
@@ -369,7 +384,7 @@ const bedrockInputParser = require_data_service.tConversationSchema.pick({
|
|
|
369
384
|
/** Persisted AMRF is spread into the final request, so clearing only
|
|
370
385
|
* `additionalFields` leaves a stale value from a prior selection. */
|
|
371
386
|
const persistedAmrf = typedData.additionalModelRequestFields;
|
|
372
|
-
const thinkingDisabled = additionalFields.thinking === false;
|
|
387
|
+
const thinkingDisabled = additionalFields.thinking === false && !isOpus55Model(typedData.model);
|
|
373
388
|
const effort = additionalFields.effort;
|
|
374
389
|
if (typeof effort === "string" && effort !== "") additionalFields.output_config = { effort };
|
|
375
390
|
else if (effort !== void 0 && persistedAmrf)
|
|
@@ -385,7 +400,7 @@ const bedrockInputParser = require_data_service.tConversationSchema.pick({
|
|
|
385
400
|
* `effort`, so the branch above leaves it untouched).
|
|
386
401
|
*/
|
|
387
402
|
if (thinkingDisabled) [additionalFields, persistedAmrf].forEach((target) => clampOutputConfigEffort(typedData.model, target?.output_config));
|
|
388
|
-
if (
|
|
403
|
+
if (thinkingDisabled) {
|
|
389
404
|
delete additionalFields.thinkingBudget;
|
|
390
405
|
delete additionalFields.thinkingDisplay;
|
|
391
406
|
if (requiresExplicitThinkingDisabled(typedData.model)) additionalFields.thinking = { type: "disabled" };
|
|
@@ -407,6 +422,7 @@ const bedrockInputParser = require_data_service.tConversationSchema.pick({
|
|
|
407
422
|
const topLevelDisplay = additionalFields.thinkingDisplay;
|
|
408
423
|
const persistedDisplay = extractPersistedDisplay(typedData.additionalModelRequestFields);
|
|
409
424
|
const thinkingConfig = { type: "adaptive" };
|
|
425
|
+
if (isOpus55Model(typedData.model)) thinkingConfig.block_binding = { ...OPUS_55_BLOCK_BINDING };
|
|
410
426
|
const display = resolveThinkingDisplay(typedData.model, topLevelDisplay ?? persistedDisplay);
|
|
411
427
|
if (display) thinkingConfig.display = display;
|
|
412
428
|
additionalFields.thinking = thinkingConfig;
|
|
@@ -1074,6 +1090,45 @@ function replaceSpecialVars({ text, user, now: inputNow, timezone }) {
|
|
|
1074
1090
|
function getEphemeralSender({ modelLabel, specLabel, modelDisplayLabel }) {
|
|
1075
1091
|
return modelLabel ?? specLabel ?? modelDisplayLabel ?? "";
|
|
1076
1092
|
}
|
|
1093
|
+
/** Built-in endpoints; anything else in `endpoint` is a custom endpoint's own name. */
|
|
1094
|
+
const builtInEndpoints = new Set(Object.values(require_data_service.EModelEndpoint));
|
|
1095
|
+
/**
|
|
1096
|
+
* Whether a persisted `sender` is a label someone configured rather than the
|
|
1097
|
+
* model-derived name `getResponseSender` produces.
|
|
1098
|
+
*
|
|
1099
|
+
* The sender is the one thing that records which it was: `resolveSender` writes an
|
|
1100
|
+
* agent's name, then the `getEphemeralSender` chain (`modelLabel` → a model spec's
|
|
1101
|
+
* `label` → an endpoint's `modelDisplayLabel`), and falls back to `getResponseSender`
|
|
1102
|
+
* only when none of those is set. Asking the message rather than the conversation
|
|
1103
|
+
* settles three things a settings lookup cannot: labels that live in config a caller
|
|
1104
|
+
* may not hold, labels an endpoint ignores (Anthropic keeps reading `Claude` whatever
|
|
1105
|
+
* `chatGptLabel` says, and matches here), and labels changed since the message was
|
|
1106
|
+
* written — its header still shows the sender it was written under.
|
|
1107
|
+
*
|
|
1108
|
+
* Equality is the test, so the only way to be wrong is a stored name that no longer
|
|
1109
|
+
* matches what the current heuristics produce, which withholds a model rather than
|
|
1110
|
+
* revealing one.
|
|
1111
|
+
*/
|
|
1112
|
+
const isConfiguredSender = ({ sender, endpoint, endpointType, model, isCreatedByUser }) => {
|
|
1113
|
+
/** A user turn is headed by the person who wrote it, so it has no model to withhold
|
|
1114
|
+
* and its `User` sender would never match a derived name. */
|
|
1115
|
+
if (isCreatedByUser === true) return false;
|
|
1116
|
+
/** Agents and assistants are named by whoever authored them: the header shows that
|
|
1117
|
+
* name whether or not the response stored a sender, and `getResponseSender` has no
|
|
1118
|
+
* branch to derive one. */
|
|
1119
|
+
if (require_data_service.isAgentsEndpoint(endpoint) || require_data_service.isAssistantsEndpoint(endpoint)) return true;
|
|
1120
|
+
if (sender == null || sender === "") return false;
|
|
1121
|
+
const derived = getResponseSender({
|
|
1122
|
+
endpoint,
|
|
1123
|
+
endpointType: endpointType ?? (endpoint != null && !builtInEndpoints.has(endpoint) ? "custom" : void 0),
|
|
1124
|
+
model
|
|
1125
|
+
});
|
|
1126
|
+
/** An endpoint this cannot name — an older message stored without one, say — says
|
|
1127
|
+
* nothing either way, and reading that silence as "configured" would withhold the
|
|
1128
|
+
* model from every unlabelled row it reached. */
|
|
1129
|
+
if (derived === "") return false;
|
|
1130
|
+
return sender !== derived;
|
|
1131
|
+
};
|
|
1077
1132
|
/**
|
|
1078
1133
|
* Encodes an ephemeral agent ID from endpoint, model, optional sender, and optional index.
|
|
1079
1134
|
* Uses __ to replace : (reserved in graph node names) and ___ to separate sender.
|
|
@@ -1366,6 +1421,20 @@ function mapGroupToAzureConfig({ groupName, groupMap }) {
|
|
|
1366
1421
|
return result;
|
|
1367
1422
|
}
|
|
1368
1423
|
//#endregion
|
|
1424
|
+
//#region src/footer.ts
|
|
1425
|
+
/**
|
|
1426
|
+
* Whether a deployment configured footer content of its own — a custom footer,
|
|
1427
|
+
* a privacy policy or terms of service.
|
|
1428
|
+
*
|
|
1429
|
+
* The footer bar is absolutely positioned in a zero-height wrapper, so the
|
|
1430
|
+
* composer above it is what reserves its band: this answer decides both the
|
|
1431
|
+
* bar and the clearance. The client and the server share it because the two
|
|
1432
|
+
* answering differently is exactly the layout correction it exists to remove.
|
|
1433
|
+
*/
|
|
1434
|
+
function hasConfiguredFooter(source) {
|
|
1435
|
+
return typeof source?.customFooter === "string" || source?.interface?.privacyPolicy?.externalUrl != null || source?.interface?.termsOfService?.externalUrl != null;
|
|
1436
|
+
}
|
|
1437
|
+
//#endregion
|
|
1369
1438
|
//#region src/langchain.ts
|
|
1370
1439
|
/**
|
|
1371
1440
|
* LangChain classifies a provider failure by mutating the error: it stamps `lc_error_code` and
|
|
@@ -1456,12 +1525,83 @@ function parseLangChainErrorCode(message) {
|
|
|
1456
1525
|
}
|
|
1457
1526
|
}
|
|
1458
1527
|
//#endregion
|
|
1528
|
+
//#region src/codeEnvRef.ts
|
|
1529
|
+
/**
|
|
1530
|
+
* Closed set of resource kinds for sandbox file caching. Defined as a
|
|
1531
|
+
* `as const` tuple so the runtime list and the TypeScript union can't
|
|
1532
|
+
* drift on future additions — adding a new kind to the tuple updates
|
|
1533
|
+
* both at once.
|
|
1534
|
+
*
|
|
1535
|
+
* - `skill`: shared per skill identity. Cross-user-within-tenant
|
|
1536
|
+
* sharing. Code API sessionKey omits the user dimension.
|
|
1537
|
+
* `version` is required (the skill's monotonic counter scopes the
|
|
1538
|
+
* cache per revision so any edit invalidates the prior cache
|
|
1539
|
+
* entry naturally).
|
|
1540
|
+
* - `agent`: shared per agent identity. Same sharing semantic as
|
|
1541
|
+
* skills (agents are addressable resources accessible to a
|
|
1542
|
+
* permission-defined audience).
|
|
1543
|
+
* - `user`: user-private. Code API sessionKey is keyed by the
|
|
1544
|
+
* requesting user from auth context. Used for chat attachments
|
|
1545
|
+
* and code-output artifacts.
|
|
1546
|
+
*/
|
|
1547
|
+
const CODE_ENV_KINDS = [
|
|
1548
|
+
"skill",
|
|
1549
|
+
"agent",
|
|
1550
|
+
"user"
|
|
1551
|
+
];
|
|
1552
|
+
function getCodeEnvRefForProfile(refs, routeKey) {
|
|
1553
|
+
const profileRef = refs?.codeEnvRefs?.[routeKey];
|
|
1554
|
+
if (profileRef) return profileRef;
|
|
1555
|
+
const legacyRef = refs?.codeEnvRef;
|
|
1556
|
+
if (legacyRef && (legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default") === routeKey) return legacyRef;
|
|
1557
|
+
}
|
|
1558
|
+
/** Adds one profile pointer without discarding the other profile's storage object. */
|
|
1559
|
+
function mergeCodeEnvRef(refs, ref) {
|
|
1560
|
+
const codeEnvRefs = { ...refs?.codeEnvRefs };
|
|
1561
|
+
const legacyRef = refs?.codeEnvRef;
|
|
1562
|
+
if (legacyRef) codeEnvRefs[legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default"] ??= legacyRef;
|
|
1563
|
+
const routeKey = ref.executionRouteKey ?? ref.executionProfile ?? "default";
|
|
1564
|
+
codeEnvRefs[routeKey] = ref;
|
|
1565
|
+
return {
|
|
1566
|
+
codeEnvRef: codeEnvRefs.default ?? codeEnvRefs.stateful ?? ref,
|
|
1567
|
+
codeEnvRefs
|
|
1568
|
+
};
|
|
1569
|
+
}
|
|
1570
|
+
/** Enumerates every deployment-local pointer, including legacy single-pointer records. */
|
|
1571
|
+
function getCodeEnvRefs(refs) {
|
|
1572
|
+
const merged = { ...refs?.codeEnvRefs };
|
|
1573
|
+
const legacyRef = refs?.codeEnvRef;
|
|
1574
|
+
if (legacyRef) merged[legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default"] ??= legacyRef;
|
|
1575
|
+
return Object.entries(merged).flatMap(([routeKey, ref]) => ref ? [[routeKey, ref]] : []);
|
|
1576
|
+
}
|
|
1577
|
+
//#endregion
|
|
1459
1578
|
//#region src/resolve-llm-delivery-path.ts
|
|
1579
|
+
/**
|
|
1580
|
+
* The native provider a custom endpoint declares, when it declares one. A custom endpoint
|
|
1581
|
+
* speaks OpenAI's API unless its config names another dialect, and the upload route needs
|
|
1582
|
+
* that answer for the same reason request initialization does: the media encoders emit
|
|
1583
|
+
* OpenAI-format parts, so a custom endpoint running as Anthropic receives none.
|
|
1584
|
+
*/
|
|
1585
|
+
function getCustomEndpointProvider(customEndpoints, endpoint) {
|
|
1586
|
+
if (!customEndpoints || !endpoint) return;
|
|
1587
|
+
const normalized = require_data_service.normalizeEndpointName(endpoint);
|
|
1588
|
+
return customEndpoints.find((config) => require_data_service.normalizeEndpointName(config.name ?? "") === normalized)?.provider;
|
|
1589
|
+
}
|
|
1590
|
+
/** A custom endpoint emits OpenAI-format media parts only for the types the admin listed
|
|
1591
|
+
* in its `supportedMimeTypes`; the inherited default list is not an opt-in. A name that
|
|
1592
|
+
* is not a known provider is a custom endpoint. Mirrors `isConfiguredProviderMediaType`
|
|
1593
|
+
* on the encoder side, so the route and the encoder agree on which uploads the provider
|
|
1594
|
+
* actually receives; the built-in endpoints are left out because the client offers no
|
|
1595
|
+
* media for them. */
|
|
1596
|
+
const isConfiguredMediaEndpoint = (mimeType, endpoint, supportedMimeTypes) => {
|
|
1597
|
+
if (!require_data_service.isExplicitMimeConfig(supportedMimeTypes) || require_data_service.isKnownProviderIdentifier(endpoint)) return false;
|
|
1598
|
+
return require_data_service.fileConfig.checkType(mimeType, supportedMimeTypes);
|
|
1599
|
+
};
|
|
1460
1600
|
/** Audio and video reach the model only through the media encoders, which support a
|
|
1461
1601
|
* narrower provider set than documents. Images use the broadly supported vision
|
|
1462
1602
|
* path and are never gated here. */
|
|
1463
|
-
const isProviderCapable = (mimeType, endpoint, useResponsesApi) => {
|
|
1464
|
-
if (mimeType.startsWith("audio/") || mimeType.startsWith("video/")) return require_data_service.isMediaSupportedProvider(endpoint);
|
|
1603
|
+
const isProviderCapable = (mimeType, endpoint, useResponsesApi, supportedMimeTypes) => {
|
|
1604
|
+
if (mimeType.startsWith("audio/") || mimeType.startsWith("video/")) return require_data_service.isMediaSupportedProvider(endpoint) || isConfiguredMediaEndpoint(mimeType, endpoint, supportedMimeTypes);
|
|
1465
1605
|
if (mimeType === "application/pdf") return useResponsesApi === true || require_data_service.isDocumentSupportedProvider(endpoint);
|
|
1466
1606
|
return true;
|
|
1467
1607
|
};
|
|
@@ -1522,7 +1662,7 @@ function hasTextExtractionPath(mimeType) {
|
|
|
1522
1662
|
* Resolves the default file path destination for a given mime type.
|
|
1523
1663
|
* Resolution chain: endpoint overrides -> endpoint fallback -> global overrides -> global fallback -> system defaults.
|
|
1524
1664
|
*/
|
|
1525
|
-
function resolveDefaultLLMDeliveryPath(mimeType, endpointConfig, globalConfig, endpoint, useResponsesApi, sttConfigured) {
|
|
1665
|
+
function resolveDefaultLLMDeliveryPath(mimeType, endpointConfig, globalConfig, endpoint, useResponsesApi, sttConfigured, supportedMimeTypes) {
|
|
1526
1666
|
const wildcard = mimeType.split("/")[0] + "/*";
|
|
1527
1667
|
if (endpointConfig?.overrides) {
|
|
1528
1668
|
if (endpointConfig.overrides[mimeType]) return endpointConfig.overrides[mimeType];
|
|
@@ -1548,7 +1688,7 @@ function resolveDefaultLLMDeliveryPath(mimeType, endpointConfig, globalConfig, e
|
|
|
1548
1688
|
const providerKnown = namedEndpoint && require_data_service.isKnownProviderIdentifier(endpoint);
|
|
1549
1689
|
const isMedia = mimeType.startsWith("audio/") || mimeType.startsWith("video/");
|
|
1550
1690
|
const canRecoverText = (type) => type.startsWith("audio/") && sttConfigured === false ? false : hasTextExtractionPath(type);
|
|
1551
|
-
if (systemDefault === "provider" && (isMedia ? namedEndpoint : providerKnown) && !isProviderCapable(mimeType, endpoint, useResponsesApi)) return canRecoverText(mimeType) ? "text" : "none";
|
|
1691
|
+
if (systemDefault === "provider" && (isMedia ? namedEndpoint : providerKnown) && !isProviderCapable(mimeType, endpoint, useResponsesApi, supportedMimeTypes)) return canRecoverText(mimeType) ? "text" : "none";
|
|
1552
1692
|
/** Bedrock's Converse document path natively accepts more than PDF, so on that
|
|
1553
1693
|
* endpoint its document types belong on the provider path rather than being
|
|
1554
1694
|
* extracted, which would drop non-text content and layout. */
|
|
@@ -1560,12 +1700,13 @@ function resolveDefaultLLMDeliveryPath(mimeType, endpointConfig, globalConfig, e
|
|
|
1560
1700
|
* Delivery path for an upload that named no tool resource. The legacy chooser makes the
|
|
1561
1701
|
* destination explicit, so nothing is inferred there.
|
|
1562
1702
|
*/
|
|
1563
|
-
function resolveDefaultUploadLLMDeliveryPath({ mimeType, endpointConfig, fileConfig, endpoint, useResponsesApi, sttConfigured }) {
|
|
1703
|
+
function resolveDefaultUploadLLMDeliveryPath({ mimeType, endpointConfig, fileConfig, endpoint, endpointProvider, useResponsesApi, sttConfigured }) {
|
|
1564
1704
|
if (endpointConfig?.legacyFileUploadUX === true) return "provider";
|
|
1565
|
-
|
|
1705
|
+
const runsAsOpenAI = endpointProvider == null || require_data_service.isOpenAILikeProvider(endpointProvider);
|
|
1706
|
+
return resolveDefaultLLMDeliveryPath(mimeType, endpointConfig?.defaultLLMDeliveryPath, fileConfig?.defaultLLMDeliveryPath, endpoint, useResponsesApi, sttConfigured, runsAsOpenAI ? endpointConfig?.supportedMimeTypes : void 0);
|
|
1566
1707
|
}
|
|
1567
1708
|
/** Delivery path for an upload, honoring an explicitly chosen tool resource. */
|
|
1568
|
-
function resolveUploadLLMDeliveryPath({ toolResource, mimeType, endpointConfig, fileConfig, endpoint, useResponsesApi, sttConfigured }) {
|
|
1709
|
+
function resolveUploadLLMDeliveryPath({ toolResource, mimeType, endpointConfig, fileConfig, endpoint, useResponsesApi, endpointProvider, sttConfigured }) {
|
|
1569
1710
|
if (toolResource === "context" || toolResource === "ocr") return "text";
|
|
1570
1711
|
if (toolResource === "file_search" || toolResource === "execute_code") return "none";
|
|
1571
1712
|
return resolveDefaultUploadLLMDeliveryPath({
|
|
@@ -1573,6 +1714,7 @@ function resolveUploadLLMDeliveryPath({ toolResource, mimeType, endpointConfig,
|
|
|
1573
1714
|
endpointConfig,
|
|
1574
1715
|
fileConfig,
|
|
1575
1716
|
endpoint,
|
|
1717
|
+
endpointProvider,
|
|
1576
1718
|
useResponsesApi,
|
|
1577
1719
|
sttConfigured
|
|
1578
1720
|
});
|
|
@@ -1591,6 +1733,65 @@ function canToolResourceConsume(toolResource, mimeType) {
|
|
|
1591
1733
|
}
|
|
1592
1734
|
const matchesMimeList = (mimeType, patterns) => patterns.some((pattern) => pattern.test(mimeType));
|
|
1593
1735
|
/**
|
|
1736
|
+
* Whether the record shows this file reached a tool's own store: vectors for file search, a
|
|
1737
|
+
* sandbox pointer for code execution. Nothing else writes either, so their presence is proof
|
|
1738
|
+
* the file was provisioned and their absence proof it was not. The same evidence deferred
|
|
1739
|
+
* provisioning reads before queueing a file, so a turn cannot withhold content for a tool that
|
|
1740
|
+
* provisioning has yet to serve.
|
|
1741
|
+
*/
|
|
1742
|
+
function hasToolResourceProvisioning(file, toolResource) {
|
|
1743
|
+
if (toolResource === "execute_code") return getCodeEnvRefs(file.metadata).length > 0;
|
|
1744
|
+
return file.embedded === true || (file.metadata?.embeddedEntities?.length ?? 0) > 0;
|
|
1745
|
+
}
|
|
1746
|
+
/**
|
|
1747
|
+
* Whether a tool this turn runs can read a file of this type.
|
|
1748
|
+
*
|
|
1749
|
+
* Passing the record asks the stricter question a delivery decision needs where a tool serves
|
|
1750
|
+
* only what it already holds. File search reads the vector store, and an upload that named no
|
|
1751
|
+
* destination is filed under no tool at all, so an enabled search tool is a reader only once
|
|
1752
|
+
* the record shows the store holds the file. Run Code needs no copy in advance: its first call
|
|
1753
|
+
* uploads every attachment it can read to the sandbox, so enabling it is enough. Requiring a
|
|
1754
|
+
* copy there would hand the file's text to the prompt on every turn before the first code run,
|
|
1755
|
+
* and a turn that refuses that text never runs code, so the file would never become held.
|
|
1756
|
+
*/
|
|
1757
|
+
function hasTurnFileConsumer(mimeType, consumers, file) {
|
|
1758
|
+
const searchHolds = file == null || hasToolResourceProvisioning(file, "file_search");
|
|
1759
|
+
return consumers.executeCode && canToolResourceConsume("execute_code", mimeType) || consumers.fileSearch && canToolResourceConsume("file_search", mimeType) && searchHolds;
|
|
1760
|
+
}
|
|
1761
|
+
const isLLMDeliveryPath = (value) => value === "provider" || value === "text" || value === "none";
|
|
1762
|
+
/** Whether a record's stored route was inferred at upload, so each turn resolves it again. */
|
|
1763
|
+
function hasInferredLLMDeliveryPath(file) {
|
|
1764
|
+
return file.llmDeliveryPath != null && file.metadata?.destinationChosen !== true;
|
|
1765
|
+
}
|
|
1766
|
+
/**
|
|
1767
|
+
* Delivery path for one attachment on one agent's turn.
|
|
1768
|
+
*
|
|
1769
|
+
* A record predating routing and a destination the user chose keep what they stored. An
|
|
1770
|
+
* inferred route re-resolves against the endpoint handling the turn. A `none` route leaves
|
|
1771
|
+
* the file for a tool; where the endpoint enables `textFallbackWithoutTools` and no tool this
|
|
1772
|
+
* turn runs can read the file, the text extracted at upload is delivered rather than the file
|
|
1773
|
+
* reaching nothing. Consumers left undefined are unknown and not judged, as in
|
|
1774
|
+
* {@link resolveUploadDestination}.
|
|
1775
|
+
*
|
|
1776
|
+
* For file search, reading is asked of the record rather than of the tool set, because the two
|
|
1777
|
+
* disagree for the upload that needs the fallback most: one that named no destination is filed
|
|
1778
|
+
* under no tool, so enabling file search would otherwise withhold the text for a vector store
|
|
1779
|
+
* that never received the file. Run Code is judged by the tool set: see
|
|
1780
|
+
* {@link hasTurnFileConsumer}.
|
|
1781
|
+
*/
|
|
1782
|
+
function resolveTurnLLMDeliveryPath(routing, file, consumers) {
|
|
1783
|
+
if (routing == null || !hasInferredLLMDeliveryPath(file)) return isLLMDeliveryPath(file.llmDeliveryPath) ? file.llmDeliveryPath : void 0;
|
|
1784
|
+
const { endpointConfig } = routing;
|
|
1785
|
+
const mimeType = file.metadata?.routingMimeType ?? file.type ?? "";
|
|
1786
|
+
const path = resolveUploadLLMDeliveryPath({
|
|
1787
|
+
mimeType,
|
|
1788
|
+
...routing
|
|
1789
|
+
});
|
|
1790
|
+
const hasFallbackText = typeof file.text === "string" && file.text.length > 0;
|
|
1791
|
+
if (path === "none" && endpointConfig?.textFallbackWithoutTools === true && consumers != null && hasFallbackText && !hasTurnFileConsumer(mimeType, consumers, file)) return "text";
|
|
1792
|
+
return path;
|
|
1793
|
+
}
|
|
1794
|
+
/**
|
|
1594
1795
|
* Where a unified upload will end up, and whether it can be accepted at all.
|
|
1595
1796
|
*
|
|
1596
1797
|
* An upload has to be readable by something: the model, an extraction step, or a file
|
|
@@ -1725,17 +1926,22 @@ function findMessageById(messages, messageId) {
|
|
|
1725
1926
|
}
|
|
1726
1927
|
/**
|
|
1727
1928
|
* True when a turn carries the marker the server stamps on a manual compaction:
|
|
1728
|
-
* `
|
|
1729
|
-
*
|
|
1730
|
-
*
|
|
1731
|
-
*
|
|
1732
|
-
*
|
|
1733
|
-
*
|
|
1929
|
+
* `markCompactionOutcome` sets `initiatedBy: 'user'` on whichever part carries
|
|
1930
|
+
* the outcome — the summary a Compact action produced, or the error part a run
|
|
1931
|
+
* that produced none recorded instead — and nothing else writes it, so an
|
|
1932
|
+
* automatic summary detour is not one. This is the compaction's own identity,
|
|
1933
|
+
* independent of where it hangs: Compact runs on whatever leaf the branch ends
|
|
1934
|
+
* with, so its response can parent onto a user message as easily as onto the
|
|
1935
|
+
* answer it summarized. Redoing one is the context indicator's Compact action,
|
|
1936
|
+
* never a rerun of the turn behind it.
|
|
1937
|
+
*
|
|
1938
|
+
* Compactions stored before the marker existed carry none, so callers keep
|
|
1939
|
+
* their own ancestry test as the fallback.
|
|
1734
1940
|
*/
|
|
1735
1941
|
function isUserInitiatedCompaction(message) {
|
|
1736
1942
|
const content = message?.content;
|
|
1737
1943
|
if (!Array.isArray(content)) return false;
|
|
1738
|
-
return content.some((part) => part?.type === "summary" && part.initiatedBy === "user");
|
|
1944
|
+
return content.some((part) => (part?.type === "summary" || part?.type === "error") && part.initiatedBy === "user");
|
|
1739
1945
|
}
|
|
1740
1946
|
/**
|
|
1741
1947
|
* True when a message is a finished manual compaction: every content part is a
|
|
@@ -1749,7 +1955,9 @@ function isCompactedLeaf(message) {
|
|
|
1749
1955
|
let usable = false;
|
|
1750
1956
|
for (const part of content) {
|
|
1751
1957
|
if (part?.type !== "summary") return false;
|
|
1752
|
-
|
|
1958
|
+
/** No `boundary` means the round never completed: only the final summary
|
|
1959
|
+
* block carries one, so a part holding streamed deltas alone lacks it. */
|
|
1960
|
+
if (part.summarizing === true || part.failed === true || part.boundary == null) continue;
|
|
1753
1961
|
const hasText = (part.content ?? []).some((block) => typeof block?.text === "string" && block.text.trim().length > 0);
|
|
1754
1962
|
usable = usable || hasText;
|
|
1755
1963
|
}
|
|
@@ -5396,6 +5604,28 @@ let InvocationMode = /* @__PURE__ */ function(InvocationMode) {
|
|
|
5396
5604
|
return InvocationMode;
|
|
5397
5605
|
}({});
|
|
5398
5606
|
//#endregion
|
|
5607
|
+
//#region src/types/content.ts
|
|
5608
|
+
let AnnotationTypes = /* @__PURE__ */ function(AnnotationTypes) {
|
|
5609
|
+
AnnotationTypes["FILE_CITATION"] = "file_citation";
|
|
5610
|
+
AnnotationTypes["FILE_PATH"] = "file_path";
|
|
5611
|
+
return AnnotationTypes;
|
|
5612
|
+
}({});
|
|
5613
|
+
let StepStatus = /* @__PURE__ */ function(StepStatus) {
|
|
5614
|
+
StepStatus["IN_PROGRESS"] = "in_progress";
|
|
5615
|
+
StepStatus["CANCELLED"] = "cancelled";
|
|
5616
|
+
StepStatus["FAILED"] = "failed";
|
|
5617
|
+
StepStatus["COMPLETED"] = "completed";
|
|
5618
|
+
StepStatus["EXPIRED"] = "expired";
|
|
5619
|
+
return StepStatus;
|
|
5620
|
+
}({});
|
|
5621
|
+
let MessageContentTypes = /* @__PURE__ */ function(MessageContentTypes) {
|
|
5622
|
+
MessageContentTypes["TEXT"] = "text";
|
|
5623
|
+
MessageContentTypes["IMAGE_FILE"] = "image_file";
|
|
5624
|
+
return MessageContentTypes;
|
|
5625
|
+
}({});
|
|
5626
|
+
const hostImageIdSuffix = "_host_copy";
|
|
5627
|
+
const hostImageNamePrefix = "host_copy_";
|
|
5628
|
+
//#endregion
|
|
5399
5629
|
//#region src/types/schedules.ts
|
|
5400
5630
|
/** Cadences the dialog builds from structured pickers (hour, minute, weekday). */
|
|
5401
5631
|
const scheduleStructuredFrequencies = [
|
|
@@ -5786,7 +6016,12 @@ const agentQueuedTurnFileRefSchema = zod.z.object({
|
|
|
5786
6016
|
filename: zod.z.string().optional(),
|
|
5787
6017
|
height: zod.z.number().optional(),
|
|
5788
6018
|
width: zod.z.number().optional(),
|
|
5789
|
-
bytes: zod.z.number().nonnegative().optional()
|
|
6019
|
+
bytes: zod.z.number().nonnegative().optional(),
|
|
6020
|
+
llmDeliveryPath: zod.z.enum([
|
|
6021
|
+
"provider",
|
|
6022
|
+
"text",
|
|
6023
|
+
"none"
|
|
6024
|
+
]).optional()
|
|
5790
6025
|
});
|
|
5791
6026
|
const enqueueAgentQueuedTurnSchema = zod.z.object({
|
|
5792
6027
|
conversationId: zod.z.string().trim().min(1),
|
|
@@ -7796,8 +8031,50 @@ const agentParamSettings = Object.entries(presetSettings).reduce((acc, [key, val
|
|
|
7796
8031
|
* current models (2.5 and 3+) surface their 64K output limit instead of the legacy 8K value.
|
|
7797
8032
|
* Anthropic prompt-cache controls are only surfaced for models that support them.
|
|
7798
8033
|
*/
|
|
7799
|
-
function applyModelAwareDefaults(settings, endpoint, model) {
|
|
8034
|
+
function applyModelAwareDefaults(settings, endpoint, model, responsesApiRouting) {
|
|
7800
8035
|
if (!model) return settings;
|
|
8036
|
+
if (/^grok-4[.-]7(?:$|[-:])/.test(model.split("/").pop() ?? "")) return settings.map((setting) => setting.key === "reasoning_effort" ? {
|
|
8037
|
+
...setting,
|
|
8038
|
+
options: [
|
|
8039
|
+
"",
|
|
8040
|
+
"low",
|
|
8041
|
+
"medium",
|
|
8042
|
+
"high",
|
|
8043
|
+
"xhigh"
|
|
8044
|
+
]
|
|
8045
|
+
} : setting);
|
|
8046
|
+
if (/^gpt-6-(?:sol|luna)(?:$|-)/i.test(model)) return settings.map((setting) => {
|
|
8047
|
+
if (setting.key === "reasoning_effort") return {
|
|
8048
|
+
...setting,
|
|
8049
|
+
options: setting.options?.filter((effort) => effort !== "minimal")
|
|
8050
|
+
};
|
|
8051
|
+
/** Match the native backend's unset default without writing into stored
|
|
8052
|
+
* settings. Explicit false still overrides this rendered default. */
|
|
8053
|
+
if (setting.key === "useResponsesApi") {
|
|
8054
|
+
const route = (value) => require_data_service.resolveEffectiveUseResponsesApi({
|
|
8055
|
+
endpoint,
|
|
8056
|
+
model,
|
|
8057
|
+
routing: responsesApiRouting,
|
|
8058
|
+
value
|
|
8059
|
+
});
|
|
8060
|
+
return {
|
|
8061
|
+
...setting,
|
|
8062
|
+
default: route() ?? false,
|
|
8063
|
+
enumMappings: {
|
|
8064
|
+
true: route(true) ?? true,
|
|
8065
|
+
false: route(false) ?? false
|
|
8066
|
+
}
|
|
8067
|
+
};
|
|
8068
|
+
}
|
|
8069
|
+
return setting;
|
|
8070
|
+
});
|
|
8071
|
+
if (isOpus55Model(model)) return settings.filter((setting) => ![
|
|
8072
|
+
"thinking",
|
|
8073
|
+
"thinkingBudget",
|
|
8074
|
+
"temperature",
|
|
8075
|
+
"topP",
|
|
8076
|
+
"topK"
|
|
8077
|
+
].includes(setting.key));
|
|
7801
8078
|
const modelAwareSettings = endpoint === "google" ? settings.map((setting) => {
|
|
7802
8079
|
if (setting.key === "maxOutputTokens") return {
|
|
7803
8080
|
...setting,
|
|
@@ -7861,55 +8138,17 @@ function removeCodeExecutionCaller(toolOptions) {
|
|
|
7861
8138
|
return normalized;
|
|
7862
8139
|
}
|
|
7863
8140
|
//#endregion
|
|
7864
|
-
//#region src/
|
|
7865
|
-
/**
|
|
7866
|
-
|
|
7867
|
-
* `as const` tuple so the runtime list and the TypeScript union can't
|
|
7868
|
-
* drift on future additions — adding a new kind to the tuple updates
|
|
7869
|
-
* both at once.
|
|
7870
|
-
*
|
|
7871
|
-
* - `skill`: shared per skill identity. Cross-user-within-tenant
|
|
7872
|
-
* sharing. Code API sessionKey omits the user dimension.
|
|
7873
|
-
* `version` is required (the skill's monotonic counter scopes the
|
|
7874
|
-
* cache per revision so any edit invalidates the prior cache
|
|
7875
|
-
* entry naturally).
|
|
7876
|
-
* - `agent`: shared per agent identity. Same sharing semantic as
|
|
7877
|
-
* skills (agents are addressable resources accessible to a
|
|
7878
|
-
* permission-defined audience).
|
|
7879
|
-
* - `user`: user-private. Code API sessionKey is keyed by the
|
|
7880
|
-
* requesting user from auth context. Used for chat attachments
|
|
7881
|
-
* and code-output artifacts.
|
|
7882
|
-
*/
|
|
7883
|
-
const CODE_ENV_KINDS = [
|
|
7884
|
-
"skill",
|
|
7885
|
-
"agent",
|
|
7886
|
-
"user"
|
|
7887
|
-
];
|
|
7888
|
-
function getCodeEnvRefForProfile(refs, routeKey) {
|
|
7889
|
-
const profileRef = refs?.codeEnvRefs?.[routeKey];
|
|
7890
|
-
if (profileRef) return profileRef;
|
|
7891
|
-
const legacyRef = refs?.codeEnvRef;
|
|
7892
|
-
if (legacyRef && (legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default") === routeKey) return legacyRef;
|
|
7893
|
-
}
|
|
7894
|
-
/** Adds one profile pointer without discarding the other profile's storage object. */
|
|
7895
|
-
function mergeCodeEnvRef(refs, ref) {
|
|
7896
|
-
const codeEnvRefs = { ...refs?.codeEnvRefs };
|
|
7897
|
-
const legacyRef = refs?.codeEnvRef;
|
|
7898
|
-
if (legacyRef) codeEnvRefs[legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default"] ??= legacyRef;
|
|
7899
|
-
const routeKey = ref.executionRouteKey ?? ref.executionProfile ?? "default";
|
|
7900
|
-
codeEnvRefs[routeKey] = ref;
|
|
8141
|
+
//#region src/backgroundResults.ts
|
|
8142
|
+
/** Shared serialized metadata shape for admission budgeting and continuation rendering. */
|
|
8143
|
+
function backgroundResultMetadata(result) {
|
|
7901
8144
|
return {
|
|
7902
|
-
|
|
7903
|
-
|
|
8145
|
+
background_task_id: result.taskId,
|
|
8146
|
+
tool_call_id: result.toolCallId,
|
|
8147
|
+
tool: result.toolName,
|
|
8148
|
+
status: result.status,
|
|
8149
|
+
result: ""
|
|
7904
8150
|
};
|
|
7905
8151
|
}
|
|
7906
|
-
/** Enumerates every deployment-local pointer, including legacy single-pointer records. */
|
|
7907
|
-
function getCodeEnvRefs(refs) {
|
|
7908
|
-
const merged = { ...refs?.codeEnvRefs };
|
|
7909
|
-
const legacyRef = refs?.codeEnvRef;
|
|
7910
|
-
if (legacyRef) merged[legacyRef.executionRouteKey ?? legacyRef.executionProfile ?? "default"] ??= legacyRef;
|
|
7911
|
-
return Object.entries(merged).flatMap(([routeKey, ref]) => ref ? [[routeKey, ref]] : []);
|
|
7912
|
-
}
|
|
7913
8152
|
//#endregion
|
|
7914
8153
|
//#region src/code/worker.ts
|
|
7915
8154
|
function isCodeWorkerShell(value) {
|
|
@@ -7934,13 +8173,15 @@ function createCodeWorkerSetupCommand(pairing, shell, options = {}) {
|
|
|
7934
8173
|
}
|
|
7935
8174
|
//#endregion
|
|
7936
8175
|
exports.ACTION_METADATA_FILTER_FIELDS = require_data_service.ACTION_METADATA_FILTER_FIELDS;
|
|
8176
|
+
exports.AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_DEFAULT = require_data_service.AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_DEFAULT;
|
|
8177
|
+
exports.AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_HARD_MAX = require_data_service.AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_HARD_MAX;
|
|
7937
8178
|
exports.AGENT_INSTRUCTION_FILTER_FIELDS = require_data_service.AGENT_INSTRUCTION_FILTER_FIELDS;
|
|
7938
8179
|
exports.AUTH_USER_DOC_BY_ID_PREFIX = require_data_service.AUTH_USER_DOC_BY_ID_PREFIX;
|
|
7939
8180
|
exports.AccessRoleIds = require_data_service.AccessRoleIds;
|
|
7940
8181
|
exports.ActionRequest = ActionRequest;
|
|
7941
8182
|
exports.ActivityLabelEvents = ActivityLabelEvents;
|
|
7942
8183
|
exports.AgentCapabilities = require_data_service.AgentCapabilities;
|
|
7943
|
-
exports.AnnotationTypes =
|
|
8184
|
+
exports.AnnotationTypes = AnnotationTypes;
|
|
7944
8185
|
exports.AnthropicEffort = require_data_service.AnthropicEffort;
|
|
7945
8186
|
exports.ApprovalEvents = ApprovalEvents;
|
|
7946
8187
|
exports.ArtifactModes = ArtifactModes;
|
|
@@ -7960,8 +8201,11 @@ exports.CODE_ENVIRONMENT_COMMAND_TIMEOUT_DEFAULT_MS = require_data_service.CODE_
|
|
|
7960
8201
|
exports.CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS = require_data_service.CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS;
|
|
7961
8202
|
exports.CODE_ENVIRONMENT_DECISION_VERSION = require_data_service.CODE_ENVIRONMENT_DECISION_VERSION;
|
|
7962
8203
|
exports.CODE_ENVIRONMENT_MODES = require_data_service.CODE_ENVIRONMENT_MODES;
|
|
8204
|
+
exports.CODE_ENVIRONMENT_MOVE_VERSION = require_data_service.CODE_ENVIRONMENT_MOVE_VERSION;
|
|
8205
|
+
exports.CODE_ENVIRONMENT_QUEUE_WAIT_DEFAULT_MS = require_data_service.CODE_ENVIRONMENT_QUEUE_WAIT_DEFAULT_MS;
|
|
7963
8206
|
exports.CODE_ENV_KINDS = CODE_ENV_KINDS;
|
|
7964
8207
|
exports.CODE_WORKSPACE_ID_PATTERN = require_data_service.CODE_WORKSPACE_ID_PATTERN;
|
|
8208
|
+
exports.CODE_WORKSPACE_INSTANCE_TYPES = require_data_service.CODE_WORKSPACE_INSTANCE_TYPES;
|
|
7965
8209
|
exports.CODE_WORKSPACE_MAX_COUNT = require_data_service.CODE_WORKSPACE_MAX_COUNT;
|
|
7966
8210
|
exports.CODE_WORKSPACE_OPERATIONS = require_data_service.CODE_WORKSPACE_OPERATIONS;
|
|
7967
8211
|
exports.CODE_WORKSPACE_SELECTION_ERROR_REASONS = require_data_service.CODE_WORKSPACE_SELECTION_ERROR_REASONS;
|
|
@@ -7975,7 +8219,15 @@ exports.ComponentTypes = require_data_service.ComponentTypes;
|
|
|
7975
8219
|
exports.Constants = require_data_service.Constants;
|
|
7976
8220
|
exports.ContentTypes = ContentTypes;
|
|
7977
8221
|
exports.DATE_RANGE = DATE_RANGE;
|
|
8222
|
+
exports.DEFAULT_AGENT_MODEL_RESPONSE_BODY_TIMEOUT_MS = require_data_service.DEFAULT_AGENT_MODEL_RESPONSE_BODY_TIMEOUT_MS;
|
|
8223
|
+
exports.DEFAULT_AGENT_MODEL_RESPONSE_HEADERS_TIMEOUT_MS = require_data_service.DEFAULT_AGENT_MODEL_RESPONSE_HEADERS_TIMEOUT_MS;
|
|
8224
|
+
exports.DEFAULT_BALANCE_RESERVATION_TTL_MS = require_data_service.DEFAULT_BALANCE_RESERVATION_TTL_MS;
|
|
8225
|
+
exports.DEFAULT_MAX_PROVIDER_ERROR_CHARS = require_data_service.DEFAULT_MAX_PROVIDER_ERROR_CHARS;
|
|
8226
|
+
exports.DEFAULT_MAX_RETAINED_TOOL_COUNT_CHARS = require_data_service.DEFAULT_MAX_RETAINED_TOOL_COUNT_CHARS;
|
|
7978
8227
|
exports.DEFAULT_MEMORY_MAX_INPUT_TOKENS = require_data_service.DEFAULT_MEMORY_MAX_INPUT_TOKENS;
|
|
8228
|
+
exports.DEFAULT_OAUTH_STATE_TTL_MS = require_data_service.DEFAULT_OAUTH_STATE_TTL_MS;
|
|
8229
|
+
exports.DEFAULT_RETAINED_ANSWER_TOKENS = require_data_service.DEFAULT_RETAINED_ANSWER_TOKENS;
|
|
8230
|
+
exports.DEFAULT_SKILL_IMPORT_CLEANUP_CONCURRENCY = require_data_service.DEFAULT_SKILL_IMPORT_CLEANUP_CONCURRENCY;
|
|
7979
8231
|
exports.DefaultLLMDeliveryPath = require_data_service.DefaultLLMDeliveryPath;
|
|
7980
8232
|
exports.DynamicQueryKeys = require_data_service.DynamicQueryKeys;
|
|
7981
8233
|
exports.EImageOutputType = require_data_service.EImageOutputType;
|
|
@@ -8015,6 +8267,7 @@ exports.MAX_CHAT_PROJECT_DESCRIPTION_LENGTH = require_data_service.MAX_CHAT_PROJ
|
|
|
8015
8267
|
exports.MAX_CHAT_PROJECT_NAME_LENGTH = require_data_service.MAX_CHAT_PROJECT_NAME_LENGTH;
|
|
8016
8268
|
exports.MAX_GRAPH_SUBAGENT_MEMBERS = require_data_service.MAX_GRAPH_SUBAGENT_MEMBERS;
|
|
8017
8269
|
exports.MAX_MCP_ICON_PATH_LENGTH = require_data_service.MAX_MCP_ICON_PATH_LENGTH;
|
|
8270
|
+
exports.MAX_MCP_OAUTH_PERSISTENCE_WAIT_MS = require_data_service.MAX_MCP_OAUTH_PERSISTENCE_WAIT_MS;
|
|
8018
8271
|
exports.MAX_PII_CUSTOM_PATTERNS_TOTAL = require_data_service.MAX_PII_CUSTOM_PATTERNS_TOTAL;
|
|
8019
8272
|
exports.MAX_PII_CUSTOM_REGEX_CHARACTERS = require_data_service.MAX_PII_CUSTOM_REGEX_CHARACTERS;
|
|
8020
8273
|
exports.MAX_PII_CUSTOM_REGEX_INSTRUCTIONS = require_data_service.MAX_PII_CUSTOM_REGEX_INSTRUCTIONS;
|
|
@@ -8035,13 +8288,15 @@ exports.MCP_SERVER_TITLE_PATTERN = require_data_service.MCP_SERVER_TITLE_PATTERN
|
|
|
8035
8288
|
exports.MCP_USER_INPUT_FIELDS = require_data_service.MCP_USER_INPUT_FIELDS;
|
|
8036
8289
|
exports.MEMORY_FILTER_FIELDS = require_data_service.MEMORY_FILTER_FIELDS;
|
|
8037
8290
|
exports.MESSAGE_FILTER_FIELDS = require_data_service.MESSAGE_FILTER_FIELDS;
|
|
8291
|
+
exports.MIN_BALANCE_RESERVATION_TTL_MS = require_data_service.MIN_BALANCE_RESERVATION_TTL_MS;
|
|
8038
8292
|
exports.MIN_REPORTABLE_RUN_STEP_DURATION_MS = MIN_REPORTABLE_RUN_STEP_DURATION_MS;
|
|
8039
8293
|
exports.MODEL_PARAMETER_FILTER_FIELDS = require_data_service.MODEL_PARAMETER_FILTER_FIELDS;
|
|
8040
8294
|
exports.MYTHOS_CLASS_FAMILIES = require_data_service.MYTHOS_CLASS_FAMILIES;
|
|
8041
8295
|
exports.MemoryScope = require_data_service.MemoryScope;
|
|
8042
|
-
exports.MessageContentTypes =
|
|
8296
|
+
exports.MessageContentTypes = MessageContentTypes;
|
|
8043
8297
|
exports.MutationKeys = require_data_service.MutationKeys;
|
|
8044
8298
|
exports.OCRStrategy = require_data_service.OCRStrategy;
|
|
8299
|
+
exports.OPUS_55_BLOCK_BINDING = OPUS_55_BLOCK_BINDING;
|
|
8045
8300
|
exports.OptionTypes = require_data_service.OptionTypes;
|
|
8046
8301
|
exports.PERMISSION_SUB_KEYS = PERMISSION_SUB_KEYS;
|
|
8047
8302
|
exports.PERMISSION_TYPE_INTERFACE_FIELDS = PERMISSION_TYPE_INTERFACE_FIELDS;
|
|
@@ -8098,11 +8353,12 @@ exports.SkillsScope = require_data_service.SkillsScope;
|
|
|
8098
8353
|
exports.StdioOptionsSchema = require_data_service.StdioOptionsSchema;
|
|
8099
8354
|
exports.SteerEvents = SteerEvents;
|
|
8100
8355
|
exports.StepEvents = StepEvents;
|
|
8101
|
-
exports.StepStatus =
|
|
8356
|
+
exports.StepStatus = StepStatus;
|
|
8102
8357
|
exports.StepTypes = StepTypes;
|
|
8103
8358
|
exports.StreamableHTTPOptionsSchema = require_data_service.StreamableHTTPOptionsSchema;
|
|
8104
8359
|
exports.SystemCategories = require_data_service.SystemCategories;
|
|
8105
8360
|
exports.SystemRoles = SystemRoles;
|
|
8361
|
+
exports.THINKING_BINDING_BETA = THINKING_BINDING_BETA;
|
|
8106
8362
|
exports.TOOL_ARGUMENT_FILTER_FIELDS = require_data_service.TOOL_ARGUMENT_FILTER_FIELDS;
|
|
8107
8363
|
exports.TRACE_CURSOR_MAX_LENGTH = TRACE_CURSOR_MAX_LENGTH;
|
|
8108
8364
|
exports.TRACE_RECORD_ID_MAX_LENGTH = TRACE_RECORD_ID_MAX_LENGTH;
|
|
@@ -8150,6 +8406,8 @@ exports.apiBaseUrl = require_data_service.apiBaseUrl;
|
|
|
8150
8406
|
exports.appendAgentIdSuffix = appendAgentIdSuffix;
|
|
8151
8407
|
exports.applicationMimeTypes = require_data_service.applicationMimeTypes;
|
|
8152
8408
|
exports.applyModelAwareDefaults = applyModelAwareDefaults;
|
|
8409
|
+
exports.askUserQuestionConfigSchema = require_data_service.askUserQuestionConfigSchema;
|
|
8410
|
+
exports.askUserQuestionRetainedAnswersSchema = require_data_service.askUserQuestionRetainedAnswersSchema;
|
|
8153
8411
|
exports.assistantEndpointSchema = require_data_service.assistantEndpointSchema;
|
|
8154
8412
|
exports.assistantSchema = require_data_service.assistantSchema;
|
|
8155
8413
|
exports.audioMimeTypes = require_data_service.audioMimeTypes;
|
|
@@ -8159,6 +8417,7 @@ exports.azureBaseSchema = require_data_service.azureBaseSchema;
|
|
|
8159
8417
|
exports.azureEndpointSchema = require_data_service.azureEndpointSchema;
|
|
8160
8418
|
exports.azureGroupConfigsSchema = require_data_service.azureGroupConfigsSchema;
|
|
8161
8419
|
exports.azureGroupSchema = require_data_service.azureGroupSchema;
|
|
8420
|
+
exports.backgroundResultMetadata = backgroundResultMetadata;
|
|
8162
8421
|
exports.badge = badge;
|
|
8163
8422
|
exports.balanceSchema = require_data_service.balanceSchema;
|
|
8164
8423
|
exports.baseEndpointSchema = require_data_service.baseEndpointSchema;
|
|
@@ -8300,6 +8559,7 @@ exports.getCodeEnvRefForProfile = getCodeEnvRefForProfile;
|
|
|
8300
8559
|
exports.getCodeEnvRefs = getCodeEnvRefs;
|
|
8301
8560
|
exports.getConfigDefaults = require_data_service.getConfigDefaults;
|
|
8302
8561
|
exports.getConfiguredMimeAccept = require_data_service.getConfiguredMimeAccept;
|
|
8562
|
+
exports.getCustomEndpointProvider = getCustomEndpointProvider;
|
|
8303
8563
|
exports.getDefaultParamsEndpoint = require_data_service.getDefaultParamsEndpoint;
|
|
8304
8564
|
exports.getDocumentFileExtension = require_data_service.getDocumentFileExtension;
|
|
8305
8565
|
exports.getEnabledEndpoints = getEnabledEndpoints;
|
|
@@ -8330,12 +8590,16 @@ exports.googleSettings = require_data_service.googleSettings;
|
|
|
8330
8590
|
exports.hasActiveFiltersConfig = require_data_service.hasActiveFiltersConfig;
|
|
8331
8591
|
exports.hasActivePiiFields = require_data_service.hasActivePiiFields;
|
|
8332
8592
|
exports.hasActivePiiPatterns = require_data_service.hasActivePiiPatterns;
|
|
8593
|
+
exports.hasConfiguredFooter = hasConfiguredFooter;
|
|
8594
|
+
exports.hasInferredLLMDeliveryPath = hasInferredLLMDeliveryPath;
|
|
8333
8595
|
exports.hasPermissions = require_data_service.hasPermissions;
|
|
8334
8596
|
exports.hasProcessMCPServerConfig = require_data_service.hasProcessMCPServerConfig;
|
|
8335
8597
|
exports.hasTextExtractionPath = hasTextExtractionPath;
|
|
8336
8598
|
exports.hasToolCallErrorPrefix = hasToolCallErrorPrefix;
|
|
8337
|
-
exports.
|
|
8338
|
-
exports.
|
|
8599
|
+
exports.hasToolResourceProvisioning = hasToolResourceProvisioning;
|
|
8600
|
+
exports.hasTurnFileConsumer = hasTurnFileConsumer;
|
|
8601
|
+
exports.hostImageIdSuffix = hostImageIdSuffix;
|
|
8602
|
+
exports.hostImageNamePrefix = hostImageNamePrefix;
|
|
8339
8603
|
exports.hoverCard = hoverCard;
|
|
8340
8604
|
exports.imageDetailNumeric = require_data_service.imageDetailNumeric;
|
|
8341
8605
|
exports.imageDetailValue = require_data_service.imageDetailValue;
|
|
@@ -8356,13 +8620,16 @@ exports.isAssistantsEndpoint = require_data_service.isAssistantsEndpoint;
|
|
|
8356
8620
|
exports.isBedrockDocumentType = require_data_service.isBedrockDocumentType;
|
|
8357
8621
|
exports.isCodeEnvironmentMode = require_data_service.isCodeEnvironmentMode;
|
|
8358
8622
|
exports.isCodeWorkerShell = isCodeWorkerShell;
|
|
8623
|
+
exports.isCodeWorkspaceEnvironment = require_data_service.isCodeWorkspaceEnvironment;
|
|
8359
8624
|
exports.isCodeWorkspaceSelection = require_data_service.isCodeWorkspaceSelection;
|
|
8360
8625
|
exports.isCodeWorkspaceSelectionErrorReason = require_data_service.isCodeWorkspaceSelectionErrorReason;
|
|
8361
8626
|
exports.isCodeWorkspaceSelections = require_data_service.isCodeWorkspaceSelections;
|
|
8362
8627
|
exports.isCompactedLeaf = isCompactedLeaf;
|
|
8628
|
+
exports.isConfiguredSender = isConfiguredSender;
|
|
8363
8629
|
exports.isCronCadence = isCronCadence;
|
|
8364
8630
|
exports.isDocumentSupportedProvider = require_data_service.isDocumentSupportedProvider;
|
|
8365
8631
|
exports.isEphemeralAgentId = isEphemeralAgentId;
|
|
8632
|
+
exports.isExplicitMimeConfig = require_data_service.isExplicitMimeConfig;
|
|
8366
8633
|
exports.isImageVisionTool = require_data_service.isImageVisionTool;
|
|
8367
8634
|
exports.isKnownProviderIdentifier = require_data_service.isKnownProviderIdentifier;
|
|
8368
8635
|
exports.isMediaSupportedProvider = require_data_service.isMediaSupportedProvider;
|
|
@@ -8370,12 +8637,14 @@ exports.isMessageFileUpload = require_data_service.isMessageFileUpload;
|
|
|
8370
8637
|
exports.isMythosClassModel = require_data_service.isMythosClassModel;
|
|
8371
8638
|
exports.isNativelyReadableText = isNativelyReadableText;
|
|
8372
8639
|
exports.isOpenAILikeProvider = require_data_service.isOpenAILikeProvider;
|
|
8640
|
+
exports.isOpus55Model = isOpus55Model;
|
|
8373
8641
|
exports.isParamEndpoint = require_data_service.isParamEndpoint;
|
|
8374
8642
|
exports.isPermissiveMimeConfig = require_data_service.isPermissiveMimeConfig;
|
|
8375
8643
|
exports.isProcessMCPServerConfig = require_data_service.isProcessMCPServerConfig;
|
|
8376
8644
|
exports.isProcessMCPServerField = require_data_service.isProcessMCPServerField;
|
|
8377
8645
|
exports.isRemoteOidcUrlAllowed = require_data_service.isRemoteOidcUrlAllowed;
|
|
8378
8646
|
exports.isReportableRunStepDuration = isReportableRunStepDuration;
|
|
8647
|
+
exports.isRepositoryInstructionDescriptor = require_data_service.isRepositoryInstructionDescriptor;
|
|
8379
8648
|
exports.isResponsesApiUpload = require_data_service.isResponsesApiUpload;
|
|
8380
8649
|
exports.isSecureCodeEnvironmentControlURL = require_data_service.isSecureCodeEnvironmentControlURL;
|
|
8381
8650
|
exports.isSensitiveEnvVar = require_data_service.isSensitiveEnvVar;
|
|
@@ -8431,6 +8700,7 @@ exports.omitsThinkingByDefault = omitsThinkingByDefault;
|
|
|
8431
8700
|
exports.openAIBaseSchema = require_data_service.openAIBaseSchema;
|
|
8432
8701
|
exports.openAISchema = require_data_service.openAISchema;
|
|
8433
8702
|
exports.openAISettings = require_data_service.openAISettings;
|
|
8703
|
+
exports.openIdDiscoverySchema = require_data_service.openIdDiscoverySchema;
|
|
8434
8704
|
exports.openRouterSchema = require_data_service.openRouterSchema;
|
|
8435
8705
|
exports.openapiToFunction = openapiToFunction;
|
|
8436
8706
|
exports.orderEndpointsConfig = orderEndpointsConfig;
|
|
@@ -8447,8 +8717,10 @@ exports.parseTextParts = parseTextParts;
|
|
|
8447
8717
|
exports.peoplePickerPermissionsSchema = peoplePickerPermissionsSchema;
|
|
8448
8718
|
exports.permBitsToAccessLevel = require_data_service.permBitsToAccessLevel;
|
|
8449
8719
|
exports.permissionEntrySchema = require_data_service.permissionEntrySchema;
|
|
8720
|
+
exports.permissionWriteAttemptsSchema = require_data_service.permissionWriteAttemptsSchema;
|
|
8450
8721
|
exports.permissionsSchema = permissionsSchema;
|
|
8451
8722
|
exports.popover = popover;
|
|
8723
|
+
exports.prefersResponsesApiByModel = require_data_service.prefersResponsesApiByModel;
|
|
8452
8724
|
exports.presetSettings = presetSettings;
|
|
8453
8725
|
exports.principalSchema = require_data_service.principalSchema;
|
|
8454
8726
|
exports.progress = progress;
|
|
@@ -8475,6 +8747,7 @@ exports.resolveCodePermissionDecision = require_data_service.resolveCodePermissi
|
|
|
8475
8747
|
exports.resolveDefaultLLMDeliveryPath = resolveDefaultLLMDeliveryPath;
|
|
8476
8748
|
exports.resolveDefaultUploadLLMDeliveryPath = resolveDefaultUploadLLMDeliveryPath;
|
|
8477
8749
|
exports.resolveDropParamsUIKeys = resolveDropParamsUIKeys;
|
|
8750
|
+
exports.resolveEffectiveUseResponsesApi = require_data_service.resolveEffectiveUseResponsesApi;
|
|
8478
8751
|
exports.resolveEndpointType = require_data_service.resolveEndpointType;
|
|
8479
8752
|
exports.resolveModelCatalogKey = resolveModelCatalogKey;
|
|
8480
8753
|
exports.resolveModelSpecEndpoint = require_data_service.resolveModelSpecEndpoint;
|
|
@@ -8484,6 +8757,7 @@ exports.resolveSandboxFilename = require_data_service.resolveSandboxFilename;
|
|
|
8484
8757
|
exports.resolveStatefulCodeEnvironment = require_data_service.resolveStatefulCodeEnvironment;
|
|
8485
8758
|
exports.resolveThinkingDisplay = resolveThinkingDisplay;
|
|
8486
8759
|
exports.resolveTraceViewerConfig = require_data_service.resolveTraceViewerConfig;
|
|
8760
|
+
exports.resolveTurnLLMDeliveryPath = resolveTurnLLMDeliveryPath;
|
|
8487
8761
|
exports.resolveUploadDestination = resolveUploadDestination;
|
|
8488
8762
|
exports.resolveUploadLLMDeliveryPath = resolveUploadLLMDeliveryPath;
|
|
8489
8763
|
exports.resolveUseResponsesApi = require_data_service.resolveUseResponsesApi;
|