@exulu/backend 1.53.1 → 1.55.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
@@ -65,6 +65,7 @@ interface ExuluAgent {
65
65
  source: "code" | "database";
66
66
  memory?: string;
67
67
  welcomemessage?: string;
68
+ defaultagent?: boolean;
68
69
  type: "agent";
69
70
  name: string;
70
71
  image?: string;
@@ -96,6 +97,10 @@ interface ExuluAgent {
96
97
  name: string;
97
98
  description: string;
98
99
  }[];
100
+ skills?: {
101
+ id: string;
102
+ name: string;
103
+ }[];
99
104
  maxContextLength?: number;
100
105
  authenticationInformation?: string;
101
106
  systemInstructions?: string;
@@ -528,7 +533,6 @@ declare class ExuluContext {
528
533
  calculateVectors?: "manual" | "onUpdate" | "onInsert" | "always";
529
534
  maxRetrievalResults?: number;
530
535
  defaultRightsMode?: ExuluRightsMode;
531
- enableAsTool?: boolean;
532
536
  cutoffs?: {
533
537
  cosineDistance?: number;
534
538
  tsvector?: number;
@@ -557,7 +561,6 @@ declare class ExuluContext {
557
561
  configuration?: {
558
562
  calculateVectors?: "manual" | "onUpdate" | "onInsert" | "always";
559
563
  defaultRightsMode?: ExuluRightsMode;
560
- enableAsTool?: boolean;
561
564
  languages?: ("german" | "english")[];
562
565
  maxRetrievalResults?: number;
563
566
  expand?: {
@@ -662,7 +665,6 @@ declare class ExuluContext {
662
665
  };
663
666
  createItemsTable: () => Promise<void>;
664
667
  createChunksTable: () => Promise<void>;
665
- tool: () => ExuluTool | null;
666
668
  }
667
669
 
668
670
  declare class ExuluReranker {
@@ -752,12 +754,14 @@ declare class ExuluProvider {
752
754
  get providerName(): string;
753
755
  get modelName(): string;
754
756
  tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;
755
- generateSync: ({ prompt, req, user, session, inputMessages, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, outputSchema, agent, instructions, }: {
757
+ generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, outputSchema, agent, instructions, maxStepCount, }: {
756
758
  prompt?: string;
757
759
  user?: User;
760
+ maxStepCount?: number;
758
761
  req?: Request;
759
762
  session?: string;
760
763
  agent?: ExuluAgent;
764
+ approvedTools?: string[];
761
765
  inputMessages?: UIMessage[];
762
766
  currentTools?: ExuluTool[];
763
767
  allExuluTools?: ExuluTool[];
@@ -778,10 +782,11 @@ declare class ExuluProvider {
778
782
  * - Image files -> image parts (which ARE supported by Responses API)
779
783
  */
780
784
  private processFilePartsInMessages;
781
- generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, }: {
785
+ generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
782
786
  user?: User;
783
787
  session?: string;
784
788
  agent?: ExuluAgent;
789
+ maxStepCount?: number;
785
790
  message?: UIMessage;
786
791
  previousMessages?: UIMessage[];
787
792
  currentTools?: ExuluTool[];
@@ -988,6 +993,10 @@ declare class ExuluQueues {
988
993
  }
989
994
  declare const queues: ExuluQueues;
990
995
 
996
+ declare const trajectoryRegistry: {
997
+ lastFile: string | undefined;
998
+ };
999
+
991
1000
  /**
992
1001
  * Represents the data structure for a chunk object.
993
1002
  *
@@ -1899,7 +1908,9 @@ declare class MarkdownChunker {
1899
1908
  */
1900
1909
  private findLogicalBreakpoint;
1901
1910
  private headers;
1902
- chunk(text: string, chunkSize: number, prefix?: string): Promise<{
1911
+ chunk(text: string, chunkSize: number, prefix?: string, config?: {
1912
+ pageBreakTags?: boolean;
1913
+ }): Promise<{
1903
1914
  text: string;
1904
1915
  page: number;
1905
1916
  }[]>;
@@ -2024,6 +2035,25 @@ declare function documentProcessor({ file, name, config }: {
2024
2035
  config?: DocumentProcessorConfig;
2025
2036
  }): Promise<ProcessedDocument | undefined>;
2026
2037
 
2038
+ /**
2039
+ * Creates the v3 ExuluTool for agentic context retrieval.
2040
+ *
2041
+ * Compared to v2:
2042
+ * - Single LLM call per step (vs two in v2)
2043
+ * - Query classification upfront → strategy-based step budget (1–3 vs hardcoded 2)
2044
+ * - Context example records sampled at init and cached
2045
+ * - Strategy-specific instructions and tool sets
2046
+ */
2047
+ declare function createAgenticRetrievalToolV3({ contexts, instructions: adminInstructions, rerankers, user, role, model, preselectedItemIds, }: {
2048
+ contexts: ExuluContext[];
2049
+ rerankers: ExuluReranker[];
2050
+ user?: User;
2051
+ role?: string;
2052
+ model?: LanguageModel;
2053
+ instructions?: string;
2054
+ preselectedItemIds?: string[];
2055
+ }): ExuluTool | undefined;
2056
+
2027
2057
  type JOB_STATUS = "completed" | "failed" | "delayed" | "active" | "waiting" | "paused" | "stuck";
2028
2058
  declare const JOB_STATUS_ENUM: {
2029
2059
  completed: string;
@@ -2038,6 +2068,15 @@ declare const JOB_STATUS_ENUM: {
2038
2068
  declare const ExuluJobs: {
2039
2069
  redis: typeof redisClient;
2040
2070
  };
2071
+ declare const ExuluDefaultTools: {
2072
+ agentic: {
2073
+ retrieval: {
2074
+ create: {
2075
+ v3: typeof createAgenticRetrievalToolV3;
2076
+ };
2077
+ };
2078
+ };
2079
+ };
2041
2080
  declare const ExuluDefaultProviders: {
2042
2081
  anthropic: {
2043
2082
  opus4: ExuluProvider;
@@ -2123,4 +2162,4 @@ declare const ExuluPython: {
2123
2162
  instructions: typeof getPythonSetupInstructions;
2124
2163
  };
2125
2164
 
2126
- export { type JOB_STATUS as EXULU_JOB_STATUS, JOB_STATUS_ENUM as EXULU_JOB_STATUS_ENUM, type STATISTICS_TYPE as EXULU_STATISTICS_TYPE, STATISTICS_TYPE_ENUM as EXULU_STATISTICS_TYPE_ENUM, type ExuluAgent, ExuluApp, ExuluAuthentication, ExuluChunkers, ExuluContext, ExuluDatabase, ExuluDefaultProviders, ExuluDocumentProcessor, ExuluEmbedder, ExuluEval, type Item as ExuluItem, ExuluJobs, ExuluOtel, ExuluProvider, ExuluPython, queues as ExuluQueues, ExuluReranker, ExuluTool, ExuluVariables };
2165
+ export { type JOB_STATUS as EXULU_JOB_STATUS, JOB_STATUS_ENUM as EXULU_JOB_STATUS_ENUM, type STATISTICS_TYPE as EXULU_STATISTICS_TYPE, STATISTICS_TYPE_ENUM as EXULU_STATISTICS_TYPE_ENUM, type ExuluAgent, ExuluApp, ExuluAuthentication, ExuluChunkers, ExuluContext, ExuluDatabase, ExuluDefaultProviders, ExuluDefaultTools, ExuluDocumentProcessor, ExuluEmbedder, ExuluEval, type Item as ExuluItem, ExuluJobs, ExuluOtel, ExuluProvider, ExuluPython, queues as ExuluQueues, ExuluReranker, ExuluTool, trajectoryRegistry as ExuluTrajectoryRegistry, ExuluVariables };
package/dist/index.d.ts CHANGED
@@ -65,6 +65,7 @@ interface ExuluAgent {
65
65
  source: "code" | "database";
66
66
  memory?: string;
67
67
  welcomemessage?: string;
68
+ defaultagent?: boolean;
68
69
  type: "agent";
69
70
  name: string;
70
71
  image?: string;
@@ -96,6 +97,10 @@ interface ExuluAgent {
96
97
  name: string;
97
98
  description: string;
98
99
  }[];
100
+ skills?: {
101
+ id: string;
102
+ name: string;
103
+ }[];
99
104
  maxContextLength?: number;
100
105
  authenticationInformation?: string;
101
106
  systemInstructions?: string;
@@ -528,7 +533,6 @@ declare class ExuluContext {
528
533
  calculateVectors?: "manual" | "onUpdate" | "onInsert" | "always";
529
534
  maxRetrievalResults?: number;
530
535
  defaultRightsMode?: ExuluRightsMode;
531
- enableAsTool?: boolean;
532
536
  cutoffs?: {
533
537
  cosineDistance?: number;
534
538
  tsvector?: number;
@@ -557,7 +561,6 @@ declare class ExuluContext {
557
561
  configuration?: {
558
562
  calculateVectors?: "manual" | "onUpdate" | "onInsert" | "always";
559
563
  defaultRightsMode?: ExuluRightsMode;
560
- enableAsTool?: boolean;
561
564
  languages?: ("german" | "english")[];
562
565
  maxRetrievalResults?: number;
563
566
  expand?: {
@@ -662,7 +665,6 @@ declare class ExuluContext {
662
665
  };
663
666
  createItemsTable: () => Promise<void>;
664
667
  createChunksTable: () => Promise<void>;
665
- tool: () => ExuluTool | null;
666
668
  }
667
669
 
668
670
  declare class ExuluReranker {
@@ -752,12 +754,14 @@ declare class ExuluProvider {
752
754
  get providerName(): string;
753
755
  get modelName(): string;
754
756
  tool: (instance: string, providers: ExuluProvider[], contexts: ExuluContext[], rerankers: ExuluReranker[]) => Promise<ExuluTool | null>;
755
- generateSync: ({ prompt, req, user, session, inputMessages, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, outputSchema, agent, instructions, }: {
757
+ generateSync: ({ prompt, req, user, session, inputMessages, approvedTools, currentTools, allExuluTools, statistics, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, outputSchema, agent, instructions, maxStepCount, }: {
756
758
  prompt?: string;
757
759
  user?: User;
760
+ maxStepCount?: number;
758
761
  req?: Request;
759
762
  session?: string;
760
763
  agent?: ExuluAgent;
764
+ approvedTools?: string[];
761
765
  inputMessages?: UIMessage[];
762
766
  currentTools?: ExuluTool[];
763
767
  allExuluTools?: ExuluTool[];
@@ -778,10 +782,11 @@ declare class ExuluProvider {
778
782
  * - Image files -> image parts (which ARE supported by Responses API)
779
783
  */
780
784
  private processFilePartsInMessages;
781
- generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, }: {
785
+ generateStream: ({ user, session, agent, message, previousMessages, currentTools, approvedTools, allExuluTools, toolConfigs, providerapikey, contexts, rerankers, exuluConfig, instructions, req, maxStepCount }: {
782
786
  user?: User;
783
787
  session?: string;
784
788
  agent?: ExuluAgent;
789
+ maxStepCount?: number;
785
790
  message?: UIMessage;
786
791
  previousMessages?: UIMessage[];
787
792
  currentTools?: ExuluTool[];
@@ -988,6 +993,10 @@ declare class ExuluQueues {
988
993
  }
989
994
  declare const queues: ExuluQueues;
990
995
 
996
+ declare const trajectoryRegistry: {
997
+ lastFile: string | undefined;
998
+ };
999
+
991
1000
  /**
992
1001
  * Represents the data structure for a chunk object.
993
1002
  *
@@ -1899,7 +1908,9 @@ declare class MarkdownChunker {
1899
1908
  */
1900
1909
  private findLogicalBreakpoint;
1901
1910
  private headers;
1902
- chunk(text: string, chunkSize: number, prefix?: string): Promise<{
1911
+ chunk(text: string, chunkSize: number, prefix?: string, config?: {
1912
+ pageBreakTags?: boolean;
1913
+ }): Promise<{
1903
1914
  text: string;
1904
1915
  page: number;
1905
1916
  }[]>;
@@ -2024,6 +2035,25 @@ declare function documentProcessor({ file, name, config }: {
2024
2035
  config?: DocumentProcessorConfig;
2025
2036
  }): Promise<ProcessedDocument | undefined>;
2026
2037
 
2038
+ /**
2039
+ * Creates the v3 ExuluTool for agentic context retrieval.
2040
+ *
2041
+ * Compared to v2:
2042
+ * - Single LLM call per step (vs two in v2)
2043
+ * - Query classification upfront → strategy-based step budget (1–3 vs hardcoded 2)
2044
+ * - Context example records sampled at init and cached
2045
+ * - Strategy-specific instructions and tool sets
2046
+ */
2047
+ declare function createAgenticRetrievalToolV3({ contexts, instructions: adminInstructions, rerankers, user, role, model, preselectedItemIds, }: {
2048
+ contexts: ExuluContext[];
2049
+ rerankers: ExuluReranker[];
2050
+ user?: User;
2051
+ role?: string;
2052
+ model?: LanguageModel;
2053
+ instructions?: string;
2054
+ preselectedItemIds?: string[];
2055
+ }): ExuluTool | undefined;
2056
+
2027
2057
  type JOB_STATUS = "completed" | "failed" | "delayed" | "active" | "waiting" | "paused" | "stuck";
2028
2058
  declare const JOB_STATUS_ENUM: {
2029
2059
  completed: string;
@@ -2038,6 +2068,15 @@ declare const JOB_STATUS_ENUM: {
2038
2068
  declare const ExuluJobs: {
2039
2069
  redis: typeof redisClient;
2040
2070
  };
2071
+ declare const ExuluDefaultTools: {
2072
+ agentic: {
2073
+ retrieval: {
2074
+ create: {
2075
+ v3: typeof createAgenticRetrievalToolV3;
2076
+ };
2077
+ };
2078
+ };
2079
+ };
2041
2080
  declare const ExuluDefaultProviders: {
2042
2081
  anthropic: {
2043
2082
  opus4: ExuluProvider;
@@ -2123,4 +2162,4 @@ declare const ExuluPython: {
2123
2162
  instructions: typeof getPythonSetupInstructions;
2124
2163
  };
2125
2164
 
2126
- export { type JOB_STATUS as EXULU_JOB_STATUS, JOB_STATUS_ENUM as EXULU_JOB_STATUS_ENUM, type STATISTICS_TYPE as EXULU_STATISTICS_TYPE, STATISTICS_TYPE_ENUM as EXULU_STATISTICS_TYPE_ENUM, type ExuluAgent, ExuluApp, ExuluAuthentication, ExuluChunkers, ExuluContext, ExuluDatabase, ExuluDefaultProviders, ExuluDocumentProcessor, ExuluEmbedder, ExuluEval, type Item as ExuluItem, ExuluJobs, ExuluOtel, ExuluProvider, ExuluPython, queues as ExuluQueues, ExuluReranker, ExuluTool, ExuluVariables };
2165
+ export { type JOB_STATUS as EXULU_JOB_STATUS, JOB_STATUS_ENUM as EXULU_JOB_STATUS_ENUM, type STATISTICS_TYPE as EXULU_STATISTICS_TYPE, STATISTICS_TYPE_ENUM as EXULU_STATISTICS_TYPE_ENUM, type ExuluAgent, ExuluApp, ExuluAuthentication, ExuluChunkers, ExuluContext, ExuluDatabase, ExuluDefaultProviders, ExuluDefaultTools, ExuluDocumentProcessor, ExuluEmbedder, ExuluEval, type Item as ExuluItem, ExuluJobs, ExuluOtel, ExuluProvider, ExuluPython, queues as ExuluQueues, ExuluReranker, ExuluTool, trajectoryRegistry as ExuluTrajectoryRegistry, ExuluVariables };