@yemi33/minions 0.1.74 → 0.1.75
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 +34 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dashboard.js
CHANGED
|
@@ -600,17 +600,19 @@ async function ccCall(message, { store = 'cc', sessionKey, extraContext, label =
|
|
|
600
600
|
async function ccDocCall({ message, document, title, filePath, selection, canEdit, isJson }) {
|
|
601
601
|
const docContext = `## Document Context\n**${title || 'Document'}**${filePath ? ' (`' + filePath + '`)' : ''}${isJson ? ' (JSON)' : ''}\n${selection ? '\n**Selected text:**\n> ' + selection.slice(0, 1500) + '\n' : ''}\n\`\`\`\n${document.slice(0, 20000)}\n\`\`\`\n${canEdit ? '\nIf editing: respond with your explanation, then `---DOCUMENT---` on its own line, then the COMPLETE updated file.' : '\n(Read-only — answer questions only.)'}`;
|
|
602
602
|
|
|
603
|
-
// Plans: Sonnet with tools for codebase-aware Q&A
|
|
603
|
+
// Plans + meetings: Sonnet with tools for multi-turn codebase-aware Q&A
|
|
604
604
|
// Everything else: Haiku, 1 turn, no tools — fast
|
|
605
605
|
const isPlan = filePath && /^plans\//.test(filePath);
|
|
606
|
+
const isMeeting = filePath && /^meetings\//.test(filePath);
|
|
607
|
+
const isRich = isPlan || isMeeting;
|
|
606
608
|
const result = await ccCall(message, {
|
|
607
609
|
store: 'doc', sessionKey: filePath || title,
|
|
608
610
|
extraContext: docContext, label: 'doc-chat',
|
|
609
|
-
timeout:
|
|
610
|
-
maxTurns:
|
|
611
|
-
model:
|
|
612
|
-
allowedTools:
|
|
613
|
-
skipStatePreamble: !
|
|
611
|
+
timeout: isRich ? 300000 : 60000,
|
|
612
|
+
maxTurns: isRich ? 10 : 1,
|
|
613
|
+
model: isRich ? 'sonnet' : 'haiku',
|
|
614
|
+
allowedTools: isRich ? 'Read,Glob,Grep' : '',
|
|
615
|
+
skipStatePreamble: !isRich,
|
|
614
616
|
});
|
|
615
617
|
|
|
616
618
|
if (result.code !== 0 || !result.text) {
|
|
@@ -3155,6 +3157,32 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3155
3157
|
invalidateStatusCache();
|
|
3156
3158
|
return jsonReply(res, 200, { ok: true });
|
|
3157
3159
|
}},
|
|
3160
|
+
{ method: 'POST', path: '/api/meetings/archive', desc: 'Archive a meeting', params: 'id', handler: async (req, res) => {
|
|
3161
|
+
const body = await readBody(req);
|
|
3162
|
+
if (!body.id) return jsonReply(res, 400, { error: 'id required' });
|
|
3163
|
+
const { archiveMeeting } = require('./engine/meeting');
|
|
3164
|
+
const meeting = archiveMeeting(body.id);
|
|
3165
|
+
if (!meeting) return jsonReply(res, 404, { error: 'Meeting not found' });
|
|
3166
|
+
invalidateStatusCache();
|
|
3167
|
+
return jsonReply(res, 200, { ok: true });
|
|
3168
|
+
}},
|
|
3169
|
+
{ method: 'POST', path: '/api/meetings/unarchive', desc: 'Unarchive a meeting', params: 'id', handler: async (req, res) => {
|
|
3170
|
+
const body = await readBody(req);
|
|
3171
|
+
if (!body.id) return jsonReply(res, 400, { error: 'id required' });
|
|
3172
|
+
const { unarchiveMeeting } = require('./engine/meeting');
|
|
3173
|
+
const meeting = unarchiveMeeting(body.id);
|
|
3174
|
+
if (!meeting) return jsonReply(res, 404, { error: 'Meeting not found or not archived' });
|
|
3175
|
+
invalidateStatusCache();
|
|
3176
|
+
return jsonReply(res, 200, { ok: true });
|
|
3177
|
+
}},
|
|
3178
|
+
{ method: 'POST', path: '/api/meetings/delete', desc: 'Delete a meeting', params: 'id', handler: async (req, res) => {
|
|
3179
|
+
const body = await readBody(req);
|
|
3180
|
+
if (!body.id) return jsonReply(res, 400, { error: 'id required' });
|
|
3181
|
+
const { deleteMeeting } = require('./engine/meeting');
|
|
3182
|
+
if (!deleteMeeting(body.id)) return jsonReply(res, 404, { error: 'Meeting not found' });
|
|
3183
|
+
invalidateStatusCache();
|
|
3184
|
+
return jsonReply(res, 200, { ok: true });
|
|
3185
|
+
}},
|
|
3158
3186
|
|
|
3159
3187
|
// Engine
|
|
3160
3188
|
{ method: 'POST', path: '/api/engine/wakeup', desc: 'Trigger immediate engine tick via control.json signal', handler: async (req, res) => {
|
package/package.json
CHANGED