indusagi 0.12.13 → 0.12.15

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 (142) hide show
  1. package/dist/agent/tools/registry.d.ts +1 -1
  2. package/dist/agent/tools/registry.d.ts.map +1 -1
  3. package/dist/agent/types.d.ts +1 -0
  4. package/dist/agent/types.d.ts.map +1 -1
  5. package/dist/agent/types.js.map +1 -1
  6. package/dist/ai/models.generated.d.ts +621 -53
  7. package/dist/ai/models.generated.d.ts.map +1 -1
  8. package/dist/ai/models.generated.js +548 -0
  9. package/dist/ai/models.generated.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/mcp/client-pool.d.ts +106 -0
  15. package/dist/mcp/client-pool.d.ts.map +1 -0
  16. package/dist/mcp/client-pool.js +233 -0
  17. package/dist/mcp/client-pool.js.map +1 -0
  18. package/dist/mcp/client.d.ts +158 -0
  19. package/dist/mcp/client.d.ts.map +1 -0
  20. package/dist/mcp/client.js +586 -0
  21. package/dist/mcp/client.js.map +1 -0
  22. package/dist/mcp/config.d.ts +61 -0
  23. package/dist/mcp/config.d.ts.map +1 -0
  24. package/dist/mcp/config.js +250 -0
  25. package/dist/mcp/config.js.map +1 -0
  26. package/dist/mcp/errors.d.ts +104 -0
  27. package/dist/mcp/errors.d.ts.map +1 -0
  28. package/dist/mcp/errors.js +138 -0
  29. package/dist/mcp/errors.js.map +1 -0
  30. package/dist/mcp/index.d.ts +56 -0
  31. package/dist/mcp/index.d.ts.map +1 -0
  32. package/dist/mcp/index.js +83 -0
  33. package/dist/mcp/index.js.map +1 -0
  34. package/dist/mcp/schema-converter.d.ts +68 -0
  35. package/dist/mcp/schema-converter.d.ts.map +1 -0
  36. package/dist/mcp/schema-converter.js +230 -0
  37. package/dist/mcp/schema-converter.js.map +1 -0
  38. package/dist/mcp/server.d.ts +111 -0
  39. package/dist/mcp/server.d.ts.map +1 -0
  40. package/dist/mcp/server.js +300 -0
  41. package/dist/mcp/server.js.map +1 -0
  42. package/dist/mcp/tool-factory.d.ts +63 -0
  43. package/dist/mcp/tool-factory.d.ts.map +1 -0
  44. package/dist/mcp/tool-factory.js +228 -0
  45. package/dist/mcp/tool-factory.js.map +1 -0
  46. package/dist/mcp/types.d.ts +289 -0
  47. package/dist/mcp/types.d.ts.map +1 -0
  48. package/dist/mcp/types.js +8 -0
  49. package/dist/mcp/types.js.map +1 -0
  50. package/dist/mcp.d.ts +6 -0
  51. package/dist/mcp.d.ts.map +1 -0
  52. package/dist/mcp.js +6 -0
  53. package/dist/mcp.js.map +1 -0
  54. package/dist/memory/embedder/base.d.ts +41 -0
  55. package/dist/memory/embedder/base.d.ts.map +1 -0
  56. package/dist/memory/embedder/base.js +10 -0
  57. package/dist/memory/embedder/base.js.map +1 -0
  58. package/dist/memory/embedder/index.d.ts +8 -0
  59. package/dist/memory/embedder/index.d.ts.map +1 -0
  60. package/dist/memory/embedder/index.js +6 -0
  61. package/dist/memory/embedder/index.js.map +1 -0
  62. package/dist/memory/embedder/openai.d.ts +35 -0
  63. package/dist/memory/embedder/openai.d.ts.map +1 -0
  64. package/dist/memory/embedder/openai.js +103 -0
  65. package/dist/memory/embedder/openai.js.map +1 -0
  66. package/dist/memory/index.d.ts +33 -0
  67. package/dist/memory/index.d.ts.map +1 -0
  68. package/dist/memory/index.js +31 -0
  69. package/dist/memory/index.js.map +1 -0
  70. package/dist/memory/memory.d.ts +126 -0
  71. package/dist/memory/memory.d.ts.map +1 -0
  72. package/dist/memory/memory.js +280 -0
  73. package/dist/memory/memory.js.map +1 -0
  74. package/dist/memory/processors/base.d.ts +42 -0
  75. package/dist/memory/processors/base.d.ts.map +1 -0
  76. package/dist/memory/processors/base.js +6 -0
  77. package/dist/memory/processors/base.js.map +1 -0
  78. package/dist/memory/processors/index.d.ts +16 -0
  79. package/dist/memory/processors/index.d.ts.map +1 -0
  80. package/dist/memory/processors/index.js +18 -0
  81. package/dist/memory/processors/index.js.map +1 -0
  82. package/dist/memory/processors/message-history.d.ts +35 -0
  83. package/dist/memory/processors/message-history.d.ts.map +1 -0
  84. package/dist/memory/processors/message-history.js +51 -0
  85. package/dist/memory/processors/message-history.js.map +1 -0
  86. package/dist/memory/processors/observational-memory/index.d.ts +82 -0
  87. package/dist/memory/processors/observational-memory/index.d.ts.map +1 -0
  88. package/dist/memory/processors/observational-memory/index.js +234 -0
  89. package/dist/memory/processors/observational-memory/index.js.map +1 -0
  90. package/dist/memory/processors/observational-memory/observer-agent.d.ts +64 -0
  91. package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +1 -0
  92. package/dist/memory/processors/observational-memory/observer-agent.js +362 -0
  93. package/dist/memory/processors/observational-memory/observer-agent.js.map +1 -0
  94. package/dist/memory/processors/observational-memory/reflector-agent.d.ts +38 -0
  95. package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +1 -0
  96. package/dist/memory/processors/observational-memory/reflector-agent.js +213 -0
  97. package/dist/memory/processors/observational-memory/reflector-agent.js.map +1 -0
  98. package/dist/memory/processors/observational-memory/token-counter.d.ts +35 -0
  99. package/dist/memory/processors/observational-memory/token-counter.d.ts.map +1 -0
  100. package/dist/memory/processors/observational-memory/token-counter.js +90 -0
  101. package/dist/memory/processors/observational-memory/token-counter.js.map +1 -0
  102. package/dist/memory/processors/semantic-recall.d.ts +55 -0
  103. package/dist/memory/processors/semantic-recall.d.ts.map +1 -0
  104. package/dist/memory/processors/semantic-recall.js +143 -0
  105. package/dist/memory/processors/semantic-recall.js.map +1 -0
  106. package/dist/memory/processors/working-memory.d.ts +41 -0
  107. package/dist/memory/processors/working-memory.d.ts.map +1 -0
  108. package/dist/memory/processors/working-memory.js +82 -0
  109. package/dist/memory/processors/working-memory.js.map +1 -0
  110. package/dist/memory/storage/base.d.ts +288 -0
  111. package/dist/memory/storage/base.d.ts.map +1 -0
  112. package/dist/memory/storage/base.js +211 -0
  113. package/dist/memory/storage/base.js.map +1 -0
  114. package/dist/memory/storage/index.d.ts +9 -0
  115. package/dist/memory/storage/index.d.ts.map +1 -0
  116. package/dist/memory/storage/index.js +7 -0
  117. package/dist/memory/storage/index.js.map +1 -0
  118. package/dist/memory/storage/inmemory.d.ts +93 -0
  119. package/dist/memory/storage/inmemory.d.ts.map +1 -0
  120. package/dist/memory/storage/inmemory.js +646 -0
  121. package/dist/memory/storage/inmemory.js.map +1 -0
  122. package/dist/memory/tools/working-memory.d.ts +100 -0
  123. package/dist/memory/tools/working-memory.d.ts.map +1 -0
  124. package/dist/memory/tools/working-memory.js +237 -0
  125. package/dist/memory/tools/working-memory.js.map +1 -0
  126. package/dist/memory/types.d.ts +386 -0
  127. package/dist/memory/types.d.ts.map +1 -0
  128. package/dist/memory/types.js +58 -0
  129. package/dist/memory/types.js.map +1 -0
  130. package/dist/memory/vector/base.d.ts +145 -0
  131. package/dist/memory/vector/base.d.ts.map +1 -0
  132. package/dist/memory/vector/base.js +83 -0
  133. package/dist/memory/vector/base.js.map +1 -0
  134. package/dist/memory/vector/index.d.ts +8 -0
  135. package/dist/memory/vector/index.d.ts.map +1 -0
  136. package/dist/memory/vector/index.js +7 -0
  137. package/dist/memory/vector/index.js.map +1 -0
  138. package/dist/memory/vector/inmemory.d.ts +47 -0
  139. package/dist/memory/vector/inmemory.d.ts.map +1 -0
  140. package/dist/memory/vector/inmemory.js +234 -0
  141. package/dist/memory/vector/inmemory.js.map +1 -0
  142. package/package.json +32 -2
