@exulu/backend 1.63.2 → 1.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -26,6 +26,17 @@ type User = {
26
26
  agent_ids?: string[];
27
27
  role: UserRole;
28
28
  team?: ExuluTeam;
29
+ /**
30
+ * Live LiteLLM budget snapshot for the user, attached at context time when
31
+ * the "show user budget in chat" setting is on. Not a Postgres column.
32
+ */
33
+ budget?: UserBudgetView | null;
34
+ };
35
+ type UserBudgetView = {
36
+ spend: number;
37
+ max_budget: number;
38
+ budget_duration: string | null;
39
+ budget_reset_at: string | null;
29
40
  };
30
41
  type UserRole = {
31
42
  id: string;
@@ -35,6 +46,7 @@ type UserRole = {
35
46
  workflows: "read" | "write";
36
47
  variables: "read" | "write";
37
48
  users: "read" | "write";
49
+ budget_management?: "read" | "write";
38
50
  };
39
51
  type ExuluTeam = {
40
52
  id: string;
@@ -72,15 +84,6 @@ type ExuluProviderConfig = {
72
84
  };
73
85
  };
74
86
 
75
- type AgentRateLimitBucket = {
76
- limit: number;
77
- window_seconds: number;
78
- };
79
- type AgentRateLimits = {
80
- requests?: AgentRateLimitBucket;
81
- input_tokens?: AgentRateLimitBucket;
82
- output_tokens?: AgentRateLimitBucket;
83
- };
84
87
  interface ExuluAgent {
85
88
  id: string;
86
89
  modelName?: string;
@@ -151,7 +154,6 @@ interface ExuluAgent {
151
154
  rights: 'read' | 'write';
152
155
  }>;
153
156
  };
154
- rate_limits?: AgentRateLimits;
155
157
  createdAt?: string;
156
158
  updatedAt?: string;
157
159
  }
@@ -160,14 +162,6 @@ type fileTypes$1 = '.pdf' | '.docx' | '.xlsx' | '.xls' | '.csv' | '.pptx' | '.pp
160
162
  type audioTypes$1 = '.mp3' | '.wav' | '.m4a' | '.mp4' | '.mpeg';
161
163
  type videoTypes$1 = '.mp4' | '.m4a' | '.mp3' | '.mpeg' | '.wav';
162
164
 
