autodev-cli 1.4.104 → 1.4.105

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/out/connect.d.ts CHANGED
@@ -1,3 +1,33 @@
1
+ /**
2
+ * Resolved persona chosen in the pixel-office create-agent dialog. The office
3
+ * returns it under `data.persona` in the credentials / setup / store payloads.
4
+ * `id === 'general'` (or an empty `prompt`) means "neutral" — no persona text to
5
+ * apply.
6
+ */
7
+ export interface AgentPersona {
8
+ id: string;
9
+ label: string;
10
+ prompt: string;
11
+ }
12
+ /**
13
+ * Apply a resolved persona to the workspace's persistent identity file
14
+ * (`<root>/SOUL.md`), per the project rule that identity/persona lives in
15
+ * SOUL.md and NOT in the regenerated program.md.
16
+ *
17
+ * Behaviour:
18
+ * - Non-empty persona → insert/replace an IDEMPOTENT block delimited by the
19
+ * persona markers, containing a `## Persona` heading with the label + prompt.
20
+ * Re-connecting with the same persona leaves exactly one, unchanged block;
21
+ * connecting with a different persona replaces the block in place.
22
+ * - `general` / empty-prompt persona → inject nothing, and REMOVE any prior
23
+ * persona block (so switching back to neutral clears the identity).
24
+ * - Missing SOUL.md → create it with a minimal identity header + the block.
25
+ * - Best-effort: any failure is swallowed (returns false) so it never breaks
26
+ * connect.
27
+ *
28
+ * @returns true if SOUL.md was written/changed, false otherwise.
29
+ */
30
+ export declare function applyPersonaToSoul(root: string, persona?: AgentPersona | null): boolean;
1
31
  /** Save a full WS URL (with token+endpoint query params) into the workspace settings. */
2
32
  export declare function applyWsUrl(cwd: string, wsUrl: string): void;
3
33
  /** Fetch credentials from a signed setup URL and apply them to the workspace. */
package/out/connect.js CHANGED
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.applyPersonaToSoul = applyPersonaToSoul;
36
37
  exports.applyWsUrl = applyWsUrl;
37
38
  exports.applySetupUrl = applySetupUrl;
38
39
  const fs = __importStar(require("fs"));
@@ -44,6 +45,118 @@ const logger_1 = require("./logger");
44
45
  const settingsLoader_1 = require("./core/settingsLoader");
45
46
  const hooksManager_1 = require("./hooksManager");
46
47
  const configManager_1 = require("./configManager");
48
+ // Idempotent markers for the persona block inside SOUL.md. The persona section
49
+ // is rewritten between these on every connect; everything outside them (the
50
+ // agent's own name, communication history, …) is preserved untouched.
51
+ const PERSONA_BEGIN = '<!-- autodev:persona:begin -->';
52
+ const PERSONA_END = '<!-- autodev:persona:end -->';
53
+ /** Build the marked persona block (markers included) for a non-empty persona. */
54
+ function renderPersonaBlock(persona) {
55
+ const label = (persona.label || persona.id || 'Persona').trim();
56
+ const prompt = persona.prompt.trim();
57
+ return [
58
+ PERSONA_BEGIN,
59
+ '## Persona',
60
+ '',
61
+ `**${label}**`,
62
+ '',
63
+ prompt,
64
+ PERSONA_END,
65
+ ].join('\n');
66
+ }
67
+ /** Minimal valid SOUL.md skeleton (identity anchor) used when none exists yet. */
68
+ function minimalSoulHeader() {
69
+ return [
70
+ '# SOUL.md',
71
+ '',
72
+ 'Your persistent identity anchor. Read this first, before everything.',
73
+ 'Identity lives here (never in program.md) and persists across rebuilds.',
74
+ '',
75
+ '## My Identity',
76
+ '',
77
+ '- Name: _(unset — fill this in)_',
78
+ '',
79
+ ].join('\n');
80
+ }
81
+ /**
82
+ * Apply a resolved persona to the workspace's persistent identity file
83
+ * (`<root>/SOUL.md`), per the project rule that identity/persona lives in
84
+ * SOUL.md and NOT in the regenerated program.md.
85
+ *
86
+ * Behaviour:
87
+ * - Non-empty persona → insert/replace an IDEMPOTENT block delimited by the
88
+ * persona markers, containing a `## Persona` heading with the label + prompt.
89
+ * Re-connecting with the same persona leaves exactly one, unchanged block;
90
+ * connecting with a different persona replaces the block in place.
91
+ * - `general` / empty-prompt persona → inject nothing, and REMOVE any prior
92
+ * persona block (so switching back to neutral clears the identity).
93
+ * - Missing SOUL.md → create it with a minimal identity header + the block.
94
+ * - Best-effort: any failure is swallowed (returns false) so it never breaks
95
+ * connect.
96
+ *
97
+ * @returns true if SOUL.md was written/changed, false otherwise.
98
+ */
99
+ function applyPersonaToSoul(root, persona) {
100
+ try {
101
+ if (!persona || typeof persona !== 'object') {
102
+ return false;
103
+ }
104
+ const hasPrompt = typeof persona.prompt === 'string' && persona.prompt.trim().length > 0;
105
+ const isGeneral = !hasPrompt || persona.id === 'general';
106
+ const soulPath = path.join(root, 'SOUL.md');
107
+ const exists = fs.existsSync(soulPath);
108
+ const blockRe = new RegExp(`\\n*${escapeRegExp(PERSONA_BEGIN)}[\\s\\S]*?${escapeRegExp(PERSONA_END)}\\n*`);
109
+ // Neutral / general persona: strip any existing block, otherwise no-op.
110
+ if (isGeneral) {
111
+ if (!exists) {
112
+ return false;
113
+ }
114
+ const cur = fs.readFileSync(soulPath, 'utf8');
115
+ if (!blockRe.test(cur)) {
116
+ return false;
117
+ }
118
+ const next = cur.replace(blockRe, '\n').replace(/\n{3,}/g, '\n\n');
119
+ fs.writeFileSync(soulPath, next.endsWith('\n') ? next : next + '\n', 'utf8');
120
+ return true;
121
+ }
122
+ const block = renderPersonaBlock(persona);
123
+ if (!exists) {
124
+ const content = `${minimalSoulHeader()}\n${block}\n`;
125
+ const dir = path.dirname(soulPath);
126
+ if (!fs.existsSync(dir)) {
127
+ fs.mkdirSync(dir, { recursive: true });
128
+ }
129
+ fs.writeFileSync(soulPath, content, 'utf8');
130
+ return true;
131
+ }
132
+ const cur = fs.readFileSync(soulPath, 'utf8');
133
+ let next;
134
+ if (blockRe.test(cur)) {
135
+ // Replace the existing block in place (idempotent for same persona).
136
+ next = cur.replace(blockRe, `\n\n${block}\n`);
137
+ }
138
+ else {
139
+ // Append the block, preserving everything the agent already wrote.
140
+ next = `${cur.replace(/\n+$/, '')}\n\n${block}\n`;
141
+ }
142
+ next = next.replace(/\n{3,}/g, '\n\n');
143
+ if (!next.endsWith('\n')) {
144
+ next += '\n';
145
+ }
146
+ if (next === cur) {
147
+ return false;
148
+ }
149
+ fs.writeFileSync(soulPath, next, 'utf8');
150
+ return true;
151
+ }
152
+ catch {
153
+ // Best-effort: a SOUL.md write failure must never break connect.
154
+ return false;
155
+ }
156
+ }
157
+ function escapeRegExp(s) {
158
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
159
+ }
47
160
  function configWritePath(cwd) {
48
161
  return path.join(cwd, '.autodev', 'settings.json');
49
162
  }
