@gethmy/agent 1.6.1 → 1.7.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.
- package/README.md +2 -1
- package/dist/index.js +3 -1
- package/dist/pool.js +9 -5
- package/dist/startup-banner.js +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,11 +36,12 @@ npx @gethmy/mcp setup
|
|
|
36
36
|
```jsonc
|
|
37
37
|
{
|
|
38
38
|
"agent": {
|
|
39
|
-
"poolSize":
|
|
39
|
+
"poolSize": 3,
|
|
40
40
|
"pickupColumns": ["To Do"],
|
|
41
41
|
"claude": { "model": "opus", "reviewModel": "sonnet" },
|
|
42
42
|
"review": {
|
|
43
43
|
"enabled": true,
|
|
44
|
+
"poolSize": 2,
|
|
44
45
|
"pickupColumns": ["Review"],
|
|
45
46
|
"moveToColumn": "Done",
|
|
46
47
|
"failColumn": "To Do"
|
package/dist/index.js
CHANGED
|
@@ -267,7 +267,9 @@ export async function main() {
|
|
|
267
267
|
}
|
|
268
268
|
// Banner check lines for service intervals + pool. Compose into one
|
|
269
269
|
// line each so the banner stays compact.
|
|
270
|
-
const reviewCount = config.agent.review.enabled
|
|
270
|
+
const reviewCount = config.agent.review.enabled
|
|
271
|
+
? config.agent.review.poolSize
|
|
272
|
+
: 0;
|
|
271
273
|
banner.check(`Pool: ${config.agent.poolSize} impl${reviewCount > 0 ? ` + ${reviewCount} review` : ""}`);
|
|
272
274
|
const services = [
|
|
273
275
|
`Heartbeat ${config.agent.timing.reconcileIntervalMs / 1000}s`,
|
package/dist/pool.js
CHANGED
|
@@ -23,12 +23,16 @@ export class Pool {
|
|
|
23
23
|
this.tryDispatchFor(this.implWorkers, this.implQueue, "impl");
|
|
24
24
|
}, workspaceId, projectId, stateStore));
|
|
25
25
|
}
|
|
26
|
-
// Create review
|
|
26
|
+
// Create review workers. IDs offset by `config.poolSize` so impl and
|
|
27
|
+
// review worker IDs never collide (verification + review ports both
|
|
28
|
+
// derive from the worker ID, so collision would mean port collision).
|
|
27
29
|
if (config.review.enabled) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.
|
|
31
|
-
|
|
30
|
+
for (let i = 0; i < config.review.poolSize; i++) {
|
|
31
|
+
const reviewWorkerId = config.poolSize + i;
|
|
32
|
+
this.reviewWorkers.push(new ReviewWorker(reviewWorkerId, config, client, userEmail, () => {
|
|
33
|
+
this.tryDispatchFor(this.reviewWorkers, this.reviewQueue, "review");
|
|
34
|
+
}, stateStore, workspaceId, projectId));
|
|
35
|
+
}
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
/**
|
package/dist/startup-banner.js
CHANGED
|
@@ -104,7 +104,7 @@ function configRows(config, projectName, gitProvider) {
|
|
|
104
104
|
rows.push({ label: "User", value: config.userEmail });
|
|
105
105
|
const reviewEnabled = config.agent.review.enabled;
|
|
106
106
|
const poolDesc = reviewEnabled
|
|
107
|
-
? `Pool ${config.agent.poolSize} impl +
|
|
107
|
+
? `Pool ${config.agent.poolSize} impl + ${config.agent.review.poolSize} review`
|
|
108
108
|
: `Pool ${config.agent.poolSize} impl`;
|
|
109
109
|
const flowDesc = reviewEnabled
|
|
110
110
|
? `Pickup ${config.agent.pickupColumns[0]} → ${config.agent.completion.moveToColumn} → ${config.agent.review.moveToColumn}`
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const DEFAULT_AGENT_CONFIG = {
|
|
2
|
-
poolSize:
|
|
2
|
+
poolSize: 3,
|
|
3
3
|
maxTimeout: 1_800_000, // 30 minutes
|
|
4
4
|
pickupColumns: ["To Do"],
|
|
5
5
|
priorityLabels: { urgent: 100, critical: 90, bug: 50 },
|
|
@@ -35,6 +35,7 @@ export const DEFAULT_AGENT_CONFIG = {
|
|
|
35
35
|
},
|
|
36
36
|
review: {
|
|
37
37
|
enabled: true,
|
|
38
|
+
poolSize: 2,
|
|
38
39
|
pickupColumns: ["Review"],
|
|
39
40
|
moveToColumn: "Done",
|
|
40
41
|
failColumn: "To Do",
|