@@ -0,0 +1,68 @@
1
+ /**
2
+ * JSON Schema to TypeBox Converter
3
+ *
4
+ * Converts MCP tool schemas (JSON Schema) to TypeBox schemas
5
+ * for validation in new_indusagi.
6
+ *
7
+ * Reference: mastra uses zod-from-json-schema, we adapt to TypeBox
8
+ */
9
+ import { type TSchema } from "@sinclair/typebox";
10
+ /**
11
+ * JSON Schema types we support
12
+ */
13
+ interface JSONSchema {
14
+ type?: string | string[];
15
+ description?: string;
16
+ properties?: Record<string, JSONSchema>;
17
+ required?: string[];
18
+ items?: JSONSchema | JSONSchema[];
19
+ enum?: (string | number | boolean | null)[];
20
+ const?: string | number | boolean | null;
21
+ additionalProperties?: boolean | JSONSchema;
22
+ minimum?: number;
23
+ maximum?: number;
24
+ exclusiveMinimum?: number | boolean;
25
+ exclusiveMaximum?: number | boolean;
26
+ minLength?: number;
27
+ maxLength?: number;
28
+ pattern?: string;
29
+ format?: string;
30
+ minItems?: number;
31
+ maxItems?: number;
32
+ multipleOf?: number;
33
+ default?: unknown;
34
+ oneOf?: JSONSchema[];
35
+ anyOf?: JSONSchema[];
36
+ allOf?: JSONSchema[];
37
+ $ref?: string;
38
+ }
39
+ /**
40
+ * Convert JSON Schema to TypeBox schema.
41
+ *
42
+ * Handles:
43
+ * - Primitive types (string, number, boolean, null)
44
+ * - Objects with properties
45
+ * - Arrays with items
46
+ * - Optional fields (not in required array)
47
+ * - Enums
48
+ * - Nested structures
49
+ */
50
+ export declare function jsonSchemaToTypeBox(schema: JSONSchema): TSchema;
51
+ /**
52
+ * Apply passthrough to allow extra properties.
53
+ *
54
+ * MCP servers may return extra fields not in the schema,
55
+ * so we use passthrough to avoid validation errors.
56
+ */
57
+ export declare function applyPassthrough(schema: TSchema): TSchema;
58
+ /**
59
+ * Convert MCP tool inputSchema to TypeBox with passthrough.
60
+ * This is the main entry point for converting MCP tool schemas.
61
+ */
62
+ export declare function convertMCPInputSchema(inputSchema: Record<string, unknown>): TSchema;
63
+ /**
64
+ * Convert MCP tool outputSchema to TypeBox with passthrough.
65
+ */
66
+ export declare function convertMCPOutputSchema(outputSchema: Record<string, unknown> | undefined): TSchema | undefined;
67
+ export {};
68
+ //# sourceMappingURL=schema-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../../src/mcp/schema-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAEpE;;GAEG;AACH,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACzC,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAwE/D;AA6FD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CA6CzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAI7G"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * JSON Schema to TypeBox Converter
3
+ *
4
+ * Converts MCP tool schemas (JSON Schema) to TypeBox schemas
5
+ * for validation in new_indusagi.
6
+ *
7
+ * Reference: mastra uses zod-from-json-schema, we adapt to TypeBox
8
+ */
9
+ import { Type } from "@sinclair/typebox";
10
+ /**
11
+ * Convert JSON Schema to TypeBox schema.
12
+ *
13
+ * Handles:
14
+ * - Primitive types (string, number, boolean, null)
15
+ * - Objects with properties
16
+ * - Arrays with items
17
+ * - Optional fields (not in required array)
18
+ * - Enums
19
+ * - Nested structures
20
+ */
21
+ export function jsonSchemaToTypeBox(schema) {
22
+ // Handle null type
23
+ if (schema.type === "null") {
24
+ return Type.Null({ description: schema.description });
25
+ }
26
+ // Handle enum
27
+ if (schema.enum) {
28
+ if (schema.enum.length === 1) {
29
+ return Type.Literal(schema.enum[0], {
30
+ description: schema.description,
31
+ });
32
+ }
33
+ const literals = schema.enum.map((e) => {
34
+ if (e === null)
35
+ return Type.Null();
36
+ return Type.Literal(e);
37
+ });
38
+ return Type.Union(literals, { description: schema.description });
39
+ }
40
+ // Handle const
41
+ if (schema.const !== undefined) {
42
+ if (schema.const === null) {
43
+ return Type.Null({ description: schema.description });
44
+ }
45
+ return Type.Literal(schema.const, {
46
+ description: schema.description,
47
+ });
48
+ }
49
+ // Handle oneOf/anyOf
50
+ if (schema.oneOf || schema.anyOf) {
51
+ const schemas = (schema.oneOf || schema.anyOf).map((s) => jsonSchemaToTypeBox(s));
52
+ return Type.Union(schemas, { description: schema.description });
53
+ }
54
+ // Handle allOf
55
+ if (schema.allOf) {
56
+ const schemas = schema.allOf.map((s) => jsonSchemaToTypeBox(s));
57
+ return Type.Intersect(schemas, { description: schema.description });
58
+ }
59
+ // Handle array type
60
+ if (schema.type === "array" || (Array.isArray(schema.type) && schema.type.includes("array"))) {
61
+ return convertArraySchema(schema);
62
+ }
63
+ // Handle object type
64
+ if (schema.type === "object" || (Array.isArray(schema.type) && schema.type.includes("object"))) {
65
+ return convertObjectSchema(schema);
66
+ }
67
+ // Handle primitive types
68
+ switch (schema.type) {
69
+ case "string":
70
+ return convertStringSchema(schema);
71
+ case "number":
72
+ case "integer":
73
+ return convertNumberSchema(schema);
74
+ case "boolean":
75
+ return Type.Boolean({ description: schema.description });
76
+ default:
77
+ // If no type is specified, try to infer from structure
78
+ if (schema.properties) {
79
+ return convertObjectSchema(schema);
80
+ }
81
+ if (schema.items) {
82
+ return convertArraySchema(schema);
83
+ }
84
+ // Fallback to any
85
+ return Type.Any({ description: schema.description });
86
+ }
87
+ }
88
+ /**
89
+ * Convert string JSON Schema to TypeBox.
90
+ */
91
+ function convertStringSchema(schema) {
92
+ return Type.String({
93
+ description: schema.description,
94
+ minLength: schema.minLength,
95
+ maxLength: schema.maxLength,
96
+ pattern: schema.pattern,
97
+ format: schema.format,
98
+ });
99
+ }
100
+ /**
101
+ * Convert number/integer JSON Schema to TypeBox.
102
+ */
103
+ function convertNumberSchema(schema) {
104
+ const options = {
105
+ description: schema.description,
106
+ };
107
+ if (schema.minimum !== undefined)
108
+ options.minimum = schema.minimum;
109
+ if (schema.maximum !== undefined)
110
+ options.maximum = schema.maximum;
111
+ if (typeof schema.exclusiveMinimum === "number")
112
+ options.exclusiveMinimum = schema.exclusiveMinimum;
113
+ if (typeof schema.exclusiveMaximum === "number")
114
+ options.exclusiveMaximum = schema.exclusiveMaximum;
115
+ if (schema.multipleOf !== undefined)
116
+ options.multipleOf = schema.multipleOf;
117
+ return Type.Number(options);
118
+ }
119
+ /**
120
+ * Convert array JSON Schema to TypeBox.
121
+ */
122
+ function convertArraySchema(schema) {
123
+ let itemsSchema;
124
+ if (schema.items) {
125
+ if (Array.isArray(schema.items)) {
126
+ // Tuple schema
127
+ const items = schema.items.map((item) => jsonSchemaToTypeBox(item));
128
+ itemsSchema = Type.Tuple(items);
129
+ }
130
+ else {
131
+ // Array schema
132
+ itemsSchema = jsonSchemaToTypeBox(schema.items);
133
+ }
134
+ }
135
+ else {
136
+ itemsSchema = Type.Any();
137
+ }
138
+ return Type.Array(itemsSchema, {
139
+ description: schema.description,
140
+ minItems: schema.minItems,
141
+ maxItems: schema.maxItems,
142
+ });
143
+ }
144
+ /**
145
+ * Convert object JSON Schema to TypeBox.
146
+ */
147
+ function convertObjectSchema(schema) {
148
+ const properties = {};
149
+ const required = new Set(schema.required ?? []);
150
+ // Convert properties
151
+ for (const [key, value] of Object.entries(schema.properties ?? {})) {
152
+ let propSchema = jsonSchemaToTypeBox(value);
153
+ // Make optional if not in required
154
+ if (!required.has(key)) {
155
+ propSchema = Type.Optional(propSchema);
156
+ }
157
+ properties[key] = propSchema;
158
+ }
159
+ // Handle additionalProperties
160
+ let additionalProperties = undefined;
161
+ if (schema.additionalProperties === true) {
162
+ additionalProperties = true;
163
+ }
164
+ else if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
165
+ additionalProperties = jsonSchemaToTypeBox(schema.additionalProperties);
166
+ }
167
+ else if (schema.additionalProperties === false) {
168
+ additionalProperties = false;
169
+ }
170
+ return Type.Object(properties, {
171
+ description: schema.description,
172
+ additionalProperties,
173
+ });
174
+ }
175
+ /**
176
+ * Apply passthrough to allow extra properties.
177
+ *
178
+ * MCP servers may return extra fields not in the schema,
179
+ * so we use passthrough to avoid validation errors.
180
+ */
181
+ export function applyPassthrough(schema) {
182
+ // Check if it's an object type
183
+ const kind = schema[Symbol.for("TypeBox.Kind")];
184
+ if (kind === "Object") {
185
+ const shape = { ...schema.properties };
186
+ // Recursively process nested schemas
187
+ for (const key of Object.keys(shape)) {
188
+ shape[key] = applyPassthrough(shape[key]);
189
+ }
190
+ return Type.Object(shape, {
191
+ description: schema.description,
192
+ additionalProperties: true,
193
+ });
194
+ }
195
+ if (kind === "Array") {
196
+ return Type.Array(applyPassthrough(schema.items), {
197
+ description: schema.description,
198
+ minItems: schema.minItems,
199
+ maxItems: schema.maxItems,
200
+ });
201
+ }
202
+ if (kind === "Union") {
203
+ return Type.Union(schema.anyOf.map((s) => applyPassthrough(s)), { description: schema.description });
204
+ }
205
+ if (kind === "Intersect") {
206
+ return Type.Intersect(schema.allOf.map((s) => applyPassthrough(s)), { description: schema.description });
207
+ }
208
+ if (kind === "Optional") {
209
+ return Type.Optional(applyPassthrough(schema.schema ?? schema.type));
210
+ }
211
+ return schema;
212
+ }
213
+ /**
214
+ * Convert MCP tool inputSchema to TypeBox with passthrough.
215
+ * This is the main entry point for converting MCP tool schemas.
216
+ */
217
+ export function convertMCPInputSchema(inputSchema) {
218
+ const typeboxSchema = jsonSchemaToTypeBox(inputSchema);
219
+ return applyPassthrough(typeboxSchema);
220
+ }
221
+ /**
222
+ * Convert MCP tool outputSchema to TypeBox with passthrough.
223
+ */
224
+ export function convertMCPOutputSchema(outputSchema) {
225
+ if (!outputSchema)
226
+ return undefined;
227
+ const typeboxSchema = jsonSchemaToTypeBox(outputSchema);
228
+ return applyPassthrough(typeboxSchema);
229
+ }
230
+ //# sourceMappingURL=schema-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-converter.js","sourceRoot":"","sources":["../../src/mcp/schema-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * MCP Server
3
+ *
4
+ * Exposes new_indusagi tools as an MCP server.
5
+ * Compatible with Claude Desktop, Cursor, etc.
6
+ *
7
+ * Reference: @mastra/mcp packages/mcp/src/server/server.ts MCPServer
8
+ */
9
+ import type { AgentTool } from "../agent/types.js";
10
+ /**
11
+ * Options for creating an MCP server.
12
+ */
13
+ export interface MCPServerOptions {
14
+ /** Server name */
15
+ name: string;
16
+ /** Server version */
17
+ version?: string;
18
+ /** Tools to expose */
19
+ tools: AgentTool<any>[];
20
+ /** Optional description */
21
+ description?: string;
22
+ }
23
+ /**
24
+ * Tool converted for MCP protocol.
25
+ */
26
+ interface MCPConvertedTool {
27
+ name: string;
28
+ description?: string;
29
+ inputSchema: Record<string, unknown>;
30
+ outputSchema?: Record<string, unknown>;
31
+ execute: (args: Record<string, unknown>) => Promise<unknown>;
32
+ }
33
+ /**
34
+ * MCP Server - exposes new_indusagi tools via the Model Context Protocol.
35
+ *
36
+ * Supports stdio transport for subprocess communication.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import { MCPServer } from "new_indusagi/mcp";
41
+ * import { createBashTool } from "new_indusagi/agent/tools";
42
+ *
43
+ * const server = new MCPServer({
44
+ * name: "My Tools Server",
45
+ * version: "1.0.0",
46
+ * tools: [createBashTool()],
47
+ * });
48
+ *
49
+ * await server.startStdio();
50
+ * ```
51
+ */
52
+ export declare class MCPServer {
53
+ private options;
54
+ private tools;
55
+ private buffer;
56
+ private isConnected;
57
+ /** Server name */
58
+ readonly name: string;
59
+ /** Server version */
60
+ readonly version: string;
61
+ constructor(options: MCPServerOptions);
62
+ /**
63
+ * Start the server using stdio transport.
64
+ *
65
+ * This is typically used when running the server as a subprocess
66
+ * that MCP clients (like Claude Desktop) spawn.
67
+ */
68
+ startStdio(): Promise<void>;
69
+ /**
70
+ * Stop the server.
71
+ */
72
+ stop(): Promise<void>;
73
+ /**
74
+ * Add a tool to the server.
75
+ */
76
+ addTool(tool: AgentTool<any>): void;
77
+ /**
78
+ * Remove a tool from the server.
79
+ */
80
+ removeTool(name: string): boolean;
81
+ /**
82
+ * List all available tools.
83
+ */
84
+ listTools(): MCPConvertedTool[];
85
+ private convertTool;
86
+ private typeBoxToJsonSchema;
87
+ private processBuffer;
88
+ private handleMessage;
89
+ private handleRequest;
90
+ private handleInitialize;
91
+ private handleToolsList;
92
+ private handleToolsCall;
93
+ private sendResponse;
94
+ private sendError;
95
+ }
96
+ /**
97
+ * Create an MCP server from tools.
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * const server = createMCPServer({
102
+ * name: "My Tools",
103
+ * tools: [bashTool, readTool, writeTool],
104
+ * });
105
+ *
106
+ * await server.startStdio();
107
+ * ```
108
+ */
109
+ export declare function createMCPServer(options: MCPServerOptions): MCPServer;
110
+ export {};
111
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,SAAS;IAUR,OAAO,CAAC,OAAO;IAT3B,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,WAAW,CAAS;IAE5B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,gBAAgB;IAiB7C;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;IAMnC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQjC;;OAEG;IACH,SAAS,IAAI,gBAAgB,EAAE;IAQ/B,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,aAAa;YAiBP,aAAa;YAiBb,aAAa;IAyB3B,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,eAAe;YAUT,eAAe;IA4D7B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;CAYlB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAEpE"}