@exulu/backend 1.57.0 → 1.59.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/catalog-EOKGOHTY.js +10 -0
- package/dist/chunk-U36VJDZ7.js +7210 -0
- package/dist/chunk-YS27XOXI.js +62 -0
- package/dist/convert-exulu-tools-to-ai-sdk-tools-ZEECMX43.js +6 -0
- package/dist/index.cjs +10841 -7188
- package/dist/index.d.cts +64 -18
- package/dist/index.d.ts +64 -18
- package/dist/index.js +3740 -7898
- package/ee/agentic-retrieval/v3/index.ts +1 -1
- package/ee/agentic-retrieval/v4/index.ts +1 -1
- package/ee/entitlements.ts +6 -3
- package/ee/invoke-skills/create-sandbox.ts +783 -32
- package/ee/python/.litellm/config.yaml.example +64 -0
- package/ee/python/documents/processing/doc_processor.ts +4 -5
- package/ee/python/requirements.txt +16 -0
- package/ee/python/setup.sh +13 -0
- package/ee/workers.ts +18 -29
- package/package.json +5 -3
package/dist/index.d.cts
CHANGED
|
@@ -10,6 +10,7 @@ import { z } from 'zod';
|
|
|
10
10
|
import { Tiktoken } from 'tiktoken/lite';
|
|
11
11
|
import models from 'tiktoken/model_to_encoding.json';
|
|
12
12
|
|
|
13
|
+
type ApiKeyScopeMode = "admin" | "agents";
|
|
13
14
|
type User = {
|
|
14
15
|
id: number;
|
|
15
16
|
firstname?: string;
|
|
@@ -20,6 +21,8 @@ type User = {
|
|
|
20
21
|
anthropic_token?: string;
|
|
21
22
|
super_admin?: boolean;
|
|
22
23
|
favourite_agents?: string[];
|
|
24
|
+
scope_mode?: ApiKeyScopeMode;
|
|
25
|
+
agent_ids?: string[];
|
|
23
26
|
role: {
|
|
24
27
|
id: string;
|
|
25
28
|
name: string;
|
|
@@ -39,8 +42,12 @@ type ExuluProviderConfig = {
|
|
|
39
42
|
name: string;
|
|
40
43
|
instructions: string;
|
|
41
44
|
model: {
|
|
42
|
-
create: ({ apiKey }: {
|
|
45
|
+
create: ({ apiKey, user, role, project, agent }: {
|
|
43
46
|
apiKey?: string | undefined;
|
|
47
|
+
user?: number;
|
|
48
|
+
role?: string;
|
|
49
|
+
project?: string;
|
|
50
|
+
agent?: string;
|
|
44
51
|
}) => LanguageModel;
|
|
45
52
|
};
|
|
46
53
|
custom?: {
|
|
@@ -57,11 +64,21 @@ type ExuluProviderConfig = {
|
|
|
57
64
|
};
|
|
58
65
|
};
|
|
59
66
|
|
|
67
|
+
type AgentRateLimitBucket = {
|
|
68
|
+
limit: number;
|
|
69
|
+
window_seconds: number;
|
|
70
|
+
};
|
|
71
|
+
type AgentRateLimits = {
|
|
72
|
+
requests?: AgentRateLimitBucket;
|
|
73
|
+
input_tokens?: AgentRateLimitBucket;
|
|
74
|
+
output_tokens?: AgentRateLimitBucket;
|
|
75
|
+
};
|
|
60
76
|
interface ExuluAgent {
|
|
61
77
|
id: string;
|
|
62
78
|
modelName?: string;
|
|
63
79
|
providerName?: string;
|
|
64
|
-
|
|
80
|
+
/** @deprecated Hydrated for read compatibility; the underlying DB column is gone. */
|
|
81
|
+
provider?: string;
|
|
65
82
|
source: "code" | "database";
|
|
66
83
|
memory?: string;
|
|
67
84
|
welcomemessage?: string;
|
|
@@ -69,7 +86,8 @@ interface ExuluAgent {
|
|
|
69
86
|
type: "agent";
|
|
70
87
|
name: string;
|
|
71
88
|
image?: string;
|
|
72
|
-
providerapikey
|
|
89
|
+
/** FK to models.id — replaces legacy provider + providerapikey columns. */
|
|
90
|
+
model?: string;
|
|
73
91
|
workflows?: ExuluProviderWorkflowConfig;
|
|
74
92
|
firewall?: {
|
|
75
93
|
enabled: boolean;
|
|
@@ -85,6 +103,7 @@ interface ExuluAgent {
|
|
|
85
103
|
description?: string;
|
|
86
104
|
instructions?: string;
|
|
87
105
|
feedback?: boolean;
|
|
106
|
+
suggestions_enabled?: boolean;
|
|
88
107
|
slug?: string;
|
|
89
108
|
tools?: {
|
|
90
109
|
id: string;
|
|
@@ -124,6 +143,7 @@ interface ExuluAgent {
|
|
|
124
143
|
rights: 'read' | 'write';
|
|
125
144
|
}>;
|
|
126
145
|
};
|
|
146
|
+
rate_limits?: AgentRateLimits;
|
|
127
147
|
createdAt?: string;
|
|
128
148
|
updatedAt?: string;
|
|
129
149
|
}
|
|
@@ -168,7 +188,7 @@ declare class ExuluTool {
|
|
|
168
188
|
description: string;
|
|
169
189
|
category: string;
|
|
170
190
|
inputSchema?: z.ZodType;
|
|
171
|
-
type: "context" | "function" | "agent" | "web_search";
|
|
191
|
+
type: "context" | "function" | "agent" | "web_search" | "skill";
|
|
172
192
|
tool: Tool;
|
|
173
193
|
needsApproval: boolean;
|
|
174
194
|
config: {
|
|
@@ -183,7 +203,7 @@ declare class ExuluTool {
|
|
|
183
203
|
description: string;
|
|
184
204
|
category?: string;
|
|
185
205
|
inputSchema?: z.ZodType;
|
|
186
|
-
type: "context" | "function" | "agent" | "web_search";
|
|
206
|
+
type: "context" | "function" | "agent" | "web_search" | "skill";
|
|
187
207
|
config: {
|
|
188
208
|
name: string;
|
|
189
209
|
description: string;
|
|
@@ -699,6 +719,17 @@ type ExuluAgentToolConfig = {
|
|
|
699
719
|
}[];
|
|
700
720
|
};
|
|
701
721
|
|
|
722
|
+
type ExuluSkill = {
|
|
723
|
+
id: string;
|
|
724
|
+
name: string;
|
|
725
|
+
description: string;
|
|
726
|
+
s3folder: string;
|
|
727
|
+
tags: string[];
|
|
728
|
+
usage_count: number;
|
|
729
|
+
favorite_count: number;
|
|
730
|
+
current_version: number;
|
|
731
|
+
};
|
|
732
|
+
|
|
702
733
|
type ExuluProviderWorkflowConfig = {
|
|
703
734
|
enabled: boolean;
|
|
704
735
|
queue?: Promise<ExuluQueueConfig>;
|
|
@@ -721,7 +752,6 @@ interface ExuluProviderParams {
|
|
|
721
752
|
audio: audioTypes$1[];
|
|
722
753
|
video: videoTypes$1[];
|
|
723
754
|
};
|
|
724
|
-
outputSchema?: z.ZodType;
|
|
725
755
|
rateLimit?: RateLimiterRule;
|
|
726
756
|
}
|
|
727
757
|
declare class ExuluProvider {
|
|
@@ -739,8 +769,12 @@ declare class ExuluProvider {
|
|
|
739
769
|
rateLimit?: RateLimiterRule;
|
|
740
770
|
config?: ExuluProviderConfig | undefined;
|
|
741
771
|
model?: {
|
|
742
|
-
create: ({ apiKey }: {
|
|
772
|
+
create: ({ apiKey, user, role, project, agent }: {
|
|
743
773
|
apiKey?: string | undefined;
|
|
774
|
+
user?: number;
|
|
775
|
+
role?: string;
|
|
776
|
+
project?: string;
|
|
777
|
+
agent?: string;
|
|
744
778
|
}) => LanguageModel;
|
|
745
779
|
};
|
|
746
780
|
capabilities: {
|
|
@@ -754,7 +788,7 @@ declare class ExuluProvider {
|
|
|
754
788
|
get providerName(): string;
|
|
755
789
|
get modelName(): string;
|
|
756
790
|
tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;
|
|
757
|
-
generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig,
|
|
791
|
+
generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, currentSkills, allExuluTools, statistics, toolConfigs, providerapikey, languageModel, contexts, rerankers, exuluConfig, agent, instructions, maxStepCount, onTokenUsage, }: {
|
|
758
792
|
prompt?: string;
|
|
759
793
|
user?: User;
|
|
760
794
|
maxStepCount?: number;
|
|
@@ -764,15 +798,20 @@ declare class ExuluProvider {
|
|
|
764
798
|
approvedTools?: string[];
|
|
765
799
|
inputMessages?: UIMessage[];
|
|
766
800
|
currentTools?: ExuluTool[];
|
|
801
|
+
currentSkills?: ExuluSkill[];
|
|
767
802
|
allExuluTools?: ExuluTool[];
|
|
768
803
|
statistics?: ExuluStatisticParams;
|
|
769
804
|
toolConfigs?: ExuluAgentToolConfig[];
|
|
770
805
|
providerapikey?: string | undefined;
|
|
806
|
+
languageModel: LanguageModel;
|
|
771
807
|
contexts?: ExuluContext[] | undefined;
|
|
772
808
|
rerankers?: ExuluReranker[] | undefined;
|
|
773
809
|
exuluConfig?: ExuluConfig;
|
|
774
810
|
instructions?: string;
|
|
775
|
-
|
|
811
|
+
onTokenUsage?: (usage: {
|
|
812
|
+
inputTokens: number;
|
|
813
|
+
outputTokens: number;
|
|
814
|
+
}) => Promise<void> | void;
|
|
776
815
|
}) => Promise<any>;
|
|
777
816
|
/**
|
|
778
817
|
* Convert file parts in messages to OpenAI Responses API compatible format.
|
|
@@ -782,7 +821,7 @@ declare class ExuluProvider {
|
|
|
782
821
|
* - Image files -> image parts (which ARE supported by Responses API)
|
|
783
822
|
*/
|
|
784
823
|
private processFilePartsInMessages;
|
|
785
|
-
generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
|
|
824
|
+
generateStream: ({ user, session, agent, message, previousMessages, currentTools, currentSkills, approvedTools, allExuluTools, toolConfigs, providerapikey, languageModel, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
|
|
786
825
|
user?: User;
|
|
787
826
|
session?: string;
|
|
788
827
|
agent?: ExuluAgent;
|
|
@@ -790,10 +829,12 @@ declare class ExuluProvider {
|
|
|
790
829
|
message?: UIMessage;
|
|
791
830
|
previousMessages?: UIMessage[];
|
|
792
831
|
currentTools?: ExuluTool[];
|
|
832
|
+
currentSkills?: ExuluSkill[];
|
|
793
833
|
approvedTools?: string[];
|
|
794
834
|
allExuluTools?: ExuluTool[];
|
|
795
835
|
toolConfigs?: ExuluAgentToolConfig[];
|
|
796
836
|
providerapikey?: string | undefined;
|
|
837
|
+
languageModel: LanguageModel;
|
|
797
838
|
contexts?: ExuluContext[] | undefined;
|
|
798
839
|
rerankers?: ExuluReranker[] | undefined;
|
|
799
840
|
exuluConfig?: ExuluConfig;
|
|
@@ -886,6 +927,14 @@ type ExuluConfig = {
|
|
|
886
927
|
privacy?: {
|
|
887
928
|
systemPromptPersonalization?: boolean;
|
|
888
929
|
};
|
|
930
|
+
/**
|
|
931
|
+
* When true, ExuluApp.create() throws if any required system binary
|
|
932
|
+
* (pandoc / soffice / pdftoppm — needed by built-in skills like docx) is
|
|
933
|
+
* missing. When false or unset, the missing deps are logged as a warning
|
|
934
|
+
* and the app continues to start; skills that need the binary will fail
|
|
935
|
+
* at use time instead. Recommended `true` in production deployments.
|
|
936
|
+
*/
|
|
937
|
+
requireSystemDependencies?: boolean;
|
|
889
938
|
};
|
|
890
939
|
declare class ExuluApp {
|
|
891
940
|
private _providers;
|
|
@@ -1916,12 +1965,6 @@ declare class MarkdownChunker {
|
|
|
1916
1965
|
}[]>;
|
|
1917
1966
|
}
|
|
1918
1967
|
|
|
1919
|
-
/**
|
|
1920
|
-
* Python Environment Setup Utility
|
|
1921
|
-
*
|
|
1922
|
-
* Provides functions to set up and validate the Python environment for Exulu backend.
|
|
1923
|
-
* This can be called manually by package consumers or run automatically on install.
|
|
1924
|
-
*/
|
|
1925
1968
|
/**
|
|
1926
1969
|
* Options for Python environment setup
|
|
1927
1970
|
*/
|
|
@@ -2093,6 +2136,7 @@ declare const ExuluDefaultProviders: {
|
|
|
2093
2136
|
vertexGemini25Flash: ExuluProvider;
|
|
2094
2137
|
vertexGemini25Pro: ExuluProvider;
|
|
2095
2138
|
vertexGemini3Pro: ExuluProvider;
|
|
2139
|
+
vertexLlamaScout4: ExuluProvider;
|
|
2096
2140
|
};
|
|
2097
2141
|
openai: {
|
|
2098
2142
|
gpt5Mini: ExuluProvider;
|
|
@@ -2134,11 +2178,13 @@ declare const ExuluOtel: {
|
|
|
2134
2178
|
};
|
|
2135
2179
|
|
|
2136
2180
|
declare const ExuluDatabase: {
|
|
2137
|
-
init: ({ contexts }: {
|
|
2181
|
+
init: ({ contexts, litellm }: {
|
|
2138
2182
|
contexts: ExuluContext[];
|
|
2183
|
+
litellm?: boolean;
|
|
2139
2184
|
}) => Promise<void>;
|
|
2140
|
-
update: ({ contexts }: {
|
|
2185
|
+
update: ({ contexts, litellm }: {
|
|
2141
2186
|
contexts: ExuluContext[];
|
|
2187
|
+
litellm?: boolean;
|
|
2142
2188
|
}) => Promise<void>;
|
|
2143
2189
|
api: {
|
|
2144
2190
|
key: {
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { z } from 'zod';
|
|
|
10
10
|
import { Tiktoken } from 'tiktoken/lite';
|
|
11
11
|
import models from 'tiktoken/model_to_encoding.json';
|
|
12
12
|
|
|
13
|
+
type ApiKeyScopeMode = "admin" | "agents";
|
|
13
14
|
type User = {
|
|
14
15
|
id: number;
|
|
15
16
|
firstname?: string;
|
|
@@ -20,6 +21,8 @@ type User = {
|
|
|
20
21
|
anthropic_token?: string;
|
|
21
22
|
super_admin?: boolean;
|
|
22
23
|
favourite_agents?: string[];
|
|
24
|
+
scope_mode?: ApiKeyScopeMode;
|
|
25
|
+
agent_ids?: string[];
|
|
23
26
|
role: {
|
|
24
27
|
id: string;
|
|
25
28
|
name: string;
|
|
@@ -39,8 +42,12 @@ type ExuluProviderConfig = {
|
|
|
39
42
|
name: string;
|
|
40
43
|
instructions: string;
|
|
41
44
|
model: {
|
|
42
|
-
create: ({ apiKey }: {
|
|
45
|
+
create: ({ apiKey, user, role, project, agent }: {
|
|
43
46
|
apiKey?: string | undefined;
|
|
47
|
+
user?: number;
|
|
48
|
+
role?: string;
|
|
49
|
+
project?: string;
|
|
50
|
+
agent?: string;
|
|
44
51
|
}) => LanguageModel;
|
|
45
52
|
};
|
|
46
53
|
custom?: {
|
|
@@ -57,11 +64,21 @@ type ExuluProviderConfig = {
|
|
|
57
64
|
};
|
|
58
65
|
};
|
|
59
66
|
|
|
67
|
+
type AgentRateLimitBucket = {
|
|
68
|
+
limit: number;
|
|
69
|
+
window_seconds: number;
|
|
70
|
+
};
|
|
71
|
+
type AgentRateLimits = {
|
|
72
|
+
requests?: AgentRateLimitBucket;
|
|
73
|
+
input_tokens?: AgentRateLimitBucket;
|
|
74
|
+
output_tokens?: AgentRateLimitBucket;
|
|
75
|
+
};
|
|
60
76
|
interface ExuluAgent {
|
|
61
77
|
id: string;
|
|
62
78
|
modelName?: string;
|
|
63
79
|
providerName?: string;
|
|
64
|
-
|
|
80
|
+
/** @deprecated Hydrated for read compatibility; the underlying DB column is gone. */
|
|
81
|
+
provider?: string;
|
|
65
82
|
source: "code" | "database";
|
|
66
83
|
memory?: string;
|
|
67
84
|
welcomemessage?: string;
|
|
@@ -69,7 +86,8 @@ interface ExuluAgent {
|
|
|
69
86
|
type: "agent";
|
|
70
87
|
name: string;
|
|
71
88
|
image?: string;
|
|
72
|
-
providerapikey
|
|
89
|
+
/** FK to models.id — replaces legacy provider + providerapikey columns. */
|
|
90
|
+
model?: string;
|
|
73
91
|
workflows?: ExuluProviderWorkflowConfig;
|
|
74
92
|
firewall?: {
|
|
75
93
|
enabled: boolean;
|
|
@@ -85,6 +103,7 @@ interface ExuluAgent {
|
|
|
85
103
|
description?: string;
|
|
86
104
|
instructions?: string;
|
|
87
105
|
feedback?: boolean;
|
|
106
|
+
suggestions_enabled?: boolean;
|
|
88
107
|
slug?: string;
|
|
89
108
|
tools?: {
|
|
90
109
|
id: string;
|
|
@@ -124,6 +143,7 @@ interface ExuluAgent {
|
|
|
124
143
|
rights: 'read' | 'write';
|
|
125
144
|
}>;
|
|
126
145
|
};
|
|
146
|
+
rate_limits?: AgentRateLimits;
|
|
127
147
|
createdAt?: string;
|
|
128
148
|
updatedAt?: string;
|
|
129
149
|
}
|
|
@@ -168,7 +188,7 @@ declare class ExuluTool {
|
|
|
168
188
|
description: string;
|
|
169
189
|
category: string;
|
|
170
190
|
inputSchema?: z.ZodType;
|
|
171
|
-
type: "context" | "function" | "agent" | "web_search";
|
|
191
|
+
type: "context" | "function" | "agent" | "web_search" | "skill";
|
|
172
192
|
tool: Tool;
|
|
173
193
|
needsApproval: boolean;
|
|
174
194
|
config: {
|
|
@@ -183,7 +203,7 @@ declare class ExuluTool {
|
|
|
183
203
|
description: string;
|
|
184
204
|
category?: string;
|
|
185
205
|
inputSchema?: z.ZodType;
|
|
186
|
-
type: "context" | "function" | "agent" | "web_search";
|
|
206
|
+
type: "context" | "function" | "agent" | "web_search" | "skill";
|
|
187
207
|
config: {
|
|
188
208
|
name: string;
|
|
189
209
|
description: string;
|
|
@@ -699,6 +719,17 @@ type ExuluAgentToolConfig = {
|
|
|
699
719
|
}[];
|
|
700
720
|
};
|
|
701
721
|
|
|
722
|
+
type ExuluSkill = {
|
|
723
|
+
id: string;
|
|
724
|
+
name: string;
|
|
725
|
+
description: string;
|
|
726
|
+
s3folder: string;
|
|
727
|
+
tags: string[];
|
|
728
|
+
usage_count: number;
|
|
729
|
+
favorite_count: number;
|
|
730
|
+
current_version: number;
|
|
731
|
+
};
|
|
732
|
+
|
|
702
733
|
type ExuluProviderWorkflowConfig = {
|
|
703
734
|
enabled: boolean;
|
|
704
735
|
queue?: Promise<ExuluQueueConfig>;
|
|
@@ -721,7 +752,6 @@ interface ExuluProviderParams {
|
|
|
721
752
|
audio: audioTypes$1[];
|
|
722
753
|
video: videoTypes$1[];
|
|
723
754
|
};
|
|
724
|
-
outputSchema?: z.ZodType;
|
|
725
755
|
rateLimit?: RateLimiterRule;
|
|
726
756
|
}
|
|
727
757
|
declare class ExuluProvider {
|
|
@@ -739,8 +769,12 @@ declare class ExuluProvider {
|
|
|
739
769
|
rateLimit?: RateLimiterRule;
|
|
740
770
|
config?: ExuluProviderConfig | undefined;
|
|
741
771
|
model?: {
|
|
742
|
-
create: ({ apiKey }: {
|
|
772
|
+
create: ({ apiKey, user, role, project, agent }: {
|
|
743
773
|
apiKey?: string | undefined;
|
|
774
|
+
user?: number;
|
|
775
|
+
role?: string;
|
|
776
|
+
project?: string;
|
|
777
|
+
agent?: string;
|
|
744
778
|
}) => LanguageModel;
|
|
745
779
|
};
|
|
746
780
|
capabilities: {
|
|
@@ -754,7 +788,7 @@ declare class ExuluProvider {
|
|
|
754
788
|
get providerName(): string;
|
|
755
789
|
get modelName(): string;
|
|
756
790
|
tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;
|
|
757
|
-
generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig,
|
|
791
|
+
generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, currentSkills, allExuluTools, statistics, toolConfigs, providerapikey, languageModel, contexts, rerankers, exuluConfig, agent, instructions, maxStepCount, onTokenUsage, }: {
|
|
758
792
|
prompt?: string;
|
|
759
793
|
user?: User;
|
|
760
794
|
maxStepCount?: number;
|
|
@@ -764,15 +798,20 @@ declare class ExuluProvider {
|
|
|
764
798
|
approvedTools?: string[];
|
|
765
799
|
inputMessages?: UIMessage[];
|
|
766
800
|
currentTools?: ExuluTool[];
|
|
801
|
+
currentSkills?: ExuluSkill[];
|
|
767
802
|
allExuluTools?: ExuluTool[];
|
|
768
803
|
statistics?: ExuluStatisticParams;
|
|
769
804
|
toolConfigs?: ExuluAgentToolConfig[];
|
|
770
805
|
providerapikey?: string | undefined;
|
|
806
|
+
languageModel: LanguageModel;
|
|
771
807
|
contexts?: ExuluContext[] | undefined;
|
|
772
808
|
rerankers?: ExuluReranker[] | undefined;
|
|
773
809
|
exuluConfig?: ExuluConfig;
|
|
774
810
|
instructions?: string;
|
|
775
|
-
|
|
811
|
+
onTokenUsage?: (usage: {
|
|
812
|
+
inputTokens: number;
|
|
813
|
+
outputTokens: number;
|
|
814
|
+
}) => Promise<void> | void;
|
|
776
815
|
}) => Promise<any>;
|
|
777
816
|
/**
|
|
778
817
|
* Convert file parts in messages to OpenAI Responses API compatible format.
|
|
@@ -782,7 +821,7 @@ declare class ExuluProvider {
|
|
|
782
821
|
* - Image files -> image parts (which ARE supported by Responses API)
|
|
783
822
|
*/
|
|
784
823
|
private processFilePartsInMessages;
|
|
785
|
-
generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
|
|
824
|
+
generateStream: ({ user, session, agent, message, previousMessages, currentTools, currentSkills, approvedTools, allExuluTools, toolConfigs, providerapikey, languageModel, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
|
|
786
825
|
user?: User;
|
|
787
826
|
session?: string;
|
|
788
827
|
agent?: ExuluAgent;
|
|
@@ -790,10 +829,12 @@ declare class ExuluProvider {
|
|
|
790
829
|
message?: UIMessage;
|
|
791
830
|
previousMessages?: UIMessage[];
|
|
792
831
|
currentTools?: ExuluTool[];
|
|
832
|
+
currentSkills?: ExuluSkill[];
|
|
793
833
|
approvedTools?: string[];
|
|
794
834
|
allExuluTools?: ExuluTool[];
|
|
795
835
|
toolConfigs?: ExuluAgentToolConfig[];
|
|
796
836
|
providerapikey?: string | undefined;
|
|
837
|
+
languageModel: LanguageModel;
|
|
797
838
|
contexts?: ExuluContext[] | undefined;
|
|
798
839
|
rerankers?: ExuluReranker[] | undefined;
|
|
799
840
|
exuluConfig?: ExuluConfig;
|
|
@@ -886,6 +927,14 @@ type ExuluConfig = {
|
|
|
886
927
|
privacy?: {
|
|
887
928
|
systemPromptPersonalization?: boolean;
|
|
888
929
|
};
|
|
930
|
+
/**
|
|
931
|
+
* When true, ExuluApp.create() throws if any required system binary
|
|
932
|
+
* (pandoc / soffice / pdftoppm — needed by built-in skills like docx) is
|
|
933
|
+
* missing. When false or unset, the missing deps are logged as a warning
|
|
934
|
+
* and the app continues to start; skills that need the binary will fail
|
|
935
|
+
* at use time instead. Recommended `true` in production deployments.
|
|
936
|
+
*/
|
|
937
|
+
requireSystemDependencies?: boolean;
|
|
889
938
|
};
|
|
890
939
|
declare class ExuluApp {
|
|
891
940
|
private _providers;
|
|
@@ -1916,12 +1965,6 @@ declare class MarkdownChunker {
|
|
|
1916
1965
|
}[]>;
|
|
1917
1966
|
}
|
|
1918
1967
|
|
|
1919
|
-
/**
|
|
1920
|
-
* Python Environment Setup Utility
|
|
1921
|
-
*
|
|
1922
|
-
* Provides functions to set up and validate the Python environment for Exulu backend.
|
|
1923
|
-
* This can be called manually by package consumers or run automatically on install.
|
|
1924
|
-
*/
|
|
1925
1968
|
/**
|
|
1926
1969
|
* Options for Python environment setup
|
|
1927
1970
|
*/
|
|
@@ -2093,6 +2136,7 @@ declare const ExuluDefaultProviders: {
|
|
|
2093
2136
|
vertexGemini25Flash: ExuluProvider;
|
|
2094
2137
|
vertexGemini25Pro: ExuluProvider;
|
|
2095
2138
|
vertexGemini3Pro: ExuluProvider;
|
|
2139
|
+
vertexLlamaScout4: ExuluProvider;
|
|
2096
2140
|
};
|
|
2097
2141
|
openai: {
|
|
2098
2142
|
gpt5Mini: ExuluProvider;
|
|
@@ -2134,11 +2178,13 @@ declare const ExuluOtel: {
|
|
|
2134
2178
|
};
|
|
2135
2179
|
|
|
2136
2180
|
declare const ExuluDatabase: {
|
|
2137
|
-
init: ({ contexts }: {
|
|
2181
|
+
init: ({ contexts, litellm }: {
|
|
2138
2182
|
contexts: ExuluContext[];
|
|
2183
|
+
litellm?: boolean;
|
|
2139
2184
|
}) => Promise<void>;
|
|
2140
|
-
update: ({ contexts }: {
|
|
2185
|
+
update: ({ contexts, litellm }: {
|
|
2141
2186
|
contexts: ExuluContext[];
|
|
2187
|
+
litellm?: boolean;
|
|
2142
2188
|
}) => Promise<void>;
|
|
2143
2189
|
api: {
|
|
2144
2190
|
key: {
|