ai-agent-test 0.3.3 → 0.4.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/README.md +11 -0
- package/bin/ai +56 -1
- package/dist/index.js +29 -19
- package/dist/index.js.map +1 -1
- package/dist/utils/system.d.ts +9 -2
- package/dist/utils/system.d.ts.map +1 -1
- package/dist/utils/system.js +117 -24
- package/dist/utils/system.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -100,3 +100,14 @@ When installed globally, run `ai` to start the interactive CLI:
|
|
|
100
100
|
- `exit` or `quit` to terminate the session
|
|
101
101
|
- `debug <n>` to view last n messages (or all if no number provided)
|
|
102
102
|
- ESC key to interrupt the current agent iteration
|
|
103
|
+
|
|
104
|
+
### Session Management
|
|
105
|
+
|
|
106
|
+
View and restore previous sessions:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
ai sessions ls # List last 20 sessions with 0-based indexing
|
|
110
|
+
ai sessions 2 # Load and restart from session 2
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
When loading a session, the conversation history is restored and logged to the current session file.
|
package/bin/ai
CHANGED
|
@@ -29,7 +29,9 @@ if (argv[2] === '--help') {
|
|
|
29
29
|
Usage: ai [options] [model-index]
|
|
30
30
|
|
|
31
31
|
Commands:
|
|
32
|
-
|
|
32
|
+
sessions ls List last 20 sessions
|
|
33
|
+
sessions <idx> Load and restart from session <idx>
|
|
34
|
+
update Update the ai-agent-test package to the latest version
|
|
33
35
|
--version Show version number
|
|
34
36
|
--help Show help message
|
|
35
37
|
|
|
@@ -39,6 +41,8 @@ Arguments:
|
|
|
39
41
|
Examples:
|
|
40
42
|
ai # Run with default model
|
|
41
43
|
ai 1 # Run with second model in config
|
|
44
|
+
ai sessions ls # List last 20 sessions
|
|
45
|
+
ai sessions 2 # Load and restart from session 2
|
|
42
46
|
ai update # Update to latest version
|
|
43
47
|
ai --version # Show version
|
|
44
48
|
ai --help # Show help
|
|
@@ -55,6 +59,57 @@ if (argv[2] === 'update') {
|
|
|
55
59
|
});
|
|
56
60
|
}
|
|
57
61
|
|
|
62
|
+
// Handle sessions command
|
|
63
|
+
if (argv[2] === 'sessions') {
|
|
64
|
+
const subCommand = argv[3];
|
|
65
|
+
|
|
66
|
+
import('../dist/utils/system.js').then(({ listSessions, loadSession, getSessionFileByIndex }) => {
|
|
67
|
+
if (subCommand === 'ls') {
|
|
68
|
+
// List sessions
|
|
69
|
+
const sessions = listSessions(20);
|
|
70
|
+
if (sessions.length === 0) {
|
|
71
|
+
console.log('No sessions found.');
|
|
72
|
+
} else {
|
|
73
|
+
console.log(`Last ${sessions.length} sessions:`);
|
|
74
|
+
sessions.forEach((session, index) => {
|
|
75
|
+
let line = `${index}. ${session.timestamp}`;
|
|
76
|
+
if (session.summary) {
|
|
77
|
+
line += ` - ${session.summary}`;
|
|
78
|
+
}
|
|
79
|
+
console.log(line);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
process.exit(0);
|
|
83
|
+
} else {
|
|
84
|
+
// Load a specific session by index
|
|
85
|
+
const sessionIndex = subCommand ? parseInt(subCommand, 10) : undefined;
|
|
86
|
+
if (sessionIndex !== undefined && !isNaN(sessionIndex)) {
|
|
87
|
+
const sessionFile = getSessionFileByIndex(sessionIndex);
|
|
88
|
+
if (!sessionFile) {
|
|
89
|
+
console.log(`Session ${sessionIndex} not found.`);
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const messages = loadSession(sessionFile);
|
|
94
|
+
if (!messages) {
|
|
95
|
+
console.log(`Could not load session ${sessionIndex}.`);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Set env var to tell index.ts to load this session
|
|
100
|
+
process.env.AI_SESSION_INDEX = sessionIndex.toString();
|
|
101
|
+
process.env.AI_SESSION_FILE = sessionFile;
|
|
102
|
+
|
|
103
|
+
console.log(`Loaded session ${sessionIndex} from ${sessionFile}`);
|
|
104
|
+
// Don't exit here - let the app continue to index.js
|
|
105
|
+
} else {
|
|
106
|
+
console.log('Usage: ai sessions <index> or ai sessions ls');
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
58
113
|
// Set AI_MODEL_INDEX environment variable if provided as first argument
|
|
59
114
|
if (argv[2]) {
|
|
60
115
|
process.env.AI_MODEL_INDEX = argv[2];
|
package/dist/index.js
CHANGED
|
@@ -8,10 +8,18 @@ import path from "path";
|
|
|
8
8
|
import { fileURLToPath } from "url";
|
|
9
9
|
import { dirname } from "path";
|
|
10
10
|
import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
11
|
-
import {
|
|
11
|
+
import { appendMessageToLog, loadSession } from "./utils/system.js";
|
|
12
|
+
import dotenv from "dotenv";
|
|
13
|
+
// Load environment variables from .env file
|
|
14
|
+
dotenv.config();
|
|
12
15
|
// Get the directory of this module (works with ES modules)
|
|
13
16
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
17
|
const __dirname = dirname(__filename);
|
|
18
|
+
// Helper function to push to messages array and write to log
|
|
19
|
+
function pushMessage(message) {
|
|
20
|
+
messages.push(message);
|
|
21
|
+
appendMessageToLog(message);
|
|
22
|
+
}
|
|
15
23
|
// Read configuration from environment variables set by bin/ai
|
|
16
24
|
const modelProvider = process.env.AI_MODEL_APITYPE;
|
|
17
25
|
const modelName = process.env.AI_MODEL_NAME || "";
|
|
@@ -47,13 +55,28 @@ async function askQuestion(prompt) {
|
|
|
47
55
|
rl.once("line", (answer) => resolve(answer));
|
|
48
56
|
});
|
|
49
57
|
}
|
|
58
|
+
// Check for loaded messages from a previous session via env var
|
|
50
59
|
const messages = [];
|
|
60
|
+
const sessionFile = process.env.AI_SESSION_FILE;
|
|
61
|
+
if (sessionFile) {
|
|
62
|
+
const loadedMessages = loadSession(sessionFile);
|
|
63
|
+
if (loadedMessages) {
|
|
64
|
+
messages.push(...loadedMessages);
|
|
65
|
+
pushMessage({
|
|
66
|
+
role: "assistant",
|
|
67
|
+
content: `[Resuming previous session from file ${sessionFile}]`,
|
|
68
|
+
});
|
|
69
|
+
console.log(chalk.green(`Loaded ${messages.length} messages from previous session.`));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.error(chalk.red("Failed to load session."));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
51
75
|
async function runLoop(prompt) {
|
|
52
|
-
|
|
76
|
+
pushMessage({
|
|
53
77
|
role: "user",
|
|
54
78
|
content: prompt,
|
|
55
79
|
});
|
|
56
|
-
logToFile(`User prompt: ${prompt.substring(0, 200)}...`);
|
|
57
80
|
// Reset interrupt flag
|
|
58
81
|
interruptRequested = false;
|
|
59
82
|
// Set up ESC key listener
|
|
@@ -91,7 +114,6 @@ async function runLoop(prompt) {
|
|
|
91
114
|
for await (const part of res.fullStream) {
|
|
92
115
|
if (interruptRequested) {
|
|
93
116
|
cleanupEscListener();
|
|
94
|
-
logToFile("=== break loop: user interrupted with ESC key ===");
|
|
95
117
|
return;
|
|
96
118
|
}
|
|
97
119
|
if (part.type === "text-delta") {
|
|
@@ -139,6 +161,7 @@ async function runLoop(prompt) {
|
|
|
139
161
|
const toolResultIds = new Set(toolResultContent.map((result) => result.toolCallId));
|
|
140
162
|
for (const toolCall of toolCallsCollected) {
|
|
141
163
|
if (!toolResultIds.has(toolCall.toolCallId)) {
|
|
164
|
+
console.log(chalk.red(`Warning: Missing tool result for call ${toolCall.toolCallId} (${toolCall.toolName})`));
|
|
142
165
|
toolResultContent.push({
|
|
143
166
|
type: "tool-result",
|
|
144
167
|
toolCallId: toolCall.toolCallId,
|
|
@@ -148,7 +171,6 @@ async function runLoop(prompt) {
|
|
|
148
171
|
value: `Tool execution failed: missing tool result for call ${toolCall.toolCallId} (${toolCall.toolName}).`,
|
|
149
172
|
},
|
|
150
173
|
});
|
|
151
|
-
logToFile(`Synthesized failed tool result for missing call ${toolCall.toolCallId} (${toolCall.toolName})`);
|
|
152
174
|
}
|
|
153
175
|
}
|
|
154
176
|
const usage = await res.usage;
|
|
@@ -160,41 +182,33 @@ async function runLoop(prompt) {
|
|
|
160
182
|
assistantContent.push(toolCall);
|
|
161
183
|
}
|
|
162
184
|
if (assistantContent.length > 0) {
|
|
163
|
-
|
|
185
|
+
pushMessage({
|
|
164
186
|
role: "assistant",
|
|
165
187
|
content: assistantContent,
|
|
166
188
|
});
|
|
167
|
-
logToFile("Added assistant message with content");
|
|
168
189
|
}
|
|
169
190
|
if (toolResultContent.length > 0) {
|
|
170
|
-
|
|
191
|
+
pushMessage({
|
|
171
192
|
role: "tool",
|
|
172
193
|
content: toolResultContent,
|
|
173
194
|
});
|
|
174
|
-
logToFile(`Added ${toolResultContent.length} tool result(s)`);
|
|
175
195
|
}
|
|
176
196
|
// Display token usage
|
|
177
197
|
console.log(chalk.gray(`\n\n[${modelName}] Token: ${usage.totalTokens || 0} (${usage.inputTokens || 0} + ${usage.outputTokens || 0})`));
|
|
178
|
-
logToFile(`Iteration complete. Tool calls: ${toolCallsCollected.length}, Tool results: ${toolResultContent.length}`);
|
|
179
|
-
logMessages(messages);
|
|
180
198
|
if (toolCallsCollected.length === 0) {
|
|
181
|
-
logToFile("=== break loop: no tool calls ===");
|
|
182
199
|
break;
|
|
183
200
|
}
|
|
184
201
|
const progressRes = toolResultContent.find((result) => result.toolName === toolNames.recordProgress);
|
|
185
202
|
if (progressRes && progressRes.output?.value === 100) {
|
|
186
203
|
console.log("\nTask completed with 100% progress!");
|
|
187
|
-
logToFile("=== break loop: task completed with 100% progress ===");
|
|
188
204
|
break;
|
|
189
205
|
}
|
|
190
206
|
const followUpRes = toolResultContent.find((result) => result.toolName === toolNames.askUserFollowup);
|
|
191
207
|
if (followUpRes) {
|
|
192
208
|
console.log(chalk.yellow("\n--- Waiting for user input ---"));
|
|
193
|
-
logToFile("=== break loop: asked user followup ===");
|
|
194
209
|
break;
|
|
195
210
|
}
|
|
196
211
|
if (interruptRequested) {
|
|
197
|
-
logToFile("=== break loop: user interrupted with ESC key ===");
|
|
198
212
|
break;
|
|
199
213
|
}
|
|
200
214
|
}
|
|
@@ -240,7 +254,6 @@ async function checkNpmUpdate() {
|
|
|
240
254
|
}
|
|
241
255
|
}
|
|
242
256
|
async function main() {
|
|
243
|
-
logToFile(`\n========== Session Started ========== pwd: ${process.cwd()}`);
|
|
244
257
|
console.log(chalk.cyan(`AI Agent Ready! (${process.cwd()})\n`));
|
|
245
258
|
console.log(chalk.cyan("interrupt: ESC, debug: 'debug [num]'"));
|
|
246
259
|
// Check for updates - only show if update is available
|
|
@@ -252,15 +265,12 @@ async function main() {
|
|
|
252
265
|
}
|
|
253
266
|
catch (error) {
|
|
254
267
|
// Silent fail - just don't show update message if something goes wrong
|
|
255
|
-
logToFile(`Failed to check for updates: ${error.message}`);
|
|
256
268
|
}
|
|
257
269
|
console.log(chalk.cyan("============================================================\n"));
|
|
258
270
|
while (true) {
|
|
259
271
|
const userPrompt = await askQuestion("\nPrompt: ");
|
|
260
272
|
if (userPrompt.toLowerCase() === "exit" ||
|
|
261
273
|
userPrompt.toLowerCase() === "quit") {
|
|
262
|
-
logToFile("User exited the session");
|
|
263
|
-
logToFile("========== Session Ended ==========\n");
|
|
264
274
|
rl.close();
|
|
265
275
|
break;
|
|
266
276
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/system.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { ModelMessage } from "ai";
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
2
|
+
export declare function getSessionFile(): string;
|
|
3
|
+
export declare function appendMessageToLog(message: ModelMessage): void;
|
|
4
|
+
export declare function listSessions(limit?: number): Array<{
|
|
5
|
+
file: string;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
summary?: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function loadSession(file: string): ModelMessage[] | null;
|
|
10
|
+
export declare function getSessionFileByIndex(index: number): string | null;
|
|
4
11
|
//# sourceMappingURL=system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAWvC,wBAAgB,cAAc,IAAI,MAAM,CAavC;AAQD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,QAmCvD;AAED,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAAW,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwD9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAY/D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE"}
|
package/dist/utils/system.js
CHANGED
|
@@ -1,35 +1,128 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { homedir } from "os";
|
|
4
|
-
//
|
|
5
|
-
const
|
|
6
|
-
if (!fs.existsSync(
|
|
7
|
-
fs.mkdirSync(
|
|
4
|
+
// Session file setup
|
|
5
|
+
const sessionDir = path.join(homedir(), ".ai", "sessions");
|
|
6
|
+
if (!fs.existsSync(sessionDir)) {
|
|
7
|
+
fs.mkdirSync(sessionDir, { recursive: true });
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
// Get session file - checks env var dynamically, creates new file only if needed
|
|
10
|
+
let currentSessionFile;
|
|
11
|
+
export function getSessionFile() {
|
|
12
|
+
if (process.env.AI_SESSION_FILE) {
|
|
13
|
+
return path.join(sessionDir, process.env.AI_SESSION_FILE);
|
|
14
|
+
}
|
|
15
|
+
// If no env var, use the same session file for the duration of this run
|
|
16
|
+
if (!currentSessionFile) {
|
|
17
|
+
const date = new Date();
|
|
18
|
+
currentSessionFile = path.join(sessionDir, `${date.toISOString().replace(/\.\d{3}Z$/, "")}-messages.json`);
|
|
19
|
+
}
|
|
20
|
+
return currentSessionFile;
|
|
14
21
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
// For backward compatibility - default session file
|
|
23
|
+
const defaultSessionFile = path.join(sessionDir, `${new Date().toISOString().replace(/\.\d{3}Z$/, "")}-messages.json`);
|
|
24
|
+
export function appendMessageToLog(message) {
|
|
25
|
+
const formattedMessage = JSON.stringify(message, null, 2)
|
|
26
|
+
.split("\n")
|
|
27
|
+
.map((line) => ` ${line}`)
|
|
28
|
+
.join("\n");
|
|
29
|
+
let fd;
|
|
30
|
+
try {
|
|
31
|
+
// Open read/write so we can truncate the closing bracket and append in-place.
|
|
32
|
+
fd = fs.openSync(getSessionFile(), "a+");
|
|
33
|
+
const { size } = fs.fstatSync(fd);
|
|
34
|
+
if (size === 0) {
|
|
35
|
+
fs.writeSync(fd, `[\n${formattedMessage}\n]\n`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Expected file ending is "\n]\n" from our writer.
|
|
39
|
+
if (size >= 3) {
|
|
40
|
+
fs.ftruncateSync(fd, size - 3);
|
|
41
|
+
fs.writeSync(fd, `,\n${formattedMessage}\n]\n`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Fallback for unexpected tiny/corrupt content.
|
|
45
|
+
fs.ftruncateSync(fd, 0);
|
|
46
|
+
fs.writeSync(fd, `[\n${formattedMessage}\n]\n`);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Last-resort fallback keeps logging functional.
|
|
50
|
+
fs.writeFileSync(getSessionFile(), `[\n${formattedMessage}\n]\n`);
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
if (fd !== undefined) {
|
|
54
|
+
fs.closeSync(fd);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function listSessions(limit = 20) {
|
|
59
|
+
if (!fs.existsSync(sessionDir)) {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
const files = fs
|
|
63
|
+
.readdirSync(sessionDir)
|
|
64
|
+
.filter((file) => file.endsWith("-messages.json"))
|
|
65
|
+
.sort((a, b) => {
|
|
66
|
+
// Sort by filename (which includes ISO timestamp) in reverse chronological order
|
|
67
|
+
return b.localeCompare(a);
|
|
68
|
+
})
|
|
69
|
+
.slice(0, limit);
|
|
70
|
+
const result = files.map((file) => {
|
|
71
|
+
const timestamp = file.split("-messages.json")[0] || "";
|
|
72
|
+
// Try to read and parse the session file for a summary
|
|
73
|
+
let summary = undefined;
|
|
74
|
+
try {
|
|
75
|
+
const content = fs.readFileSync(path.join(sessionDir, file), "utf-8");
|
|
76
|
+
const messages = JSON.parse(content);
|
|
77
|
+
// Collect all user messages and join them
|
|
78
|
+
const userMessages = [];
|
|
79
|
+
messages.forEach((msg) => {
|
|
80
|
+
if (msg.role === "user" && typeof msg.content === "string") {
|
|
81
|
+
userMessages.push(msg.content);
|
|
82
|
+
}
|
|
27
83
|
});
|
|
84
|
+
if (userMessages.length > 0) {
|
|
85
|
+
// Join all user messages with spaces
|
|
86
|
+
const combined = userMessages.join(" ");
|
|
87
|
+
// Truncate to 40 characters if needed
|
|
88
|
+
summary =
|
|
89
|
+
combined.length > 40 ? combined.substring(0, 40) + "..." : combined;
|
|
90
|
+
}
|
|
28
91
|
}
|
|
29
|
-
|
|
30
|
-
|
|
92
|
+
catch (error) {
|
|
93
|
+
// If we can't read the file, just show timestamp
|
|
31
94
|
}
|
|
95
|
+
const session = {
|
|
96
|
+
file,
|
|
97
|
+
timestamp,
|
|
98
|
+
};
|
|
99
|
+
if (summary !== undefined) {
|
|
100
|
+
session.summary = summary;
|
|
101
|
+
}
|
|
102
|
+
return session;
|
|
32
103
|
});
|
|
33
|
-
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
export function loadSession(file) {
|
|
107
|
+
try {
|
|
108
|
+
const fullPath = path.join(sessionDir, file);
|
|
109
|
+
if (!fs.existsSync(fullPath)) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const content = fs.readFileSync(fullPath, "utf-8");
|
|
113
|
+
return JSON.parse(content);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.error(`Error loading session ${file}: ${error.message}`);
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function getSessionFileByIndex(index) {
|
|
121
|
+
const sessions = listSessions();
|
|
122
|
+
if (index < 0 || index >= sessions.length) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const session = sessions[index];
|
|
126
|
+
return session ? session.file : null;
|
|
34
127
|
}
|
|
35
128
|
//# sourceMappingURL=system.js.map
|
package/dist/utils/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-agent-test",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ai": "./bin/ai"
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"@ai-sdk/openai": "^3.0.50",
|
|
52
52
|
"ai": "^6.0.146",
|
|
53
53
|
"chalk": "^5.6.2",
|
|
54
|
+
"dotenv": "^17.4.1",
|
|
54
55
|
"jsdom": "^29.0.1",
|
|
55
56
|
"zod": "^4.3.6"
|
|
56
57
|
}
|