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
|
@@ -336,6 +336,8 @@ const CODE_WORKSPACE_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
|
|
|
336
336
|
const CODE_WORKSPACE_MAX_COUNT = 32;
|
|
337
337
|
/** API/client protocol for immutable conversation-owned environment decisions. */
|
|
338
338
|
const CODE_ENVIRONMENT_DECISION_VERSION = 1;
|
|
339
|
+
/** API/client protocol for an owner's explicit move of a sealed environment decision. */
|
|
340
|
+
const CODE_ENVIRONMENT_MOVE_VERSION = 1;
|
|
339
341
|
const CODE_WORKSPACE_OPERATIONS = [
|
|
340
342
|
"read_file",
|
|
341
343
|
"search_text",
|
|
@@ -345,6 +347,7 @@ const CODE_WORKSPACE_OPERATIONS = [
|
|
|
345
347
|
"edit_file",
|
|
346
348
|
"execute_command"
|
|
347
349
|
];
|
|
350
|
+
const CODE_WORKSPACE_INSTANCE_TYPES = ["git_worktree"];
|
|
348
351
|
const CODE_WORKSPACE_SELECTION_ERROR_REASONS = [
|
|
349
352
|
"required",
|
|
350
353
|
"invalid",
|
|
@@ -354,6 +357,26 @@ const CODE_WORKSPACE_SELECTION_ERROR_REASONS = [
|
|
|
354
357
|
"locked"
|
|
355
358
|
];
|
|
356
359
|
const CODE_ENVIRONMENT_MODES = ["attached", "without_attached"];
|
|
360
|
+
function isRepositoryInstructionDescriptor(value) {
|
|
361
|
+
if (value == null || typeof value !== "object") return false;
|
|
362
|
+
const descriptor = value;
|
|
363
|
+
return Object.keys(descriptor).every((key) => [
|
|
364
|
+
"path",
|
|
365
|
+
"bytes",
|
|
366
|
+
"sha256",
|
|
367
|
+
"truncated"
|
|
368
|
+
].includes(key)) && (descriptor.path === "AGENTS.md" || descriptor.path === "CLAUDE.md") && Number.isSafeInteger(descriptor.bytes) && Number(descriptor.bytes) >= 0 && Number(descriptor.bytes) <= 32768 && typeof descriptor.sha256 === "string" && /^[a-f0-9]{64}$/.test(descriptor.sha256) && typeof descriptor.truncated === "boolean";
|
|
369
|
+
}
|
|
370
|
+
function isCodeWorkspaceEnvironment(value) {
|
|
371
|
+
if (value == null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
372
|
+
const environment = value;
|
|
373
|
+
return Object.keys(environment).every((key) => [
|
|
374
|
+
"fingerprint",
|
|
375
|
+
"repo",
|
|
376
|
+
"ref",
|
|
377
|
+
"actions"
|
|
378
|
+
].includes(key)) && typeof environment.fingerprint === "string" && /^[a-f0-9]{64}$/.test(environment.fingerprint) && (environment.repo === void 0 || typeof environment.repo === "string" && environment.repo.length <= 256 && /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(environment.repo)) && (environment.ref === void 0 || typeof environment.ref === "string" && environment.ref.trim().length > 0 && environment.ref.length <= 256 && !/[\0\r\n]/.test(environment.ref)) && Array.isArray(environment.actions) && environment.actions.length <= 32 && environment.actions.every((name) => typeof name === "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(name)) && new Set(environment.actions).size === environment.actions.length;
|
|
379
|
+
}
|
|
357
380
|
function isCodeEnvironmentMode(value) {
|
|
358
381
|
return CODE_ENVIRONMENT_MODES.some((mode) => mode === value);
|
|
359
382
|
}
|
|
@@ -542,26 +565,7 @@ function resolveCodePermissionDecision({ mode, category, decision }) {
|
|
|
542
565
|
return MODE_PERMISSIONS[mode][category];
|
|
543
566
|
}
|
|
544
567
|
//#endregion
|
|
545
|
-
//#region src/
|
|
546
|
-
const STATEFUL_CODE_ENVIRONMENTS = [
|
|
547
|
-
"user",
|
|
548
|
-
"agent-user",
|
|
549
|
-
"conversation"
|
|
550
|
-
];
|
|
551
|
-
/** Resolve a deployment allowlist in stable UI order. An omitted value preserves
|
|
552
|
-
* the backward-compatible behavior where every environment is available. */
|
|
553
|
-
function resolveAllowedStatefulCodeEnvironments(configured) {
|
|
554
|
-
if (configured == null) return [...STATEFUL_CODE_ENVIRONMENTS];
|
|
555
|
-
const configuredSet = new Set(configured);
|
|
556
|
-
return STATEFUL_CODE_ENVIRONMENTS.filter((environment) => configuredSet.has(environment));
|
|
557
|
-
}
|
|
558
|
-
/** Keep an allowed preference, otherwise select the first deployment-allowed scope. */
|
|
559
|
-
function resolveStatefulCodeEnvironment(preferred, configured) {
|
|
560
|
-
const allowed = resolveAllowedStatefulCodeEnvironments(configured);
|
|
561
|
-
return preferred != null && allowed.includes(preferred) ? preferred : allowed[0];
|
|
562
|
-
}
|
|
563
|
-
//#endregion
|
|
564
|
-
//#region src/types/assistants.ts
|
|
568
|
+
//#region src/types/tools.ts
|
|
565
569
|
let Tools = /* @__PURE__ */ function(Tools) {
|
|
566
570
|
Tools["execute_code"] = "execute_code";
|
|
567
571
|
Tools["code_interpreter"] = "code_interpreter";
|
|
@@ -585,39 +589,6 @@ let EToolResources = /* @__PURE__ */ function(EToolResources) {
|
|
|
585
589
|
EToolResources["ocr"] = "ocr";
|
|
586
590
|
return EToolResources;
|
|
587
591
|
}({});
|
|
588
|
-
const agentGitIdentitySchema = z.object({
|
|
589
|
-
name: z.string().trim().min(1).max(128).refine((value) => !/[\0\r\n]/.test(value)),
|
|
590
|
-
email: z.string().trim().email().max(254).refine((value) => !/[\0\r\n]/.test(value))
|
|
591
|
-
}).optional();
|
|
592
|
-
let AnnotationTypes = /* @__PURE__ */ function(AnnotationTypes) {
|
|
593
|
-
AnnotationTypes["FILE_CITATION"] = "file_citation";
|
|
594
|
-
AnnotationTypes["FILE_PATH"] = "file_path";
|
|
595
|
-
return AnnotationTypes;
|
|
596
|
-
}({});
|
|
597
|
-
let StepStatus = /* @__PURE__ */ function(StepStatus) {
|
|
598
|
-
StepStatus["IN_PROGRESS"] = "in_progress";
|
|
599
|
-
StepStatus["CANCELLED"] = "cancelled";
|
|
600
|
-
StepStatus["FAILED"] = "failed";
|
|
601
|
-
StepStatus["COMPLETED"] = "completed";
|
|
602
|
-
StepStatus["EXPIRED"] = "expired";
|
|
603
|
-
return StepStatus;
|
|
604
|
-
}({});
|
|
605
|
-
let MessageContentTypes = /* @__PURE__ */ function(MessageContentTypes) {
|
|
606
|
-
MessageContentTypes["TEXT"] = "text";
|
|
607
|
-
MessageContentTypes["IMAGE_FILE"] = "image_file";
|
|
608
|
-
return MessageContentTypes;
|
|
609
|
-
}({});
|
|
610
|
-
let RunStatus = /* @__PURE__ */ function(RunStatus) {
|
|
611
|
-
RunStatus["QUEUED"] = "queued";
|
|
612
|
-
RunStatus["IN_PROGRESS"] = "in_progress";
|
|
613
|
-
RunStatus["REQUIRES_ACTION"] = "requires_action";
|
|
614
|
-
RunStatus["CANCELLING"] = "cancelling";
|
|
615
|
-
RunStatus["CANCELLED"] = "cancelled";
|
|
616
|
-
RunStatus["FAILED"] = "failed";
|
|
617
|
-
RunStatus["COMPLETED"] = "completed";
|
|
618
|
-
RunStatus["EXPIRED"] = "expired";
|
|
619
|
-
return RunStatus;
|
|
620
|
-
}({});
|
|
621
592
|
const actionDelimiter = "_action_";
|
|
622
593
|
const actionDomainSeparator = "---";
|
|
623
594
|
/** Mirrors `Constants.mcp_delimiter`; duplicated here to avoid a circular import from `config.ts`. */
|
|
@@ -645,46 +616,6 @@ function isActionTool(toolName) {
|
|
|
645
616
|
const mcpIdx = toolName.indexOf(mcpDelimiter);
|
|
646
617
|
return mcpIdx < 0 || mcpIdx < actionIdx;
|
|
647
618
|
}
|
|
648
|
-
const hostImageIdSuffix = "_host_copy";
|
|
649
|
-
const hostImageNamePrefix = "host_copy_";
|
|
650
|
-
let FilePurpose = /* @__PURE__ */ function(FilePurpose) {
|
|
651
|
-
FilePurpose["Vision"] = "vision";
|
|
652
|
-
FilePurpose["FineTune"] = "fine-tune";
|
|
653
|
-
FilePurpose["FineTuneResults"] = "fine-tune-results";
|
|
654
|
-
FilePurpose["Assistants"] = "assistants";
|
|
655
|
-
FilePurpose["AssistantsOutput"] = "assistants_output";
|
|
656
|
-
return FilePurpose;
|
|
657
|
-
}({});
|
|
658
|
-
const defaultOrderQuery = {
|
|
659
|
-
order: "desc",
|
|
660
|
-
limit: 100
|
|
661
|
-
};
|
|
662
|
-
let AssistantStreamEvents = /* @__PURE__ */ function(AssistantStreamEvents) {
|
|
663
|
-
AssistantStreamEvents["ThreadCreated"] = "thread.created";
|
|
664
|
-
AssistantStreamEvents["ThreadRunCreated"] = "thread.run.created";
|
|
665
|
-
AssistantStreamEvents["ThreadRunQueued"] = "thread.run.queued";
|
|
666
|
-
AssistantStreamEvents["ThreadRunInProgress"] = "thread.run.in_progress";
|
|
667
|
-
AssistantStreamEvents["ThreadRunRequiresAction"] = "thread.run.requires_action";
|
|
668
|
-
AssistantStreamEvents["ThreadRunCompleted"] = "thread.run.completed";
|
|
669
|
-
AssistantStreamEvents["ThreadRunFailed"] = "thread.run.failed";
|
|
670
|
-
AssistantStreamEvents["ThreadRunCancelling"] = "thread.run.cancelling";
|
|
671
|
-
AssistantStreamEvents["ThreadRunCancelled"] = "thread.run.cancelled";
|
|
672
|
-
AssistantStreamEvents["ThreadRunExpired"] = "thread.run.expired";
|
|
673
|
-
AssistantStreamEvents["ThreadRunStepCreated"] = "thread.run.step.created";
|
|
674
|
-
AssistantStreamEvents["ThreadRunStepInProgress"] = "thread.run.step.in_progress";
|
|
675
|
-
AssistantStreamEvents["ThreadRunStepCompleted"] = "thread.run.step.completed";
|
|
676
|
-
AssistantStreamEvents["ThreadRunStepFailed"] = "thread.run.step.failed";
|
|
677
|
-
AssistantStreamEvents["ThreadRunStepCancelled"] = "thread.run.step.cancelled";
|
|
678
|
-
AssistantStreamEvents["ThreadRunStepExpired"] = "thread.run.step.expired";
|
|
679
|
-
AssistantStreamEvents["ThreadRunStepDelta"] = "thread.run.step.delta";
|
|
680
|
-
AssistantStreamEvents["ThreadMessageCreated"] = "thread.message.created";
|
|
681
|
-
AssistantStreamEvents["ThreadMessageInProgress"] = "thread.message.in_progress";
|
|
682
|
-
AssistantStreamEvents["ThreadMessageCompleted"] = "thread.message.completed";
|
|
683
|
-
AssistantStreamEvents["ThreadMessageIncomplete"] = "thread.message.incomplete";
|
|
684
|
-
AssistantStreamEvents["ThreadMessageDelta"] = "thread.message.delta";
|
|
685
|
-
AssistantStreamEvents["ErrorEvent"] = "error";
|
|
686
|
-
return AssistantStreamEvents;
|
|
687
|
-
}({});
|
|
688
619
|
//#endregion
|
|
689
620
|
//#region src/schemas.ts
|
|
690
621
|
const isUUID = z.string().uuid();
|
|
@@ -1012,6 +943,7 @@ const defaultAgentFormValues = {
|
|
|
1012
943
|
stateful_code_environment: "user",
|
|
1013
944
|
code_environment_id: void 0,
|
|
1014
945
|
code_workspace_id: void 0,
|
|
946
|
+
repositoryInstructions: void 0,
|
|
1015
947
|
category: "general",
|
|
1016
948
|
support_contact: {
|
|
1017
949
|
name: "",
|
|
@@ -1989,6 +1921,72 @@ const compactAgentsBaseSchema = tConversationSchema.pick({
|
|
|
1989
1921
|
});
|
|
1990
1922
|
const compactAgentsSchema = compactAgentsBaseSchema.transform((obj) => removeNullishValues(obj)).catch(() => ({}));
|
|
1991
1923
|
//#endregion
|
|
1924
|
+
//#region src/balance.ts
|
|
1925
|
+
const REFILL_INTERVAL_UNITS = [
|
|
1926
|
+
"seconds",
|
|
1927
|
+
"minutes",
|
|
1928
|
+
"hours",
|
|
1929
|
+
"days",
|
|
1930
|
+
"weeks",
|
|
1931
|
+
"months"
|
|
1932
|
+
];
|
|
1933
|
+
/** How long an unreleased in-flight balance reservation keeps counting against the balance. */
|
|
1934
|
+
const DEFAULT_BALANCE_RESERVATION_TTL_MS = 1800 * 1e3;
|
|
1935
|
+
/** Shortest reservation TTL; a live reservation is renewed every half TTL. */
|
|
1936
|
+
const MIN_BALANCE_RESERVATION_TTL_MS = 10 * 1e3;
|
|
1937
|
+
function getRefillEligibilityDate(lastRefill, value, unit) {
|
|
1938
|
+
const result = new Date(lastRefill);
|
|
1939
|
+
switch (unit) {
|
|
1940
|
+
case "seconds":
|
|
1941
|
+
result.setSeconds(result.getSeconds() + value);
|
|
1942
|
+
return result;
|
|
1943
|
+
case "minutes":
|
|
1944
|
+
result.setMinutes(result.getMinutes() + value);
|
|
1945
|
+
return result;
|
|
1946
|
+
case "hours":
|
|
1947
|
+
result.setHours(result.getHours() + value);
|
|
1948
|
+
return result;
|
|
1949
|
+
case "days":
|
|
1950
|
+
result.setDate(result.getDate() + value);
|
|
1951
|
+
return result;
|
|
1952
|
+
case "weeks":
|
|
1953
|
+
result.setDate(result.getDate() + value * 7);
|
|
1954
|
+
return result;
|
|
1955
|
+
case "months":
|
|
1956
|
+
result.setMonth(result.getMonth() + value);
|
|
1957
|
+
return result;
|
|
1958
|
+
default: return result;
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
//#endregion
|
|
1962
|
+
//#region src/limits.ts
|
|
1963
|
+
/** Maximum number of explicit subagents per parent agent. UI + Zod schema share this. */
|
|
1964
|
+
const MAX_SUBAGENTS = 10;
|
|
1965
|
+
/** Hard upper bound for `endpoints.agents.maxSubagents`, keeping the request-validation
|
|
1966
|
+
* cap bounded no matter what the config file says. */
|
|
1967
|
+
const MAX_SUBAGENTS_CEILING = 50;
|
|
1968
|
+
let maxSubagents = 10;
|
|
1969
|
+
/** Effective subagents-per-agent cap; initialized from `endpoints.agents.maxSubagents` at startup. */
|
|
1970
|
+
const getMaxSubagents = () => maxSubagents;
|
|
1971
|
+
/** Applies a configured cap; any missing or out-of-range value resets to the default. */
|
|
1972
|
+
const setMaxSubagents = (value) => {
|
|
1973
|
+
maxSubagents = typeof value === "number" && Number.isInteger(value) && value >= 1 && value <= 50 ? value : 10;
|
|
1974
|
+
};
|
|
1975
|
+
/** Chat project field limits. The dialogs and the persistence layer share these,
|
|
1976
|
+
* so the inputs stop at the same point the server would otherwise truncate. */
|
|
1977
|
+
const MAX_CHAT_PROJECT_NAME_LENGTH = 100;
|
|
1978
|
+
const MAX_CHAT_PROJECT_DESCRIPTION_LENGTH = 1e3;
|
|
1979
|
+
/** Mirrors the bounded graph-child member limit in `@librechat/agents`. */
|
|
1980
|
+
const MAX_GRAPH_SUBAGENT_MEMBERS = 32;
|
|
1981
|
+
/** Characters of retained tool output one stopped turn may be tokenized for, so the
|
|
1982
|
+
* context gauge can add an exact figure instead of an estimate. The schema default
|
|
1983
|
+
* and the save path share it; tokenizing runs ~60 ms/MB, once per stopped turn. */
|
|
1984
|
+
const DEFAULT_MAX_RETAINED_TOOL_COUNT_CHARS = 8 * 1024 * 1024;
|
|
1985
|
+
/** Token ceiling for the block of Ask User answers carried verbatim in an agent's
|
|
1986
|
+
* user context (`endpoints.agents.askUserQuestion.retainedAnswers.maxTokens`).
|
|
1987
|
+
* Older answers drop first once the block exceeds it; the newest set is always kept. */
|
|
1988
|
+
const DEFAULT_RETAINED_ANSWER_TOKENS = 4096;
|
|
1989
|
+
//#endregion
|
|
1992
1990
|
//#region src/generate.ts
|
|
1993
1991
|
let ComponentTypes = /* @__PURE__ */ function(ComponentTypes) {
|
|
1994
1992
|
ComponentTypes["Input"] = "input";
|
|
@@ -2387,25 +2385,24 @@ const generateGoogleSchema = (customGoogle) => {
|
|
|
2387
2385
|
}));
|
|
2388
2386
|
};
|
|
2389
2387
|
//#endregion
|
|
2390
|
-
//#region src/
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
const
|
|
2401
|
-
|
|
2402
|
-
}
|
|
2403
|
-
/**
|
|
2404
|
-
|
|
2405
|
-
const
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
const MAX_GRAPH_SUBAGENT_MEMBERS = 32;
|
|
2388
|
+
//#region src/stateful-code.ts
|
|
2389
|
+
const STATEFUL_CODE_ENVIRONMENTS = [
|
|
2390
|
+
"user",
|
|
2391
|
+
"agent-user",
|
|
2392
|
+
"conversation"
|
|
2393
|
+
];
|
|
2394
|
+
/** Resolve a deployment allowlist in stable UI order. An omitted value preserves
|
|
2395
|
+
* the backward-compatible behavior where every environment is available. */
|
|
2396
|
+
function resolveAllowedStatefulCodeEnvironments(configured) {
|
|
2397
|
+
if (configured == null) return [...STATEFUL_CODE_ENVIRONMENTS];
|
|
2398
|
+
const configuredSet = new Set(configured);
|
|
2399
|
+
return STATEFUL_CODE_ENVIRONMENTS.filter((environment) => configuredSet.has(environment));
|
|
2400
|
+
}
|
|
2401
|
+
/** Keep an allowed preference, otherwise select the first deployment-allowed scope. */
|
|
2402
|
+
function resolveStatefulCodeEnvironment(preferred, configured) {
|
|
2403
|
+
const allowed = resolveAllowedStatefulCodeEnvironments(configured);
|
|
2404
|
+
return preferred != null && allowed.includes(preferred) ? preferred : allowed[0];
|
|
2405
|
+
}
|
|
2409
2406
|
//#endregion
|
|
2410
2407
|
//#region src/models.ts
|
|
2411
2408
|
const modelSpecSubagentsSchema = z.object({
|
|
@@ -2505,41 +2502,9 @@ const specsConfigSchema = z.object({
|
|
|
2505
2502
|
addedEndpoints: z.array(z.union([z.string(), eModelEndpointSchema])).optional()
|
|
2506
2503
|
});
|
|
2507
2504
|
//#endregion
|
|
2508
|
-
//#region src/balance.ts
|
|
2509
|
-
const REFILL_INTERVAL_UNITS = [
|
|
2510
|
-
"seconds",
|
|
2511
|
-
"minutes",
|
|
2512
|
-
"hours",
|
|
2513
|
-
"days",
|
|
2514
|
-
"weeks",
|
|
2515
|
-
"months"
|
|
2516
|
-
];
|
|
2517
|
-
function getRefillEligibilityDate(lastRefill, value, unit) {
|
|
2518
|
-
const result = new Date(lastRefill);
|
|
2519
|
-
switch (unit) {
|
|
2520
|
-
case "seconds":
|
|
2521
|
-
result.setSeconds(result.getSeconds() + value);
|
|
2522
|
-
return result;
|
|
2523
|
-
case "minutes":
|
|
2524
|
-
result.setMinutes(result.getMinutes() + value);
|
|
2525
|
-
return result;
|
|
2526
|
-
case "hours":
|
|
2527
|
-
result.setHours(result.getHours() + value);
|
|
2528
|
-
return result;
|
|
2529
|
-
case "days":
|
|
2530
|
-
result.setDate(result.getDate() + value);
|
|
2531
|
-
return result;
|
|
2532
|
-
case "weeks":
|
|
2533
|
-
result.setDate(result.getDate() + value * 7);
|
|
2534
|
-
return result;
|
|
2535
|
-
case "months":
|
|
2536
|
-
result.setMonth(result.getMonth() + value);
|
|
2537
|
-
return result;
|
|
2538
|
-
default: return result;
|
|
2539
|
-
}
|
|
2540
|
-
}
|
|
2541
|
-
//#endregion
|
|
2542
2505
|
//#region src/file-config.ts
|
|
2506
|
+
/** Parallel storage deletions during rollback of a failed skill archive import. */
|
|
2507
|
+
const DEFAULT_SKILL_IMPORT_CLEANUP_CONCURRENCY = 8;
|
|
2543
2508
|
const supportsFiles = {
|
|
2544
2509
|
["openAI"]: true,
|
|
2545
2510
|
["google"]: true,
|
|
@@ -2736,6 +2701,25 @@ const resolveSandboxFilename = (filename, mimeType) => {
|
|
|
2736
2701
|
* re-resolved to text it has no extraction for.
|
|
2737
2702
|
*/
|
|
2738
2703
|
const resolveUseResponsesApi = (agentValue, conversationValue) => agentValue ?? conversationValue ?? void 0;
|
|
2704
|
+
/** Models whose native OpenAI and Azure execution defaults to Responses. Keep
|
|
2705
|
+
* this shared with client upload routing so documents follow the API that the
|
|
2706
|
+
* backend will actually invoke. Explicit false remains an opt-out. */
|
|
2707
|
+
const prefersResponsesApiByModel = (model) => typeof model === "string" && /^gpt-6-(?:astra|sol|luna)(?:-|$)/i.test(model);
|
|
2708
|
+
/** The server has transport and administrator settings the browser cannot see.
|
|
2709
|
+
* Missing policy never enables model-based uploads (including during upgrades). */
|
|
2710
|
+
const resolveEffectiveUseResponsesApi = ({ value, endpoint, model, routing, webSearch }) => {
|
|
2711
|
+
if (endpoint !== "openAI" && endpoint !== "azureOpenAI") return value ?? void 0;
|
|
2712
|
+
let policy = model ? routing?.[model] : void 0;
|
|
2713
|
+
if (!policy && model && prefersResponsesApiByModel(model)) {
|
|
2714
|
+
const family = /^gpt-6-(?:astra|sol|luna)(?=-|$)/i.exec(model)?.[0].toLowerCase();
|
|
2715
|
+
policy = family ? routing?.[`${family}-*`] : void 0;
|
|
2716
|
+
}
|
|
2717
|
+
policy ??= routing?.["*"];
|
|
2718
|
+
if (!policy) return value ?? void 0;
|
|
2719
|
+
if (webSearch && policy.withWebSearch) policy = policy.withWebSearch;
|
|
2720
|
+
if (value == null) return policy.default;
|
|
2721
|
+
return value ? policy.on : policy.off;
|
|
2722
|
+
};
|
|
2739
2723
|
const isBedrockDocumentType = (mimeType) => mimeType != null && mimeType in bedrockDocumentFormats;
|
|
2740
2724
|
/** MIME types Bedrock's Converse document path can send to the model (mirrors `bedrockDocumentFormats`). */
|
|
2741
2725
|
const bedrockDocumentMimeTypes = Object.keys(bedrockDocumentFormats);
|
|
@@ -2998,7 +2982,10 @@ const fileConfig = {
|
|
|
2998
2982
|
disabled: false
|
|
2999
2983
|
}
|
|
3000
2984
|
},
|
|
3001
|
-
skills: {
|
|
2985
|
+
skills: {
|
|
2986
|
+
fileSizeLimit: defaultSkillImportSizeLimit,
|
|
2987
|
+
importCleanupConcurrency: 8
|
|
2988
|
+
},
|
|
3002
2989
|
serverFileSizeLimit: defaultSizeLimit,
|
|
3003
2990
|
avatarSizeLimit: mbToBytes(2),
|
|
3004
2991
|
fileTokenLimit: defaultTokenLimit,
|
|
@@ -3018,7 +3005,16 @@ const fileConfig = {
|
|
|
3018
3005
|
return supportedTypes.some((regex) => regex.test(fileType));
|
|
3019
3006
|
}
|
|
3020
3007
|
};
|
|
3021
|
-
const supportedMimeTypesSchema = z.array(z.string()
|
|
3008
|
+
const supportedMimeTypesSchema = z.array(z.string().superRefine((pattern, context) => {
|
|
3009
|
+
try {
|
|
3010
|
+
compileMimeRegex(pattern);
|
|
3011
|
+
} catch {
|
|
3012
|
+
context.addIssue({
|
|
3013
|
+
code: z.ZodIssueCode.custom,
|
|
3014
|
+
message: "Invalid MIME type regex: not supported by the configured regex engine"
|
|
3015
|
+
});
|
|
3016
|
+
}
|
|
3017
|
+
})).optional();
|
|
3022
3018
|
const DefaultLLMDeliveryPath = z.enum([
|
|
3023
3019
|
"provider",
|
|
3024
3020
|
"text",
|
|
@@ -3035,9 +3031,13 @@ const endpointFileConfigSchema = z.object({
|
|
|
3035
3031
|
totalSizeLimit: z.number().min(0).optional(),
|
|
3036
3032
|
supportedMimeTypes: supportedMimeTypesSchema.optional(),
|
|
3037
3033
|
defaultLLMDeliveryPath: defaultLLMDeliveryPathSchema.optional(),
|
|
3038
|
-
legacyFileUploadUX: z.boolean().optional()
|
|
3034
|
+
legacyFileUploadUX: z.boolean().optional(),
|
|
3035
|
+
textFallbackWithoutTools: z.boolean().optional()
|
|
3036
|
+
});
|
|
3037
|
+
const skillFileConfigSchema = z.object({
|
|
3038
|
+
fileSizeLimit: z.number().min(0).optional(),
|
|
3039
|
+
importCleanupConcurrency: z.number().int().positive().optional()
|
|
3039
3040
|
});
|
|
3040
|
-
const skillFileConfigSchema = z.object({ fileSizeLimit: z.number().min(0).optional() });
|
|
3041
3041
|
const fileConfigSchema = z.object({
|
|
3042
3042
|
endpoints: z.record(endpointFileConfigSchema).optional(),
|
|
3043
3043
|
skills: skillFileConfigSchema.optional(),
|
|
@@ -3060,7 +3060,8 @@ const fileConfigSchema = z.object({
|
|
|
3060
3060
|
ocr: z.object({ supportedMimeTypes: supportedMimeTypesSchema.optional() }).optional(),
|
|
3061
3061
|
text: z.object({ supportedMimeTypes: supportedMimeTypesSchema.optional() }).optional(),
|
|
3062
3062
|
defaultLLMDeliveryPath: defaultLLMDeliveryPathSchema.optional(),
|
|
3063
|
-
legacyFileUploadUX: z.boolean().optional()
|
|
3063
|
+
legacyFileUploadUX: z.boolean().optional(),
|
|
3064
|
+
textFallbackWithoutTools: z.boolean().optional()
|
|
3064
3065
|
});
|
|
3065
3066
|
/**
|
|
3066
3067
|
* Compiler for admin-supplied MIME patterns. Defaults to native `RegExp`, which browser
|
|
@@ -3097,6 +3098,15 @@ const isPermissiveMimeConfig = (types) => {
|
|
|
3097
3098
|
if (!types || types.length === 0) return false;
|
|
3098
3099
|
return types.some((regex) => regex.test("x-librechat/x-probe"));
|
|
3099
3100
|
};
|
|
3101
|
+
/**
|
|
3102
|
+
* Detects whether an endpoint's `supportedMimeTypes` were set by the admin rather than inherited
|
|
3103
|
+
* from the built-in default list. Inheritance is signaled by referential identity with
|
|
3104
|
+
* `supportedMimeTypes`, which `mergeWithDefault` preserves for unconfigured endpoints.
|
|
3105
|
+
*/
|
|
3106
|
+
const isExplicitMimeConfig = (types) => {
|
|
3107
|
+
if (!types || types.length === 0) return false;
|
|
3108
|
+
return types !== supportedMimeTypes;
|
|
3109
|
+
};
|
|
3100
3110
|
/** Media categories that collapse to a wildcard `accept` token when any member type is allowed. */
|
|
3101
3111
|
const mimeAcceptCategories = [
|
|
3102
3112
|
{
|
|
@@ -3297,7 +3307,8 @@ function mergeWithDefault(endpointConfig, defaultConfig, endpoint) {
|
|
|
3297
3307
|
totalSizeLimit: endpointConfig.totalSizeLimit ?? defaultConfig.totalSizeLimit,
|
|
3298
3308
|
supportedMimeTypes: endpointConfig.supportedMimeTypes ?? defaultMimeTypes,
|
|
3299
3309
|
defaultLLMDeliveryPath: mergeDeliveryPathConfig(endpointConfig.defaultLLMDeliveryPath, defaultConfig.defaultLLMDeliveryPath),
|
|
3300
|
-
legacyFileUploadUX: endpointConfig.legacyFileUploadUX ?? defaultConfig.legacyFileUploadUX
|
|
3310
|
+
legacyFileUploadUX: endpointConfig.legacyFileUploadUX ?? defaultConfig.legacyFileUploadUX,
|
|
3311
|
+
textFallbackWithoutTools: endpointConfig.textFallbackWithoutTools ?? defaultConfig.textFallbackWithoutTools
|
|
3301
3312
|
};
|
|
3302
3313
|
}
|
|
3303
3314
|
/**
|
|
@@ -3344,7 +3355,8 @@ function getEndpointFileConfig(params) {
|
|
|
3344
3355
|
const globalDefaultConfig = {
|
|
3345
3356
|
...baseDefaultConfig,
|
|
3346
3357
|
defaultLLMDeliveryPath: mergeDeliveryPathConfig(mergedFileConfig.defaultLLMDeliveryPath, baseDefaultConfig.defaultLLMDeliveryPath),
|
|
3347
|
-
legacyFileUploadUX: mergedFileConfig.legacyFileUploadUX ?? baseDefaultConfig.legacyFileUploadUX
|
|
3358
|
+
legacyFileUploadUX: mergedFileConfig.legacyFileUploadUX ?? baseDefaultConfig.legacyFileUploadUX,
|
|
3359
|
+
textFallbackWithoutTools: mergedFileConfig.textFallbackWithoutTools ?? baseDefaultConfig.textFallbackWithoutTools
|
|
3348
3360
|
};
|
|
3349
3361
|
const userDefaultConfig = mergedFileConfig.endpoints.default;
|
|
3350
3362
|
const defaultConfig = userDefaultConfig ? mergeWithDefault(userDefaultConfig, globalDefaultConfig, "default") : globalDefaultConfig;
|
|
@@ -3404,11 +3416,16 @@ function mergeFileConfig(dynamic) {
|
|
|
3404
3416
|
if (!dynamic) return mergedConfig;
|
|
3405
3417
|
if (dynamic.defaultLLMDeliveryPath !== void 0) mergedConfig.defaultLLMDeliveryPath = dynamic.defaultLLMDeliveryPath;
|
|
3406
3418
|
if (dynamic.legacyFileUploadUX !== void 0) mergedConfig.legacyFileUploadUX = dynamic.legacyFileUploadUX;
|
|
3419
|
+
if (dynamic.textFallbackWithoutTools !== void 0) mergedConfig.textFallbackWithoutTools = dynamic.textFallbackWithoutTools;
|
|
3407
3420
|
if (dynamic.serverFileSizeLimit !== void 0) mergedConfig.serverFileSizeLimit = mbToBytes(dynamic.serverFileSizeLimit);
|
|
3408
3421
|
if (dynamic.avatarSizeLimit !== void 0) mergedConfig.avatarSizeLimit = mbToBytes(dynamic.avatarSizeLimit);
|
|
3409
3422
|
if (dynamic.fileTokenLimit !== void 0) mergedConfig.fileTokenLimit = dynamic.fileTokenLimit;
|
|
3410
3423
|
if (dynamic.fileContextSizeLimit !== void 0) mergedConfig.fileContextSizeLimit = mbToBytes(dynamic.fileContextSizeLimit);
|
|
3411
3424
|
if (dynamic.fileContextCharLimit !== void 0) mergedConfig.fileContextCharLimit = dynamic.fileContextCharLimit;
|
|
3425
|
+
if (dynamic.skills?.importCleanupConcurrency !== void 0) mergedConfig.skills = {
|
|
3426
|
+
...mergedConfig.skills,
|
|
3427
|
+
importCleanupConcurrency: dynamic.skills.importCleanupConcurrency
|
|
3428
|
+
};
|
|
3412
3429
|
if (dynamic.skills?.fileSizeLimit !== void 0) mergedConfig.skills = {
|
|
3413
3430
|
...mergedConfig.skills,
|
|
3414
3431
|
fileSizeLimit: mbToBytes(dynamic.skills.fileSizeLimit)
|
|
@@ -3458,6 +3475,7 @@ function mergeFileConfig(dynamic) {
|
|
|
3458
3475
|
if (dynamicEndpoint.supportedMimeTypes) mergedEndpoint.supportedMimeTypes = convertStringsToRegex(dynamicEndpoint.supportedMimeTypes);
|
|
3459
3476
|
if (dynamicEndpoint.defaultLLMDeliveryPath !== void 0) mergedEndpoint.defaultLLMDeliveryPath = dynamicEndpoint.defaultLLMDeliveryPath;
|
|
3460
3477
|
if (dynamicEndpoint.legacyFileUploadUX !== void 0) mergedEndpoint.legacyFileUploadUX = dynamicEndpoint.legacyFileUploadUX;
|
|
3478
|
+
if (dynamicEndpoint.textFallbackWithoutTools !== void 0) mergedEndpoint.textFallbackWithoutTools = dynamicEndpoint.textFallbackWithoutTools;
|
|
3461
3479
|
}
|
|
3462
3480
|
return mergedConfig;
|
|
3463
3481
|
}
|
|
@@ -3488,6 +3506,7 @@ const codeEnvironmentPairings = () => `${codeEnvironments()}/pairings`;
|
|
|
3488
3506
|
const codeEnvironmentById = (id) => `${codeEnvironments()}/${encodeURIComponent(id)}`;
|
|
3489
3507
|
const codeEnvironmentSettings = (id) => `${codeEnvironmentById(id)}/settings`;
|
|
3490
3508
|
const codeEnvironmentStatus = (id) => `${codeEnvironmentById(id)}/status`;
|
|
3509
|
+
const codeEnvironmentConversationDecision = (conversationId) => `${codeEnvironments()}/conversations/${encodeURIComponent(conversationId)}/decision`;
|
|
3491
3510
|
const messagesRoot = `${BASE_URL}/api/messages`;
|
|
3492
3511
|
const messages = (params) => {
|
|
3493
3512
|
const { conversationId, messageId, ...rest } = params;
|
|
@@ -3818,6 +3837,10 @@ let TokenExchangeMethodEnum = /* @__PURE__ */ function(TokenExchangeMethodEnum)
|
|
|
3818
3837
|
TokenExchangeMethodEnum["BasicAuthHeader"] = "basic_auth_header";
|
|
3819
3838
|
return TokenExchangeMethodEnum;
|
|
3820
3839
|
}({});
|
|
3840
|
+
const agentGitIdentitySchema = z.object({
|
|
3841
|
+
name: z.string().trim().min(1).max(128).refine((value) => !/[\0\r\n]/.test(value)),
|
|
3842
|
+
email: z.string().trim().email().max(254).refine((value) => !/[\0\r\n]/.test(value))
|
|
3843
|
+
}).optional();
|
|
3821
3844
|
//#endregion
|
|
3822
3845
|
//#region src/mcp.ts
|
|
3823
3846
|
/**
|
|
@@ -3826,6 +3849,8 @@ let TokenExchangeMethodEnum = /* @__PURE__ */ function(TokenExchangeMethodEnum)
|
|
|
3826
3849
|
* stored icon predates the cap clears the icon instead of rejecting the update.
|
|
3827
3850
|
*/
|
|
3828
3851
|
const MAX_MCP_ICON_PATH_LENGTH = 256 * 1024;
|
|
3852
|
+
/** Keep persistence admission waits below the shared lease's 15-minute lifetime. */
|
|
3853
|
+
const MAX_MCP_OAUTH_PERSISTENCE_WAIT_MS = 14 * 6e4;
|
|
3829
3854
|
const validateOAuthClientCredentials = (oauth, ctx) => {
|
|
3830
3855
|
if (oauth.client_secret && !oauth.client_id) ctx.addIssue({
|
|
3831
3856
|
code: z.ZodIssueCode.custom,
|
|
@@ -3900,6 +3925,27 @@ const OAuthOptionsBaseSchema = z.object({
|
|
|
3900
3925
|
* Ignored when `audience` itself is not configured.
|
|
3901
3926
|
*/
|
|
3902
3927
|
forward_audience_on_refresh: z.boolean().optional(),
|
|
3928
|
+
/**
|
|
3929
|
+
* Whether to send the RFC 8707 `resource` parameter on `/authorize`, the
|
|
3930
|
+
* `authorization_code` exchange and the `refresh_token` grant. The value is the
|
|
3931
|
+
* canonical resource identifier from the MCP server's Protected Resource Metadata
|
|
3932
|
+
* (RFC 9728), never an operator-supplied string.
|
|
3933
|
+
*
|
|
3934
|
+
* Default: `true`. RFC 8707 makes `resource` OPTIONAL, and authorization servers
|
|
3935
|
+
* that reject it cannot complete a flow that sends it: Microsoft Entra ID v2.0
|
|
3936
|
+
* fails an `/authorize` request carrying both `resource` and `scope` with
|
|
3937
|
+
* `AADSTS9010010`. Set to `false` for those providers, and rely on `scope` (or
|
|
3938
|
+
* `audience` above) to obtain an API-scoped token.
|
|
3939
|
+
*
|
|
3940
|
+
* Opting out suppresses the parameter only. Protected Resource Metadata is still
|
|
3941
|
+
* discovered, still validated against the MCP server URL (RFC 9728 §3.3), and
|
|
3942
|
+
* still recorded on the stored client binding, so scope discovery, authorization
|
|
3943
|
+
* server discovery and re-authentication checks are unaffected.
|
|
3944
|
+
*
|
|
3945
|
+
* This field is only accepted from trusted/admin MCP configuration and is rejected
|
|
3946
|
+
* from user-managed servers.
|
|
3947
|
+
*/
|
|
3948
|
+
send_resource_parameter: z.boolean().optional(),
|
|
3903
3949
|
/** OAuth revocation endpoint (optional - can be auto-discovered) */
|
|
3904
3950
|
revocation_endpoint: z.string().transform((val) => extractEnvVariable(val)).pipe(z.string().url()).optional(),
|
|
3905
3951
|
/** OAuth revocation endpoint authentication methods supported (optional - can be auto-discovered) */
|
|
@@ -3918,14 +3964,16 @@ const userOAuthEndpointUrlSchema = z.string().refine((val) => !envVarPattern.tes
|
|
|
3918
3964
|
}, { message: "OAuth endpoint URLs cannot include audience or resource query parameters" });
|
|
3919
3965
|
const UserOAuthOptionsSchema = OAuthOptionsBaseSchema.omit({
|
|
3920
3966
|
audience: true,
|
|
3921
|
-
forward_audience_on_refresh: true
|
|
3967
|
+
forward_audience_on_refresh: true,
|
|
3968
|
+
send_resource_parameter: true
|
|
3922
3969
|
}).extend({
|
|
3923
3970
|
authorization_url: userOAuthEndpointUrlSchema.optional(),
|
|
3924
3971
|
token_url: userOAuthEndpointUrlSchema.optional(),
|
|
3925
3972
|
redirect_uri: userOAuthEndpointUrlSchema.optional(),
|
|
3926
3973
|
revocation_endpoint: userOAuthEndpointUrlSchema.optional(),
|
|
3927
3974
|
audience: z.never().optional(),
|
|
3928
|
-
forward_audience_on_refresh: z.never().optional()
|
|
3975
|
+
forward_audience_on_refresh: z.never().optional(),
|
|
3976
|
+
send_resource_parameter: z.never().optional()
|
|
3929
3977
|
}).superRefine(validateOAuthClientCredentials);
|
|
3930
3978
|
const OboOptionsSchema = z.object({
|
|
3931
3979
|
/** Scopes to request for the downstream MCP server (e.g., "api://<client-id>/Mcp.Tools.ReadWrite") */
|
|
@@ -3950,6 +3998,21 @@ const BaseOptionsSchema = z.object({
|
|
|
3950
3998
|
sseReadTimeout: z.number().int().positive().optional(),
|
|
3951
3999
|
initTimeout: z.number().int().nonnegative().optional(),
|
|
3952
4000
|
/**
|
|
4001
|
+
* How long (ms) a replica waits for another replica's in-flight OAuth refresh-token redemption
|
|
4002
|
+
* before failing the attempt as retryable. Raise it for a slow token endpoint; lower it to fail
|
|
4003
|
+
* faster. Default when unset: 15_000. Clamped to 30_000, half the window after which a
|
|
4004
|
+
* redemption aborts itself, because this wait runs inside the redemption that window governs.
|
|
4005
|
+
*
|
|
4006
|
+
* Positive rather than non-negative: zero would mean "never wait for a peer", which fails every
|
|
4007
|
+
* contended refresh instead of adopting the rotation a peer is about to store, and that is the
|
|
4008
|
+
* common case this wait exists to serve. Omit the field to take the default.
|
|
4009
|
+
*/
|
|
4010
|
+
oauthRefreshWaitTimeout: z.number().int().positive().optional(),
|
|
4011
|
+
/** Enable only after every replica has upgraded to the coordinated OAuth writer protocol. Default: false. */
|
|
4012
|
+
oauthRefreshCoordination: z.boolean().optional(),
|
|
4013
|
+
/** Wait (ms) for callback/adoption persistence and publication. Default: 15_000; maximum: 840_000. */
|
|
4014
|
+
oauthPersistenceWaitTimeout: z.number().int().positive().max(MAX_MCP_OAUTH_PERSISTENCE_WAIT_MS).optional(),
|
|
4015
|
+
/**
|
|
3953
4016
|
* Whether the server is offered in chat.
|
|
3954
4017
|
*
|
|
3955
4018
|
* `false` hides it from the chat dropdown (MCPSelect) AND bars it from the
|
|
@@ -4083,6 +4146,13 @@ const SSEOptionsSchema = BaseOptionsSchema.extend({
|
|
|
4083
4146
|
type: z.literal("sse").default("sse"),
|
|
4084
4147
|
headers: z.record(z.string(), z.string()).optional(),
|
|
4085
4148
|
/**
|
|
4149
|
+
* Headers resolved from the live chat request and merged over `headers`.
|
|
4150
|
+
* Omitted during catalog discovery, which has no request context, so a
|
|
4151
|
+
* `{{LIBRECHAT_BODY_*}}` placeholder here does not block tool listing.
|
|
4152
|
+
* On a duplicate header name the resolved `requestHeaders` value wins.
|
|
4153
|
+
*/
|
|
4154
|
+
requestHeaders: z.record(z.string(), z.string()).optional(),
|
|
4155
|
+
/**
|
|
4086
4156
|
* On-Behalf-Of (OBO) token exchange configuration.
|
|
4087
4157
|
* When configured, LibreChat exchanges the logged-in user's federated access token
|
|
4088
4158
|
* for a token scoped to this MCP server via the OAuth 2.0 OBO flow (jwt-bearer grant).
|
|
@@ -4101,6 +4171,13 @@ const StreamableHTTPOptionsSchema = BaseOptionsSchema.extend({
|
|
|
4101
4171
|
type: z.union([z.literal("streamable-http"), z.literal("http")]),
|
|
4102
4172
|
headers: z.record(z.string(), z.string()).optional(),
|
|
4103
4173
|
/**
|
|
4174
|
+
* Headers resolved from the live chat request and merged over `headers`.
|
|
4175
|
+
* Omitted during catalog discovery, which has no request context, so a
|
|
4176
|
+
* `{{LIBRECHAT_BODY_*}}` placeholder here does not block tool listing.
|
|
4177
|
+
* On a duplicate header name the resolved `requestHeaders` value wins.
|
|
4178
|
+
*/
|
|
4179
|
+
requestHeaders: z.record(z.string(), z.string()).optional(),
|
|
4180
|
+
/**
|
|
4104
4181
|
* On-Behalf-Of (OBO) token exchange configuration.
|
|
4105
4182
|
* When configured, LibreChat exchanges the logged-in user's federated access token
|
|
4106
4183
|
* for a token scoped to this MCP server via the OAuth 2.0 OBO flow (jwt-bearer grant).
|
|
@@ -4130,6 +4207,9 @@ const omitServerManagedFields = (schema) => schema.omit({
|
|
|
4130
4207
|
timeout: true,
|
|
4131
4208
|
sseReadTimeout: true,
|
|
4132
4209
|
initTimeout: true,
|
|
4210
|
+
oauthRefreshWaitTimeout: true,
|
|
4211
|
+
oauthRefreshCoordination: true,
|
|
4212
|
+
oauthPersistenceWaitTimeout: true,
|
|
4133
4213
|
chatMenu: true,
|
|
4134
4214
|
serverInstructions: true,
|
|
4135
4215
|
requiresOAuth: true,
|
|
@@ -4196,6 +4276,8 @@ const MCP_USER_INPUT_FIELDS = (() => {
|
|
|
4196
4276
|
})();
|
|
4197
4277
|
//#endregion
|
|
4198
4278
|
//#region src/config.ts
|
|
4279
|
+
const AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_DEFAULT = 24 * 1024;
|
|
4280
|
+
const AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_HARD_MAX = 64 * 1024;
|
|
4199
4281
|
const defaultSocialLogins = [
|
|
4200
4282
|
"google",
|
|
4201
4283
|
"facebook",
|
|
@@ -4204,6 +4286,8 @@ const defaultSocialLogins = [
|
|
|
4204
4286
|
"discord",
|
|
4205
4287
|
"saml"
|
|
4206
4288
|
];
|
|
4289
|
+
/** How long a started social login may take to return to its callback before its `state` expires. */
|
|
4290
|
+
const DEFAULT_OAUTH_STATE_TTL_MS = 600 * 1e3;
|
|
4207
4291
|
const BASE_ONLY_CONFIG_SECTIONS = ["filters"];
|
|
4208
4292
|
/** Sections that may be stored in the tenant's base config document but must
|
|
4209
4293
|
* not be overridden or tombstoned by role, group, or user config documents. */
|
|
@@ -4775,7 +4859,21 @@ const managementClientBindingSchema = z.object({
|
|
|
4775
4859
|
tenantId: z.string().trim().min(1).max(128).regex(/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/, "must be a valid tenant id").refine((tenantId) => tenantId !== "__SYSTEM__", "system tenant is not allowed"),
|
|
4776
4860
|
enabled: z.boolean().default(true)
|
|
4777
4861
|
}).strict();
|
|
4778
|
-
const managementApiOidcSchema = oidcAccessTokenSchema.
|
|
4862
|
+
const managementApiOidcSchema = oidcAccessTokenSchema.extend({
|
|
4863
|
+
tokenUse: z.literal("access").optional(),
|
|
4864
|
+
requiredScopes: z.array(z.string().trim().min(1).max(256).regex(/^\S+$/, "must be a single scope token")).min(1).max(20).optional()
|
|
4865
|
+
}).strict().superRefine((oidc, ctx) => {
|
|
4866
|
+
if (oidc.enabled === true && !oidc.issuer) ctx.addIssue({
|
|
4867
|
+
code: z.ZodIssueCode.custom,
|
|
4868
|
+
path: ["issuer"],
|
|
4869
|
+
message: "issuer is required when OIDC auth is enabled"
|
|
4870
|
+
});
|
|
4871
|
+
if (oidc.enabled === true && !oidc.audience && (oidc.tokenUse !== "access" || !oidc.requiredScopes?.length)) ctx.addIssue({
|
|
4872
|
+
code: z.ZodIssueCode.custom,
|
|
4873
|
+
path: ["requiredScopes"],
|
|
4874
|
+
message: "audience or access-token validation with required scopes is required when OIDC auth is enabled"
|
|
4875
|
+
});
|
|
4876
|
+
});
|
|
4779
4877
|
const managementApiAuthSchema = z.object({
|
|
4780
4878
|
oidc: managementApiOidcSchema,
|
|
4781
4879
|
clients: z.array(managementClientBindingSchema).max(100).default([])
|
|
@@ -4874,6 +4972,24 @@ const toolApprovalPolicySchema = z.object({
|
|
|
4874
4972
|
*/
|
|
4875
4973
|
hooks: z.array(toolApprovalHookConfigSchema).optional()
|
|
4876
4974
|
}).optional();
|
|
4975
|
+
const askUserQuestionRetainedAnswersSchema = z.object({
|
|
4976
|
+
/** `false` stops carrying answers forward; they then live only in the messages. */
|
|
4977
|
+
enabled: z.boolean().optional(),
|
|
4978
|
+
/** Token ceiling for the carried block. Older answers drop first once it is
|
|
4979
|
+
* exceeded; the newest set is always kept. Defaults to
|
|
4980
|
+
* `DEFAULT_RETAINED_ANSWER_TOKENS` (4096). */
|
|
4981
|
+
maxTokens: z.number().int().positive().optional()
|
|
4982
|
+
});
|
|
4983
|
+
/**
|
|
4984
|
+
* Behavior of the `ask_user_question` tool beyond the admin kill switch
|
|
4985
|
+
* (`filteredTools` / `includedTools`).
|
|
4986
|
+
*
|
|
4987
|
+
* `retainedAnswers`: every answer the user gave to an agent's question is
|
|
4988
|
+
* quoted verbatim in the run's user context, so it survives after the
|
|
4989
|
+
* messages that carried it were summarized, pruned or dropped from the context
|
|
4990
|
+
* window. On by default.
|
|
4991
|
+
*/
|
|
4992
|
+
const askUserQuestionConfigSchema = z.object({ retainedAnswers: askUserQuestionRetainedAnswersSchema.optional() }).optional();
|
|
4877
4993
|
/**
|
|
4878
4994
|
* Durable checkpointer backing human-in-the-loop resume.
|
|
4879
4995
|
*
|
|
@@ -4944,6 +5060,12 @@ const CODE_ENVIRONMENT_COMMAND_TIMEOUT_DEFAULT_MS = 3e4;
|
|
|
4944
5060
|
/** Protocol-level ceiling; deployments may only lower this value. */
|
|
4945
5061
|
const CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS = 5 * 6e4;
|
|
4946
5062
|
/**
|
|
5063
|
+
* Client retry horizon across Code API admission windows. Also the hard cap:
|
|
5064
|
+
* deployments may only lower it. `0` disables client retries, not the server's
|
|
5065
|
+
* initial admission wait or an already-admitted operation's execution budget.
|
|
5066
|
+
*/
|
|
5067
|
+
const CODE_ENVIRONMENT_QUEUE_WAIT_DEFAULT_MS = 5 * 6e4;
|
|
5068
|
+
/**
|
|
4947
5069
|
* Typed user-tunable surface for one attached code environment. Omitted fields
|
|
4948
5070
|
* remain fixed at LibreChat's safe baseline. Isolation, networking, mounts,
|
|
4949
5071
|
* privileged execution, and secrets are deliberately not representable here.
|
|
@@ -4953,18 +5075,35 @@ const codeEnvironmentUserConfigSchema = z.object({
|
|
|
4953
5075
|
fileWrite: codeEnvironmentPermissionFieldSchema.optional(),
|
|
4954
5076
|
commandExecution: codeEnvironmentPermissionFieldSchema.optional()
|
|
4955
5077
|
}).strict().optional(),
|
|
4956
|
-
limits: z.object({
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
maxCommandTimeoutMs: z.number().int().min(1).max(CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS).optional()
|
|
5078
|
+
limits: z.object({
|
|
5079
|
+
/** Maximum timeout a Bash invocation may request. Omission preserves
|
|
5080
|
+
* the historical 30-second command budget. */
|
|
5081
|
+
maxCommandTimeoutMs: z.number().int().min(1).max(CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS).optional(),
|
|
5082
|
+
/** Client retry horizon for capacity expirations, shared by preview/edit.
|
|
5083
|
+
* Omission keeps five minutes; `0` makes each required operation try once.
|
|
5084
|
+
* An in-flight request retains Code API's admission/execution budgets and
|
|
5085
|
+
* can finish after this horizon. This is not a server admission timeout. */
|
|
5086
|
+
maxQueueWaitMs: z.number().int().min(0).max(CODE_ENVIRONMENT_QUEUE_WAIT_DEFAULT_MS).optional()
|
|
5087
|
+
}).strict().optional()
|
|
4960
5088
|
}).strict();
|
|
4961
5089
|
const codeEnvironmentUserSettingsSchema = z.object({ permissions: z.object({
|
|
4962
5090
|
fileWrite: codeEnvironmentPermissionDecisionSchema.optional(),
|
|
4963
5091
|
commandExecution: codeEnvironmentPermissionDecisionSchema.optional()
|
|
4964
5092
|
}).strict().optional() }).strict();
|
|
5093
|
+
const DEFAULT_MAX_PROVIDER_ERROR_CHARS = 2e3;
|
|
5094
|
+
const DEFAULT_AGENT_MODEL_RESPONSE_BODY_TIMEOUT_MS = 9e5;
|
|
5095
|
+
const DEFAULT_AGENT_MODEL_RESPONSE_HEADERS_TIMEOUT_MS = 3e5;
|
|
4965
5096
|
const agentsEndpointSchema = baseEndpointSchema.omit({ baseURL: true }).merge(z.object({
|
|
5097
|
+
/** Maximum provider error characters retained in unprotected terminal failures. */
|
|
5098
|
+
maxProviderErrorChars: z.number().int().min(0).max(1e6).default(DEFAULT_MAX_PROVIDER_ERROR_CHARS),
|
|
5099
|
+
/** Maximum inactivity between provider response body chunks; 0 disables the idle timeout. */
|
|
5100
|
+
modelResponseBodyTimeoutMs: z.number().int().min(0).max(864e5).default(DEFAULT_AGENT_MODEL_RESPONSE_BODY_TIMEOUT_MS),
|
|
5101
|
+
/** Maximum wait for provider response headers; 0 disables the header timeout. */
|
|
5102
|
+
modelResponseHeadersTimeoutMs: z.number().int().min(0).max(864e5).default(DEFAULT_AGENT_MODEL_RESPONSE_HEADERS_TIMEOUT_MS),
|
|
4966
5103
|
recursionLimit: z.number().optional(),
|
|
4967
5104
|
disableBuilder: z.boolean().optional().default(false),
|
|
5105
|
+
/** Optional workspace guidance acquisition budget, separate from command execution. */
|
|
5106
|
+
repositoryInstructions: z.object({ timeoutMs: z.number().int().min(100).max(3e4).optional().default(2e3) }).optional(),
|
|
4968
5107
|
maxRecursionLimit: z.number().optional(),
|
|
4969
5108
|
/** Max cumulative bytes a single streamed tool call's arguments may reach before the run
|
|
4970
5109
|
* aborts. Defaults to 64 KiB in the agents SDK; `0` disables the guard. */
|
|
@@ -4975,6 +5114,13 @@ const agentsEndpointSchema = baseEndpointSchema.omit({ baseURL: true }).merge(z.
|
|
|
4975
5114
|
* disables the guard for that tool only. Merged over LibreChat's shipped default of
|
|
4976
5115
|
* `{ create_file: 131072 }`. */
|
|
4977
5116
|
maxToolCallArgBytesByTool: z.record(z.number()).optional(),
|
|
5117
|
+
/** Characters of retained tool output the save path may tokenize exactly for the
|
|
5118
|
+
* context gauge when a turn stops at the tool-call limit (see
|
|
5119
|
+
* `retainedToolTokens`). Tokenizing costs ~60 ms/MB and runs once per stopped
|
|
5120
|
+
* turn; past this ceiling the figure is withdrawn rather than estimated, so the
|
|
5121
|
+
* gauge under-reports that turn instead of blocking the save. Raise it for
|
|
5122
|
+
* deployments whose tools legitimately return more, lower it on slow hardware. */
|
|
5123
|
+
maxRetainedToolCountChars: z.number().int().min(0).optional().default(DEFAULT_MAX_RETAINED_TOOL_COUNT_CHARS),
|
|
4978
5124
|
maxCitations: z.number().min(1).max(50).optional().default(30),
|
|
4979
5125
|
maxCitationsPerFile: z.number().min(1).max(10).optional().default(7),
|
|
4980
5126
|
minRelevanceScore: z.number().min(0).max(1).optional().default(.45),
|
|
@@ -5008,6 +5154,9 @@ const agentsEndpointSchema = baseEndpointSchema.omit({ baseURL: true }).merge(z.
|
|
|
5008
5154
|
/** Defaults to five. Zero disables enrollment; existing machines remain usable. */
|
|
5009
5155
|
maxPerUser: z.number().int().min(0).max(Number.MAX_SAFE_INTEGER).optional()
|
|
5010
5156
|
}).optional(),
|
|
5157
|
+
/** Server-only policy letting a conversation's owner move its sealed attached decision
|
|
5158
|
+
* onto the environments its agents now use. Omit to keep sealed decisions immovable. */
|
|
5159
|
+
conversationMoves: z.object({ enabled: z.boolean().optional() }).optional(),
|
|
5011
5160
|
/** Operator-managed execution environments. Attached entries route to a
|
|
5012
5161
|
* Code API deployment backed by an outbound librechat-code worker. */
|
|
5013
5162
|
environments: z.array(z.object({
|
|
@@ -5116,6 +5265,12 @@ const agentsEndpointSchema = baseEndpointSchema.omit({ baseURL: true }).merge(z.
|
|
|
5116
5265
|
* enabled unless an administrator explicitly restores poll-only behavior. */
|
|
5117
5266
|
backgroundTasks: z.object({
|
|
5118
5267
|
completionWakeups: z.boolean().optional().default(true),
|
|
5268
|
+
/** Maximum terminal output copied into the private completion receipt.
|
|
5269
|
+
* Generated files remain governed by their separate attachment policy. */
|
|
5270
|
+
completionResultMaxChars: z.number().int().min(1).max(AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_HARD_MAX).optional().default(AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_DEFAULT),
|
|
5271
|
+
/** Maximum message-backed sibling results in one continuation.
|
|
5272
|
+
* Independent receipts retain task-local delivery ownership. */
|
|
5273
|
+
completionResultBatchSize: z.number().int().min(1).max(16).optional().default(8),
|
|
5119
5274
|
/** Cooperative cancellation for process-local ordinary tools. Off
|
|
5120
5275
|
* by default so existing deployments opt into the new control. */
|
|
5121
5276
|
ordinaryToolCancellation: z.boolean().optional().default(false)
|
|
@@ -5125,6 +5280,8 @@ const agentsEndpointSchema = baseEndpointSchema.omit({ baseURL: true }).merge(z.
|
|
|
5125
5280
|
remoteApi: remoteApiSchema.optional(),
|
|
5126
5281
|
/** Human-in-the-loop tool approval policy. Off by default. */
|
|
5127
5282
|
toolApproval: toolApprovalPolicySchema,
|
|
5283
|
+
/** Ask User question behavior; see {@link askUserQuestionConfigSchema}. */
|
|
5284
|
+
askUserQuestion: askUserQuestionConfigSchema,
|
|
5128
5285
|
/** Durable checkpointer backing tool-approval and Ask User resume.
|
|
5129
5286
|
* Defaults to the app's MongoDB when either flow needs it. */
|
|
5130
5287
|
checkpointer: checkpointerSchema
|
|
@@ -5501,6 +5658,7 @@ const mcpServersSchema = z.object({
|
|
|
5501
5658
|
const traceViewerDefaults = {
|
|
5502
5659
|
enabled: false,
|
|
5503
5660
|
showInputOutput: false,
|
|
5661
|
+
showToolNames: false,
|
|
5504
5662
|
maxRecords: 1e3,
|
|
5505
5663
|
maxContentLength: 5e4,
|
|
5506
5664
|
requestsPerMinute: 30,
|
|
@@ -5531,6 +5689,12 @@ const traceViewerSchema = z.object({
|
|
|
5531
5689
|
enabled: z.boolean().optional(),
|
|
5532
5690
|
/** Returns observation input, output and metadata in the record inspector. */
|
|
5533
5691
|
showInputOutput: z.boolean().optional(),
|
|
5692
|
+
/**
|
|
5693
|
+
* Names the tools of each tool round from the tracing backend's own record of the round, at the
|
|
5694
|
+
* cost of further backend reads per listed page, which carry each round's input and output.
|
|
5695
|
+
* Off, a round is named only when the chat's messages can be matched to the trace.
|
|
5696
|
+
*/
|
|
5697
|
+
showToolNames: z.boolean().optional(),
|
|
5534
5698
|
/** Observations read from the tracing backend per request. */
|
|
5535
5699
|
maxRecords: boundedIntegerSchema("maxRecords"),
|
|
5536
5700
|
/** Characters kept from each input, output and metadata value before truncation. */
|
|
@@ -5553,6 +5717,7 @@ function resolveTraceViewerConfig(config) {
|
|
|
5553
5717
|
return {
|
|
5554
5718
|
enabled: config?.enabled === true,
|
|
5555
5719
|
showInputOutput: config?.showInputOutput === true,
|
|
5720
|
+
showToolNames: config?.showToolNames === true,
|
|
5556
5721
|
maxRecords: boundedInteger(config?.maxRecords, "maxRecords"),
|
|
5557
5722
|
maxContentLength: boundedInteger(config?.maxContentLength, "maxContentLength"),
|
|
5558
5723
|
requestsPerMinute: boundedInteger(config?.requestsPerMinute, "requestsPerMinute"),
|
|
@@ -5573,6 +5738,8 @@ const interfaceSchema = z.object({
|
|
|
5573
5738
|
customWelcome: z.string().optional(),
|
|
5574
5739
|
mcpServers: mcpServersSchema.optional(),
|
|
5575
5740
|
modelSelect: z.boolean().optional(),
|
|
5741
|
+
/** Milliseconds between syntax highlights while a code block streams. */
|
|
5742
|
+
codeHighlightThrottleMs: z.number().int().min(0).max(6e4).default(300),
|
|
5576
5743
|
parameters: z.boolean().optional(),
|
|
5577
5744
|
multiConvo: z.boolean().optional(),
|
|
5578
5745
|
bookmarks: z.boolean().optional(),
|
|
@@ -5658,6 +5825,7 @@ const interfaceSchema = z.object({
|
|
|
5658
5825
|
})]).optional()
|
|
5659
5826
|
}).default({
|
|
5660
5827
|
modelSelect: true,
|
|
5828
|
+
codeHighlightThrottleMs: 300,
|
|
5661
5829
|
parameters: true,
|
|
5662
5830
|
presets: true,
|
|
5663
5831
|
multiConvo: true,
|
|
@@ -5914,7 +6082,8 @@ const balanceSchema = z.object({
|
|
|
5914
6082
|
autoRefillEnabled: z.boolean().optional().default(false),
|
|
5915
6083
|
refillIntervalValue: z.number().optional().default(30),
|
|
5916
6084
|
refillIntervalUnit: z.enum(REFILL_INTERVAL_UNITS).optional().default("days"),
|
|
5917
|
-
refillAmount: z.number().optional().default(1e4)
|
|
6085
|
+
refillAmount: z.number().optional().default(1e4),
|
|
6086
|
+
reservationTtlMs: z.number().int().min(MIN_BALANCE_RESERVATION_TTL_MS).optional().default(DEFAULT_BALANCE_RESERVATION_TTL_MS)
|
|
5918
6087
|
});
|
|
5919
6088
|
const transactionsSchema = z.object({ enabled: z.boolean().optional().default(true) });
|
|
5920
6089
|
const DEFAULT_MEMORY_MAX_INPUT_TOKENS = 12e3;
|
|
@@ -6124,8 +6293,17 @@ const langfuseConfigSchema = z.object({
|
|
|
6124
6293
|
/** Trace user identity and allowlisted user/request metadata. */
|
|
6125
6294
|
trace: langfuseTraceConfigSchema.optional()
|
|
6126
6295
|
});
|
|
6296
|
+
const openIdDiscoverySchema = z.object({
|
|
6297
|
+
/** Discovery attempts made before startup continues; `0` retries only in the background. */
|
|
6298
|
+
startupAttempts: z.number().int().min(0).max(100).default(1),
|
|
6299
|
+
/** Milliseconds between startup and background discovery attempts. */
|
|
6300
|
+
retryDelayMs: z.number().int().min(100).max(36e5).default(5e3)
|
|
6301
|
+
});
|
|
6302
|
+
/** Maximum CAS attempts per ACL document, including the initial attempt. */
|
|
6303
|
+
const permissionWriteAttemptsSchema = z.number().int().min(1).max(100).default(3);
|
|
6127
6304
|
const configSchema = z.object({
|
|
6128
6305
|
version: z.string(),
|
|
6306
|
+
permissions: z.object({ maxWriteAttempts: permissionWriteAttemptsSchema }).optional(),
|
|
6129
6307
|
cache: z.boolean().default(true),
|
|
6130
6308
|
ocr: ocrSchema.optional(),
|
|
6131
6309
|
webSearch: webSearchSchema.optional(),
|
|
@@ -6181,7 +6359,11 @@ const configSchema = z.object({
|
|
|
6181
6359
|
}).optional(),
|
|
6182
6360
|
registration: z.object({
|
|
6183
6361
|
socialLogins: z.array(z.string()).optional(),
|
|
6184
|
-
allowedDomains: z.array(z.string()).optional()
|
|
6362
|
+
allowedDomains: z.array(z.string()).optional(),
|
|
6363
|
+
/** Milliseconds a started social login may take to reach its callback; defaults to `DEFAULT_OAUTH_STATE_TTL_MS`. */
|
|
6364
|
+
oauthStateTtlMs: z.number().int().min(6e4).max(36e5).optional(),
|
|
6365
|
+
/** OpenID discovery retries; an unset field falls back to its `OPENID_DISCOVERY_RETRY_*` env var, then the schema default. */
|
|
6366
|
+
openidDiscovery: openIdDiscoverySchema.partial().optional()
|
|
6185
6367
|
}).default({ socialLogins: defaultSocialLogins }),
|
|
6186
6368
|
balance: balanceSchema.optional(),
|
|
6187
6369
|
transactions: transactionsSchema.optional(),
|
|
@@ -6214,7 +6396,9 @@ const configSchema = z.object({
|
|
|
6214
6396
|
["agents"]: agentsEndpointSchema.optional(),
|
|
6215
6397
|
["custom"]: customEndpointsSchema.optional(),
|
|
6216
6398
|
["bedrock"]: bedrockEndpointSchema.optional()
|
|
6217
|
-
}).strict().refine((data) => Object.keys(data).length > 0, { message: "At least one `endpoints` field must be provided." }).optional()
|
|
6399
|
+
}).strict().refine((data) => Object.keys(data).length > 0, { message: "At least one `endpoints` field must be provided." }).optional(),
|
|
6400
|
+
/** Serve the OpenAPI spec and docs for the public Agents API. Off by default. */
|
|
6401
|
+
openapi: z.object({ enabled: z.boolean().optional() }).optional()
|
|
6218
6402
|
});
|
|
6219
6403
|
const getConfigDefaults = () => getSchemaDefaults(configSchema);
|
|
6220
6404
|
let KnownEndpoints = /* @__PURE__ */ function(KnownEndpoints) {
|
|
@@ -6282,6 +6466,9 @@ const alternateName = {
|
|
|
6282
6466
|
* catalogs consume.
|
|
6283
6467
|
*/
|
|
6284
6468
|
const responsesOnlyOpenAIModels = ["gpt-6-astra"];
|
|
6469
|
+
/** Tool calls with Sol/Luna's default reasoning require Responses. Do not offer
|
|
6470
|
+
* these on Assistants, which cannot use the native request-routing path. */
|
|
6471
|
+
const responsesReasoningOpenAIModels = ["gpt-6-sol", "gpt-6-luna"];
|
|
6285
6472
|
const sharedOpenAIModels = [
|
|
6286
6473
|
"gpt-5.6",
|
|
6287
6474
|
"gpt-5.6-terra",
|
|
@@ -6311,6 +6498,7 @@ const sharedOpenAIModels = [
|
|
|
6311
6498
|
const sharedAnthropicModels = [
|
|
6312
6499
|
"claude-fable-5-1",
|
|
6313
6500
|
"claude-fable-5",
|
|
6501
|
+
"claude-opus-5-5",
|
|
6314
6502
|
"claude-opus-5",
|
|
6315
6503
|
"claude-opus-4-8",
|
|
6316
6504
|
"claude-opus-4-7",
|
|
@@ -6346,6 +6534,7 @@ const sharedAnthropicModels = [
|
|
|
6346
6534
|
const bedrockModels = [
|
|
6347
6535
|
"global.anthropic.claude-fable-5-1",
|
|
6348
6536
|
"global.anthropic.claude-fable-5",
|
|
6537
|
+
"global.anthropic.claude-opus-5-5",
|
|
6349
6538
|
"global.anthropic.claude-opus-5",
|
|
6350
6539
|
"global.anthropic.claude-opus-4-8",
|
|
6351
6540
|
"global.anthropic.claude-opus-4-7",
|
|
@@ -6377,7 +6566,11 @@ const bedrockModels = [
|
|
|
6377
6566
|
const defaultModels = {
|
|
6378
6567
|
["azureAssistants"]: sharedOpenAIModels,
|
|
6379
6568
|
["assistants"]: [...sharedOpenAIModels, "chatgpt-4o-latest"],
|
|
6380
|
-
["agents"]: [
|
|
6569
|
+
["agents"]: [
|
|
6570
|
+
...responsesOnlyOpenAIModels,
|
|
6571
|
+
...responsesReasoningOpenAIModels,
|
|
6572
|
+
...sharedOpenAIModels
|
|
6573
|
+
],
|
|
6381
6574
|
["google"]: [
|
|
6382
6575
|
"gemini-3.8-flash",
|
|
6383
6576
|
"gemini-3.7-flash",
|
|
@@ -6396,6 +6589,7 @@ const defaultModels = {
|
|
|
6396
6589
|
["anthropic"]: sharedAnthropicModels,
|
|
6397
6590
|
["openAI"]: [
|
|
6398
6591
|
...responsesOnlyOpenAIModels,
|
|
6592
|
+
...responsesReasoningOpenAIModels,
|
|
6399
6593
|
...sharedOpenAIModels,
|
|
6400
6594
|
"chatgpt-4o-latest",
|
|
6401
6595
|
"gpt-4-vision-preview",
|
|
@@ -6409,12 +6603,11 @@ const fitlerAssistantModels = (str) => {
|
|
|
6409
6603
|
};
|
|
6410
6604
|
const openAIModels = defaultModels["openAI"];
|
|
6411
6605
|
/**
|
|
6412
|
-
*
|
|
6413
|
-
*
|
|
6414
|
-
*
|
|
6415
|
-
* would let it become the default selection.
|
|
6606
|
+
* Preserve Azure's fallback default selection when the OpenAI catalog gains
|
|
6607
|
+
* Responses-preferred models. Configured Azure deployments supply their own
|
|
6608
|
+
* model list, including Astra when deployed.
|
|
6416
6609
|
*/
|
|
6417
|
-
const nonResponsesOnlyOpenAIModels = openAIModels.filter((model) => !responsesOnlyOpenAIModels.includes(model));
|
|
6610
|
+
const nonResponsesOnlyOpenAIModels = openAIModels.filter((model) => !responsesOnlyOpenAIModels.includes(model) && !responsesReasoningOpenAIModels.includes(model));
|
|
6418
6611
|
const initialModelsConfig = {
|
|
6419
6612
|
initial: [],
|
|
6420
6613
|
["openAI"]: openAIModels,
|
|
@@ -6455,6 +6648,8 @@ const visionModels = [
|
|
|
6455
6648
|
"grok-vision",
|
|
6456
6649
|
"grok-2-vision",
|
|
6457
6650
|
"grok-3",
|
|
6651
|
+
"grok-4.7",
|
|
6652
|
+
"grok-4-7",
|
|
6458
6653
|
"gpt-4o-mini",
|
|
6459
6654
|
"gpt-4o",
|
|
6460
6655
|
"gpt-4-turbo",
|
|
@@ -6821,6 +7016,10 @@ let ErrorTypes = /* @__PURE__ */ function(ErrorTypes) {
|
|
|
6821
7016
|
*/
|
|
6822
7017
|
ErrorTypes["AUTH_BANNED"] = "auth_banned";
|
|
6823
7018
|
/**
|
|
7019
|
+
* Authentication request was not sent from this application's origin
|
|
7020
|
+
*/
|
|
7021
|
+
ErrorTypes["AUTH_CROSS_ORIGIN"] = "auth_cross_origin";
|
|
7022
|
+
/**
|
|
6824
7023
|
* Model refused to respond (content policy violation)
|
|
6825
7024
|
*/
|
|
6826
7025
|
ErrorTypes["REFUSAL"] = "refusal";
|
|
@@ -6987,7 +7186,7 @@ let TTSProviders = /* @__PURE__ */ function(TTSProviders) {
|
|
|
6987
7186
|
/** Enum for app-wide constants */
|
|
6988
7187
|
let Constants = /* @__PURE__ */ function(Constants) {
|
|
6989
7188
|
/**
|
|
6990
|
-
* Key for the app's version. The placeholder `v0.8.8-
|
|
7189
|
+
* Key for the app's version. The placeholder `v0.8.8-rc4` is
|
|
6991
7190
|
* swapped in by `@rollup/plugin-replace` during `npm run build:data-provider`
|
|
6992
7191
|
* using the value of the root `package.json`'s `version` field. Consumers
|
|
6993
7192
|
* always import this via the built dist bundle (see `main` field in
|
|
@@ -6995,9 +7194,9 @@ let Constants = /* @__PURE__ */ function(Constants) {
|
|
|
6995
7194
|
* substituted value. Only tests that import the TypeScript source directly
|
|
6996
7195
|
* would observe the raw placeholder.
|
|
6997
7196
|
*/
|
|
6998
|
-
Constants["VERSION"] = "v0.8.8-
|
|
7197
|
+
Constants["VERSION"] = "v0.8.8-rc4";
|
|
6999
7198
|
/** Key for the Custom Config's version (librechat.yaml). */
|
|
7000
|
-
Constants["CONFIG_VERSION"] = "1.3.
|
|
7199
|
+
Constants["CONFIG_VERSION"] = "1.3.17";
|
|
7001
7200
|
/** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */
|
|
7002
7201
|
Constants["NO_PARENT"] = "00000000-0000-0000-0000-000000000000";
|
|
7003
7202
|
/** Standard value to use whatever the submission prelim. `responseMessageId` is */
|
|
@@ -7330,6 +7529,8 @@ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys) {
|
|
|
7330
7529
|
LocalStorageKeys["PIN_WEB_SEARCH_"] = "PIN_WEB_SEARCH_";
|
|
7331
7530
|
/** Pin state for Code Interpreter per conversation ID */
|
|
7332
7531
|
LocalStorageKeys["PIN_CODE_INTERPRETER_"] = "PIN_CODE_INTERPRETER_";
|
|
7532
|
+
/** Key for the last selected code approval mode */
|
|
7533
|
+
LocalStorageKeys["LAST_CODE_APPROVAL_MODE"] = "lastCodeApprovalMode";
|
|
7333
7534
|
return LocalStorageKeys;
|
|
7334
7535
|
}({});
|
|
7335
7536
|
let ForkOptions = /* @__PURE__ */ function(ForkOptions) {
|
|
@@ -7422,6 +7623,57 @@ function getDefaultParamsEndpoint(endpointsConfig, endpoint) {
|
|
|
7422
7623
|
return endpointsConfig[endpoint]?.customParams?.defaultParamsEndpoint;
|
|
7423
7624
|
}
|
|
7424
7625
|
//#endregion
|
|
7626
|
+
//#region src/types/assistants.ts
|
|
7627
|
+
let RunStatus = /* @__PURE__ */ function(RunStatus) {
|
|
7628
|
+
RunStatus["QUEUED"] = "queued";
|
|
7629
|
+
RunStatus["IN_PROGRESS"] = "in_progress";
|
|
7630
|
+
RunStatus["REQUIRES_ACTION"] = "requires_action";
|
|
7631
|
+
RunStatus["CANCELLING"] = "cancelling";
|
|
7632
|
+
RunStatus["CANCELLED"] = "cancelled";
|
|
7633
|
+
RunStatus["FAILED"] = "failed";
|
|
7634
|
+
RunStatus["COMPLETED"] = "completed";
|
|
7635
|
+
RunStatus["EXPIRED"] = "expired";
|
|
7636
|
+
return RunStatus;
|
|
7637
|
+
}({});
|
|
7638
|
+
let FilePurpose = /* @__PURE__ */ function(FilePurpose) {
|
|
7639
|
+
FilePurpose["Vision"] = "vision";
|
|
7640
|
+
FilePurpose["FineTune"] = "fine-tune";
|
|
7641
|
+
FilePurpose["FineTuneResults"] = "fine-tune-results";
|
|
7642
|
+
FilePurpose["Assistants"] = "assistants";
|
|
7643
|
+
FilePurpose["AssistantsOutput"] = "assistants_output";
|
|
7644
|
+
return FilePurpose;
|
|
7645
|
+
}({});
|
|
7646
|
+
const defaultOrderQuery = {
|
|
7647
|
+
order: "desc",
|
|
7648
|
+
limit: 100
|
|
7649
|
+
};
|
|
7650
|
+
let AssistantStreamEvents = /* @__PURE__ */ function(AssistantStreamEvents) {
|
|
7651
|
+
AssistantStreamEvents["ThreadCreated"] = "thread.created";
|
|
7652
|
+
AssistantStreamEvents["ThreadRunCreated"] = "thread.run.created";
|
|
7653
|
+
AssistantStreamEvents["ThreadRunQueued"] = "thread.run.queued";
|
|
7654
|
+
AssistantStreamEvents["ThreadRunInProgress"] = "thread.run.in_progress";
|
|
7655
|
+
AssistantStreamEvents["ThreadRunRequiresAction"] = "thread.run.requires_action";
|
|
7656
|
+
AssistantStreamEvents["ThreadRunCompleted"] = "thread.run.completed";
|
|
7657
|
+
AssistantStreamEvents["ThreadRunFailed"] = "thread.run.failed";
|
|
7658
|
+
AssistantStreamEvents["ThreadRunCancelling"] = "thread.run.cancelling";
|
|
7659
|
+
AssistantStreamEvents["ThreadRunCancelled"] = "thread.run.cancelled";
|
|
7660
|
+
AssistantStreamEvents["ThreadRunExpired"] = "thread.run.expired";
|
|
7661
|
+
AssistantStreamEvents["ThreadRunStepCreated"] = "thread.run.step.created";
|
|
7662
|
+
AssistantStreamEvents["ThreadRunStepInProgress"] = "thread.run.step.in_progress";
|
|
7663
|
+
AssistantStreamEvents["ThreadRunStepCompleted"] = "thread.run.step.completed";
|
|
7664
|
+
AssistantStreamEvents["ThreadRunStepFailed"] = "thread.run.step.failed";
|
|
7665
|
+
AssistantStreamEvents["ThreadRunStepCancelled"] = "thread.run.step.cancelled";
|
|
7666
|
+
AssistantStreamEvents["ThreadRunStepExpired"] = "thread.run.step.expired";
|
|
7667
|
+
AssistantStreamEvents["ThreadRunStepDelta"] = "thread.run.step.delta";
|
|
7668
|
+
AssistantStreamEvents["ThreadMessageCreated"] = "thread.message.created";
|
|
7669
|
+
AssistantStreamEvents["ThreadMessageInProgress"] = "thread.message.in_progress";
|
|
7670
|
+
AssistantStreamEvents["ThreadMessageCompleted"] = "thread.message.completed";
|
|
7671
|
+
AssistantStreamEvents["ThreadMessageIncomplete"] = "thread.message.incomplete";
|
|
7672
|
+
AssistantStreamEvents["ThreadMessageDelta"] = "thread.message.delta";
|
|
7673
|
+
AssistantStreamEvents["ErrorEvent"] = "error";
|
|
7674
|
+
return AssistantStreamEvents;
|
|
7675
|
+
}({});
|
|
7676
|
+
//#endregion
|
|
7425
7677
|
//#region src/accessPermissions.ts
|
|
7426
7678
|
/**
|
|
7427
7679
|
* Granular Permission System Types for Agent Sharing
|
|
@@ -7796,6 +8048,7 @@ let MutationKeys = /* @__PURE__ */ function(MutationKeys) {
|
|
|
7796
8048
|
MutationKeys["pairCodeEnvironment"] = "pairCodeEnvironment";
|
|
7797
8049
|
MutationKeys["updateCodeEnvironmentSettings"] = "updateCodeEnvironmentSettings";
|
|
7798
8050
|
MutationKeys["deleteCodeEnvironment"] = "deleteCodeEnvironment";
|
|
8051
|
+
MutationKeys["moveConversationCodeEnvironment"] = "moveConversationCodeEnvironment";
|
|
7799
8052
|
return MutationKeys;
|
|
7800
8053
|
}({});
|
|
7801
8054
|
//#endregion
|
|
@@ -8361,6 +8614,7 @@ var data_service_exports = /* @__PURE__ */ __exportAll({
|
|
|
8361
8614
|
logout: () => logout,
|
|
8362
8615
|
makePromptProduction: () => makePromptProduction,
|
|
8363
8616
|
markFilesUsage: () => markFilesUsage,
|
|
8617
|
+
moveConversationCodeEnvironment: () => moveConversationCodeEnvironment,
|
|
8364
8618
|
pairCodeEnvironment: () => pairCodeEnvironment,
|
|
8365
8619
|
pinConversation: () => pinConversation,
|
|
8366
8620
|
rebuildConversationTags: () => rebuildConversationTags,
|
|
@@ -8479,6 +8733,12 @@ function getCodeEnvironments() {
|
|
|
8479
8733
|
function getCodeEnvironmentStatus(id) {
|
|
8480
8734
|
return request_default.get(codeEnvironmentStatus(id));
|
|
8481
8735
|
}
|
|
8736
|
+
function moveConversationCodeEnvironment({ conversationId, from, to }) {
|
|
8737
|
+
return request_default.patch(codeEnvironmentConversationDecision(conversationId), {
|
|
8738
|
+
from,
|
|
8739
|
+
to
|
|
8740
|
+
});
|
|
8741
|
+
}
|
|
8482
8742
|
function pairCodeEnvironment(payload) {
|
|
8483
8743
|
return request_default.post(codeEnvironmentPairings(), payload);
|
|
8484
8744
|
}
|
|
@@ -9349,6 +9609,6 @@ const getActiveJobs = () => {
|
|
|
9349
9609
|
return request_default.get(activeJobs());
|
|
9350
9610
|
};
|
|
9351
9611
|
//#endregion
|
|
9352
|
-
export { permissionEntrySchema as $, eAnthropicEffortSchema as $a, specsConfigSchema as $i, ocrSchema as $n, tQueryParamsSchema as $o, registerPage as $r, MAX_PII_CUSTOM_REGEX_INSTRUCTIONS as $s, alternateName as $t, updateResourcePermissions as A, ReasoningResponseKey as Aa, skillFilterFieldSchema as Ac, isAnthropicTextDocumentType as Ai, fileStrategiesSchema as An, isMythosClassModel as Ao, MAX_MCP_ICON_PATH_LENGTH as Ar, getTagByKey as As, MAX_SUBAGENT_RUN_CONFIGS as At, MutationKeys as B, anthropicSchema as Ba, resolveUseResponsesApi as Bi, isSpeechProviderConfigured as Bn, removeNullishValues as Bo, WebSocketOptionsSchema as Br, isCodeWorkspaceSelection as Bs, SafeSearchTypes as Bt, resetPassword as C, MYTHOS_CLASS_FAMILIES as Ca, hasActiveFiltersConfig as Cc, getDocumentFileExtension as Ci, defaultModels as Cn, inputTokensIncludesCache as Co, turnstileOptionsSchema as Cr, resolveCodePermissionDecision as Cs, KnownEndpoints as Ct, updateFeedback as D, ReasoningEffort as Da, messageFilterFieldSchema as Dc, imageTypeMapping as Di, excludedKeys as Dn, isImageVisionTool as Do, vertexModelConfigSchema as Dr, feedbackRatingSchema as Ds, LocalStorageKeys as Dt, searchPrincipals as E, ReasoningContext as Ea, memoryFilterFieldSchema as Ec, imageMimeTypes as Ei, endpointSchema as En, isDocumentSupportedProvider as Eo, vertexAISchema as Er, FEEDBACK_TAGS as Es, LANGFUSE_TRACE_USER_METADATA_FIELDS as Et, request_default as F, Verbosity as Fa, extractEnvVariable as Fc, mbToBytes as Fi, imageGenTools as Fn, openAIBaseSchema as Fo, MCP_SERVER_TITLE_PATTERN as Fr, CODE_WORKSPACE_ID_PATTERN as Fs, SKILL_SYNC_DEFAULT_DISCOVERY_DEPTH as Ft, PrincipalType as G, coerceNumber as Ga, supportsFiles as Gi, memorySchema as Gn, tConversationTagSchema as Go, AuthorizationTypeEnum as Gr, CONVERSATION_STARTER_FILTER_FIELDS as Gs, SettingsViews as Gt, AccessRoleIds as H, assistantSchema as Ha, retrievalMimeTypesList as Hi, langfuseTraceConfigSchema as Hn, subagentThreadLineageSchema as Ho, isProcessMCPServerConfig as Hr, isCodeWorkspaceSelections as Hs, SearchCategories as Ht, getTokenHeader as I, agentsBaseSchema as Ia, extractVariableName as Ic, megabyte as Ii, initialModelsConfig as In, openAISchema as Io, MCP_USER_INPUT_FIELDS as Ir, CODE_WORKSPACE_MAX_COUNT as Is, SKILL_SYNC_MAX_DISCOVERY_DEPTH as It, accessRoleToPermBits as J, compactAssistantSchema as Ja, REFILL_INTERVAL_UNITS as Ji, modelConfigSchema as Jn, tMessageSchema as Jo, FileSources as Jr, FILE_FILTER_FIELDS as Js, Time as Jt, ResourceType as K, compactAgentsBaseSchema as Ka, textMimeTypes as Ki, messageFilterPiiSchema as Kn, tConvoUpdateSchema as Ko, TokenExchangeMethodEnum as Kr, CONVERSATION_TITLE_FILTER_FIELDS as Ks, SystemCategories as Kt, setAcceptLanguageHeader as L, agentsSchema as La, isSensitiveEnvVar as Lc, mergeFileConfig as Li, interfaceSchema as Ln, openAISettings as Lo, SSEOptionsSchema as Lr, CODE_WORKSPACE_OPERATIONS as Ls, SKILL_SYNC_MAX_INTERVAL_MINUTES as Lt, updateUserKey as M, SkillsScope as Ma, unattributedAssistantContentSchema as Mc, isMessageFileUpload as Mi, getDefaultParamsEndpoint as Mn, isParamEndpoint as Mo, MCPServerUserInputSchema as Mr, toMinimalFeedback as Ms, RateLimitPrefix as Mt, updateUserPlugins as N, ThinkingDisplay as Na, userSubmittedMessageFieldPathSchema as Nc, isPermissiveMimeConfig as Ni, getEndpointField as Nn, isUUID as No, MCPServersSchema as Nr, CODE_ENVIRONMENT_DECISION_VERSION as Ns, RerankerTypes as Nt, updateMessage as O, ReasoningMode as Oa, modelParameterFilterFieldSchema as Oc, inferMimeType as Oi, fileSourceSchema as On, isKnownProviderIdentifier as Oo, visionModels as Or, feedbackSchema as Os, MAX_SUBAGENT_DEPTH as Ot, userKeyQuery as P, ThinkingLevel as Pa, envVarRegex as Pc, isResponsesApiUpload as Pi, getSchemaDefaults as Pn, mediaSupportedProviders as Po, MCP_SERVER_TITLE_ERROR as Pr, CODE_ENVIRONMENT_MODES as Ps, RetentionMode as Pt, permBitsToAccessLevel as Q, documentSupportedProviders as Qa, resolveModelSpecEndpoint as Qi, normalizeServerName as Qn, tPresetSchema as Qo, loginPage as Qr, MAX_PII_CUSTOM_REGEX_CHARACTERS as Qs, allowedAddressesSchema as Qt, setTokenHeader as R, agentsSettings as Ra, normalizeEndpointName as Rc, mimeTypeAliases as Ri, isRemoteOidcUrlAllowed as Rn, openRouterSchema as Ro, StdioOptionsSchema as Rr, CODE_WORKSPACE_SELECTION_ERROR_REASONS as Rs, SKILL_SYNC_MIN_INTERVAL_MINUTES as Rt, requestPasswordReset as S, ImageVisionTool as Sa, getPiiRegexProgramSize as Sc, getConfiguredMimeAccept as Si, defaultEndpoints as Sn, imageDetailValue as So, transactionsSchema as Sr, resolveCodeApprovalMode as Ss, InfiniteCollections as St, revokeUserKey as T, Providers as Ta, hasActivePiiPatterns as Tc, imageExtRegex as Ti, defaultSocialLogins as Tn, isAssistantsEndpoint as To, validateVisionModel as Tr, FEEDBACK_REASON_KEYS as Ts, LANGFUSE_TRACE_USER_ID_FIELDS as Tt, PermissionBits as U, authTypeSchema as Ua, setFileConfigRegexCompiler as Ui, listConfiguredSpeechProviders as Un, tBannerSchema as Uo, isProcessMCPServerField as Ur, ACTION_METADATA_FILTER_FIELDS as Us, SearchProviders as Ut, QueryKeys as V, anthropicSettings as Va, retrievalMimeTypes as Vi, langfuseConfigSchema as Vn, resolveAgentSkillsScope as Vo, hasProcessMCPServerConfig as Vr, isCodeWorkspaceSelectionErrorReason as Vs, ScraperProviders as Vt, PrincipalModel as W, cacheSubsetProviders as Wa, supportedMimeTypes as Wi, mcpRefreshDefaults as Wn, tConversationSchema as Wo, AuthTypeEnum as Wr, AGENT_INSTRUCTION_FILTER_FIELDS as Ws, SettingsTabValues as Wt, getResourcePermissionsResponseSchema as X, defaultAgentFormValues as Xa, materializeModelSpecEndpoints as Xi, normalizeMCPToolKey as Xn, tPluginAuthConfigSchema as Xo, apiBaseUrl as Xr, HITL_MESSAGE_FILTER_FIELDS as Xs, VisionModes as Xt, effectivePermissionsResponseSchema as Y, compactGoogleSchema as Ya, getRefillEligibilityDate as Yi, modularEndpoints as Yn, tModelSpecPresetSchema as Yo, checkOpenAIStorage as Yr, FILTER_PII_STARTER_PATTERNS as Ys, ViolationTypes as Yt, hasPermissions as Z, defaultAssistantFormValues as Za, modelSpecSubagentsSchema as Zi, normalizeSearxngEngines as Zn, tPluginSchema as Zo, buildLoginRedirectUrl as Zr, MAX_PII_CUSTOM_PATTERNS_TOTAL as Zs, agentsEndpointSchema as Zt, getResourcePermissions as _, AuthType as _a, filterPiiActionSchema as _c, excelFileTypes as _i, codeEnvironmentUserSettingsSchema as _n, googleBaseSchema as _o, toolApprovalHookConfigSchema as _r, resolveAllowedStatefulCodeEnvironments as _s, EndpointURLs as _t, data_service_exports as a, MAX_SUBAGENTS_CEILING as aa, MESSAGE_FILTER_FIELDS as ac, bedrockDocumentFormats as ai, azureGroupSchema as an, eReasoningParameterFormatSchema as ao, retainRecentConfigSchema as ar, MessageContentTypes as as, AgentCapabilities as at, register as b, EModelEndpoint as ba, filterPiiStarterPatternSchema as bc, fileConfigSchema as bi, defaultAgentCapabilities as bn, googleSettings as bo, traceViewerDefaults as br, CodeApprovalModeError as bs, ForkOptions as bt, getAccessRoles as c, ComponentTypes as ca, SKILL_FILTER_FIELDS as cc, codeInterpreterMimeTypesList as ci, bedrockEndpointSchema as cn, eThinkingDisplaySchema as co, skillSyncGitHubSourceSchema as cr, Tools as cs, BASE_PRINCIPAL_CONFIG_SECTIONS as ct, getAvailablePlugins as d, clampSettingRange as da, actionMetadataFilterFieldSchema as dc, defaultLLMDeliveryPathSchema as di, buildServerNameAliases as dn, endpointSettings as do, splitToolCallName as dr, agentGitIdentitySchema as ds, CacheKeys as dt, tModelSpecSchema as ea, MAX_PII_PATTERNS_PER_SOURCE as ec, sharedFileDownload as ei, anthropicEndpointSchema as en, eImageDetailSchema as eo, paramDefinitionSchema as er, tSharedLinkSchema as es, principalSchema as et, getConversationById as f, generateDynamicSchema as fa, agentInstructionFilterFieldSchema as fc, defaultOCRMimeTypes as fi, checkpointerSchema as fn, extendedModelEndpointSchema as fo, stripServerNamePrefix as fr, defaultOrderQuery as fs, Capabilities as ft, getModels as g, AnthropicEffort as ga, fileFilterFieldSchema as gc, endpointFileConfigSchema as gi, codeEnvironmentUserConfigSchema as gn, getSettingsKeys as go, supportsBalanceCheck as gr, STATEFUL_CODE_ENVIRONMENTS as gs, EImageOutputType as gt, getMCPServerConnectionStatus as h, validateSettingDefinitions as ha, feedbackFilterFieldSchema as hc, documentParserMimeTypes as hi, codeEnvironmentPermissionDecisionSchema as hn, getModelKey as ho, summarizationTriggerSchema as hr, isActionTool as hs, DEFAULT_MEMORY_MAX_INPUT_TOKENS as ht, createPreset as i, MAX_SUBAGENTS as ia, MEMORY_FILTER_FIELDS as ic, bedrockDocumentExtensions as ii, azureGroupConfigsSchema as in, eReasoningModeSchema as io, resolveTraceViewerConfig as ir, FilePurpose as is, AUTH_USER_DOC_BY_ID_PREFIX as it, updateTokenCount as j, ReasoningSummary as ja, toolArgumentFilterFieldSchema as jc, isBedrockDocumentType as ji, getConfigDefaults as jn, isOpenAILikeProvider as jo, MCPOptionsSchema as jr, getTagsForRating as js, OCRStrategy as jt, updateMessageContent as k, ReasoningParameterFormat as ka, promptFilterFieldSchema as kc, isAnthropicDocumentType as ki, fileStorageSchema as kn, isMediaSupportedProvider as ko, webSearchSchema as kr, feedbackTagKeySchema as ks, MAX_SUBAGENT_GRAPH_NODES as kt, getAgentApiKeys as l, OptionTypes as la, STORED_MESSAGE_FILTER_FIELDS as lc, codeTypeMapping as li, bedrockGuardrailConfigSchema as ln, eThinkingLevelSchema as lo, specialVariables as lr, actionDelimiter as ls, CODE_ENVIRONMENT_COMMAND_TIMEOUT_DEFAULT_MS as lt, getEffectivePermissions as m, generateOpenAISchema as ma, conversationTitleFilterFieldSchema as mc, defaultTextMimeTypes as mi, cloudfrontConfigSchema as mn, getGoogleThinkingBudgetMax as mo, summarizationConfigSchema as mr, hostImageNamePrefix as ms, Constants as mt, clearAllConversations as n, MAX_CHAT_PROJECT_NAME_LENGTH as na, MAX_PII_PATTERN_LABEL_LENGTH as nc, applicationMimeTypes as ni, azureBaseSchema as nn, eReasoningContextSchema as no, rateLimitSchema as nr, AssistantStreamEvents as ns, updateResourcePermissionsRequestSchema as nt, deleteAgentApiKey as o, getMaxSubagents as oa, MODEL_PARAMETER_FILTER_FIELDS as oc, bedrockDocumentMimeTypes as oi, balanceSchema as on, eReasoningResponseKeySchema as oo, setMessageFilterRegexValidator as or, RunStatus as os, AuthKeys as ot, getCustomConfigSpeech as p, generateGoogleSchema as pa, conversationStarterFilterFieldSchema as pc, defaultSTTMimeTypes as pi, checkpointerTypeSchema as pn, getGoogleThinkingBudgetBounds as po, stripServerNamePrefixes as pr, hostImageIdSuffix as ps, CohereConstants as pt, accessRoleSchema as q, compactAgentsSchema as qa, videoMimeTypes as qi, messageFilterSchema as qn, tExampleSchema as qo, FileContext as qr, FEEDBACK_FILTER_FIELDS as qs, TTSProviders as qt, createAgentApiKey as r, MAX_GRAPH_SUBAGENT_MEMBERS as ra, MAX_PII_PATTERN_LENGTH as rc, audioMimeTypes as ri, azureEndpointSchema as rn, eReasoningEffortSchema as ro, resolveEndpointType as rr, EToolResources as rs, updateResourcePermissionsResponseSchema as rt, deletePreset as s, setMaxSubagents as sa, PROMPT_FILTER_FIELDS as sc, codeInterpreterMimeTypes as si, baseEndpointSchema as sn, eReasoningSummarySchema as so, skillSyncConfigSchema as sr, StepStatus as ss, BASE_ONLY_CONFIG_SECTIONS as st, cancelMCPOAuth as t, MAX_CHAT_PROJECT_DESCRIPTION_LENGTH as ta, MAX_PII_PATTERN_ID_LENGTH as tc, DefaultLLMDeliveryPath as ti, assistantEndpointSchema as tn, eModelEndpointSchema as to, providerEndpointMap as tr, AnnotationTypes as ts, resourcePermissionsResponseSchema as tt, getAllEffectivePermissions as u, SettingTypes as ua, TOOL_ARGUMENT_FILTER_FIELDS as uc, convertStringsToRegex as ui, bedrockModels as un, eVerbositySchema as uo, splitMCPToolKey as ur, actionDomainSeparator as us, CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS as ut, getSharedLink as v, BedrockProviders as va, filterPiiCustomPatternSchema as vc, excelMimeTypes as vi, configSchema as vn, googleGenConfigSchema as vo, toolApprovalModeSchema as vr, resolveStatefulCodeEnvironment as vs, ErrorTypes as vt, revokeAllUserKeys as w, MemoryScope as wa, hasActivePiiFields as wc, getEndpointFileConfig as wi, defaultRetrievalModels as wn, isAgentsEndpoint as wo, turnstileSchema as wr, FEEDBACK_RATINGS as ws, LANGFUSE_TRACE_CONVERSATION_METADATA_FIELDS as wt, reinitializeMCPServer as x, ImageDetail as xa, filtersConfigSchema as xc, fullMimeTypesList as xi, defaultAssistantsVersion as xn, imageDetailNumeric as xo, traceViewerLimits as xr, getAllowedCodeApprovalModes as xs, ImageDetailCost as xt, getSharedMessages as y, BedrockReasoningConfig as ya, filterPiiRegexSchema as yc, fileConfig as yi, contextPruningSchema as yn, googleSchema as yo, toolApprovalPolicySchema as yr, CODE_APPROVAL_MODES as ys, FetchTokenConfig as yt, DynamicQueryKeys as z, anthropicBaseSchema as za, resolveSandboxFilename as zi, isSecureCodeEnvironmentControlURL as zn, paramEndpoints as zo, StreamableHTTPOptionsSchema as zr, isCodeEnvironmentMode as zs, STTProviders as zt };
|
|
9612
|
+
export { permissionEntrySchema as $, Providers as $a, envVarRegex as $c, isResponsesApiUpload as $i, isSpeechProviderConfigured as $n, isAssistantsEndpoint as $o, SSEOptionsSchema as $r, CODE_WORKSPACE_MAX_COUNT as $s, SearchCategories as $t, updateResourcePermissions as A, validateSettingDefinitions as Aa, actionMetadataFilterFieldSchema as Ac, defaultOCRMimeTypes as Ai, codeEnvironmentUserSettingsSchema as An, eReasoningContextSchema as Ao, summarizationTriggerSchema as Ar, Tools as As, FetchTokenConfig as At, MutationKeys as B, DEFAULT_BALANCE_RESERVATION_TTL_MS as Ba, filtersConfigSchema as Bc, getConfiguredMimeAccept as Bi, excludedKeys as Bn, extendedModelEndpointSchema as Bo, validateVisionModel as Br, FEEDBACK_REASON_KEYS as Bs, MAX_SUBAGENT_GRAPH_NODES as Bt, resetPassword as C, ComponentTypes as Ca, MEMORY_FILTER_FIELDS as Cc, bedrockDocumentFormats as Ci, bedrockModels as Cn, compactGoogleSchema as Co, skillSyncGitHubSourceSchema as Cr, tModelSpecPresetSchema as Cs, DEFAULT_AGENT_MODEL_RESPONSE_HEADERS_TIMEOUT_MS as Ct, updateFeedback as D, generateDynamicSchema as Da, SKILL_FILTER_FIELDS as Dc, codeTypeMapping as Di, cloudfrontConfigSchema as Dn, eAnthropicEffortSchema as Do, stripServerNamePrefix as Dr, tQueryParamsSchema as Ds, EImageOutputType as Dt, searchPrincipals as E, clampSettingRange as Ea, PROMPT_FILTER_FIELDS as Ec, codeInterpreterMimeTypesList as Ei, checkpointerTypeSchema as En, documentSupportedProviders as Eo, splitToolCallName as Er, tPresetSchema as Es, DEFAULT_OAUTH_STATE_TTL_MS as Et, request_default as F, MAX_GRAPH_SUBAGENT_MEMBERS as Fa, fileFilterFieldSchema as Fc, excelFileTypes as Fi, defaultEndpoints as Fn, eReasoningSummarySchema as Fo, traceViewerDefaults as Fr, CodeApprovalModeError as Fs, LANGFUSE_TRACE_CONVERSATION_METADATA_FIELDS as Ft, PrincipalType as G, AuthType as Ga, memoryFilterFieldSchema as Gc, imageTypeMapping as Gi, getDefaultParamsEndpoint as Gn, googleBaseSchema as Go, MAX_MCP_ICON_PATH_LENGTH as Gr, getTagByKey as Gs, RetentionMode as Gt, AccessRoleIds as H, REFILL_INTERVAL_UNITS as Ha, hasActiveFiltersConfig as Hc, getEndpointFileConfig as Hi, fileStorageSchema as Hn, getGoogleThinkingBudgetMax as Ho, vertexModelConfigSchema as Hr, feedbackRatingSchema as Hs, OCRStrategy as Ht, getTokenHeader as I, MAX_SUBAGENTS as Ia, filterPiiActionSchema as Ic, excelMimeTypes as Ii, defaultModels as In, eThinkingDisplaySchema as Io, traceViewerLimits as Ir, getAllowedCodeApprovalModes as Is, LANGFUSE_TRACE_USER_ID_FIELDS as It, accessRoleToPermBits as J, EModelEndpoint as Ja, promptFilterFieldSchema as Jc, isAnthropicTextDocumentType as Ji, imageGenTools as Jn, googleSettings as Jo, MCPServerUserInputSchema as Jr, CODE_ENVIRONMENT_DECISION_VERSION as Js, SKILL_SYNC_MAX_INTERVAL_MINUTES as Jt, ResourceType as K, BedrockProviders as Ka, messageFilterFieldSchema as Kc, inferMimeType as Ki, getEndpointField as Kn, googleGenConfigSchema as Ko, MAX_MCP_OAUTH_PERSISTENCE_WAIT_MS as Kr, getTagsForRating as Ks, SKILL_SYNC_DEFAULT_DISCOVERY_DEPTH as Kt, setAcceptLanguageHeader as L, MAX_SUBAGENTS_CEILING as La, filterPiiCustomPatternSchema as Lc, fileConfig as Li, defaultRetrievalModels as Ln, eThinkingLevelSchema as Lo, transactionsSchema as Lr, resolveCodeApprovalMode as Ls, LANGFUSE_TRACE_USER_METADATA_FIELDS as Lt, updateUserKey as M, DEFAULT_RETAINED_ANSWER_TOKENS as Ma, conversationStarterFilterFieldSchema as Mc, defaultTextMimeTypes as Mi, contextPruningSchema as Mn, eReasoningModeSchema as Mo, toolApprovalHookConfigSchema as Mr, actionDomainSeparator as Ms, ImageDetailCost as Mt, updateUserPlugins as N, MAX_CHAT_PROJECT_DESCRIPTION_LENGTH as Na, conversationTitleFilterFieldSchema as Nc, documentParserMimeTypes as Ni, defaultAgentCapabilities as Nn, eReasoningParameterFormatSchema as No, toolApprovalModeSchema as Nr, isActionTool as Ns, InfiniteCollections as Nt, updateMessage as O, generateGoogleSchema as Oa, STORED_MESSAGE_FILTER_FIELDS as Oc, convertStringsToRegex as Oi, codeEnvironmentPermissionDecisionSchema as On, eImageDetailSchema as Oo, stripServerNamePrefixes as Or, tSharedLinkSchema as Os, EndpointURLs as Ot, userKeyQuery as P, MAX_CHAT_PROJECT_NAME_LENGTH as Pa, feedbackFilterFieldSchema as Pc, endpointFileConfigSchema as Pi, defaultAssistantsVersion as Pn, eReasoningResponseKeySchema as Po, toolApprovalPolicySchema as Pr, CODE_APPROVAL_MODES as Ps, KnownEndpoints as Pt, permBitsToAccessLevel as Q, MemoryScope as Qa, userSubmittedMessageFieldPathSchema as Qc, isPermissiveMimeConfig as Qi, isSecureCodeEnvironmentControlURL as Qn, isAgentsEndpoint as Qo, MCP_USER_INPUT_FIELDS as Qr, CODE_WORKSPACE_INSTANCE_TYPES as Qs, ScraperProviders as Qt, setTokenHeader as R, getMaxSubagents as Ra, filterPiiRegexSchema as Rc, fileConfigSchema as Ri, defaultSocialLogins as Rn, eVerbositySchema as Ro, turnstileOptionsSchema as Rr, resolveCodePermissionDecision as Rs, LocalStorageKeys as Rt, requestPasswordReset as S, resolveStatefulCodeEnvironment as Sa, MAX_PII_PATTERN_LENGTH as Sc, bedrockDocumentExtensions as Si, bedrockGuardrailConfigSchema as Sn, compactAssistantSchema as So, skillSyncConfigSchema as Sr, tMessageSchema as Ss, DEFAULT_AGENT_MODEL_RESPONSE_BODY_TIMEOUT_MS as St, revokeUserKey as T, SettingTypes as Ta, MODEL_PARAMETER_FILTER_FIELDS as Tc, codeInterpreterMimeTypes as Ti, checkpointerSchema as Tn, defaultAssistantFormValues as To, splitMCPToolKey as Tr, tPluginSchema as Ts, DEFAULT_MEMORY_MAX_INPUT_TOKENS as Tt, PermissionBits as U, getRefillEligibilityDate as Ua, hasActivePiiFields as Uc, imageExtRegex as Ui, fileStrategiesSchema as Un, getModelKey as Uo, visionModels as Ur, feedbackSchema as Us, RateLimitPrefix as Ut, QueryKeys as V, MIN_BALANCE_RESERVATION_TTL_MS as Va, getPiiRegexProgramSize as Vc, getDocumentFileExtension as Vi, fileSourceSchema as Vn, getGoogleThinkingBudgetBounds as Vo, vertexAISchema as Vr, FEEDBACK_TAGS as Vs, MAX_SUBAGENT_RUN_CONFIGS as Vt, PrincipalModel as W, AnthropicEffort as Wa, hasActivePiiPatterns as Wc, imageMimeTypes as Wi, getConfigDefaults as Wn, getSettingsKeys as Wo, webSearchSchema as Wr, feedbackTagKeySchema as Ws, RerankerTypes as Wt, getResourcePermissionsResponseSchema as X, ImageVisionTool as Xa, toolArgumentFilterFieldSchema as Xc, isExplicitMimeConfig as Xi, interfaceSchema as Xn, imageDetailValue as Xo, MCP_SERVER_TITLE_ERROR as Xr, CODE_ENVIRONMENT_MOVE_VERSION as Xs, STTProviders as Xt, effectivePermissionsResponseSchema as Y, ImageDetail as Ya, skillFilterFieldSchema as Yc, isBedrockDocumentType as Yi, initialModelsConfig as Yn, imageDetailNumeric as Yo, MCPServersSchema as Yr, CODE_ENVIRONMENT_MODES as Ys, SKILL_SYNC_MIN_INTERVAL_MINUTES as Yt, hasPermissions as Z, MYTHOS_CLASS_FAMILIES as Za, unattributedAssistantContentSchema as Zc, isMessageFileUpload as Zi, isRemoteOidcUrlAllowed as Zn, inputTokensIncludesCache as Zo, MCP_SERVER_TITLE_PATTERN as Zr, CODE_WORKSPACE_ID_PATTERN as Zs, SafeSearchTypes as Zt, getResourcePermissions as _, resolveModelSpecEndpoint as _a, MAX_PII_CUSTOM_REGEX_CHARACTERS as _c, sharedFileDownload as _i, azureGroupConfigsSchema as _n, authTypeSchema as _o, rateLimitSchema as _r, tBannerSchema as _s, CODE_ENVIRONMENT_QUEUE_WAIT_DEFAULT_MS as _t, data_service_exports as a, resolveEffectiveUseResponsesApi as aa, isCodeWorkspaceSelectionErrorReason as ac, isProcessMCPServerField as ai, Time as an, ReasoningSummary as ao, messageFilterPiiSchema as ar, isOpenAILikeProvider as as, FilePurpose as at, register as b, STATEFUL_CODE_ENVIRONMENTS as ba, MAX_PII_PATTERN_ID_LENGTH as bc, applicationMimeTypes as bi, baseEndpointSchema as bn, compactAgentsBaseSchema as bo, retainRecentConfigSchema as br, tConvoUpdateSchema as bs, CohereConstants as bt, getAccessRoles as c, retrievalMimeTypes as ca, ACTION_METADATA_FILTER_FIELDS as cc, TokenExchangeMethodEnum as ci, agentsEndpointSchema as cn, ThinkingLevel as co, modularEndpoints as cr, mediaSupportedProviders as cs, AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_DEFAULT as ct, getAvailablePlugins as d, supportedMimeTypes as da, CONVERSATION_TITLE_FILTER_FIELDS as dc, FileSources as di, anthropicEndpointSchema as dn, agentsSchema as do, normalizeServerName as dr, openAISettings as ds, AgentCapabilities as dt, mbToBytes as ea, CODE_WORKSPACE_OPERATIONS as ec, StdioOptionsSchema as ei, extractEnvVariable as el, SearchProviders as en, ReasoningContext as eo, langfuseConfigSchema as er, isDocumentSupportedProvider as es, principalSchema as et, getConversationById as f, supportsFiles as fa, FEEDBACK_FILTER_FIELDS as fc, checkOpenAIStorage as fi, askUserQuestionConfigSchema as fn, agentsSettings as fo, ocrSchema as fr, openRouterSchema as fs, AuthKeys as ft, getModels as g, modelSpecSubagentsSchema as ga, MAX_PII_CUSTOM_PATTERNS_TOTAL as gc, registerPage as gi, azureEndpointSchema as gn, assistantSchema as go, providerEndpointMap as gr, subagentThreadLineageSchema as gs, CODE_ENVIRONMENT_COMMAND_TIMEOUT_HARD_MAX_MS as gt, getMCPServerConnectionStatus as h, materializeModelSpecEndpoints as ha, HITL_MESSAGE_FILTER_FIELDS as hc, loginPage as hi, azureBaseSchema as hn, anthropicSettings as ho, permissionWriteAttemptsSchema as hr, resolveAgentSkillsScope as hs, CODE_ENVIRONMENT_COMMAND_TIMEOUT_DEFAULT_MS as ht, createPreset as i, prefersResponsesApiByModel as ia, isCodeWorkspaceSelection as ic, isProcessMCPServerConfig as ii, TTSProviders as in, ReasoningResponseKey as io, memorySchema as ir, isMythosClassModel as is, AssistantStreamEvents as it, updateTokenCount as j, DEFAULT_MAX_RETAINED_TOOL_COUNT_CHARS as ja, agentInstructionFilterFieldSchema as jc, defaultSTTMimeTypes as ji, configSchema as jn, eReasoningEffortSchema as jo, supportsBalanceCheck as jr, actionDelimiter as js, ForkOptions as jt, updateMessageContent as k, generateOpenAISchema as ka, TOOL_ARGUMENT_FILTER_FIELDS as kc, defaultLLMDeliveryPathSchema as ki, codeEnvironmentUserConfigSchema as kn, eModelEndpointSchema as ko, summarizationConfigSchema as kr, EToolResources as ks, ErrorTypes as kt, getAgentApiKeys as l, retrievalMimeTypesList as la, AGENT_INSTRUCTION_FILTER_FIELDS as lc, agentGitIdentitySchema as li, allowedAddressesSchema as ln, Verbosity as lo, normalizeMCPToolKey as lr, openAIBaseSchema as ls, AGENT_BACKGROUND_COMPLETION_RESULT_MAX_CHARS_HARD_MAX as lt, getEffectivePermissions as m, videoMimeTypes as ma, FILTER_PII_STARTER_PATTERNS as mc, buildLoginRedirectUrl as mi, assistantEndpointSchema as mn, anthropicSchema as mo, paramDefinitionSchema as mr, removeNullishValues as ms, BASE_PRINCIPAL_CONFIG_SECTIONS as mt, clearAllConversations as n, mergeFileConfig as na, isCodeEnvironmentMode as nc, WebSocketOptionsSchema as ni, isSensitiveEnvVar as nl, SettingsViews as nn, ReasoningMode as no, listConfiguredSpeechProviders as nr, isKnownProviderIdentifier as ns, updateResourcePermissionsRequestSchema as nt, deleteAgentApiKey as o, resolveSandboxFilename as oa, isCodeWorkspaceSelections as oc, AuthTypeEnum as oi, ViolationTypes as on, SkillsScope as oo, messageFilterSchema as or, isParamEndpoint as os, RunStatus as ot, getCustomConfigSpeech as p, textMimeTypes as pa, FILE_FILTER_FIELDS as pc, apiBaseUrl as pi, askUserQuestionRetainedAnswersSchema as pn, anthropicBaseSchema as po, openIdDiscoverySchema as pr, paramEndpoints as ps, BASE_ONLY_CONFIG_SECTIONS as pt, accessRoleSchema as q, BedrockReasoningConfig as qa, modelParameterFilterFieldSchema as qc, isAnthropicDocumentType as qi, getSchemaDefaults as qn, googleSchema as qo, MCPOptionsSchema as qr, toMinimalFeedback as qs, SKILL_SYNC_MAX_DISCOVERY_DEPTH as qt, createAgentApiKey as r, mimeTypeAliases as ra, isCodeWorkspaceEnvironment as rc, hasProcessMCPServerConfig as ri, normalizeEndpointName as rl, SystemCategories as rn, ReasoningParameterFormat as ro, mcpRefreshDefaults as rr, isMediaSupportedProvider as rs, updateResourcePermissionsResponseSchema as rt, deletePreset as s, resolveUseResponsesApi as sa, isRepositoryInstructionDescriptor as sc, AuthorizationTypeEnum as si, VisionModes as sn, ThinkingDisplay as so, modelConfigSchema as sr, isUUID as ss, defaultOrderQuery as st, cancelMCPOAuth as t, megabyte as ta, CODE_WORKSPACE_SELECTION_ERROR_REASONS as tc, StreamableHTTPOptionsSchema as ti, extractVariableName as tl, SettingsTabValues as tn, ReasoningEffort as to, langfuseTraceConfigSchema as tr, isImageVisionTool as ts, resourcePermissionsResponseSchema as tt, getAllEffectivePermissions as u, setFileConfigRegexCompiler as ua, CONVERSATION_STARTER_FILTER_FIELDS as uc, FileContext as ui, alternateName as un, agentsBaseSchema as uo, normalizeSearxngEngines as ur, openAISchema as us, AUTH_USER_DOC_BY_ID_PREFIX as ut, getSharedLink as v, specsConfigSchema as va, MAX_PII_CUSTOM_REGEX_INSTRUCTIONS as vc, DEFAULT_SKILL_IMPORT_CLEANUP_CONCURRENCY as vi, azureGroupSchema as vn, cacheSubsetProviders as vo, resolveEndpointType as vr, tConversationSchema as vs, CacheKeys as vt, revokeAllUserKeys as w, OptionTypes as wa, MESSAGE_FILTER_FIELDS as wc, bedrockDocumentMimeTypes as wi, buildServerNameAliases as wn, defaultAgentFormValues as wo, specialVariables as wr, tPluginAuthConfigSchema as ws, DEFAULT_MAX_PROVIDER_ERROR_CHARS as wt, reinitializeMCPServer as x, resolveAllowedStatefulCodeEnvironments as xa, MAX_PII_PATTERN_LABEL_LENGTH as xc, audioMimeTypes as xi, bedrockEndpointSchema as xn, compactAgentsSchema as xo, setMessageFilterRegexValidator as xr, tExampleSchema as xs, Constants as xt, getSharedMessages as y, tModelSpecSchema as ya, MAX_PII_PATTERNS_PER_SOURCE as yc, DefaultLLMDeliveryPath as yi, balanceSchema as yn, coerceNumber as yo, resolveTraceViewerConfig as yr, tConversationTagSchema as ys, Capabilities as yt, DynamicQueryKeys as z, setMaxSubagents as za, filterPiiStarterPatternSchema as zc, fullMimeTypesList as zi, endpointSchema as zn, endpointSettings as zo, turnstileSchema as zr, FEEDBACK_RATINGS as zs, MAX_SUBAGENT_DEPTH as zt };
|
|
9353
9613
|
|
|
9354
|
-
//# sourceMappingURL=data-service-
|
|
9614
|
+
//# sourceMappingURL=data-service-B-WUVvTH.mjs.map
|