autodev-cli 1.4.162 → 1.4.163
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/media/profile/00-auto-advance.md +1 -0
- package/media/profile/00-critic-swarm.md +1 -0
- package/media/profile/00-identity.md +1 -0
- package/media/profile/00-qa-swarm.md +1 -0
- package/media/profile/00a-proactive-discovery.md +1 -0
- package/media/profile/00b-self-verifiable-work.md +1 -0
- package/media/profile/00c-verifiable-threads.md +1 -0
- package/media/profile/00d-turn-end-retrospective.md +1 -0
- package/media/profile/00e-long-horizon-planning.md +1 -0
- package/media/profile/00f-swarm-orchestration.md +1 -0
- package/media/profile/00g-swarm-living-documents.md +1 -0
- package/media/profile/00h-shared-skills.md +1 -0
- package/media/profile/00i-qa-swarm.md +1 -0
- package/media/profile/00j-deferred-task-resolution.md +1 -0
- package/media/profile/00k-internal-workflows.md +1 -0
- package/media/profile/00l-compaction-continuity.md +1 -0
- package/media/profile/00m-autoplan.md +1 -0
- package/media/profile/00n-context-checkpoints.md +1 -0
- package/media/profile/01-learning.md +1 -0
- package/media/profile/02-memory-mcp.md +1 -0
- package/media/profile/03-living-docs.md +1 -0
- package/media/profile/04-skill-files.md +1 -0
- package/media/profile/05-skill-creation.md +1 -0
- package/media/profile/06-core-rules.md +1 -0
- package/media/profile/07-core-loop.md +1 -0
- package/media/profile/08-thinking.md +1 -0
- package/media/profile/09-parallel-panel.md +1 -0
- package/media/profile/10-codebase-verification.md +1 -0
- package/media/profile/11-git-debug-security.md +1 -0
- package/media/profile/12-todo-format.md +1 -0
- package/media/profile/13-workflow-principles.md +1 -0
- package/media/profile/14-contracts.md +1 -0
- package/media/profile/15-soul.md +1 -0
- package/media/profile/16-journal.md +1 -0
- package/media/profile/17-issue-tracking.md +1 -0
- package/media/profile/18-knowledgebase.md +1 -0
- package/media/profile/19-subagent-context-management.md +1 -0
- package/media/profile/20-project-graph.md +1 -0
- package/media/skills/autodev/SKILL.md +82 -0
- package/out/dispatcher.js +11 -0
- package/out/dispatcher.js.map +1 -1
- package/out/messageBuilder.js +30 -38
- package/out/messageBuilder.js.map +1 -1
- package/out/protocolSections.js +9 -0
- package/out/protocolSections.js.map +1 -1
- package/out/taskLoop.js +18 -5
- package/out/taskLoop.js.map +1 -1
- package/package.json +4 -3
package/out/protocolSections.js
CHANGED
|
@@ -173,7 +173,16 @@ function applyMcpSkills(root, settings) {
|
|
|
173
173
|
return false;
|
|
174
174
|
}
|
|
175
175
|
});
|
|
176
|
+
// Only skills whose name is an ACTUAL MCP server key in settings are MCP-gated.
|
|
177
|
+
// A general bundled skill (e.g. the master `autodev` router, or contracts) never
|
|
178
|
+
// appears in settings.mcpServers — it is owned by applyAllSkills and must NEVER
|
|
179
|
+
// be removed here. Without this scope, applyMcpSkills would delete every
|
|
180
|
+
// non-MCP skill applyAllSkills just deployed (it did — that wiped `autodev`).
|
|
181
|
+
const mcpServerNames = new Set(Object.keys(settings?.mcpServers ?? {}));
|
|
176
182
|
for (const name of mcpNames) {
|
|
183
|
+
if (!mcpServerNames.has(name)) {
|
|
184
|
+
continue;
|
|
185
|
+
} // general skill — not MCP-managed
|
|
177
186
|
const srcSkill = path.join(skillsMedia, name, 'SKILL.md');
|
|
178
187
|
if (!fs.existsSync(srcSkill)) {
|
|
179
188
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolSections.js","sourceRoot":"","sources":["../src/protocolSections.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,sDAwBC;AAaD,wCA0BC;AAUD,
|
|
1
|
+
{"version":3,"file":"protocolSections.js","sourceRoot":"","sources":["../src/protocolSections.ts"],"names":[],"mappings":"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"}
|
package/out/taskLoop.js
CHANGED
|
@@ -43,6 +43,7 @@ const todo_1 = require("./todo");
|
|
|
43
43
|
const todoWriteManager_1 = require("./todoWriteManager");
|
|
44
44
|
const prompt_1 = require("./prompt");
|
|
45
45
|
const messageBuilder_1 = require("./messageBuilder");
|
|
46
|
+
const messageBuilder_2 = require("./messageBuilder");
|
|
46
47
|
const webhook_1 = require("./webhook");
|
|
47
48
|
const settingsLoader_1 = require("./core/settingsLoader");
|
|
48
49
|
const controlSpec_1 = require("./core/controlSpec");
|
|
@@ -481,6 +482,18 @@ class TaskLoopRunner {
|
|
|
481
482
|
const git = resolveGitInfo(root);
|
|
482
483
|
this._gitRepo = git.gitRepo;
|
|
483
484
|
this._gitBranch = git.gitBranch;
|
|
485
|
+
// Build the agent profile ONCE at loop start (moved off the per-message
|
|
486
|
+
// path): regenerate `.autodev/PROGRAM.md`, deploy all bundled `.claude/skills/`
|
|
487
|
+
// (incl. the master `autodev` skill) + per-MCP skills, and re-inject the
|
|
488
|
+
// AGENTS/CLAUDE/Copilot refs. buildMessage no longer does this every turn —
|
|
489
|
+
// it only rebuilds as a fallback if PROGRAM.md is missing at dispatch.
|
|
490
|
+
// rebuildProfile also runs on explicit profile/settings change (Save & Rebuild).
|
|
491
|
+
try {
|
|
492
|
+
(0, messageBuilder_1.rebuildProfile)(root);
|
|
493
|
+
}
|
|
494
|
+
catch (err) {
|
|
495
|
+
callbacks.log(`⚠️ profile rebuild at loop start failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
496
|
+
}
|
|
484
497
|
// Wire per-provider MCP configs at startup so the A2A tools are always
|
|
485
498
|
// available for whatever provider this agent runs — not just after an
|
|
486
499
|
// `mcp_update` push. Without this, a per-project config (e.g. opencode.json)
|
|
@@ -1682,7 +1695,7 @@ class TaskLoopRunner {
|
|
|
1682
1695
|
if (this._pendingFixHint && this._pendingFixHint.key === gateKey) {
|
|
1683
1696
|
const combined = `${prompt}\n\n---\n${this._pendingFixHint.text}`;
|
|
1684
1697
|
try {
|
|
1685
|
-
messageFile = (0,
|
|
1698
|
+
messageFile = (0, messageBuilder_2.writeMessageFile)(this._workspaceRoot, combined);
|
|
1686
1699
|
}
|
|
1687
1700
|
catch { /* keep original */ }
|
|
1688
1701
|
prompt = combined;
|
|
@@ -2137,7 +2150,7 @@ class TaskLoopRunner {
|
|
|
2137
2150
|
// Ask the agent to write a summary before the session is cleared
|
|
2138
2151
|
try {
|
|
2139
2152
|
const summaryMsg = `Before this session ends, please summarise everything accomplished so far into a file called SUMMARY.md in the project root. Include: tasks completed, key decisions made, any issues found, and current project state. Write comprehensively so the next session can continue without context loss. Then stop — do not pick up any new tasks.`;
|
|
2140
|
-
const summaryFile = (0,
|
|
2153
|
+
const summaryFile = (0, messageBuilder_2.writeMessageFile)(this._workspaceRoot, summaryMsg);
|
|
2141
2154
|
await this._cb.sendToAi(summaryMsg, 'session-summary', false, summaryFile);
|
|
2142
2155
|
}
|
|
2143
2156
|
catch (rsErr) {
|
|
@@ -2201,7 +2214,7 @@ class TaskLoopRunner {
|
|
|
2201
2214
|
}
|
|
2202
2215
|
}
|
|
2203
2216
|
const finalPrompt = digest ? `${digest}\n\n${action.prompt}` : action.prompt;
|
|
2204
|
-
const msgFile = (0,
|
|
2217
|
+
const msgFile = (0, messageBuilder_2.writeMessageFile)(this._workspaceRoot, finalPrompt);
|
|
2205
2218
|
await this._cb.sendToAi(finalPrompt, action.id, false, msgFile);
|
|
2206
2219
|
}
|
|
2207
2220
|
}
|
|
@@ -3059,7 +3072,7 @@ class TaskLoopRunner {
|
|
|
3059
3072
|
].join('\n');
|
|
3060
3073
|
this._cb?.log(`⚠️ CLI exited: reminding AI to mark TODO.md (${elapsedMin}m elapsed)`);
|
|
3061
3074
|
try {
|
|
3062
|
-
const reminderFile = (0,
|
|
3075
|
+
const reminderFile = (0, messageBuilder_2.writeMessageFile)(this._workspaceRoot, reminder);
|
|
3063
3076
|
await this._cb.sendToAi(reminder, task.text, false, reminderFile);
|
|
3064
3077
|
}
|
|
3065
3078
|
catch { /* ignore */ }
|
|
@@ -3281,7 +3294,7 @@ class TaskLoopRunner {
|
|
|
3281
3294
|
].join('\n');
|
|
3282
3295
|
this._cb?.log(`⚠️ Check-in: reminding AI to mark TODO.md (${elapsedMin}m, JSONL quiet for 3m)`);
|
|
3283
3296
|
try {
|
|
3284
|
-
const reminderFile = (0,
|
|
3297
|
+
const reminderFile = (0, messageBuilder_2.writeMessageFile)(this._workspaceRoot, reminder);
|
|
3285
3298
|
await this._cb.sendToAi(reminder, task.text, false, reminderFile);
|
|
3286
3299
|
}
|
|
3287
3300
|
catch { /* ignore */ }
|