@ai.ntellect/core 0.7.7 → 1.0.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.
Files changed (111) hide show
  1. package/README.md +158 -81
  2. package/index.ts +462 -22
  3. package/package copy.json +21 -0
  4. package/package.json +9 -44
  5. package/tsconfig.json +108 -22
  6. package/types.ts +62 -0
  7. package/utils/executor.ts +42 -0
  8. package/.mocharc.json +0 -5
  9. package/dist/graph/controller.d.ts +0 -31
  10. package/dist/graph/controller.d.ts.map +0 -1
  11. package/dist/graph/controller.js +0 -71
  12. package/dist/graph/controller.js.map +0 -1
  13. package/dist/graph/event-manager.d.ts +0 -92
  14. package/dist/graph/event-manager.d.ts.map +0 -1
  15. package/dist/graph/event-manager.js +0 -244
  16. package/dist/graph/event-manager.js.map +0 -1
  17. package/dist/graph/index.d.ts +0 -159
  18. package/dist/graph/index.d.ts.map +0 -1
  19. package/dist/graph/index.js +0 -303
  20. package/dist/graph/index.js.map +0 -1
  21. package/dist/graph/logger.d.ts +0 -46
  22. package/dist/graph/logger.d.ts.map +0 -1
  23. package/dist/graph/logger.js +0 -69
  24. package/dist/graph/logger.js.map +0 -1
  25. package/dist/graph/node.d.ts +0 -92
  26. package/dist/graph/node.d.ts.map +0 -1
  27. package/dist/graph/node.js +0 -249
  28. package/dist/graph/node.js.map +0 -1
  29. package/dist/graph/observer.d.ts +0 -113
  30. package/dist/graph/observer.d.ts.map +0 -1
  31. package/dist/graph/observer.js +0 -198
  32. package/dist/graph/observer.js.map +0 -1
  33. package/dist/index.d.ts +0 -26
  34. package/dist/index.d.ts.map +0 -1
  35. package/dist/index.js +0 -42
  36. package/dist/index.js.map +0 -1
  37. package/dist/interfaces/index.d.ts +0 -447
  38. package/dist/interfaces/index.d.ts.map +0 -1
  39. package/dist/interfaces/index.js +0 -75
  40. package/dist/interfaces/index.js.map +0 -1
  41. package/dist/modules/agenda/adapters/node-cron/index.d.ts +0 -17
  42. package/dist/modules/agenda/adapters/node-cron/index.d.ts.map +0 -1
  43. package/dist/modules/agenda/adapters/node-cron/index.js +0 -30
  44. package/dist/modules/agenda/adapters/node-cron/index.js.map +0 -1
  45. package/dist/modules/agenda/index.d.ts +0 -63
  46. package/dist/modules/agenda/index.d.ts.map +0 -1
  47. package/dist/modules/agenda/index.js +0 -141
  48. package/dist/modules/agenda/index.js.map +0 -1
  49. package/dist/modules/embedding/adapters/ai/index.d.ts +0 -29
  50. package/dist/modules/embedding/adapters/ai/index.d.ts.map +0 -1
  51. package/dist/modules/embedding/adapters/ai/index.js +0 -58
  52. package/dist/modules/embedding/adapters/ai/index.js.map +0 -1
  53. package/dist/modules/embedding/index.d.ts +0 -36
  54. package/dist/modules/embedding/index.d.ts.map +0 -1
  55. package/dist/modules/embedding/index.js +0 -60
  56. package/dist/modules/embedding/index.js.map +0 -1
  57. package/dist/modules/memory/adapters/in-memory/index.d.ts +0 -120
  58. package/dist/modules/memory/adapters/in-memory/index.d.ts.map +0 -1
  59. package/dist/modules/memory/adapters/in-memory/index.js +0 -211
  60. package/dist/modules/memory/adapters/in-memory/index.js.map +0 -1
  61. package/dist/modules/memory/adapters/meilisearch/index.d.ts +0 -110
  62. package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +0 -1
  63. package/dist/modules/memory/adapters/meilisearch/index.js +0 -321
  64. package/dist/modules/memory/adapters/meilisearch/index.js.map +0 -1
  65. package/dist/modules/memory/adapters/redis/index.d.ts +0 -82
  66. package/dist/modules/memory/adapters/redis/index.d.ts.map +0 -1
  67. package/dist/modules/memory/adapters/redis/index.js +0 -159
  68. package/dist/modules/memory/adapters/redis/index.js.map +0 -1
  69. package/dist/modules/memory/index.d.ts +0 -67
  70. package/dist/modules/memory/index.d.ts.map +0 -1
  71. package/dist/modules/memory/index.js +0 -104
  72. package/dist/modules/memory/index.js.map +0 -1
  73. package/dist/types/index.d.ts +0 -166
  74. package/dist/types/index.d.ts.map +0 -1
  75. package/dist/types/index.js +0 -3
  76. package/dist/types/index.js.map +0 -1
  77. package/dist/utils/generate-action-schema.d.ts +0 -5
  78. package/dist/utils/generate-action-schema.d.ts.map +0 -1
  79. package/dist/utils/generate-action-schema.js +0 -44
  80. package/dist/utils/generate-action-schema.js.map +0 -1
  81. package/dist/utils/header-builder.d.ts +0 -12
  82. package/dist/utils/header-builder.d.ts.map +0 -1
  83. package/dist/utils/header-builder.js +0 -35
  84. package/dist/utils/header-builder.js.map +0 -1
  85. package/graph/controller.ts +0 -74
  86. package/graph/event-manager.ts +0 -295
  87. package/graph/index.ts +0 -397
  88. package/graph/logger.ts +0 -70
  89. package/graph/node.ts +0 -305
  90. package/graph/observer.ts +0 -368
  91. package/interfaces/index.ts +0 -545
  92. package/modules/agenda/adapters/node-cron/index.ts +0 -25
  93. package/modules/agenda/index.ts +0 -146
  94. package/modules/embedding/adapters/ai/index.ts +0 -42
  95. package/modules/embedding/index.ts +0 -45
  96. package/modules/memory/adapters/in-memory/index.ts +0 -207
  97. package/modules/memory/adapters/meilisearch/index.ts +0 -361
  98. package/modules/memory/adapters/redis/index.ts +0 -164
  99. package/modules/memory/index.ts +0 -93
  100. package/test/graph/controller.test.ts +0 -187
  101. package/test/graph/event-manager.test.ts +0 -72
  102. package/test/graph/index.test.ts +0 -768
  103. package/test/graph/node.test.ts +0 -510
  104. package/test/graph/observer.test.ts +0 -398
  105. package/test/modules/agenda/node-cron.test.ts +0 -307
  106. package/test/modules/memory/adapters/in-memory.test.ts +0 -153
  107. package/test/modules/memory/adapters/meilisearch.test.ts +0 -287
  108. package/test/modules/memory/base.test.ts +0 -230
  109. package/types/index.ts +0 -184
  110. package/utils/generate-action-schema.ts +0 -46
  111. package/utils/header-builder.ts +0 -40
