@yemi33/minions 0.1.1849 → 0.1.1850

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.1850 (2026-05-10)
4
+
5
+ ### Fixes
6
+ - stop emitting redundant document-saved chip into CC tab
7
+
3
8
  ## 0.1.1849 (2026-05-10)
4
9
 
5
10
  ### Fixes
package/dashboard.js CHANGED
@@ -1693,32 +1693,11 @@ function _buildSyntheticActionResultsForTurn(turnId, message, requestedAt) {
1693
1693
  if (entry.id) result.id = entry.id;
1694
1694
  if (entry.project) result.project = entry.project;
1695
1695
  if (entry.path) result.path = entry.path;
1696
- if (entry.kind === 'document-saved') result.documentSaved = true;
1697
1696
  results.push(result);
1698
1697
  }
1699
1698
  return { actions, results };
1700
1699
  }
1701
1700
 
1702
- // mtime+size snapshot used by doc-chat to detect whether CC's Edit/Write
1703
- // tool calls actually changed the target file during a turn. Null sentinel
1704
- // distinguishes "file present" from "file absent" so deletions don't fire
1705
- // a "Document saved" chip.
1706
- function _snapshotDocFile(fullPath) {
1707
- if (!fullPath) return null;
1708
- try {
1709
- const st = fs.statSync(fullPath);
1710
- return { mtimeMs: st.mtimeMs, size: st.size };
1711
- } catch { return null; }
1712
- }
1713
-
1714
- function _docFileChanged(before, fullPath) {
1715
- if (!fullPath) return false;
1716
- const after = _snapshotDocFile(fullPath);
1717
- if (!after) return false;
1718
- if (!before) return true;
1719
- return before.mtimeMs !== after.mtimeMs || before.size !== after.size;
1720
- }
1721
-
1722
1701
  function _ccTurnEntryToActionType(kind) {
1723
1702
  switch (kind) {
1724
1703
  case 'work-item': return 'dispatch';
@@ -1730,7 +1709,6 @@ function _ccTurnEntryToActionType(kind) {
1730
1709
  case 'pipeline-run': return 'trigger-pipeline';
1731
1710
  case 'watch': return 'create-watch';
1732
1711
  case 'meeting': return 'create-meeting';
1733
- case 'document-saved': return 'document-saved';
1734
1712
  default: return kind;
1735
1713
  }
1736
1714
  }
@@ -5038,11 +5016,10 @@ What would you like to discuss or change? When you're happy, say "approve" and I
5038
5016
 
5039
5017
  // Per-turn correlation: render the doc-chat sysprompt with a fresh
5040
5018
  // {{cc_turn_id}} so any /api/* calls CC makes during the turn surface
5041
- // as chips, plus snapshot the target file so we can detect Edit/Write
5042
- // tool changes and emit a "Document saved" chip.
5019
+ // as chips. Document saves are conveyed via the green-border "✓ Document
5020
+ // saved." suffix in modal-qa.js (driven by `evt.edited`), not a chip.
5043
5021
  const ccTurnId = 'cct-' + shared.uid();
5044
5022
  const turnSystemPrompt = renderDocChatSystemPromptForTurn(ccTurnId);
5045
- const docFileBefore = _snapshotDocFile(fullPath);
5046
5023
 
5047
5024
  let { answer, partial, warning, toolUses, error: ccError } = await ccDocCall({
5048
5025
  message: body.message, document: currentContent, title: body.title,
@@ -5057,11 +5034,6 @@ What would you like to discuss or change? When you're happy, say "approve" and I
5057
5034
  filePath: body.filePath, fullPath, isJson, canEdit,
5058
5035
  originalContent: currentContent, delimiterContent: null,
5059
5036
  });
5060
- // Record a document-saved entry under this turn ID if the file mtime/size
5061
- // changed during the call — surfaces as a "Document saved" chip.
5062
- if (canEdit && _docFileChanged(docFileBefore, fullPath)) {
5063
- _recordCcTurnCreation(ccTurnId, { kind: 'document-saved', path: body.filePath });
5064
- }
5065
5037
  const _synthetic = _buildSyntheticActionResultsForTurn(ccTurnId, body.message, new Date().toISOString());
5066
5038
  const payload = _buildDocChatResponsePayload({
5067
5039
  answer,
@@ -5148,7 +5120,6 @@ What would you like to discuss or change? When you're happy, say "approve" and I
5148
5120
  // Per-turn correlation: see handleDocChat for the matching pattern.
5149
5121
  const ccTurnId = 'cct-' + shared.uid();
5150
5122
  const turnSystemPrompt = renderDocChatSystemPromptForTurn(ccTurnId);
5151
- const docFileBefore = _snapshotDocFile(fullPath);
5152
5123
 
5153
5124
  let { answer, partial, warning, toolUses, error: ccError } = await ccDocCallStreaming({
5154
5125
  message: body.message, document: currentContent, title: body.title,
@@ -5166,9 +5137,6 @@ What would you like to discuss or change? When you're happy, say "approve" and I
5166
5137
  filePath: body.filePath, fullPath, isJson, canEdit,
5167
5138
  originalContent: currentContent, delimiterContent: null,
5168
5139
  });
5169
- if (canEdit && _docFileChanged(docFileBefore, fullPath)) {
5170
- _recordCcTurnCreation(ccTurnId, { kind: 'document-saved', path: body.filePath });
5171
- }
5172
5140
  const _streamSynthetic = _buildSyntheticActionResultsForTurn(ccTurnId, body.message, new Date().toISOString());
5173
5141
  const payload = _buildDocChatResponsePayload({
5174
5142
  answer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1849",
3
+ "version": "0.1.1850",
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"