@yemi33/minions 0.1.1839 → 0.1.1840

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.1840 (2026-05-10)
4
+
5
+ ### Other
6
+ - refactor(cc): skip describeCcProtectedPaths render when template lacks placeholder
7
+
3
8
  ## 0.1.1839 (2026-05-10)
4
9
 
5
10
  ### Other
package/dashboard.js CHANGED
@@ -1699,12 +1699,10 @@ function _buildSyntheticActionResultsForTurn(turnId, message, requestedAt) {
1699
1699
  return { actions, results };
1700
1700
  }
1701
1701
 
1702
- // Cheap mtime+size snapshot used by doc-chat to detect whether CC's `Edit` /
1703
- // `Write` tool calls actually changed the target file during a turn. A diff
1704
- // triggers a "Document saved" chip via the same _ccTurnCreations surface used
1705
- // by mutating /api/* endpoints. Missing files snapshot as null so callers can
1706
- // distinguish "file existed and was edited" from "file was deleted/never
1707
- // existed" — only the former should surface a chip.
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.
1708
1706
  function _snapshotDocFile(fullPath) {
1709
1707
  if (!fullPath) return null;
1710
1708
  try {
@@ -1716,8 +1714,8 @@ function _snapshotDocFile(fullPath) {
1716
1714
  function _docFileChanged(before, fullPath) {
1717
1715
  if (!fullPath) return false;
1718
1716
  const after = _snapshotDocFile(fullPath);
1719
- if (!after) return false; // file gone or never existed — don't fire a chip
1720
- if (!before) return true; // file created during the turn = a save
1717
+ if (!after) return false;
1718
+ if (!before) return true;
1721
1719
  return before.mtimeMs !== after.mtimeMs || before.size !== after.size;
1722
1720
  }
1723
1721
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-10T02:54:40.580Z"
4
+ "cachedAt": "2026-05-10T03:02:09.205Z"
5
5
  }
package/engine/shared.js CHANGED
@@ -2163,9 +2163,14 @@ function renderCcSystemPrompt(raw, opts) {
2163
2163
  const turnId = (opts && typeof opts.turnId === 'string') ? opts.turnId : '';
2164
2164
  const dashboardPort = (opts && opts.dashboardPort !== undefined && opts.dashboardPort !== null && opts.dashboardPort !== '')
2165
2165
  ? String(opts.dashboardPort) : '7331';
2166
- return String(raw || '')
2167
- .replace(/\{\{minions_dir\}\}/g, liveRoot)
2168
- .replace(/\{\{cc_protected_paths\}\}/g, describeCcProtectedPaths(liveRoot))
2166
+ let out = String(raw || '').replace(/\{\{minions_dir\}\}/g, liveRoot);
2167
+ // describeCcProtectedPaths builds a ~250-byte string from three array
2168
+ // joins — skip it when the template doesn't actually need the rule
2169
+ // (e.g. doc-chat-system.md), which otherwise burns the work per turn.
2170
+ if (out.includes('{{cc_protected_paths}}')) {
2171
+ out = out.replace(/\{\{cc_protected_paths\}\}/g, describeCcProtectedPaths(liveRoot));
2172
+ }
2173
+ return out
2169
2174
  .replace(/\{\{cc_turn_id\}\}/g, turnId)
2170
2175
  .replace(/\{\{dashboard_port\}\}/g, dashboardPort);
2171
2176
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1839",
3
+ "version": "0.1.1840",
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"