@ai.ntellect/core 0.1.81 → 0.1.84

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.
Files changed (45) hide show
  1. package/README.FR.md +31 -60
  2. package/README.md +74 -96
  3. package/agent/handlers/ActionHandler.ts +1 -1
  4. package/agent/index.ts +85 -43
  5. package/dist/agent/index.d.ts +1 -1
  6. package/dist/agent/index.js +61 -33
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.js +0 -1
  9. package/dist/llm/evaluator/context.js +3 -5
  10. package/dist/llm/evaluator/index.js +25 -29
  11. package/dist/llm/orchestrator/context.js +1 -1
  12. package/dist/llm/orchestrator/index.js +30 -9
  13. package/dist/llm/synthesizer/index.d.ts +1 -5
  14. package/dist/llm/synthesizer/index.js +1 -5
  15. package/dist/memory/cache.d.ts +5 -5
  16. package/dist/memory/cache.js +19 -49
  17. package/dist/memory/persistent.d.ts +1 -1
  18. package/dist/memory/persistent.js +5 -6
  19. package/dist/services/queue.js +21 -8
  20. package/dist/t.d.ts +46 -0
  21. package/dist/t.js +102 -0
  22. package/dist/test.d.ts +68 -0
  23. package/dist/test.js +167 -0
  24. package/dist/types.d.ts +27 -3
  25. package/dist/types.js +9 -1
  26. package/dist/utils/inject-actions.js +1 -1
  27. package/dist/utils/queue-item-transformer.d.ts +2 -2
  28. package/dist/utils/queue-item-transformer.js +5 -6
  29. package/dist/utils/sanitize-results.d.ts +17 -0
  30. package/dist/utils/sanitize-results.js +60 -0
  31. package/index.ts +0 -1
  32. package/llm/evaluator/context.ts +3 -5
  33. package/llm/evaluator/index.ts +25 -31
  34. package/llm/orchestrator/context.ts +1 -1
  35. package/llm/orchestrator/index.ts +42 -13
  36. package/llm/synthesizer/index.ts +2 -10
  37. package/memory/cache.ts +23 -61
  38. package/memory/persistent.ts +7 -6
  39. package/package.json +3 -1
  40. package/services/queue.ts +21 -12
  41. package/t.ts +133 -0
  42. package/types.ts +14 -3
  43. package/utils/inject-actions.ts +1 -1
  44. package/utils/queue-item-transformer.ts +25 -11
  45. package/utils/sanitize-results.ts +66 -0
package/types.ts CHANGED
@@ -126,9 +126,9 @@ export interface CacheMemoryOptions {
126
126
  }
127
127
 
128
128
  export interface CreateMemoryInput {
129
- content: string;
129
+ content: any;
130
130
  type: MemoryType;
131
- data: any;
131
+ data: QueueResult[];
132
132
  userId?: string;
133
133
  scope?: MemoryScope;
134
134
  }