163
- interface RateLimiterRule {
164
- name?: string;
165
- rate_limit: {
166
- time: number;
167
- limit: number;
168
- };
169
- }
170
-
171
165
  interface Item {
172
166
  id?: string;
173
167
  name?: string;
@@ -530,7 +524,6 @@ declare class ExuluContext {
530
524
  active: boolean;
531
525
  fields: ExuluContextFieldDefinition[];
532
526
  processor?: ExuluContextProcessor;
533
- rateLimit?: RateLimiterRule;
534
527
  description: string;
535
528
  embedder?: ExuluEmbedder;
536
529
  queryRewriter?: (query: string) => Promise<string>;
@@ -573,7 +566,7 @@ declare class ExuluContext {
573
566
  languages?: ("german" | "english")[];
574
567
  };
575
568
  sources: ExuluContextSource[];
576
- constructor({ id, name, description, embedder, processor, active, rateLimit, fields, queryRewriter, resultReranker, configuration, sources, }: {
569
+ constructor({ id, name, description, embedder, processor, active, fields, queryRewriter, resultReranker, configuration, sources, }: {
577
570
  id: string;
578
571
  name: string;
579
572
  fields: ExuluContextFieldDefinition[];
@@ -583,7 +576,6 @@ declare class ExuluContext {
583
576
  category?: string;
584
577
  active: boolean;
585
578
  processor?: ExuluContextProcessor;
586
- rateLimit?: RateLimiterRule;
587
579
  queryRewriter?: (query: string) => Promise<string>;
588
580
  resultReranker?: (results: any[]) => Promise<any[]>;
589
581
  configuration?: {
@@ -760,7 +752,6 @@ interface ExuluProviderParams {
760
752
  audio: audioTypes$1[];
761
753
  video: videoTypes$1[];
762
754
  };
763
- rateLimit?: RateLimiterRule;
764
755
  }
765
756
  declare class ExuluProvider {
766
757
  id: string;
@@ -774,7 +765,6 @@ declare class ExuluProvider {
774
765
  maxContextLength?: number;
775
766
  workflows?: ExuluProviderWorkflowConfig;
776
767
  queue?: ExuluQueueConfig;
777
- rateLimit?: RateLimiterRule;
778
768
  config?: ExuluProviderConfig | undefined;
779
769
  model?: {
780
770
  create: ({ apiKey, user, role, project, agent }: {
@@ -792,7 +782,7 @@ declare class ExuluProvider {
792
782
  audio: string[];
793
783
  video: string[];
794
784
  };
795
- constructor({ id, name, description, config, rateLimit, capabilities, type, maxContextLength, provider, queue, authenticationInformation, workflows, }: ExuluProviderParams);
785
+ constructor({ id, name, description, config, capabilities, type, maxContextLength, provider, queue, authenticationInformation, workflows, }: ExuluProviderParams);
796
786
  get providerName(): string;
797
787
  get modelName(): string;
798
788
  tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;
package/dist/index.d.ts CHANGED
@@ -26,6 +26,17 @@ type User = {
26
26
  agent_ids?: string[];
27
27
  role: UserRole;
28
28
  team?: ExuluTeam;
29
+ /**
30
+ * Live LiteLLM budget snapshot for the user, attached at context time when
31
+ * the "show user budget in chat" setting is on. Not a Postgres column.
32
+ */
33
+ budget?: UserBudgetView | null;
34
+ };
35
+ type UserBudgetView = {
36
+ spend: number;
37
+ max_budget: number;
38
+ budget_duration: string | null;
39
+ budget_reset_at: string | null;
29
40
  };
30
41
  type UserRole = {
31
42
  id: string;
@@ -35,6 +46,7 @@ type UserRole = {
35
46
  workflows: "read" | "write";
36
47
  variables: "read" | "write";
37
48
  users: "read" | "write";
49
+ budget_management?: "read" | "write";
38
50
  };
39
51
  type ExuluTeam = {
40
52
  id: string;
@@ -72,15 +84,6 @@ type ExuluProviderConfig = {
72
84
  };
73
85
  };
74
86
 
75
- type AgentRateLimitBucket = {
76
- limit: number;
77
- window_seconds: number;
78
- };
79
- type AgentRateLimits = {
80
- requests?: AgentRateLimitBucket;
81
- input_tokens?: AgentRateLimitBucket;
82
- output_tokens?: AgentRateLimitBucket;
83
- };
84
87
  interface ExuluAgent {
85
88
  id: string;
86
89
  modelName?: string;
@@ -151,7 +154,6 @@ interface ExuluAgent {
151
154
  rights: 'read' | 'write';
152
155
  }>;
153
156
  };
154
- rate_limits?: AgentRateLimits;
155
157
  createdAt?: string;
156
158
  updatedAt?: string;
157
159
  }
@@ -160,14 +162,6 @@ type fileTypes$1 = '.pdf' | '.docx' | '.xlsx' | '.xls' | '.csv' | '.pptx' | '.pp
160
162
  type audioTypes$1 = '.mp3' | '.wav' | '.m4a' | '.mp4' | '.mpeg';
161
163
  type videoTypes$1 = '.mp4' | '.m4a' | '.mp3' | '.mpeg' | '.wav';
162
164
 
163
- interface RateLimiterRule {
164
- name?: string;
165
- rate_limit: {
166
- time: number;
167
- limit: number;
168
- };
169
- }
170
-
171
165
  interface Item {
172
166
  id?: string;
173
167
  name?: string;
@@ -530,7 +524,6 @@ declare class ExuluContext {
530
524
  active: boolean;
531
525
  fields: ExuluContextFieldDefinition[];
532
526
  processor?: ExuluContextProcessor;
533
- rateLimit?: RateLimiterRule;
534
527
  description: string;
535
528
  embedder?: ExuluEmbedder;
536
529
  queryRewriter?: (query: string) => Promise<string>;
@@ -573,7 +566,7 @@ declare class ExuluContext {
573
566
  languages?: ("german" | "english")[];
574
567
  };
575
568
  sources: ExuluContextSource[];
576
- constructor({ id, name, description, embedder, processor, active, rateLimit, fields, queryRewriter, resultReranker, configuration, sources, }: {
569
+ constructor({ id, name, description, embedder, processor, active, fields, queryRewriter, resultReranker, configuration, sources, }: {
577
570
  id: string;
578
571
  name: string;
579
572
  fields: ExuluContextFieldDefinition[];
@@ -583,7 +576,6 @@ declare class ExuluContext {
583
576
  category?: string;
584
577
  active: boolean;
585
578
  processor?: ExuluContextProcessor;
586
- rateLimit?: RateLimiterRule;
587
579
  queryRewriter?: (query: string) => Promise<string>;
588
580
  resultReranker?: (results: any[]) => Promise<any[]>;
589
581
  configuration?: {
@@ -760,7 +752,6 @@ interface ExuluProviderParams {
760
752
  audio: audioTypes$1[];
761
753
  video: videoTypes$1[];
762
754
  };
763
- rateLimit?: RateLimiterRule;
764
755
  }
765
756
  declare class ExuluProvider {
766
757
  id: string;
@@ -774,7 +765,6 @@ declare class ExuluProvider {
774
765
  maxContextLength?: number;
775
766
  workflows?: ExuluProviderWorkflowConfig;
776
767
  queue?: ExuluQueueConfig;
777
- rateLimit?: RateLimiterRule;
778
768
  config?: ExuluProviderConfig | undefined;
779
769
  model?: {
780
770
  create: ({ apiKey, user, role, project, agent }: {
@@ -792,7 +782,7 @@ declare class ExuluProvider {
792
782
  audio: string[];
793
783
  video: string[];
794
784
  };
795
- constructor({ id, name, description, config, rateLimit, capabilities, type, maxContextLength, provider, queue, authenticationInformation, workflows, }: ExuluProviderParams);
785
+ constructor({ id, name, description, config, capabilities, type, maxContextLength, provider, queue, authenticationInformation, workflows, }: ExuluProviderParams);
796
786
  get providerName(): string;
797
787
  get modelName(): string;
798
788
  tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;