@m8i-51/shoal 0.1.9 → 0.1.10

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.
@@ -163,11 +163,12 @@ Organize feedback collected by multiple agents and post it as GitHub Issues.
163
163
  ? `\n\n**Screenshots:**\n${screenshots.join("\n")}`
164
164
  : "";
165
165
  const fullBody = `**Category:** ${category}\n\n${body}${screenshotSection}\n\n---\n**Reported by:** ${mergedAgents.join(", ")}\n*This Issue was auto-generated by an AI triage agent*`;
166
- const url = await postGitHubIssue(`[${category}] ${title}`, fullBody, [category, "feedback-agent"], githubOptions);
166
+ const cleanTitle = title.replace(/^\[[^\]]+\]\s*/i, "");
167
+ const url = await postGitHubIssue(`[${category}] ${cleanTitle}`, fullBody, [category, "feedback-agent"], githubOptions);
167
168
  mergedIds.forEach((id) => { pendingIds.delete(id); issuedIds.push(id); });
168
169
  issuesCreated++;
169
170
  result = { created: true, url, mergedCount: mergedIds.length };
170
- console.log(` [triage] issue created: "${title}" (merged ${mergedIds.length})`);
171
+ console.log(` [triage] issue created: "[${category}] ${cleanTitle}" (merged ${mergedIds.length})`);
171
172
 
172
173
  } else if (toolUse.name === "skip_finding") {
173
174
  const { finding_id, reason } = toolUse.input as { finding_id: string; reason: string };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m8i-51/shoal",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "description": "Multi-agent web exploration framework — finds bugs, UX issues, and missing features by running AI agents against your app",
6
6
  "repository": {
package/run.ts CHANGED
@@ -691,7 +691,7 @@ async function executeBrowserTool(
691
691
  const { path: navPath } = input as { path: string };
692
692
  await saveSnapshotBeforeAction(page, observation);
693
693
  await page.goto(`${BASE_URL}${navPath}`, { waitUntil: "networkidle" });
694
- await page.waitForTimeout(500);
694
+ await page.waitForTimeout(3000);
695
695
  screenshot = await takeScreenshot(page, `navigate_${navPath.replace(/\//g, "_")}`);
696
696
  resultText = `Navigated to ${navPath}`;
697
697
  break;
@@ -925,7 +925,7 @@ ${productSpec.designContext ? `\n[Design Context]\n${productSpec.designContext}\
925
925
  : ""}`;
926
926
 
927
927
  await page.goto(BASE_URL, { waitUntil: "networkidle" });
928
- await page.waitForTimeout(1000);
928
+ await page.waitForTimeout(5000);
929
929
  const initialScreenshot = await takeScreenshot(page, "initial");
930
930
 
931
931
  const messages: Anthropic.MessageParam[] = [