@yemi33/minions 0.1.970 → 0.1.972
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/CHANGELOG.md +3 -3
- package/dashboard/js/command-center.js +4 -3
- package/engine.js +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.972 (2026-04-14)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- flush queued CC messages as single combined request
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
- replace magic string 'active' with PR_STATUS.ACTIVE in lifecycle.js (#969)
|
|
26
26
|
|
|
27
27
|
### Fixes
|
|
28
|
+
- loop queue flush so messages queued during combined send aren't orphaned
|
|
28
29
|
- set lastPushedAt on fix completion to unblock re-review without poller
|
|
29
30
|
- trigger second-pass re-review after fix agent completes
|
|
30
31
|
- update ccInFlightAborts when retry LLM replaces original
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
- CC stale lock auto-release + queue drain on abort
|
|
34
35
|
- CC streaming 'tabId' TDZ error on new tab first message
|
|
35
36
|
- fix tabId scope and close-event lock race in CC handlers
|
|
37
|
+
- defer setCooldown to post-gating in discoverWork
|
|
36
38
|
- fix CC queued message 'already processing' and thinking UX stacking
|
|
37
39
|
- enforce --timeout 1 on all azureauth calls to prevent agent orphans (#1063)
|
|
38
40
|
- cancel steering kill watcher on resume spawn (#1052) (#1062)
|
|
@@ -43,8 +45,6 @@
|
|
|
43
45
|
- restore sourceVersion filter after refs/pull merge ref switch
|
|
44
46
|
- use refs/pull/{id}/merge for build status scoping
|
|
45
47
|
- use repositoryId+reasonFilter for ADO build query
|
|
46
|
-
- deduplicate work item creation by title
|
|
47
|
-
- ADO build query uses repositoryId+pullRequest instead of branchName
|
|
48
48
|
|
|
49
49
|
### Other
|
|
50
50
|
- refactor(dashboard): extract _releaseCCTab helper and CC_LOCK_WAIT_MS constant
|
|
@@ -388,14 +388,15 @@ async function ccSend() {
|
|
|
388
388
|
}
|
|
389
389
|
var wasAborted = await _ccDoSend(message, false, originTabId);
|
|
390
390
|
|
|
391
|
-
// Flush all queued messages at once — combine into a single request
|
|
392
|
-
|
|
391
|
+
// Flush all queued messages at once — combine into a single request.
|
|
392
|
+
// Loop in case user queues more messages while the combined flush is processing.
|
|
393
|
+
while (tab._queue && tab._queue.length > 0) {
|
|
393
394
|
if (wasAborted) {
|
|
394
395
|
await new Promise(function(r) { setTimeout(r, 1500); });
|
|
395
396
|
}
|
|
396
397
|
var combined = tab._queue.splice(0);
|
|
397
398
|
_renderQueueIndicator();
|
|
398
|
-
await _ccDoSend(combined.join('\n\n'), false, originTabId);
|
|
399
|
+
wasAborted = await _ccDoSend(combined.join('\n\n'), false, originTabId);
|
|
399
400
|
}
|
|
400
401
|
}
|
|
401
402
|
|
package/engine.js
CHANGED
|
@@ -1981,7 +1981,7 @@ async function discoverFromPrs(config, project) {
|
|
|
1981
1981
|
pr_id: pr.id, pr_number: prNumber, pr_title: pr.title || '', pr_branch: pr.branch || '',
|
|
1982
1982
|
pr_author: pr.agent || '', pr_url: pr.url || '',
|
|
1983
1983
|
}, `Review ${pr.id}: ${pr.title}`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
|
|
1984
|
-
if (item) { newWork.push(item);
|
|
1984
|
+
if (item) { newWork.push(item); }
|
|
1985
1985
|
}
|
|
1986
1986
|
|
|
1987
1987
|
// Re-review after fix: fall back to fixedAt > lastReviewedAt when lastPushedAt lags poller
|
|
@@ -2034,7 +2034,7 @@ async function discoverFromPrs(config, project) {
|
|
|
2034
2034
|
review_note: pr.minionsReview?.note || pr.reviewNote || 'See PR thread comments',
|
|
2035
2035
|
}, `Fix ${pr.id}: ${pr.title || ''} — review feedback`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
|
|
2036
2036
|
if (item) {
|
|
2037
|
-
newWork.push(item);
|
|
2037
|
+
newWork.push(item); fixDispatched = true;
|
|
2038
2038
|
// Increment review→fix cycle counter
|
|
2039
2039
|
try {
|
|
2040
2040
|
mutatePullRequests(projectPrPath(project), prs => {
|
|
@@ -2072,7 +2072,7 @@ async function discoverFromPrs(config, project) {
|
|
|
2072
2072
|
reviewer: 'Human Reviewer',
|
|
2073
2073
|
review_note: reviewNote,
|
|
2074
2074
|
}, `Fix ${pr.id}: ${pr.title || ''} — human feedback`, { dispatchKey: key, source: 'pr-human-feedback', pr, branch: pr.branch, project: projMeta });
|
|
2075
|
-
if (item) { newWork.push(item);
|
|
2075
|
+
if (item) { newWork.push(item); fixDispatched = true; }
|
|
2076
2076
|
}
|
|
2077
2077
|
|
|
2078
2078
|
// PRs with build failures — route to author (has session context from implementing)
|
|
@@ -2121,7 +2121,7 @@ async function discoverFromPrs(config, project) {
|
|
|
2121
2121
|
review_note: reviewNote,
|
|
2122
2122
|
}, `Fix build failure on ${pr.id}: ${pr.title || ''}`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
|
|
2123
2123
|
if (item) {
|
|
2124
|
-
newWork.push(item);
|
|
2124
|
+
newWork.push(item);
|
|
2125
2125
|
// Increment build fix attempts counter
|
|
2126
2126
|
try {
|
|
2127
2127
|
const prPath = projectPrPath(project);
|
|
@@ -2178,7 +2178,6 @@ async function discoverFromPrs(config, project) {
|
|
|
2178
2178
|
}, `Fix merge conflicts on ${pr.id}: ${pr.title || ''}`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
|
|
2179
2179
|
if (item) {
|
|
2180
2180
|
newWork.push(item);
|
|
2181
|
-
setCooldown(key);
|
|
2182
2181
|
// Record dispatch timestamp so re-dispatch is suppressed during ADO lag window
|
|
2183
2182
|
try {
|
|
2184
2183
|
mutatePullRequests(projectPrPath(project), prs => {
|
|
@@ -3079,6 +3078,7 @@ async function discoverWork(config) {
|
|
|
3079
3078
|
|
|
3080
3079
|
for (const item of allWork) {
|
|
3081
3080
|
addToDispatch(item);
|
|
3081
|
+
if (item.meta?.dispatchKey) setCooldown(item.meta.dispatchKey);
|
|
3082
3082
|
if (item.meta?.source === 'pr-human-feedback') {
|
|
3083
3083
|
clearPendingHumanFeedbackFlag(item.meta.project, item.meta.pr?.id);
|
|
3084
3084
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.972",
|
|
4
4
|
"description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
|
|
5
5
|
"bin": {
|
|
6
6
|
"minions": "bin/minions.js"
|