@ariso-ai/ivan 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 (150) hide show
  1. package/README.md +412 -0
  2. package/dist/agent.d.ts +11 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +48 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/config/config.d.ts +20 -0
  7. package/dist/config/config.d.ts.map +1 -0
  8. package/dist/config/config.js +187 -0
  9. package/dist/config/config.js.map +1 -0
  10. package/dist/config.d.ts +46 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +414 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/database/database.d.ts +12 -0
  15. package/dist/database/database.d.ts.map +1 -0
  16. package/dist/database/database.js +45 -0
  17. package/dist/database/database.js.map +1 -0
  18. package/dist/database/migration.d.ts +11 -0
  19. package/dist/database/migration.d.ts.map +1 -0
  20. package/dist/database/migration.js +64 -0
  21. package/dist/database/migration.js.map +1 -0
  22. package/dist/database/migrations/001_create_jobs_table.d.ts +3 -0
  23. package/dist/database/migrations/001_create_jobs_table.d.ts.map +1 -0
  24. package/dist/database/migrations/001_create_jobs_table.js +14 -0
  25. package/dist/database/migrations/001_create_jobs_table.js.map +1 -0
  26. package/dist/database/migrations/001_initial_schema.d.ts +3 -0
  27. package/dist/database/migrations/001_initial_schema.d.ts.map +1 -0
  28. package/dist/database/migrations/001_initial_schema.js +66 -0
  29. package/dist/database/migrations/001_initial_schema.js.map +1 -0
  30. package/dist/database/migrations/002_create_tasks_table.d.ts +3 -0
  31. package/dist/database/migrations/002_create_tasks_table.d.ts.map +1 -0
  32. package/dist/database/migrations/002_create_tasks_table.js +16 -0
  33. package/dist/database/migrations/002_create_tasks_table.js.map +1 -0
  34. package/dist/database/migrations/003_add_log_to_tasks.d.ts +3 -0
  35. package/dist/database/migrations/003_add_log_to_tasks.d.ts.map +1 -0
  36. package/dist/database/migrations/003_add_log_to_tasks.js +11 -0
  37. package/dist/database/migrations/003_add_log_to_tasks.js.map +1 -0
  38. package/dist/database/migrations/004_add_branch_to_tasks.d.ts +3 -0
  39. package/dist/database/migrations/004_add_branch_to_tasks.d.ts.map +1 -0
  40. package/dist/database/migrations/004_add_branch_to_tasks.js +11 -0
  41. package/dist/database/migrations/004_add_branch_to_tasks.js.map +1 -0
  42. package/dist/database/migrations/005_add_type_to_tasks.d.ts +3 -0
  43. package/dist/database/migrations/005_add_type_to_tasks.d.ts.map +1 -0
  44. package/dist/database/migrations/005_add_type_to_tasks.js +11 -0
  45. package/dist/database/migrations/005_add_type_to_tasks.js.map +1 -0
  46. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.d.ts +3 -0
  47. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.d.ts.map +1 -0
  48. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.js +15 -0
  49. package/dist/database/migrations/006_add_comment_url_and_commit_to_tasks.js.map +1 -0
  50. package/dist/database/migrations/006_add_comment_url_to_tasks.d.ts +3 -0
  51. package/dist/database/migrations/006_add_comment_url_to_tasks.d.ts.map +1 -0
  52. package/dist/database/migrations/006_add_comment_url_to_tasks.js +14 -0
  53. package/dist/database/migrations/006_add_comment_url_to_tasks.js.map +1 -0
  54. package/dist/database/migrations/007_add_commit_to_tasks.d.ts +3 -0
  55. package/dist/database/migrations/007_add_commit_to_tasks.d.ts.map +1 -0
  56. package/dist/database/migrations/007_add_commit_to_tasks.js +13 -0
  57. package/dist/database/migrations/007_add_commit_to_tasks.js.map +1 -0
  58. package/dist/database/migrations/008_add_lint_and_test_task_type.d.ts +3 -0
  59. package/dist/database/migrations/008_add_lint_and_test_task_type.d.ts.map +1 -0
  60. package/dist/database/migrations/008_add_lint_and_test_task_type.js +42 -0
  61. package/dist/database/migrations/008_add_lint_and_test_task_type.js.map +1 -0
  62. package/dist/database/migrations/index.d.ts +3 -0
  63. package/dist/database/migrations/index.d.ts.map +1 -0
  64. package/dist/database/migrations/index.js +19 -0
  65. package/dist/database/migrations/index.js.map +1 -0
  66. package/dist/database/types.d.ts +34 -0
  67. package/dist/database/types.d.ts.map +1 -0
  68. package/dist/database/types.js +2 -0
  69. package/dist/database/types.js.map +1 -0
  70. package/dist/database.d.ts +13 -0
  71. package/dist/database.d.ts.map +1 -0
  72. package/dist/database.js +32 -0
  73. package/dist/database.js.map +1 -0
  74. package/dist/index.d.ts +3 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +285 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/scripts/task-executor.d.ts +3 -0
  79. package/dist/scripts/task-executor.d.ts.map +1 -0
  80. package/dist/scripts/task-executor.js +139 -0
  81. package/dist/scripts/task-executor.js.map +1 -0
  82. package/dist/scripts/task-planner.d.ts +3 -0
  83. package/dist/scripts/task-planner.d.ts.map +1 -0
  84. package/dist/scripts/task-planner.js +81 -0
  85. package/dist/scripts/task-planner.js.map +1 -0
  86. package/dist/services/address-executor.d.ts +13 -0
  87. package/dist/services/address-executor.d.ts.map +1 -0
  88. package/dist/services/address-executor.js +202 -0
  89. package/dist/services/address-executor.js.map +1 -0
  90. package/dist/services/address-task-executor.d.ts +19 -0
  91. package/dist/services/address-task-executor.d.ts.map +1 -0
  92. package/dist/services/address-task-executor.js +736 -0
  93. package/dist/services/address-task-executor.js.map +1 -0
  94. package/dist/services/claude-cli-executor.d.ts +14 -0
  95. package/dist/services/claude-cli-executor.d.ts.map +1 -0
  96. package/dist/services/claude-cli-executor.js +241 -0
  97. package/dist/services/claude-cli-executor.js.map +1 -0
  98. package/dist/services/claude-executor.d.ts +14 -0
  99. package/dist/services/claude-executor.d.ts.map +1 -0
  100. package/dist/services/claude-executor.js +274 -0
  101. package/dist/services/claude-executor.js.map +1 -0
  102. package/dist/services/claude-planner.d.ts +15 -0
  103. package/dist/services/claude-planner.d.ts.map +1 -0
  104. package/dist/services/claude-planner.js +107 -0
  105. package/dist/services/claude-planner.js.map +1 -0
  106. package/dist/services/docker-orchestrator.d.ts +11 -0
  107. package/dist/services/docker-orchestrator.d.ts.map +1 -0
  108. package/dist/services/docker-orchestrator.js +85 -0
  109. package/dist/services/docker-orchestrator.js.map +1 -0
  110. package/dist/services/executor-factory.d.ts +14 -0
  111. package/dist/services/executor-factory.d.ts.map +1 -0
  112. package/dist/services/executor-factory.js +14 -0
  113. package/dist/services/executor-factory.js.map +1 -0
  114. package/dist/services/git-manager.d.ts +36 -0
  115. package/dist/services/git-manager.d.ts.map +1 -0
  116. package/dist/services/git-manager.js +728 -0
  117. package/dist/services/git-manager.js.map +1 -0
  118. package/dist/services/index.d.ts +9 -0
  119. package/dist/services/index.d.ts.map +1 -0
  120. package/dist/services/index.js +9 -0
  121. package/dist/services/index.js.map +1 -0
  122. package/dist/services/job-manager.d.ts +30 -0
  123. package/dist/services/job-manager.d.ts.map +1 -0
  124. package/dist/services/job-manager.js +337 -0
  125. package/dist/services/job-manager.js.map +1 -0
  126. package/dist/services/openai-service.d.ts +14 -0
  127. package/dist/services/openai-service.d.ts.map +1 -0
  128. package/dist/services/openai-service.js +186 -0
  129. package/dist/services/openai-service.js.map +1 -0
  130. package/dist/services/pr-service.d.ts +31 -0
  131. package/dist/services/pr-service.d.ts.map +1 -0
  132. package/dist/services/pr-service.js +291 -0
  133. package/dist/services/pr-service.js.map +1 -0
  134. package/dist/services/repository-manager.d.ts +12 -0
  135. package/dist/services/repository-manager.d.ts.map +1 -0
  136. package/dist/services/repository-manager.js +101 -0
  137. package/dist/services/repository-manager.js.map +1 -0
  138. package/dist/services/task-executor.d.ts +20 -0
  139. package/dist/services/task-executor.d.ts.map +1 -0
  140. package/dist/services/task-executor.js +717 -0
  141. package/dist/services/task-executor.js.map +1 -0
  142. package/dist/types/non-interactive-config.d.ts +28 -0
  143. package/dist/types/non-interactive-config.d.ts.map +1 -0
  144. package/dist/types/non-interactive-config.js +2 -0
  145. package/dist/types/non-interactive-config.js.map +1 -0
  146. package/dist/web-server.d.ts +16 -0
  147. package/dist/web-server.d.ts.map +1 -0
  148. package/dist/web-server.js +488 -0
  149. package/dist/web-server.js.map +1 -0
  150. package/package.json +71 -0