@@ -137,7 +137,6 @@ export interface CacheMemoryType {
137
137
  id: string;
138
138
  type: MemoryType;
139
139
  data: any;
140
- purpose: string;
141
140
  query: string;
142
141
  embedding: Embedding;
143
142
  userId?: string;
@@ -169,6 +168,18 @@ export interface Memory {
169
168
  chunks?: MemoryChunk[];
170
169
  }
171
170
 
171
+ export const ActionSchema = z.array(
172
+ z.object({
173
+ name: z.string(),
174
+ parameters: z.array(
175
+ z.object({
176
+ name: z.string(),
177
+ value: z.string(),
178
+ })
179
+ ),
180
+ })
181
+ );
182
+
172
183
  export enum MemoryType {
173
184
  ACTION = "action",
174
185
  CONVERSATION = "conversation",
@@ -5,7 +5,7 @@ export const injectActions = (actions: ActionSchema[]) => {
5
5
  return actions.map((action) => {
6
6
  const parameters = action.parameters as z.ZodObject<any>;
7
7
  const schemaShape = Object.keys(parameters._def.shape()).join(", ");
8
- const actionString = `Name: ${action.name}, Description: ${action.description}, Arguments: { ${schemaShape} }`;
8
+ const actionString = `Name: ${action.name}, Description: ${action.description}, Arguments (STRICTLY REQUIRED): { ${schemaShape} }`;
9
9
  return actionString;
10
10
  });
11
11
  };
@@ -1,26 +1,40 @@
1
- import { ActionData, QueueItemParameter, TransformedQueueItem } from "../types";
1
+ import {
2
+ ActionData,
3
+ QueueItemParameter,
4
+ QueueResult,
5
+ TransformedQueueItem,
6
+ } from "../types";
2
7
 
3
8
  export class QueueItemTransformer {
4
9
  static transformActionToQueueItem(action: ActionData): TransformedQueueItem {
5
10
  return {
6
- name: action.name || '',
7
- parameters: QueueItemTransformer.transformParameters(action.parameters || {})
11
+ name: action.name || "",
12
+ parameters: QueueItemTransformer.transformParameters(
13
+ action.parameters || {}
14
+ ),
8
15
  };
9
16
  }
10
17
 
11
- static transformFromSimilarActions(similarActions: any[]): TransformedQueueItem[] | undefined {
12
- const firstMatch = similarActions?.[0]?.data;
13
- return firstMatch?.map((action: ActionData) => QueueItemTransformer.transformActionToQueueItem(action));
18
+ static transformFromSimilarActions(
19
+ similarActions: QueueResult[]
20
+ ): TransformedQueueItem[] | undefined {
21
+ return similarActions?.map((action: ActionData) =>
22
+ QueueItemTransformer.transformActionToQueueItem(action)
23
+ );
14
24
  }
15
25
 
16
- private static transformParameters(parameters: Record<string, any>): QueueItemParameter[] {
26
+ private static transformParameters(
27
+ parameters: Record<string, any>
28
+ ): QueueItemParameter[] {
17
29
  return Object.entries(parameters).map(([name, value]) => ({
18
30
  name,
19
- value: typeof value === 'object' ? JSON.stringify(value) : String(value)
31
+ value: typeof value === "object" ? JSON.stringify(value) : String(value),
20
32
  }));
21
33
  }
22
34
 
23
- static transformActionsToQueueItems(actions: ActionData[] | undefined): TransformedQueueItem[] | undefined {
24
- return actions?.map(action => this.transformActionToQueueItem(action));
35
+ static transformActionsToQueueItems(
36
+ actions: ActionData[] | undefined
37
+ ): TransformedQueueItem[] | undefined {
38
+ return actions?.map((action) => this.transformActionToQueueItem(action));
25
39
  }
26
- }
40
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Utility class to sanitize JSON results for evaluation
3
+ */
4
+ export class ResultSanitizer {
5
+ /**
6
+ * Sanitizes JSON results by removing special characters and formatting
7
+ * @param results - The results to sanitize
8
+ * @returns Sanitized string
9
+ */
10
+ static sanitize(results: any): string {
11
+ if (!results) return "";
12
+
13
+ try {
14
+ const jsonString = JSON.stringify(results);
15
+ return (
16
+ jsonString
17
+ // Basic cleanup
18
+ .replace(/\\n/g, " ") // Remove newlines
19
+ .replace(/\s+/g, " ") // Remove extra spaces
20
+ .replace(/\\"/g, '"') // Fix escaped quotes
21
+ .replace(/\\+/g, "") // Remove extra backslashes
22
+
23
+ // Remove unnecessary quotes around objects and arrays
24
+ .replace(/"\[/g, "[") // Remove quotes around arrays start
25
+ .replace(/\]"/g, "]") // Remove quotes around arrays end
26
+ .replace(/"{/g, "{") // Remove quotes around objects start
27
+ .replace(/}"/g, "}") // Remove quotes around objects end
28
+
29
+ // Clean up numbers and values
30
+ .replace(/"(\d+\.?\d*)"/g, "$1") // Remove quotes around numbers
31
+ .replace(/:\s*"(true|false|null)"/g, ": $1") // Remove quotes around booleans and null
32
+
33
+ // Clean up URLs and content
34
+ .replace(
35
+ /(?<=content":")([^"]+)(?=")/g,
36
+ (match) => match.trim().replace(/\s+/g, " ") // Clean content spacing
37
+ )
38
+ .replace(
39
+ /(?<=link":")([^"]+)(?=")/g,
40
+ (match) => match.replace(/&amp;/g, "&") // Fix URL encodings
41
+ )
42
+
43
+ // Final cleanup
44
+ .replace(/,\s*([}\]])/g, "$1") // Remove trailing commas
45
+ .replace(/:\s+/g, ":") // Remove spaces after colons
46
+ .replace(/,\s+/g, ",") // Remove spaces after commas
47
+ .trim()
48
+ ); // Remove leading/trailing whitespace
49
+ } catch (error) {
50
+ console.error("Error sanitizing results:", error);
51
+ return String(results);
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Formats numbers to a consistent format
57
+ * @param value - The number to format
58
+ * @returns Formatted number string
59
+ */
60
+ private static formatNumber(value: number): string {
61
+ return value.toLocaleString("en-US", {
62
+ maximumFractionDigits: 2,
63
+ useGrouping: false,
64
+ });
65
+ }
66
+ }