package/types/index.ts DELETED
@@ -1,184 +0,0 @@
1
- import { EventEmitter } from "events";
2
- import { ZodSchema } from "zod";
3
- import { IEventEmitter } from "../interfaces";
4
-
5
- /* ======================== MEMORY ======================== */
6
-
7
- /**
8
- * Represents the input structure for creating a memory entry.
9
- * @typedef {Object} CreateMemoryInput
10
- * @property {string} query - The query associated with the memory.
11
- * @property {any} data - The data to be stored.
12
- * @property {string} roomId - The room identifier.
13
- * @property {number} [ttl] - Time-to-live in seconds (optional).
14
- */
15
- export interface CreateMemoryInput {
16
- id?: string;
17
- data: string;
18
- embedding?: number[];
19
- roomId: string;
20
- ttl?: number;
21
- }
22
-
23
- /**
24
- * Represents a stored memory entry.
25
- * @typedef {Object} BaseMemoryType
26
- * @property {string} id - Unique identifier of the memory entry.
27
- * @property {string} data - Stored data as a string.
28
- * @property {string} query - The associated query.
29
- * @property {number[] | null} embedding - Vector representation of the data.
30
- * @property {string} roomId - The associated room ID.
31
- * @property {Date} createdAt - Creation date.
32
- */
33
- export interface BaseMemoryType {
34
- id: string;
35
- data: string;
36
- embedding?: number[];
37
- roomId: string;
38
- createdAt: Date;
39
- }
40
-
41
- /* ======================== SCHEDULING ======================== */
42
-
43
- /**
44
- * Type for scheduled request entries
45
- * @typedef {Object} ScheduledRequest
46
- */
47
- export type ScheduledRequest = {
48
- /** Unique identifier for the scheduled request */
49
- id: string;
50
- /** The original request string */
51
- originalRequest: string;
52
- /** The cron expression for scheduling */
53
- cronExpression: string;
54
- /** Whether the request is recurring */
55
- isRecurring: boolean;
56
- /** The creation date */
57
- createdAt: Date;
58
- };
59
-
60
- /* ======================== GRAPH ======================== */
61
-
62
- /**
63
- * Utility type for extracting schema type from Zod schema
64
- * @template T - Zod schema type
65
- */
66
- export type SchemaType<T> = T extends ZodSchema<infer U> ? U : never;
67
-
68
- /**
69
- * Type for graph context based on schema
70
- * @template T - Schema type
71
- */
72
- export type GraphContext<T> = SchemaType<T>;
73
-
74
- /**
75
- * Interface representing a node in the graph
76
- * @interface
77
- * @template T - Schema type
78
- * @template I - Input schema type
79
- * @template O - Output schema type
80
- */
81
- export interface Node<T extends ZodSchema, I = any> {
82
- /** Name of the node */
83
- name: string;
84
- /** Description of the node */
85
- description?: string;
86
- /** Schema for node inputs */
87
- params?: I extends void ? never : ZodSchema<I>;
88
- /** Execute function for the node */
89
- execute: (context: GraphContext<T>, params?: I) => Promise<void>;
90
- /** Optional condition for node execution */
91
- condition?: (context: GraphContext<T>, params?: I) => boolean;
92
- /** Array of next node names */
93
- next?: string[] | ((context: GraphContext<T>) => string[]);
94
- /** Array of event names that trigger this node */
95
- events?: string[];
96
- /** Wait for a single event before continuing */
97
- waitForEvent?: boolean;
98
- /** Wait for multiple events configuration */
99
- waitForEvents?: WaitForEvents;
100
- /** Event correlation configuration */
101
- correlateEvents?: {
102
- events: string[];
103
- correlation: (events: GraphEvent<T>[]) => boolean;
104
- timeout?: number;
105
- };
106
- /** Retry configuration */
107
- retry?: {
108
- /** Maximum number of retry attempts */
109
- maxAttempts: number;
110
- /** Delay between retries in milliseconds */
111
- delay: number;
112
- /** Error handler function */
113
- onRetryFailed?: (error: Error, context: GraphContext<T>) => Promise<void>;
114
- /** Continue execution on failed retry */
115
- continueOnFailed?: boolean;
116
- };
117
- /** Error handler function */
118
- onError?: (error: Error) => void;
119
- }
120
-
121
- /**
122
- * Interface for graph definition
123
- * @interface
124
- * @template T - Schema type
125
- */
126
- export interface GraphDefinition<T extends ZodSchema> {
127
- /** Name of the graph */
128
- name: string;
129
- /** Array of nodes in the graph */
130
- nodes: Node<T, any>[];
131
- /** Initial context */
132
- context: SchemaType<T>;
133
- /** Schema for validation */
134
- schema: T;
135
- /** Global error handler */
136
- onError?: (error: Error, context: GraphContext<T>) => void;
137
- /** Entry node name */
138
- entryNode?: string;
139
- /** Event emitter instance */
140
- eventEmitter?: IEventEmitter | EventEmitter;
141
- /** Array of events */
142
- events?: string[];
143
- }
144
-
145
- /* ======================== MEILISEARCH ======================== */
146
-
147
- /**
148
- * Configuration type for Meilisearch
149
- * @typedef {Object} MeilisearchConfig
150
- */
151
- export type MeilisearchConfig = {
152
- /** Meilisearch host URL */
153
- host: string;
154
- /** API key for authentication */
155
- apiKey: string;
156
- /** Array of searchable attributes */
157
- searchableAttributes?: string[];
158
- /** Array of sortable attributes */
159
- sortableAttributes?: string[];
160
- };
161
-
162
- /**
163
- * Settings type for Meilisearch
164
- * @typedef {Object} MeilisearchSettings
165
- */
166
- export type MeilisearchSettings = {
167
- /** Array of searchable attributes */
168
- searchableAttributes?: string[];
169
- /** Array of sortable attributes */
170
- sortableAttributes?: string[];
171
- };
172
-
173
- export interface GraphEvent<T extends ZodSchema> {
174
- type: string;
175
- payload?: any;
176
- timestamp: number;
177
- }
178
-
179
- export interface WaitForEvents {
180
- events: string[];
181
- timeout?: number;
182
- strategy: "all" | "any" | "race";
183
- onSuccess?: <T extends ZodSchema>(context: GraphContext<T>) => Promise<void>;
184
- }
@@ -1,46 +0,0 @@
1
- import { z } from "zod";
2
- import { GraphFlow } from "../graph/index";
3
-
4
- export const generateActionSchema = (graphs: GraphFlow<any>[]) => {
5
- return graphs
6
- .map((graph) => {
7
- const rootNode = Array.from(graph.nodes.values())[0];
8
- const schemaStr = rootNode.params
9
- ? getSchemaString(rootNode.params)
10
- : "No parameters";
11
- return `Workflow: ${graph.name}\nParameters: ${schemaStr}`;
12
- })
13
- .join("\n\n");
14
- };
15
-
16
- export const getSchemaString = (schema: z.ZodType): string => {
17
- if (schema instanceof z.ZodObject) {
18
- const entries = Object.entries(schema.shape);
19
- const fields = entries.map(([key, value]) => {
20
- const description = (value as any)._def.description;
21
- const schemaStr = getSchemaString(value as z.ZodType);
22
- return description
23
- ? `${key}: ${schemaStr} // ${description}`
24
- : `${key}: ${schemaStr}`;
25
- });
26
- return `z.object({${fields.join(", ")}})`;
27
- }
28
-
29
- if (schema instanceof z.ZodArray) {
30
- return `z.array(${getSchemaString(schema.element)})`;
31
- }
32
-
33
- if (schema instanceof z.ZodString) {
34
- return "z.string()";
35
- }
36
-
37
- if (schema instanceof z.ZodNumber) {
38
- return "z.number()";
39
- }
40
-
41
- if (schema instanceof z.ZodBoolean) {
42
- return "z.boolean()";
43
- }
44
-
45
- return `z.unknown()`;
46
- };
@@ -1,40 +0,0 @@
1
- type HeaderValue = string | string[] | undefined;
2
-
3
- export class LLMHeaderBuilder {
4
- private headers: Map<string, HeaderValue>;
5
- private _result: string;
6
-
7
- constructor() {
8
- this.headers = new Map();
9
- this._result = "";
10
- }
11
-
12
- addHeader(key: string, value: HeaderValue): LLMHeaderBuilder {
13
- if (Array.isArray(value)) {
14
- this.headers.set(key, value.join("\n"));
15
- } else {
16
- this.headers.set(key, value);
17
- }
18
-
19
- // Build result immediately
20
- this._result = Array.from(this.headers.entries())
21
- .filter(([_, value]) => value !== undefined)
22
- .map(([key, value]) => `# ${key}: ${value}`)
23
- .join("\n")
24
- .trim();
25
-
26
- return this;
27
- }
28
-
29
- valueOf(): string {
30
- return this._result;
31
- }
32
-
33
- toString(): string {
34
- return this._result;
35
- }
36
-
37
- static create(): LLMHeaderBuilder {
38
- return new LLMHeaderBuilder();
39
- }
40
- }