genieceo 0.1.0 → 0.1.2

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.
@@ -22,7 +22,7 @@ export declare class LLMProvider {
22
22
  name: string;
23
23
  }>;
24
24
  /**
25
- * Generate text with automatic tool calling
25
+ * Generate text with automatic tool calling loop
26
26
  */
27
27
  generate(messages: any[], tools: Record<string, any>, maxSteps?: number): Promise<{
28
28
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/providers/llm.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzE;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,GAAG,EAAE,CAAC;QACjB,WAAW,EAAE,GAAG,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IAkEF;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,cAAc,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CA8CxD"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/providers/llm.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzE;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,GAAG,EAAE,CAAC;QACjB,WAAW,EAAE,GAAG,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IAwJF;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,cAAc,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CA8CxD"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LLMProvider = void 0;
4
4
  const pi_ai_1 = require("@mariozechner/pi-ai");
5
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
5
6
  /**
6
7
  * LLM Provider using @mariozechner/pi-ai
7
8
  * Provides unified interface for multiple LLM providers with automatic model discovery
@@ -52,61 +53,136 @@ class LLMProvider {
52
53
  }
53
54
  }
54
55
  /**
55
- * Generate text with automatic tool calling
56
+ * Generate text with automatic tool calling loop
56
57
  */
57
- async generate(messages, tools, maxSteps) {
58
+ async generate(messages, tools, maxSteps = 10) {
58
59
  try {
59
60
  const model = this.getModelInstance();
60
61
  // Convert tools to pi-ai format
61
- const piTools = Object.entries(tools).map(([name, tool]) => ({
62
- name,
63
- description: tool.description || '',
64
- parameters: tool.parameters || {},
65
- }));
66
- // Convert messages to pi-ai Context format
67
- const context = {
68
- messages: messages.map(msg => {
69
- if (typeof msg.content === 'string') {
70
- return {
71
- role: msg.role,
72
- content: msg.content,
73
- };
74
- }
75
- return msg;
76
- }),
77
- tools: piTools.length > 0 ? piTools : undefined,
78
- };
62
+ const piTools = Object.entries(tools).map(([name, tool]) => {
63
+ // Convert Zod schema to JSON Schema if it's a Zod object
64
+ let parameters = tool.parameters || {};
65
+ if (parameters && typeof parameters === 'object' && '_def' in parameters) {
66
+ // This is a Zod schema, convert it to JSON Schema
67
+ const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(parameters, {
68
+ $refStrategy: 'none',
69
+ target: 'openApi3'
70
+ });
71
+ // Remove the top-level $schema property as it's not needed
72
+ const { $schema, ...schemaWithoutMeta } = jsonSchema;
73
+ parameters = schemaWithoutMeta;
74
+ }
75
+ return {
76
+ name,
77
+ description: tool.description || '',
78
+ parameters,
79
+ };
80
+ });
79
81
  // Get API key based on provider
80
82
  const [provider] = this.config.model.split(':');
81
83
  const apiKey = this.getApiKey(provider);
82
- // Use complete() for synchronous generation
83
- const response = await (0, pi_ai_1.complete)(model, context, {
84
- apiKey,
85
- });
86
- // Extract text from response
87
- const textBlocks = response.content.filter(block => block.type === 'text');
88
- const text = textBlocks.map(block => block.text).join('\n');
89
- // Extract tool calls
90
- const toolCalls = response.content
91
- .filter(block => block.type === 'toolCall')
92
- .map(block => {
93
- const toolCall = block;
94
- return {
95
- toolCallId: toolCall.id,
96
- toolName: toolCall.name,
97
- args: toolCall.arguments,
84
+ // Track all tool calls and results for this generation
85
+ let allToolCalls = [];
86
+ let allToolResults = [];
87
+ let totalUsage = {
88
+ promptTokens: 0,
89
+ completionTokens: 0,
90
+ totalTokens: 0,
91
+ };
92
+ // Agent loop: continue until no tool calls or max steps reached
93
+ let currentMessages = [...messages];
94
+ let finalText = '';
95
+ let finishReason = 'stop';
96
+ let step = 0;
97
+ while (step < maxSteps) {
98
+ step++;
99
+ // Convert messages to pi-ai Context format
100
+ const context = {
101
+ messages: currentMessages.map(msg => {
102
+ if (typeof msg.content === 'string') {
103
+ return {
104
+ role: msg.role,
105
+ content: msg.content,
106
+ };
107
+ }
108
+ return msg;
109
+ }),
110
+ tools: piTools.length > 0 ? piTools : undefined,
98
111
  };
99
- });
112
+ // Make LLM request
113
+ const response = await (0, pi_ai_1.complete)(model, context, {
114
+ apiKey,
115
+ });
116
+ // Accumulate usage
117
+ totalUsage.promptTokens += response.usage.input;
118
+ totalUsage.completionTokens += response.usage.output;
119
+ totalUsage.totalTokens += response.usage.input + response.usage.output;
120
+ // Extract text from response
121
+ const textBlocks = response.content.filter(block => block.type === 'text');
122
+ const text = textBlocks.map(block => block.text).join('\n');
123
+ if (text) {
124
+ finalText = text;
125
+ }
126
+ // Extract tool calls
127
+ const toolCalls = response.content
128
+ .filter(block => block.type === 'toolCall')
129
+ .map(block => {
130
+ const toolCall = block;
131
+ return {
132
+ toolCallId: toolCall.id,
133
+ toolName: toolCall.name,
134
+ args: toolCall.arguments,
135
+ };
136
+ });
137
+ // If no tool calls, we're done
138
+ if (toolCalls.length === 0) {
139
+ finishReason = response.stopReason;
140
+ break;
141
+ }
142
+ // Execute tool calls
143
+ const toolResults = [];
144
+ for (const toolCall of toolCalls) {
145
+ try {
146
+ const tool = tools[toolCall.toolName];
147
+ if (!tool || !tool.execute) {
148
+ throw new Error(`Tool ${toolCall.toolName} not found or not executable`);
149
+ }
150
+ const result = await tool.execute(toolCall.args);
151
+ toolResults.push({
152
+ toolCallId: toolCall.toolCallId,
153
+ result: typeof result === 'string' ? result : JSON.stringify(result),
154
+ });
155
+ }
156
+ catch (error) {
157
+ toolResults.push({
158
+ toolCallId: toolCall.toolCallId,
159
+ result: `Error: ${error instanceof Error ? error.message : String(error)}`,
160
+ });
161
+ }
162
+ }
163
+ allToolCalls.push(...toolCalls);
164
+ allToolResults.push(...toolResults);
165
+ // Add assistant message with tool calls and user message with tool results to history
166
+ currentMessages.push({
167
+ role: 'assistant',
168
+ content: response.content,
169
+ });
170
+ currentMessages.push({
171
+ role: 'user',
172
+ content: toolResults.map(tr => ({
173
+ type: 'toolResult',
174
+ toolCallId: tr.toolCallId,
175
+ content: tr.result,
176
+ })),
177
+ });
178
+ finishReason = response.stopReason;
179
+ }
100
180
  return {
101
- text,
102
- toolCalls,
103
- toolResults: [], // pi-ai handles tool results separately
104
- finishReason: response.stopReason,
105
- usage: {
106
- promptTokens: response.usage.input,
107
- completionTokens: response.usage.output,
108
- totalTokens: response.usage.input + response.usage.output,
109
- },
181
+ text: finalText,
182
+ toolCalls: allToolCalls,
183
+ toolResults: allToolResults,
184
+ finishReason,
185
+ usage: totalUsage,
110
186
  };
111
187
  }
112
188
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/providers/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/providers/llm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genieceo",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Ultra-lightweight AI agent CLI assistant",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -29,7 +29,8 @@
29
29
  "chalk": "^4.1.2",
30
30
  "commander": "^12.1.0",
31
31
  "ora": "^5.4.1",
32
- "zod": "^3.23.8"
32
+ "zod": "^3.23.8",
33
+ "zod-to-json-schema": "^3.25.1"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@types/node": "^20.14.0",