@ariso-ai/ivan 1.0.5 → 1.0.6
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/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +202 -3
- package/dist/config.js.map +1 -1
- package/dist/database/migrations/009_create_repository_table.d.ts +3 -0
- package/dist/database/migrations/009_create_repository_table.d.ts.map +1 -0
- package/dist/database/migrations/009_create_repository_table.js +15 -0
- package/dist/database/migrations/009_create_repository_table.js.map +1 -0
- package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.d.ts +3 -0
- package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.d.ts.map +1 -0
- package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.js +13 -0
- package/dist/database/migrations/010_add_repository_id_to_jobs_and_tasks.js.map +1 -0
- package/dist/database/migrations/011_create_learnings_table.d.ts +3 -0
- package/dist/database/migrations/011_create_learnings_table.d.ts.map +1 -0
- package/dist/database/migrations/011_create_learnings_table.js +16 -0
- package/dist/database/migrations/011_create_learnings_table.js.map +1 -0
- package/dist/database/migrations/012_create_learning_embeddings_table.d.ts +3 -0
- package/dist/database/migrations/012_create_learning_embeddings_table.d.ts.map +1 -0
- package/dist/database/migrations/012_create_learning_embeddings_table.js +13 -0
- package/dist/database/migrations/012_create_learning_embeddings_table.js.map +1 -0
- package/dist/database/migrations/index.d.ts.map +1 -1
- package/dist/database/migrations/index.js +5 -1
- package/dist/database/migrations/index.js.map +1 -1
- package/dist/database/types.d.ts +11 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/services/address-executor.d.ts.map +1 -1
- package/dist/services/address-executor.js +8 -21
- package/dist/services/address-executor.js.map +1 -1
- package/dist/services/address-task-executor.d.ts.map +1 -1
- package/dist/services/address-task-executor.js +5 -6
- package/dist/services/address-task-executor.js.map +1 -1
- package/dist/services/git-interfaces.d.ts +67 -0
- package/dist/services/git-interfaces.d.ts.map +1 -0
- package/dist/services/git-interfaces.js +2 -0
- package/dist/services/git-interfaces.js.map +1 -0
- package/dist/services/git-manager-cli.d.ts +33 -0
- package/dist/services/git-manager-cli.d.ts.map +1 -0
- package/dist/services/git-manager-cli.js +734 -0
- package/dist/services/git-manager-cli.js.map +1 -0
- package/dist/services/git-manager-pat.d.ts +36 -0
- package/dist/services/git-manager-pat.d.ts.map +1 -0
- package/dist/services/git-manager-pat.js +667 -0
- package/dist/services/git-manager-pat.js.map +1 -0
- package/dist/services/github-api-client.d.ts +115 -0
- package/dist/services/github-api-client.d.ts.map +1 -0
- package/dist/services/github-api-client.js +256 -0
- package/dist/services/github-api-client.js.map +1 -0
- package/dist/services/index.d.ts +9 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +12 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/job-manager.d.ts +3 -3
- package/dist/services/job-manager.d.ts.map +1 -1
- package/dist/services/job-manager.js +14 -10
- package/dist/services/job-manager.js.map +1 -1
- package/dist/services/learn-executor.d.ts +13 -0
- package/dist/services/learn-executor.d.ts.map +1 -0
- package/dist/services/learn-executor.js +293 -0
- package/dist/services/learn-executor.js.map +1 -0
- package/dist/services/learning-service.d.ts +30 -0
- package/dist/services/learning-service.d.ts.map +1 -0
- package/dist/services/learning-service.js +88 -0
- package/dist/services/learning-service.js.map +1 -0
- package/dist/services/pr-service-cli.d.ts +12 -0
- package/dist/services/pr-service-cli.d.ts.map +1 -0
- package/dist/services/pr-service-cli.js +291 -0
- package/dist/services/pr-service-cli.js.map +1 -0
- package/dist/services/pr-service-pat.d.ts +15 -0
- package/dist/services/pr-service-pat.d.ts.map +1 -0
- package/dist/services/pr-service-pat.js +255 -0
- package/dist/services/pr-service-pat.js.map +1 -0
- package/dist/services/repository-manager-cli.d.ts +17 -0
- package/dist/services/repository-manager-cli.d.ts.map +1 -0
- package/dist/services/repository-manager-cli.js +148 -0
- package/dist/services/repository-manager-cli.js.map +1 -0
- package/dist/services/repository-manager-pat.d.ts +17 -0
- package/dist/services/repository-manager-pat.d.ts.map +1 -0
- package/dist/services/repository-manager-pat.js +148 -0
- package/dist/services/repository-manager-pat.js.map +1 -0
- package/dist/services/repository-manager.d.ts +7 -0
- package/dist/services/repository-manager.d.ts.map +1 -1
- package/dist/services/repository-manager.js +47 -0
- package/dist/services/repository-manager.js.map +1 -1
- package/dist/services/service-factory.d.ts +27 -0
- package/dist/services/service-factory.d.ts.map +1 -0
- package/dist/services/service-factory.js +79 -0
- package/dist/services/service-factory.js.map +1 -0
- package/dist/services/task-executor.d.ts.map +1 -1
- package/dist/services/task-executor.js +39 -68
- package/dist/services/task-executor.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class LearnExecutor {
|
|
2
|
+
private dbManager;
|
|
3
|
+
private learningService;
|
|
4
|
+
constructor();
|
|
5
|
+
execute(workingDir: string): Promise<void>;
|
|
6
|
+
private getOrCreateRepository;
|
|
7
|
+
private generateQuestions;
|
|
8
|
+
private askClaude;
|
|
9
|
+
private confirmOrEditAnswer;
|
|
10
|
+
private promptForFiles;
|
|
11
|
+
close(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=learn-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learn-executor.d.ts","sourceRoot":"","sources":["../../src/services/learn-executor.ts"],"names":[],"mappings":"AAQA,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;;IAOnC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyGlC,qBAAqB;YA+BrB,iBAAiB;YAoFjB,SAAS;YAqCT,mBAAmB;YAqEnB,cAAc;IAqCtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import inquirer from 'inquirer';
|
|
3
|
+
import { ExecutorFactory } from './executor-factory.js';
|
|
4
|
+
import { DatabaseManager } from '../database.js';
|
|
5
|
+
import { LearningService } from './learning-service.js';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
export class LearnExecutor {
|
|
8
|
+
dbManager;
|
|
9
|
+
learningService;
|
|
10
|
+
constructor() {
|
|
11
|
+
this.dbManager = new DatabaseManager();
|
|
12
|
+
this.learningService = new LearningService(this.dbManager);
|
|
13
|
+
}
|
|
14
|
+
async execute(workingDir) {
|
|
15
|
+
console.log(chalk.blue.bold('\n🎓 Ivan Learning Mode\n'));
|
|
16
|
+
console.log(chalk.yellow('I\'ll analyze this repository and generate specific questions about patterns, conventions, and nuances that a new engineer should know.\n'));
|
|
17
|
+
// Ensure migrations are run
|
|
18
|
+
await this.dbManager.runMigrations();
|
|
19
|
+
// Get or create repository
|
|
20
|
+
const repositoryId = await this.getOrCreateRepository(workingDir);
|
|
21
|
+
console.log(chalk.cyan(`📦 Repository ID: ${repositoryId}\n`));
|
|
22
|
+
// Generate repository-specific questions using Claude
|
|
23
|
+
const questions = await this.generateQuestions(workingDir);
|
|
24
|
+
if (questions.length === 0) {
|
|
25
|
+
console.log(chalk.yellow('No questions generated. Exiting.'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
console.log(chalk.green(`\n✅ Generated ${questions.length} questions about this repository\n`));
|
|
29
|
+
// Step 1: Collect all answers from Claude
|
|
30
|
+
console.log(chalk.blue.bold('\n📚 Collecting answers from Claude...\n'));
|
|
31
|
+
const answeredQuestions = [];
|
|
32
|
+
for (let i = 0; i < questions.length; i++) {
|
|
33
|
+
const question = questions[i];
|
|
34
|
+
console.log(chalk.blue(`\n[${i + 1}/${questions.length}] ${question.question}`));
|
|
35
|
+
try {
|
|
36
|
+
const claudeAnswer = await this.askClaude(question, workingDir);
|
|
37
|
+
answeredQuestions.push({ question, claudeAnswer });
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.log(chalk.yellow('\n⚠️ Claude could not generate an answer. You can write your own or skip this question later.\n'));
|
|
41
|
+
answeredQuestions.push({ question, claudeAnswer: '' });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Step 2: Now prompt user for all questions
|
|
45
|
+
console.log(chalk.blue.bold('\n\n📝 Review and edit answers\n'));
|
|
46
|
+
console.log(chalk.gray('Now you can review, edit, or skip each answer.\n'));
|
|
47
|
+
for (let i = 0; i < answeredQuestions.length; i++) {
|
|
48
|
+
const { question, claudeAnswer } = answeredQuestions[i];
|
|
49
|
+
console.log(chalk.blue.bold(`\n[${i + 1}/${answeredQuestions.length}] ${question.question}\n`));
|
|
50
|
+
// Get final answer from user
|
|
51
|
+
const finalAnswer = await this.confirmOrEditAnswer(question.question, claudeAnswer);
|
|
52
|
+
if (!finalAnswer) {
|
|
53
|
+
console.log(chalk.yellow('⏭️ Skipped\n'));
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
// Ask for relevant files
|
|
57
|
+
const files = await this.promptForFiles(claudeAnswer);
|
|
58
|
+
// Save the learning
|
|
59
|
+
await this.learningService.saveLearning({
|
|
60
|
+
question: question.question,
|
|
61
|
+
answer: finalAnswer,
|
|
62
|
+
files: files,
|
|
63
|
+
repositoryId: repositoryId
|
|
64
|
+
});
|
|
65
|
+
console.log(chalk.green('✅ Learning saved!\n'));
|
|
66
|
+
}
|
|
67
|
+
console.log(chalk.green.bold('\n✅ Learning session completed!\n'));
|
|
68
|
+
console.log(chalk.cyan('All learnings have been saved and can be used to help future engineers understand this codebase.\n'));
|
|
69
|
+
}
|
|
70
|
+
async getOrCreateRepository(workingDir) {
|
|
71
|
+
const db = this.dbManager.getKysely();
|
|
72
|
+
// Try to find existing repository
|
|
73
|
+
const existing = await db
|
|
74
|
+
.selectFrom('repositories')
|
|
75
|
+
.selectAll()
|
|
76
|
+
.where('directory', '=', workingDir)
|
|
77
|
+
.executeTakeFirst();
|
|
78
|
+
if (existing) {
|
|
79
|
+
return existing.id;
|
|
80
|
+
}
|
|
81
|
+
// Create new repository
|
|
82
|
+
const repoName = workingDir.split('/').pop() || 'unknown';
|
|
83
|
+
const result = await db
|
|
84
|
+
.insertInto('repositories')
|
|
85
|
+
.values({
|
|
86
|
+
directory: workingDir,
|
|
87
|
+
name: repoName,
|
|
88
|
+
remote_url: null
|
|
89
|
+
})
|
|
90
|
+
.executeTakeFirst();
|
|
91
|
+
if (result.insertId === undefined) {
|
|
92
|
+
throw new Error('Failed to create repository: no insertId returned');
|
|
93
|
+
}
|
|
94
|
+
return Number(result.insertId);
|
|
95
|
+
}
|
|
96
|
+
async generateQuestions(workingDir) {
|
|
97
|
+
const spinner = ora('Analyzing repository to generate specific questions...').start();
|
|
98
|
+
try {
|
|
99
|
+
const executor = ExecutorFactory.getExecutor();
|
|
100
|
+
const prompt = `Analyze this codebase and generate 10-12 specific questions that would help a new engineer learn HOW TO WRITE CODE in this project.
|
|
101
|
+
|
|
102
|
+
IMPORTANT: Focus on ACTIONABLE questions about how to write code, not questions about how the codebase itself works.
|
|
103
|
+
|
|
104
|
+
Focus on:
|
|
105
|
+
- How to write new features following existing patterns
|
|
106
|
+
- How to add new database migrations or models
|
|
107
|
+
- How to write tests for different types of code
|
|
108
|
+
- How to add new API endpoints or services
|
|
109
|
+
- How to handle errors when writing new code
|
|
110
|
+
- How to structure new files and modules
|
|
111
|
+
- How to name new classes, functions, and variables
|
|
112
|
+
- How to add new configuration options
|
|
113
|
+
- How to integrate with existing services
|
|
114
|
+
- How to add new CLI commands
|
|
115
|
+
- How to work with the database in new code
|
|
116
|
+
- How to follow the project's conventions when adding features
|
|
117
|
+
|
|
118
|
+
DO NOT ask questions like:
|
|
119
|
+
- "How does the authentication system work?"
|
|
120
|
+
- "What files handle routing?"
|
|
121
|
+
- "How are services initialized?"
|
|
122
|
+
|
|
123
|
+
DO ask questions like:
|
|
124
|
+
- "How should I write a new service class following the project's patterns?"
|
|
125
|
+
- "How do I add a new database migration?"
|
|
126
|
+
- "How should I structure error handling when writing new API endpoints?"
|
|
127
|
+
- "How do I add a new CLI command?"
|
|
128
|
+
- "How should I write tests for a new feature?"
|
|
129
|
+
|
|
130
|
+
Return your response as a JSON array of objects with this structure:
|
|
131
|
+
[
|
|
132
|
+
{
|
|
133
|
+
"question": "The specific question",
|
|
134
|
+
"context": "Brief context about where to look or what to examine to answer this question"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
|
|
138
|
+
Return ONLY the JSON array, no additional text.`;
|
|
139
|
+
const result = await executor.executeTask(prompt, workingDir);
|
|
140
|
+
spinner.succeed('Questions generated');
|
|
141
|
+
// Parse the JSON response
|
|
142
|
+
const response = result.lastMessage.trim();
|
|
143
|
+
// Try to extract JSON from the response
|
|
144
|
+
let jsonMatch = response.match(/\[[\s\S]*\]/);
|
|
145
|
+
if (!jsonMatch) {
|
|
146
|
+
// Try to find JSON in code blocks
|
|
147
|
+
jsonMatch = response.match(/```(?:json)?\s*(\[[\s\S]*?\])\s*```/);
|
|
148
|
+
if (jsonMatch) {
|
|
149
|
+
jsonMatch[0] = jsonMatch[1];
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (!jsonMatch) {
|
|
153
|
+
console.log(chalk.yellow('\n⚠️ Could not parse questions from Claude\'s response.'));
|
|
154
|
+
console.log(chalk.gray('Response:', response.substring(0, 500)));
|
|
155
|
+
return [];
|
|
156
|
+
}
|
|
157
|
+
const questions = JSON.parse(jsonMatch[0]);
|
|
158
|
+
if (!Array.isArray(questions) || questions.length === 0) {
|
|
159
|
+
console.log(chalk.yellow('\n⚠️ No valid questions generated.'));
|
|
160
|
+
return [];
|
|
161
|
+
}
|
|
162
|
+
return questions;
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
spinner.fail('Failed to generate questions');
|
|
166
|
+
console.error(chalk.red('Error:'), error);
|
|
167
|
+
return [];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
async askClaude(question, workingDir) {
|
|
171
|
+
const spinner = ora('Asking Claude to explore the codebase...').start();
|
|
172
|
+
try {
|
|
173
|
+
const executor = ExecutorFactory.getExecutor();
|
|
174
|
+
// Construct a detailed prompt for Claude
|
|
175
|
+
const prompt = `${question.question}
|
|
176
|
+
|
|
177
|
+
Context: ${question.context}
|
|
178
|
+
|
|
179
|
+
IMPORTANT: This question is about HOW TO WRITE CODE in this codebase, not about how the codebase works.
|
|
180
|
+
|
|
181
|
+
Please explore the codebase thoroughly and provide a practical, actionable answer that helps a new engineer write code following this project's patterns. Focus on:
|
|
182
|
+
- Being specific with file paths and code examples where relevant
|
|
183
|
+
- Explaining patterns and conventions to FOLLOW when writing new code
|
|
184
|
+
- Providing step-by-step guidance on what files to create/modify
|
|
185
|
+
- Highlighting important conventions a new engineer should follow
|
|
186
|
+
- Showing concrete examples from the codebase to imitate
|
|
187
|
+
|
|
188
|
+
Keep the answer concise but informative (aim for 3-5 paragraphs).`;
|
|
189
|
+
const result = await executor.executeTask(prompt, workingDir);
|
|
190
|
+
spinner.succeed('Claude finished exploring');
|
|
191
|
+
return result.lastMessage || result.log;
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
spinner.fail('Failed to get answer from Claude');
|
|
195
|
+
console.error(chalk.red('Error:'), error);
|
|
196
|
+
throw error; // Force error handling at the caller level
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async confirmOrEditAnswer(question, claudeAnswer) {
|
|
200
|
+
// If claudeAnswer is empty, don't show it and force manual entry
|
|
201
|
+
if (claudeAnswer.trim()) {
|
|
202
|
+
console.log(chalk.cyan('\n📝 Claude\'s Answer:\n'));
|
|
203
|
+
console.log(chalk.white(claudeAnswer));
|
|
204
|
+
console.log('');
|
|
205
|
+
}
|
|
206
|
+
// If answer is empty, don't allow "Accept as-is" option
|
|
207
|
+
const choices = claudeAnswer.trim()
|
|
208
|
+
? [
|
|
209
|
+
{ name: '✅ Accept as-is', value: 'accept' },
|
|
210
|
+
{ name: '✏️ Edit the answer', value: 'edit' },
|
|
211
|
+
{ name: '✍️ Write my own answer', value: 'rewrite' },
|
|
212
|
+
{ name: '⏭️ Skip this question', value: 'skip' }
|
|
213
|
+
]
|
|
214
|
+
: [
|
|
215
|
+
{ name: '✍️ Write my own answer', value: 'rewrite' },
|
|
216
|
+
{ name: '⏭️ Skip this question', value: 'skip' }
|
|
217
|
+
];
|
|
218
|
+
const { action } = await inquirer.prompt([
|
|
219
|
+
{
|
|
220
|
+
type: 'list',
|
|
221
|
+
name: 'action',
|
|
222
|
+
message: 'What would you like to do with this answer?',
|
|
223
|
+
choices
|
|
224
|
+
}
|
|
225
|
+
]);
|
|
226
|
+
switch (action) {
|
|
227
|
+
case 'accept':
|
|
228
|
+
return claudeAnswer;
|
|
229
|
+
case 'edit': {
|
|
230
|
+
const { edited } = await inquirer.prompt([
|
|
231
|
+
{
|
|
232
|
+
type: 'editor',
|
|
233
|
+
name: 'edited',
|
|
234
|
+
message: 'Edit the answer (press Enter to open editor):',
|
|
235
|
+
default: claudeAnswer
|
|
236
|
+
}
|
|
237
|
+
]);
|
|
238
|
+
return edited.trim() || null;
|
|
239
|
+
}
|
|
240
|
+
case 'rewrite': {
|
|
241
|
+
const { custom } = await inquirer.prompt([
|
|
242
|
+
{
|
|
243
|
+
type: 'editor',
|
|
244
|
+
name: 'custom',
|
|
245
|
+
message: 'Write your answer (press Enter to open editor):',
|
|
246
|
+
default: ''
|
|
247
|
+
}
|
|
248
|
+
]);
|
|
249
|
+
return custom.trim() || null;
|
|
250
|
+
}
|
|
251
|
+
case 'skip':
|
|
252
|
+
return null;
|
|
253
|
+
default:
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
async promptForFiles(claudeAnswer) {
|
|
258
|
+
// Try to extract file paths from Claude's answer
|
|
259
|
+
const filePathRegex = /(?:^|\s)([a-zA-Z0-9_\-./]+\.(ts|js|json|tsx|jsx|py|go|java|rb|php|css|scss|html|md|yml|yaml|toml|sh|Dockerfile))/gm;
|
|
260
|
+
const matches = claudeAnswer.matchAll(filePathRegex);
|
|
261
|
+
const detectedFiles = Array.from(new Set(Array.from(matches, m => m[1])));
|
|
262
|
+
const { shouldAddFiles } = await inquirer.prompt([
|
|
263
|
+
{
|
|
264
|
+
type: 'confirm',
|
|
265
|
+
name: 'shouldAddFiles',
|
|
266
|
+
message: 'Would you like to associate specific files with this learning?',
|
|
267
|
+
default: detectedFiles.length > 0
|
|
268
|
+
}
|
|
269
|
+
]);
|
|
270
|
+
if (!shouldAddFiles) {
|
|
271
|
+
return [];
|
|
272
|
+
}
|
|
273
|
+
const { files } = await inquirer.prompt([
|
|
274
|
+
{
|
|
275
|
+
type: 'input',
|
|
276
|
+
name: 'files',
|
|
277
|
+
message: 'Enter file paths (comma-separated):',
|
|
278
|
+
default: detectedFiles.join(', '),
|
|
279
|
+
filter: (input) => {
|
|
280
|
+
return input
|
|
281
|
+
.split(',')
|
|
282
|
+
.map((f) => f.trim())
|
|
283
|
+
.filter((f) => f.length > 0);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
]);
|
|
287
|
+
return files;
|
|
288
|
+
}
|
|
289
|
+
async close() {
|
|
290
|
+
this.dbManager.close();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=learn-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learn-executor.js","sourceRoot":"","sources":["../../src/services/learn-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DatabaseManager } from '../database.js';
|
|
2
|
+
import { Selectable } from 'kysely';
|
|
3
|
+
import type { Learning as DbLearning } from '../database/types.js';
|
|
4
|
+
export interface OnboardingQuestion {
|
|
5
|
+
question: string;
|
|
6
|
+
context: string;
|
|
7
|
+
}
|
|
8
|
+
export interface LearningSearchResult {
|
|
9
|
+
learning_id: number;
|
|
10
|
+
text: string;
|
|
11
|
+
files: string;
|
|
12
|
+
created_at: string;
|
|
13
|
+
distance: number;
|
|
14
|
+
}
|
|
15
|
+
export interface Learning {
|
|
16
|
+
question: string;
|
|
17
|
+
answer: string;
|
|
18
|
+
files: string[];
|
|
19
|
+
repositoryId: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class LearningService {
|
|
22
|
+
private dbManager;
|
|
23
|
+
private openaiService;
|
|
24
|
+
constructor(dbManager: DatabaseManager);
|
|
25
|
+
saveLearning(learning: Learning): Promise<number>;
|
|
26
|
+
private generateAndStoreEmbedding;
|
|
27
|
+
getRepositoryLearnings(repositoryId: number): Promise<Selectable<DbLearning>[]>;
|
|
28
|
+
searchSimilarLearnings(repositoryId: number, queryText: string, limit?: number): Promise<LearningSearchResult[]>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=learning-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-service.d.ts","sourceRoot":"","sources":["../../src/services/learning-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,SAAS,EAAE,eAAe;IAKhC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAgCzC,yBAAyB;IAoCjC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;IAa/E,sBAAsB,CAC1B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA+BnC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { OpenAIService } from './openai-service.js';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
export class LearningService {
|
|
4
|
+
dbManager;
|
|
5
|
+
openaiService;
|
|
6
|
+
constructor(dbManager) {
|
|
7
|
+
this.dbManager = dbManager;
|
|
8
|
+
this.openaiService = new OpenAIService();
|
|
9
|
+
}
|
|
10
|
+
async saveLearning(learning) {
|
|
11
|
+
console.log(chalk.blue('💾 Saving learning to database...'));
|
|
12
|
+
const db = this.dbManager.getKysely();
|
|
13
|
+
// Insert the learning
|
|
14
|
+
const result = await db
|
|
15
|
+
.insertInto('learnings')
|
|
16
|
+
.values({
|
|
17
|
+
repository_id: learning.repositoryId,
|
|
18
|
+
text: `Q: ${learning.question}\n\nA: ${learning.answer}`,
|
|
19
|
+
files: JSON.stringify(learning.files)
|
|
20
|
+
})
|
|
21
|
+
.executeTakeFirst();
|
|
22
|
+
if (result.insertId === undefined) {
|
|
23
|
+
throw new Error('Failed to insert learning: no insertId returned');
|
|
24
|
+
}
|
|
25
|
+
const learningId = Number(result.insertId);
|
|
26
|
+
console.log(chalk.green(`✅ Learning saved with ID: ${learningId}`));
|
|
27
|
+
// Generate and store embeddings
|
|
28
|
+
await this.generateAndStoreEmbedding(learningId, learning.question, learning.answer);
|
|
29
|
+
return learningId;
|
|
30
|
+
}
|
|
31
|
+
async generateAndStoreEmbedding(learningId, question, answer) {
|
|
32
|
+
console.log(chalk.blue('🔮 Generating embeddings...'));
|
|
33
|
+
try {
|
|
34
|
+
const openai = await this.openaiService.getClient();
|
|
35
|
+
// Combine question and answer for embedding
|
|
36
|
+
const textToEmbed = `${question}\n\n${answer}`;
|
|
37
|
+
const embeddingResponse = await openai.embeddings.create({
|
|
38
|
+
model: 'text-embedding-3-large',
|
|
39
|
+
input: textToEmbed,
|
|
40
|
+
dimensions: 3072
|
|
41
|
+
});
|
|
42
|
+
const embedding = embeddingResponse.data[0].embedding;
|
|
43
|
+
console.log(chalk.blue('💾 Storing embeddings...'));
|
|
44
|
+
// Convert to Float32Array for sqlite-vec
|
|
45
|
+
const embeddingArray = new Float32Array(embedding);
|
|
46
|
+
// Use DatabaseManager's vector insert method
|
|
47
|
+
this.dbManager.executeVectorInsert(embeddingArray.buffer, learningId, textToEmbed);
|
|
48
|
+
console.log(chalk.green('✅ Embeddings stored successfully'));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error(chalk.red('❌ Failed to generate or store embeddings:'), error);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async getRepositoryLearnings(repositoryId) {
|
|
56
|
+
const db = this.dbManager.getKysely();
|
|
57
|
+
const learnings = await db
|
|
58
|
+
.selectFrom('learnings')
|
|
59
|
+
.selectAll()
|
|
60
|
+
.where('repository_id', '=', repositoryId)
|
|
61
|
+
.orderBy('created_at', 'desc')
|
|
62
|
+
.execute();
|
|
63
|
+
return learnings;
|
|
64
|
+
}
|
|
65
|
+
async searchSimilarLearnings(repositoryId, queryText, limit = 5) {
|
|
66
|
+
console.log(chalk.blue('🔍 Searching for similar learnings...'));
|
|
67
|
+
try {
|
|
68
|
+
const openai = await this.openaiService.getClient();
|
|
69
|
+
// Generate embedding for the query
|
|
70
|
+
const embeddingResponse = await openai.embeddings.create({
|
|
71
|
+
model: 'text-embedding-3-large',
|
|
72
|
+
input: queryText,
|
|
73
|
+
dimensions: 3072
|
|
74
|
+
});
|
|
75
|
+
const queryEmbedding = embeddingResponse.data[0].embedding;
|
|
76
|
+
const embeddingArray = new Float32Array(queryEmbedding);
|
|
77
|
+
// Use DatabaseManager's vector search method
|
|
78
|
+
const results = this.dbManager.executeVectorSearch(embeddingArray.buffer, repositoryId, limit);
|
|
79
|
+
console.log(chalk.green(`✅ Found ${results.length} similar learnings`));
|
|
80
|
+
return results;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error(chalk.red('❌ Failed to search similar learnings:'), error);
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=learning-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-service.js","sourceRoot":"","sources":["../../src/services/learning-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IPRService, PullRequest, PRComment } from './git-interfaces.js';
|
|
2
|
+
export declare class PRServiceCLI implements IPRService {
|
|
3
|
+
private workingDir;
|
|
4
|
+
constructor(workingDir: string);
|
|
5
|
+
getSpecificPRWithIssues(prNumber: number): Promise<PullRequest[]>;
|
|
6
|
+
getOpenPRsWithIssues(fromUser?: string): Promise<PullRequest[]>;
|
|
7
|
+
getUnaddressedComments(prNumber: number): Promise<PRComment[]>;
|
|
8
|
+
private getFailingChecks;
|
|
9
|
+
checkoutPRBranch(prNumber: number): Promise<void>;
|
|
10
|
+
getFailingActionLogs(prNumber: number): Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=pr-service-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-service-cli.d.ts","sourceRoot":"","sources":["../../src/services/pr-service-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEzE,qBAAa,YAAa,YAAW,UAAU;IAC7C,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAIxB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgEjE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6D/D,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YA0FtD,gBAAgB;IAkDxB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwD9D"}
|