@yemi33/minions 0.1.1746 → 0.1.1748

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 CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1748 (2026-05-06)
4
+
5
+ ### Fixes
6
+ - guard w.title.replace against null/undefined titles (#2120)
7
+
3
8
  ## 0.1.1746 (2026-05-06)
4
9
 
5
10
  ### Fixes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-06T15:01:56.293Z"
4
+ "cachedAt": "2026-05-06T18:53:33.751Z"
5
5
  }
@@ -134,8 +134,8 @@ function checkPlanCompletion(meta, config) {
134
134
  uniquePrs.length ? `- **${uniquePrs.length}** PR(s) created` : '',
135
135
  ``,
136
136
  `## Items`,
137
- ...doneItems.map(w => `- [done] ${w.id}: ${w.title.replace('Implement: ', '')}`),
138
- ...failedItems.map(w => `- [failed] ${w.id}: ${w.title.replace('Implement: ', '')}${w.failReason ? ' — ' + w.failReason : ''}`),
137
+ ...doneItems.map(w => `- [done] ${w.id}: ${(w.title || 'Untitled').replace('Implement: ', '')}`),
138
+ ...failedItems.map(w => `- [failed] ${w.id}: ${(w.title || 'Untitled').replace('Implement: ', '')}${w.failReason ? ' — ' + w.failReason : ''}`),
139
139
  uniquePrs.length ? `\n## Pull Requests` : '',
140
140
  ...uniquePrs.map(pr => `- ${pr.id}: ${pr.title || ''} ${pr.url || ''}`),
141
141
  ].filter(Boolean).join('\n');
@@ -170,7 +170,7 @@ function checkPlanCompletion(meta, config) {
170
170
  const id = 'PL-' + shared.uid();
171
171
  const featureBranch = plan.feature_branch;
172
172
  const mainBranch = shared.resolveMainBranch(primaryProject.localPath, primaryProject.mainBranch);
173
- const itemSummary = doneItems.map(w => '- ' + w.id + ': ' + w.title.replace('Implement: ', '')).join('\n');
173
+ const itemSummary = doneItems.map(w => '- ' + w.id + ': ' + (w.title || 'Untitled').replace('Implement: ', '')).join('\n');
174
174
  mutateWorkItems(wiPath, workItems => {
175
175
  if (workItems.some(w => w.sourcePlan === planFile && w.itemType === 'pr')) return workItems;
176
176
  workItems.push({
@@ -255,7 +255,7 @@ function checkPlanCompletion(meta, config) {
255
255
  const itemsWithCriteria = doneItems.map(w => {
256
256
  const planItem = plan.missing_features?.find(f => f.id === w.id);
257
257
  const criteria = (planItem?.acceptance_criteria || []).map(c => ` - ${c}`).join('\n');
258
- return `### ${w.id}: ${w.title.replace('Implement: ', '')}\n${criteria ? '**Acceptance Criteria:**\n' + criteria : ''}`;
258
+ return `### ${w.id}: ${(w.title || 'Untitled').replace('Implement: ', '')}\n${criteria ? '**Acceptance Criteria:**\n' + criteria : ''}`;
259
259
  }).join('\n\n');
260
260
 
261
261
  const prSummary = uniquePrs.map(pr =>
package/engine/timeout.js CHANGED
@@ -562,4 +562,6 @@ module.exports = {
562
562
  checkSteering,
563
563
  checkIdleThreshold,
564
564
  isOsPidAliveForDispatch,
565
+ parseProcessExitCode, terminalResultIndicatesError, parseTerminalResultFallbackExitCode, // exported for testing
566
+ readFileTail, runtimeSupportsMidRunSessionId, // exported for testing
565
567
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1746",
3
+ "version": "0.1.1748",
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"