@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 +5 -0
- package/dashboard.js +2 -34
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
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
|
|
5042
|
-
//
|
|
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.
|
|
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"
|