@ariso-ai/ivan 1.0.3 → 1.0.5

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 (63) hide show
  1. package/README.md +7 -21
  2. package/dist/config.d.ts +4 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +43 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/database/migrations/009_create_memory_tables.d.ts +3 -0
  7. package/dist/database/migrations/009_create_memory_tables.d.ts.map +1 -0
  8. package/dist/database/migrations/009_create_memory_tables.js +35 -0
  9. package/dist/database/migrations/009_create_memory_tables.js.map +1 -0
  10. package/dist/index.js +12 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/services/address-task-executor.d.ts.map +1 -1
  13. package/dist/services/address-task-executor.js +5 -3
  14. package/dist/services/address-task-executor.js.map +1 -1
  15. package/dist/services/embedding-service.d.ts +12 -0
  16. package/dist/services/embedding-service.d.ts.map +1 -0
  17. package/dist/services/embedding-service.js +51 -0
  18. package/dist/services/embedding-service.js.map +1 -0
  19. package/dist/services/git-manager.d.ts +1 -0
  20. package/dist/services/git-manager.d.ts.map +1 -1
  21. package/dist/services/git-manager.js +10 -4
  22. package/dist/services/git-manager.js.map +1 -1
  23. package/dist/services/memory-service.d.ts +26 -0
  24. package/dist/services/memory-service.d.ts.map +1 -0
  25. package/dist/services/memory-service.js +128 -0
  26. package/dist/services/memory-service.js.map +1 -0
  27. package/package.json +2 -2
  28. package/dist/agent.d.ts +0 -11
  29. package/dist/agent.d.ts.map +0 -1
  30. package/dist/agent.js +0 -48
  31. package/dist/agent.js.map +0 -1
  32. package/dist/config/config.d.ts +0 -20
  33. package/dist/config/config.d.ts.map +0 -1
  34. package/dist/config/config.js +0 -187
  35. package/dist/config/config.js.map +0 -1
  36. package/dist/database/database.d.ts +0 -12
  37. package/dist/database/database.d.ts.map +0 -1
  38. package/dist/database/database.js +0 -45
  39. package/dist/database/database.js.map +0 -1
  40. package/dist/database/migrations/001_initial_schema.d.ts +0 -3
  41. package/dist/database/migrations/001_initial_schema.d.ts.map +0 -1
  42. package/dist/database/migrations/001_initial_schema.js +0 -66
  43. package/dist/database/migrations/001_initial_schema.js.map +0 -1
  44. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.d.ts +0 -3
  45. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.d.ts.map +0 -1
  46. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.js +0 -15
  47. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.js.map +0 -1
  48. package/dist/scripts/task-executor.d.ts +0 -3
  49. package/dist/scripts/task-executor.d.ts.map +0 -1
  50. package/dist/scripts/task-executor.js +0 -139
  51. package/dist/scripts/task-executor.js.map +0 -1
  52. package/dist/scripts/task-planner.d.ts +0 -3
  53. package/dist/scripts/task-planner.d.ts.map +0 -1
  54. package/dist/scripts/task-planner.js +0 -81
  55. package/dist/scripts/task-planner.js.map +0 -1
  56. package/dist/services/claude-planner.d.ts +0 -15
  57. package/dist/services/claude-planner.d.ts.map +0 -1
  58. package/dist/services/claude-planner.js +0 -107
  59. package/dist/services/claude-planner.js.map +0 -1
  60. package/dist/services/docker-orchestrator.d.ts +0 -11
  61. package/dist/services/docker-orchestrator.d.ts.map +0 -1
  62. package/dist/services/docker-orchestrator.js +0 -85
  63. package/dist/services/docker-orchestrator.js.map +0 -1
