generated from ztimson/template
Fixed more bugs
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ztimson/ai-agents",
|
"name": "@ztimson/ai-agents",
|
||||||
"version": "0.0.8",
|
"version": "0.1.0",
|
||||||
"description": "AI agents",
|
"description": "AI agents",
|
||||||
"keywords": ["ai", "review"],
|
"keywords": ["ai", "review"],
|
||||||
"author": "ztimson",
|
"author": "ztimson",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ dotenv.config({path: '.env.local', override: true, quiet: true});
|
|||||||
if(resp.ok) return resp.json();
|
if(resp.ok) return resp.json();
|
||||||
else throw new Error(`${resp.status} ${await resp.text()}`);
|
else throw new Error(`${resp.status} ${await resp.text()}`);
|
||||||
});
|
});
|
||||||
if(issueData.labels.length !== 1 || issueData.labels?.[0] !== 'Review/AI') {
|
if(issueData.labels?.[0]?.name !== 1 || issueData.labels?.[0] !== 'Review/AI') {
|
||||||
console.log('Skipping');
|
console.log('Skipping');
|
||||||
return process.exit();
|
return process.exit();
|
||||||
}
|
}
|
||||||
@@ -150,11 +150,13 @@ Output ONLY markdown. No explanations, labels, or extra formatting.`});
|
|||||||
if(!body) throw new Error('Invalid response from AI');
|
if(!body) throw new Error('Invalid response from AI');
|
||||||
|
|
||||||
// Check for duplicates
|
// Check for duplicates
|
||||||
|
const repoInfo = await fetch(`${git}/api/v1/repos/${owner}/${repo}`, {headers: {'Authorization': `token ${auth}`},}).then(resp => resp.ok ? resp.json() : null);
|
||||||
const search = await fetch(`${git}/api/v1/repos/issues/search`, {
|
const search = await fetch(`${git}/api/v1/repos/issues/search`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
priority_repo_id: repo,
|
owner,
|
||||||
|
priority_repo_id: repoInfo.id,
|
||||||
type: 'issues',
|
type: 'issues',
|
||||||
limit: 3,
|
limit: 3,
|
||||||
q: title
|
q: title
|
||||||
@@ -167,7 +169,7 @@ Output ONLY markdown. No explanations, labels, or extra formatting.`});
|
|||||||
system: `Your job is to identify duplicates. Respond with the ID number of the duplicate or nothing if there are no matches \n\n${dupes}`
|
system: `Your job is to identify duplicates. Respond with the ID number of the duplicate or nothing if there are no matches \n\n${dupes}`
|
||||||
}))?.pop()?.content;
|
}))?.pop()?.content;
|
||||||
// Handle duplicates
|
// Handle duplicates
|
||||||
if(!!hasDuplicates && (dupeId = dupeIds.find(id => hasDuplicates.includes(id.toString()))) != null) {
|
if(!!hasDuplicates && (dupeId = dupeIds.find(id => new RegExp(`(^| )${id}( |$)`, 'm').test(hasDuplicates)))) {
|
||||||
await fetch(`${git}/api/v1/repos/${owner}/${repo}/issues/${ticket}/comments`, {
|
await fetch(`${git}/api/v1/repos/${owner}/${repo}/issues/${ticket}/comments`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
||||||
@@ -188,7 +190,7 @@ Output ONLY markdown. No explanations, labels, or extra formatting.`});
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update ticket
|
// Update ticket
|
||||||
const updateRes = await fetch(`${git}/api/v1/repos/${owner}/${repo}/issues/${ticket}`, {
|
await fetch(`${git}/api/v1/repos/${owner}/${repo}/issues/${ticket}`, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
headers: {'Authorization': `token ${auth}`, 'Content-Type': 'application/json'},
|
||||||
body: JSON.stringify({title, body})
|
body: JSON.stringify({title, body})
|
||||||
@@ -202,4 +204,7 @@ Output ONLY markdown. No explanations, labels, or extra formatting.`});
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Title: ${title}\nType: ${type}\nBody:\n${body}`);
|
console.log(`Title: ${title}\nType: ${type}\nBody:\n${body}`);
|
||||||
})();
|
})().catch(err => {
|
||||||
|
console.error(`Error: ${err.message || err.toString()}`);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
|
|||||||
@@ -106,4 +106,7 @@ dotenv.config({path: '.env.local', override: true, quiet: true, debug: false});
|
|||||||
if(!res.ok) throw new Error(`${res.status} ${await res.text()}`);
|
if(!res.ok) throw new Error(`${res.status} ${await res.text()}`);
|
||||||
}
|
}
|
||||||
console.log(comments.map(c => `${c.path}${c.new_position ? `:${c.new_position}` : ''}\n${c.body}`).join('\n\n') + '\n\n' + summary);
|
console.log(comments.map(c => `${c.path}${c.new_position ? `:${c.new_position}` : ''}\n${c.body}`).join('\n\n') + '\n\n' + summary);
|
||||||
})();
|
})().catch(err => {
|
||||||
|
console.error(`Error: ${err.message || err.toString()}`);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user