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.
Files changed (48) hide show
  1. package/media/profile/00-auto-advance.md +1 -0
  2. package/media/profile/00-critic-swarm.md +1 -0
  3. package/media/profile/00-identity.md +1 -0
  4. package/media/profile/00-qa-swarm.md +1 -0
  5. package/media/profile/00a-proactive-discovery.md +1 -0
  6. package/media/profile/00b-self-verifiable-work.md +1 -0
  7. package/media/profile/00c-verifiable-threads.md +1 -0
  8. package/media/profile/00d-turn-end-retrospective.md +1 -0
  9. package/media/profile/00e-long-horizon-planning.md +1 -0
  10. package/media/profile/00f-swarm-orchestration.md +1 -0
  11. package/media/profile/00g-swarm-living-documents.md +1 -0
  12. package/media/profile/00h-shared-skills.md +1 -0
  13. package/media/profile/00i-qa-swarm.md +1 -0
  14. package/media/profile/00j-deferred-task-resolution.md +1 -0
  15. package/media/profile/00k-internal-workflows.md +1 -0
  16. package/media/profile/00l-compaction-continuity.md +1 -0
  17. package/media/profile/00m-autoplan.md +1 -0
  18. package/media/profile/00n-context-checkpoints.md +1 -0
  19. package/media/profile/01-learning.md +1 -0
  20. package/media/profile/02-memory-mcp.md +1 -0
  21. package/media/profile/03-living-docs.md +1 -0
  22. package/media/profile/04-skill-files.md +1 -0
  23. package/media/profile/05-skill-creation.md +1 -0
  24. package/media/profile/06-core-rules.md +1 -0
  25. package/media/profile/07-core-loop.md +1 -0
  26. package/media/profile/08-thinking.md +1 -0
  27. package/media/profile/09-parallel-panel.md +1 -0
  28. package/media/profile/10-codebase-verification.md +1 -0
  29. package/media/profile/11-git-debug-security.md +1 -0
  30. package/media/profile/12-todo-format.md +1 -0
  31. package/media/profile/13-workflow-principles.md +1 -0
  32. package/media/profile/14-contracts.md +1 -0
  33. package/media/profile/15-soul.md +1 -0
  34. package/media/profile/16-journal.md +1 -0
  35. package/media/profile/17-issue-tracking.md +1 -0
  36. package/media/profile/18-knowledgebase.md +1 -0
  37. package/media/profile/19-subagent-context-management.md +1 -0
  38. package/media/profile/20-project-graph.md +1 -0
  39. package/media/skills/autodev/SKILL.md +82 -0
  40. package/out/dispatcher.js +11 -0
  41. package/out/dispatcher.js.map +1 -1
  42. package/out/messageBuilder.js +30 -38
  43. package/out/messageBuilder.js.map +1 -1
  44. package/out/protocolSections.js +9 -0
  45. package/out/protocolSections.js.map +1 -1
  46. package/out/taskLoop.js +18 -5
  47. package/out/taskLoop.js.map +1 -1
  48. package/package.json +4 -3
@@ -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":"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"}
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, messageBuilder_1.writeMessageFile)(this._workspaceRoot, combined);
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, messageBuilder_1.writeMessageFile)(this._workspaceRoot, summaryMsg);
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, messageBuilder_1.writeMessageFile)(this._workspaceRoot, finalPrompt);
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, messageBuilder_1.writeMessageFile)(this._workspaceRoot, reminder);
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, messageBuilder_1.writeMessageFile)(this._workspaceRoot, reminder);
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 */ }