@@ -0,0 +1,202 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import inquirer from 'inquirer';
4
+ import { JobManager } from './job-manager.js';
5
+ import { PRService } from './pr-service.js';
6
+ import { RepositoryManager } from './repository-manager.js';
7
+ import { GitManager } from './git-manager.js';
8
+ import { ExecutorFactory } from './executor-factory.js';
9
+ import { ConfigManager } from '../config.js';
10
+ import { AddressTaskExecutor } from './address-task-executor.js';
11
+ export class AddressExecutor {
12
+ jobManager;
13
+ prService;
14
+ repositoryManager;
15
+ gitManager = null;
16
+ claudeExecutor = null;
17
+ configManager;
18
+ workingDir;
19
+ constructor() {
20
+ this.jobManager = new JobManager();
21
+ this.repositoryManager = new RepositoryManager();
22
+ this.configManager = new ConfigManager();
23
+ this.workingDir = '';
24
+ this.prService = {};
25
+ }
26
+ getClaudeExecutor() {
27
+ if (!this.claudeExecutor) {
28
+ this.claudeExecutor = ExecutorFactory.getExecutor();
29
+ }
30
+ return this.claudeExecutor;
31
+ }
32
+ async executeWorkflow(specificPrNumber, fromUser) {
33
+ try {
34
+ if (specificPrNumber) {
35
+ console.log(chalk.blue.bold(`🔍 Checking PR #${specificPrNumber} for unaddressed issues...`));
36
+ }
37
+ else if (fromUser) {
38
+ console.log(chalk.blue.bold(`🔍 Scanning for PRs from @${fromUser} with unaddressed issues...`));
39
+ }
40
+ else {
41
+ console.log(chalk.blue.bold('🔍 Scanning for PRs with unaddressed issues...'));
42
+ }
43
+ console.log('');
44
+ // Validate dependencies
45
+ console.log(chalk.blue('🔍 Validating dependencies...'));
46
+ await this.getClaudeExecutor().validateClaudeCodeInstallation();
47
+ console.log(chalk.green('✅ Claude Code SDK configured'));
48
+ this.workingDir = await this.repositoryManager.getValidWorkingDirectory();
49
+ this.gitManager = new GitManager(this.workingDir);
50
+ this.prService = new PRService(this.workingDir);
51
+ this.gitManager.validateGitHubCliInstallation();
52
+ console.log(chalk.green('✅ GitHub CLI is installed'));
53
+ this.gitManager.validateGitHubCliAuthentication();
54
+ console.log(chalk.green('✅ GitHub CLI is authenticated'));
55
+ const repoInfo = this.repositoryManager.getRepositoryInfo(this.workingDir);
56
+ console.log(chalk.blue(`📂 Working in: ${repoInfo.name}`));
57
+ console.log('');
58
+ // Fetch PRs with issues
59
+ const spinner = ora(specificPrNumber ? `Fetching PR #${specificPrNumber}...` : 'Fetching open PRs...').start();
60
+ const prsWithIssues = specificPrNumber
61
+ ? await this.prService.getSpecificPRWithIssues(specificPrNumber)
62
+ : await this.prService.getOpenPRsWithIssues(fromUser);
63
+ spinner.succeed(`Found ${prsWithIssues.length} PRs with unaddressed issues`);
64
+ if (prsWithIssues.length === 0) {
65
+ if (specificPrNumber) {
66
+ console.log(chalk.green(`✨ PR #${specificPrNumber} has no unaddressed comments or failing checks!`));
67
+ }
68
+ else {
69
+ console.log(chalk.green('✨ No PRs with unaddressed comments or failing checks found!'));
70
+ }
71
+ return;
72
+ }
73
+ // Display PRs and let user choose
74
+ console.log('');
75
+ console.log(chalk.blue.bold('📋 PRs with issues:'));
76
+ console.log('');
77
+ const prChoices = prsWithIssues.map(pr => {
78
+ const issues = [];
79
+ if (pr.hasUnaddressedComments) {
80
+ issues.push(`${pr.unaddressedComments.length} unaddressed comment(s)`);
81
+ }
82
+ if (pr.hasTestOrLintFailures) {
83
+ issues.push(`${pr.testOrLintFailures.length} test/lint failure(s)`);
84
+ }
85
+ else if (pr.hasFailingChecks) {
86
+ issues.push(`${pr.failingChecks.length} failing check(s)`);
87
+ }
88
+ return {
89
+ name: `PR #${pr.number}: ${pr.title} - ${chalk.yellow(issues.join(', '))}`,
90
+ value: pr,
91
+ checked: true
92
+ };
93
+ });
94
+ const { selectedPRs } = await inquirer.prompt([
95
+ {
96
+ type: 'checkbox',
97
+ name: 'selectedPRs',
98
+ message: 'Select PRs to address:',
99
+ choices: prChoices,
100
+ validate: (input) => input.length > 0 || 'Please select at least one PR'
101
+ }
102
+ ]);
103
+ // Create tasks for selected PRs
104
+ const tasks = [];
105
+ for (const pr of selectedPRs) {
106
+ // Create tasks for unaddressed comments
107
+ for (const comment of pr.unaddressedComments) {
108
+ let description = `Address PR #${pr.number} comment from @${comment.author}: "${comment.body.substring(0, 100)}${comment.body.length > 100 ? '...' : ''}"`;
109
+ if (comment.path) {
110
+ description += ` (in ${comment.path}${comment.line ? `:${comment.line}` : ''})`;
111
+ }
112
+ tasks.push({
113
+ description,
114
+ prNumber: pr.number,
115
+ prBranch: pr.branch,
116
+ type: 'address'
117
+ });
118
+ }
119
+ // Create task for test/lint failures if any
120
+ if (pr.hasTestOrLintFailures && pr.testOrLintFailures.length > 0) {
121
+ tasks.push({
122
+ description: `Fix test and lint failures in PR #${pr.number}: ${pr.testOrLintFailures.join(', ')}`,
123
+ prNumber: pr.number,
124
+ prBranch: pr.branch,
125
+ type: 'lint_and_test'
126
+ });
127
+ }
128
+ else if (pr.hasFailingChecks && pr.failingChecks.length > 0) {
129
+ // Only create generic failing check task if there are no test/lint failures
130
+ const nonTestLintFailures = pr.failingChecks.filter((check) => !pr.testOrLintFailures.includes(check));
131
+ if (nonTestLintFailures.length > 0) {
132
+ tasks.push({
133
+ description: `Fix failing checks in PR #${pr.number}: ${nonTestLintFailures.join(', ')}`,
134
+ prNumber: pr.number,
135
+ prBranch: pr.branch,
136
+ type: 'address'
137
+ });
138
+ }
139
+ }
140
+ }
141
+ // Display tasks to be created
142
+ console.log('');
143
+ console.log(chalk.blue.bold(`📝 Creating ${tasks.length} tasks:`));
144
+ tasks.forEach((task, index) => {
145
+ console.log(chalk.gray(` ${index + 1}. ${task.description}`));
146
+ });
147
+ console.log('');
148
+ const { confirmTasks } = await inquirer.prompt([
149
+ {
150
+ type: 'confirm',
151
+ name: 'confirmTasks',
152
+ message: `Create these ${tasks.length} tasks?`,
153
+ default: true
154
+ }
155
+ ]);
156
+ if (!confirmTasks) {
157
+ console.log(chalk.yellow('⚠️ Task creation cancelled'));
158
+ return;
159
+ }
160
+ // Create job and tasks in database
161
+ const jobUuid = await this.jobManager.createJob(`Address PR issues - ${new Date().toLocaleDateString()}`, this.workingDir);
162
+ const createdTasks = [];
163
+ for (const task of tasks) {
164
+ const taskUuid = await this.jobManager.createTask(jobUuid, task.description, task.type);
165
+ // Store the branch name for the task
166
+ await this.jobManager.updateTaskBranch(taskUuid, task.prBranch);
167
+ const createdTask = await this.jobManager.getTask(taskUuid);
168
+ if (createdTask) {
169
+ createdTasks.push(createdTask);
170
+ }
171
+ }
172
+ console.log(chalk.green(`✅ Created ${createdTasks.length} tasks`));
173
+ console.log('');
174
+ // Ask if user wants to execute tasks now
175
+ const { executeNow } = await inquirer.prompt([
176
+ {
177
+ type: 'confirm',
178
+ name: 'executeNow',
179
+ message: 'Would you like to execute these tasks now?',
180
+ default: true
181
+ }
182
+ ]);
183
+ if (!executeNow) {
184
+ console.log(chalk.blue('💾 Tasks saved for later execution'));
185
+ return;
186
+ }
187
+ // Execute tasks using the AddressTaskExecutor
188
+ const addressTaskExecutor = new AddressTaskExecutor();
189
+ await addressTaskExecutor.executeAddressTasks(createdTasks);
190
+ console.log('');
191
+ console.log(chalk.green.bold('🎉 All tasks completed successfully!'));
192
+ }
193
+ catch (error) {
194
+ console.error(chalk.red.bold('❌ Workflow failed:'), error);
195
+ throw error;
196
+ }
197
+ finally {
198
+ this.jobManager.close();
199
+ }
200
+ }
201
+ }
202
+ //# sourceMappingURL=address-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-executor.js","sourceRoot":"","sources":["../../src/services/address-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Task } from '../database.js';
2
+ export declare class AddressTaskExecutor {
3
+ private jobManager;
4
+ private gitManager;
5
+ private claudeExecutor;
6
+ private openaiService;
7
+ private configManager;
8
+ private prService;
9
+ private workingDir;
10
+ private repoInstructions;
11
+ constructor();
12
+ private getClaudeExecutor;
13
+ private getOpenAIService;
14
+ executeAddressTasks(tasks: Task[]): Promise<void>;
15
+ private getUnaddressedComments;
16
+ private generateReviewInstructions;
17
+ private tryCommitWithFixes;
18
+ }
19
+ //# sourceMappingURL=address-task-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-task-executor.d.ts","sourceRoot":"","sources":["../../src/services/address-task-executor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAqB;;IAQ7C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOlB,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA2oBzC,sBAAsB;YAwGtB,0BAA0B;YAyD1B,kBAAkB;CAoEjC"}