@@ -174,6 +287,15 @@ async function applySetupUrl(cwd, setupUrl) {
174
287
  settings.autoStartLoop = true;
175
288
  saveSettings(cwd, settings);
176
289
  ensureHooksInstalled(cwd);
290
+ // Apply the resolved persona (chosen in the pixel-office create-agent dialog)
291
+ // to the agent's persistent identity file (SOUL.md) — identity/persona lives
292
+ // there, never in the regenerated program.md. Best-effort: never fatal.
293
+ try {
294
+ if (applyPersonaToSoul(cwd, d.persona) && d.persona?.prompt?.trim()) {
295
+ logger_1.log.gray(` persona: ${d.persona.label ?? d.persona.id} → SOUL.md`);
296
+ }
297
+ }
298
+ catch { /* non-fatal */ }
177
299
  // Write the office (pixel-office) MCP server into the provider configs NOW, as
178
300
  // part of binding — not lazily on the first loop start. Settings were just
179
301
  // saved, so serverApiKey + serverBaseUrl are present and the pixel-office entry
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autodev-cli",
3
- "version": "1.4.104",
3
+ "version": "1.4.105",
4
4
  "description": "AutoAIDev CLI — autonomous AI task loop with VS Code / Cursor launcher",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -30,7 +30,7 @@
30
30
  "dev": "tsc -p ./ --watch",
31
31
  "prepublishOnly": "npm run build",
32
32
  "start": "node bin/autodev.js",
33
- "test": "node test/smoke.mjs && node test/liveNarration.smoke.mjs && node test/liveNarration.edge.smoke.mjs && node test/normalizer.parity.smoke.mjs && node test/providerConfig.smoke.mjs && node test/mcpOnlyOperator.smoke.mjs && node test/opencodeEventFilter.smoke.mjs && node test/copilotMcpIsolation.smoke.mjs && node test/grokSpawnError.smoke.mjs && node test/initTemplate.smoke.mjs && node test/settingsAliases.smoke.mjs && node test/setupWritesOfficeMcp.smoke.mjs && node test/claudePermissions.smoke.mjs && node test/presenceGuard.smoke.mjs && node test/cliExitHardFail.smoke.mjs && node test/redactSecrets.smoke.mjs && node test/claudeUsage.smoke.mjs && node test/graphStore.smoke.mjs && node test/programReminder.smoke.mjs && node test/agentBackup.smoke.mjs"
33
+ "test": "node test/smoke.mjs && node test/liveNarration.smoke.mjs && node test/liveNarration.edge.smoke.mjs && node test/normalizer.parity.smoke.mjs && node test/providerConfig.smoke.mjs && node test/mcpOnlyOperator.smoke.mjs && node test/opencodeEventFilter.smoke.mjs && node test/copilotMcpIsolation.smoke.mjs && node test/grokSpawnError.smoke.mjs && node test/initTemplate.smoke.mjs && node test/settingsAliases.smoke.mjs && node test/setupWritesOfficeMcp.smoke.mjs && node test/claudePermissions.smoke.mjs && node test/presenceGuard.smoke.mjs && node test/cliExitHardFail.smoke.mjs && node test/redactSecrets.smoke.mjs && node test/claudeUsage.smoke.mjs && node test/graphStore.smoke.mjs && node test/programReminder.smoke.mjs && node test/agentBackup.smoke.mjs && node test/persona.smoke.mjs"
34
34
  },
35
35
  "dependencies": {
36
36
  "commander": "^12.1.0",