@@ -1,85 +0,0 @@
1
- import { exec } from 'child_process';
2
- import { promisify } from 'util';
3
- import * as path from 'path';
4
- import * as os from 'os';
5
- import chalk from 'chalk';
6
- const execAsync = promisify(exec);
7
- export class DockerOrchestrator {
8
- jobManager;
9
- repository;
10
- openAiApiKey;
11
- constructor(jobManager, repository, openAiApiKey) {
12
- this.jobManager = jobManager;
13
- this.repository = repository;
14
- this.openAiApiKey = openAiApiKey;
15
- }
16
- async runTask(task) {
17
- console.log(chalk.blue(`\n🐳 Running task: ${task.title}`));
18
- if (!task.id) {
19
- throw new Error('Task ID is required');
20
- }
21
- await this.jobManager.updateTaskStatus(task.id, 'in_progress');
22
- try {
23
- const containerName = `ivan-task-${task.id}`;
24
- const branchName = `ivan/${task.title}`;
25
- const homeDir = os.homedir();
26
- const scriptPath = path.join(process.cwd(), 'dist', 'scripts', 'task-executor.js');
27
- // Build Docker command
28
- const dockerCommand = `docker run --rm \
29
- --name ${containerName} \
30
- -v ${scriptPath}:/app/task-executor.js:ro \
31
- -v ${homeDir}/.ivan/db.sqlite:${homeDir}/.ivan/db.sqlite \
32
- -e TASK_ID="${task.id}" \
33
- -e TASK_TITLE="${task.title}" \
34
- -e TASK_DESCRIPTION="${task.description}" \
35
- -e BRANCH_NAME="${branchName}" \
36
- -e REPOSITORY="${this.repository}" \
37
- -e OPENAI_API_KEY="${this.openAiApiKey}" \
38
- -e IVAN_DB_PATH="${homeDir}/.ivan/db.sqlite" \
39
- -e CLAUDE_DIR="${homeDir}/.claude" \
40
- -e SSH_DIR="${homeDir}/.ssh" \
41
- -e GIT_CONFIG="${homeDir}/.gitconfig" \
42
- -w /workspace \
43
- node:24-alpine \
44
- sh -c "apk add --no-cache git openssh && \
45
- mkdir -p /root/.ssh /root/.claude/plugins && \
46
- cp -r \${CLAUDE_DIR}/* /root/.claude/ 2>/dev/null || true && \
47
- cp -r \${SSH_DIR}/* /root/.ssh/ 2>/dev/null || true && \
48
- cp \${GIT_CONFIG} /root/.gitconfig 2>/dev/null || true && \
49
- chmod 600 /root/.ssh/* 2>/dev/null || true && \
50
- ssh-keyscan -H github.com >> /root/.ssh/known_hosts 2>/dev/null || true && \
51
- git config --global user.name 'Ivan Agent' 2>/dev/null || true && \
52
- git config --global user.email 'ivan@agent.local' 2>/dev/null || true && \
53
- npm i -g @anthropic-ai/claude-code && \
54
- echo 'Starting task executor...' && \
55
- CLAUDE_CONFIG_DIR=/root/.claude node /app/task-executor.js"`;
56
- console.log(chalk.gray('Starting Docker container...'));
57
- const { stdout, stderr } = await execAsync(dockerCommand);
58
- if (stdout)
59
- console.log(chalk.gray(stdout));
60
- if (stderr)
61
- console.error(chalk.yellow(stderr));
62
- await this.jobManager.updateTaskStatus(task.id, 'completed');
63
- console.log(chalk.green(`āœ“ Task ${task.title} completed`));
64
- }
65
- catch (error) {
66
- console.error(chalk.red(`āœ— Task ${task.title} failed:`), error);
67
- await this.jobManager.updateTaskStatus(task.id, 'failed');
68
- throw error;
69
- }
70
- }
71
- async runAllTasks(jobId) {
72
- const tasks = await this.jobManager.getJobTasks(jobId);
73
- console.log(chalk.cyan(`\nšŸš€ Running ${tasks.length} tasks for job #${jobId}\n`));
74
- for (const task of tasks) {
75
- try {
76
- await this.runTask(task);
77
- console.log(chalk.gray('─'.repeat(50)));
78
- }
79
- catch {
80
- console.error(chalk.red(`Failed to run task ${task.title}, continuing with next task...`));
81
- }
82
- }
83
- }
84
- }
85
- //# sourceMappingURL=docker-orchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docker-orchestrator.js","sourceRoot":"","sources":["../../src/services/docker-orchestrator.ts"],"names":[],"mappings":"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"}