@yemi33/minions 0.1.1704 → 0.1.1705
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 +6 -3
- package/engine/copilot-models.json +1 -1
- package/engine/shared.js +15 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.1705 (2026-05-04)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- prevent one-shot PR contamination
|
|
7
|
+
|
|
8
|
+
## 0.1.1703 (2026-05-04)
|
|
4
9
|
|
|
5
10
|
### Features
|
|
6
|
-
- Add manual run control for schedules
|
|
7
|
-
- deduplicate work item creation
|
|
8
11
|
- isolate review metadata
|
|
9
12
|
|
|
10
13
|
## 0.1.1702 (2026-05-04)
|
package/engine/shared.js
CHANGED
|
@@ -1977,6 +1977,15 @@ function normalizePrLinkItems(value) {
|
|
|
1977
1977
|
return [...new Set(items.filter(item => typeof item === 'string' && item))];
|
|
1978
1978
|
}
|
|
1979
1979
|
|
|
1980
|
+
function isAutoManagedPrRecord(pr) {
|
|
1981
|
+
if (!pr || typeof pr !== 'object' || pr._contextOnly === true) return false;
|
|
1982
|
+
if (normalizePrLinkItems(pr.prdItems).length > 0) return true;
|
|
1983
|
+
if (pr._autoObserve === true) return true;
|
|
1984
|
+
if (pr.sourcePlan || pr.itemType) return true;
|
|
1985
|
+
const agent = String(pr.agent || '').trim().toLowerCase();
|
|
1986
|
+
return !!agent && agent !== 'human';
|
|
1987
|
+
}
|
|
1988
|
+
|
|
1980
1989
|
function mergePrLinkItems(links, prId, itemIds) {
|
|
1981
1990
|
if (!prId) return;
|
|
1982
1991
|
const merged = new Set([...(links[prId] || []), ...normalizePrLinkItems(itemIds)]);
|
|
@@ -2146,14 +2155,19 @@ function upsertPullRequestRecord(prPath, entry, { project = null, itemId = null,
|
|
|
2146
2155
|
} else {
|
|
2147
2156
|
target.id = canonicalId;
|
|
2148
2157
|
if (prNumber != null) target.prNumber = prNumber;
|
|
2158
|
+
const targetWasAutoManaged = isAutoManagedPrRecord(target);
|
|
2149
2159
|
for (const key of ['url', 'title', 'description', 'agent', 'branch', 'reviewStatus', 'status', 'created', 'sourcePlan', 'itemType']) {
|
|
2150
2160
|
if (normalizedEntry[key] != null && normalizedEntry[key] !== '' && (target[key] == null || target[key] === '')) {
|
|
2151
2161
|
target[key] = normalizedEntry[key];
|
|
2152
2162
|
}
|
|
2153
2163
|
}
|
|
2154
|
-
for (const key of ['_manual', '
|
|
2164
|
+
for (const key of ['_manual', '_autoObserve', '_context']) {
|
|
2155
2165
|
if (normalizedEntry[key] != null) target[key] = normalizedEntry[key];
|
|
2156
2166
|
}
|
|
2167
|
+
if (normalizedEntry._contextOnly != null) {
|
|
2168
|
+
const wouldDemoteManagedPr = normalizedEntry._contextOnly === true && targetWasAutoManaged;
|
|
2169
|
+
if (!wouldDemoteManagedPr) target._contextOnly = normalizedEntry._contextOnly;
|
|
2170
|
+
}
|
|
2157
2171
|
}
|
|
2158
2172
|
target.prdItems = normalizePrLinkItems(target.prdItems || []);
|
|
2159
2173
|
for (const linkedItemId of linkedItemIds) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1705",
|
|
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"
|