librechat-data-provider 0.8.500 → 0.8.502

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.
@@ -1,12 +1,13 @@
1
1
  import type { InfiniteData } from '@tanstack/react-query';
2
2
  import type { TConversationTag, EModelEndpoint, TConversation, TSharedLink, TAttachment, TMessage, TBanner } from './schemas';
3
+ import type { RefillIntervalUnit } from './balance';
3
4
  import type { SettingDefinition } from './generate';
4
5
  import type { TMinimalFeedback } from './feedback';
5
6
  import type { ContentTypes } from './types/runs';
6
7
  import type { Agent } from './types/assistants';
7
8
  export * from './schemas';
8
9
  export type TMessages = TMessage[];
9
- export type TEndpointOption = Pick<TConversation, 'endpoint' | 'endpointType' | 'model' | 'modelLabel' | 'chatGptLabel' | 'promptPrefix' | 'temperature' | 'topP' | 'topK' | 'top_p' | 'frequency_penalty' | 'presence_penalty' | 'maxOutputTokens' | 'maxContextTokens' | 'max_tokens' | 'maxTokens' | 'resendFiles' | 'imageDetail' | 'reasoning_effort' | 'verbosity' | 'instructions' | 'additional_instructions' | 'append_current_datetime' | 'tools' | 'stop' | 'region' | 'additionalModelRequestFields' | 'promptCache' | 'thinking' | 'thinkingBudget' | 'thinkingLevel' | 'effort' | 'assistant_id' | 'agent_id' | 'iconURL' | 'greeting' | 'spec' | 'artifacts' | 'file_ids' | 'system' | 'examples' | 'context'> & {
10
+ export type TEndpointOption = Pick<TConversation, 'endpoint' | 'endpointType' | 'model' | 'modelLabel' | 'chatGptLabel' | 'promptPrefix' | 'temperature' | 'topP' | 'topK' | 'top_p' | 'frequency_penalty' | 'presence_penalty' | 'maxOutputTokens' | 'maxContextTokens' | 'max_tokens' | 'maxTokens' | 'resendFiles' | 'imageDetail' | 'reasoning_effort' | 'verbosity' | 'instructions' | 'additional_instructions' | 'append_current_datetime' | 'tools' | 'stop' | 'region' | 'additionalModelRequestFields' | 'promptCache' | 'thinking' | 'thinkingBudget' | 'thinkingLevel' | 'effort' | 'thinkingDisplay' | 'assistant_id' | 'agent_id' | 'iconURL' | 'greeting' | 'spec' | 'artifacts' | 'file_ids' | 'system' | 'examples' | 'context'> & {
10
11
  modelDisplayLabel?: string;
11
12
  key?: string | null;
12
13
  /** @deprecated Assistants API */
@@ -27,6 +28,7 @@ export type TEphemeralAgent = {
27
28
  file_search?: boolean;
28
29
  execute_code?: boolean;
29
30
  artifacts?: string;
31
+ skills?: boolean;
30
32
  };
31
33
  export type TPayload = Partial<TMessage> & Partial<TEndpointOption> & {
32
34
  isContinued: boolean;
@@ -38,6 +40,13 @@ export type TPayload = Partial<TMessage> & Partial<TEndpointOption> & {
38
40
  editedContent?: TEditedContent | null;
39
41
  /** Added conversation for multi-convo feature */
40
42
  addedConvo?: TConversation;
43
+ /**
44
+ * Skills the user selected via the `$` popover for this turn. Names, not IDs
45
+ * — the backend resolves them against the user's ACL-accessible skill set,
46
+ * loads each SKILL.md body, and prepends one meta user message per skill
47
+ * before the LLM turn runs.
48
+ */
49
+ manualSkills?: string[];
41
50
  };
42
51
  export type TEditedContent = {
43
52
  index: number;
@@ -63,6 +72,8 @@ export type TSubmission = {
63
72
  editedContent?: TEditedContent | null;
64
73
  /** Added conversation for multi-convo feature */
65
74
  addedConvo?: TConversation;
75
+ /** Skills the user invoked via the `$` popover for this submission. */
76
+ manualSkills?: string[];
66
77
  };
67
78
  export type EventSubmission = Omit<TSubmission, 'initialResponse'> & {
68
79
  initialResponse: TMessage;
@@ -499,7 +510,50 @@ export type TBalanceResponse = {
499
510
  tokenCredits: number;
500
511
  autoRefillEnabled: boolean;
501
512
  refillIntervalValue?: number;
502
- refillIntervalUnit?: 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months';
503
- lastRefill?: Date;
513
+ refillIntervalUnit?: RefillIntervalUnit;
514
+ lastRefill?: Date | string;
504
515
  refillAmount?: number;
505
516
  };
517
+ /**
518
+ * @deprecated Superseded by the persisted `userInvocable` /
519
+ * `disableModelInvocation` pair derived from frontmatter. Retained for the
520
+ * transition window so older UI forms and tests still type-check; the
521
+ * backend no longer reads or writes it.
522
+ */
523
+ export declare enum InvocationMode {
524
+ auto = "auto",
525
+ manual = "manual",
526
+ both = "both"
527
+ }
528
+ /**
529
+ * Node in the filesystem-style skill tree view. Phase 1 derives these from
530
+ * the flat `TSkillFile[]` list; phase 2 will have the backend serve them
531
+ * directly from a persisted folder hierarchy. Kept in the shared types so
532
+ * tree UI helpers can be imported from both client and server.
533
+ */
534
+ export type TSkillNode = {
535
+ _id: string;
536
+ skillId: string;
537
+ parentId: string | null;
538
+ type: 'file' | 'folder';
539
+ name: string;
540
+ fileId?: string;
541
+ order: number;
542
+ author: string;
543
+ createdAt: string;
544
+ updatedAt: string;
545
+ };
546
+ export type TSkillTreeResponse = {
547
+ nodes: TSkillNode[];
548
+ };
549
+ export type TCreateSkillNodeRequest = {
550
+ type: 'file' | 'folder';
551
+ name: string;
552
+ parentId?: string | null;
553
+ order?: number;
554
+ };
555
+ export type TUpdateSkillNodeRequest = {
556
+ name?: string;
557
+ parentId?: string | null;
558
+ order?: number;
559
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "librechat-data-provider",
3
- "version": "0.8.500",
3
+ "version": "0.8.502",
4
4
  "description": "data services for librechat apps",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "homepage": "https://librechat.ai",
45
45
  "dependencies": {
46
- "axios": "^1.15.0",
46
+ "axios": "^1.16.0",
47
47
  "dayjs": "^1.11.13",
48
48
  "js-yaml": "^4.1.1",
49
49
  "zod": "^3.22.4"