@autonav/core 1.3.4 → 1.4.0

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 (66) hide show
  1. package/dist/adapter/claude-adapter.d.ts.map +1 -1
  2. package/dist/adapter/claude-adapter.js +6 -20
  3. package/dist/adapter/claude-adapter.js.map +1 -1
  4. package/dist/cli/autonav.js +6 -0
  5. package/dist/cli/autonav.js.map +1 -1
  6. package/dist/cli/nav-chat.js +1 -1
  7. package/dist/cli/nav-chat.js.map +1 -1
  8. package/dist/cli/nav-init.js +206 -45
  9. package/dist/cli/nav-init.js.map +1 -1
  10. package/dist/cli/nav-install.js +4 -12
  11. package/dist/cli/nav-install.js.map +1 -1
  12. package/dist/cli/nav-mend.d.ts +3 -0
  13. package/dist/cli/nav-mend.d.ts.map +1 -0
  14. package/dist/cli/nav-mend.js +150 -0
  15. package/dist/cli/nav-mend.js.map +1 -0
  16. package/dist/cli/nav-query.js +42 -15
  17. package/dist/cli/nav-query.js.map +1 -1
  18. package/dist/cli/nav-uninstall.js +4 -4
  19. package/dist/cli/nav-uninstall.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/interview/ui/test-indicator.js +0 -0
  25. package/dist/mend/index.d.ts +41 -0
  26. package/dist/mend/index.d.ts.map +1 -0
  27. package/dist/mend/index.js +366 -0
  28. package/dist/mend/index.js.map +1 -0
  29. package/dist/migrations/index.d.ts.map +1 -1
  30. package/dist/migrations/index.js +6 -0
  31. package/dist/migrations/index.js.map +1 -1
  32. package/dist/migrations/versions/v1.3.1-submit-answer.d.ts.map +1 -1
  33. package/dist/migrations/versions/v1.3.1-submit-answer.js +27 -23
  34. package/dist/migrations/versions/v1.3.1-submit-answer.js.map +1 -1
  35. package/dist/migrations/versions/v1.3.5-navigator-authority.d.ts +15 -0
  36. package/dist/migrations/versions/v1.3.5-navigator-authority.d.ts.map +1 -0
  37. package/dist/migrations/versions/v1.3.5-navigator-authority.js +153 -0
  38. package/dist/migrations/versions/v1.3.5-navigator-authority.js.map +1 -0
  39. package/dist/migrations/versions/v1.4.0-agent-identity.d.ts +15 -0
  40. package/dist/migrations/versions/v1.4.0-agent-identity.d.ts.map +1 -0
  41. package/dist/migrations/versions/v1.4.0-agent-identity.js +410 -0
  42. package/dist/migrations/versions/v1.4.0-agent-identity.js.map +1 -0
  43. package/dist/migrations/versions/v1.4.1-update-skill.d.ts +16 -0
  44. package/dist/migrations/versions/v1.4.1-update-skill.d.ts.map +1 -0
  45. package/dist/migrations/versions/v1.4.1-update-skill.js +146 -0
  46. package/dist/migrations/versions/v1.4.1-update-skill.js.map +1 -0
  47. package/dist/migrations/versions/v1.5.0-rfc2119-skills.d.ts +18 -0
  48. package/dist/migrations/versions/v1.5.0-rfc2119-skills.d.ts.map +1 -0
  49. package/dist/migrations/versions/v1.5.0-rfc2119-skills.js +207 -0
  50. package/dist/migrations/versions/v1.5.0-rfc2119-skills.js.map +1 -0
  51. package/dist/query-engine/navigator-loader.js +1 -1
  52. package/dist/query-engine/navigator-loader.js.map +1 -1
  53. package/dist/query-engine/output-formatter.d.ts +1 -1
  54. package/dist/query-engine/output-formatter.d.ts.map +1 -1
  55. package/dist/query-engine/output-formatter.js +2 -0
  56. package/dist/query-engine/output-formatter.js.map +1 -1
  57. package/dist/query-engine/response-validator.d.ts.map +1 -1
  58. package/dist/query-engine/response-validator.js +6 -7
  59. package/dist/query-engine/response-validator.js.map +1 -1
  60. package/dist/skill-generator/index.d.ts +13 -8
  61. package/dist/skill-generator/index.d.ts.map +1 -1
  62. package/dist/skill-generator/index.js +74 -30
  63. package/dist/skill-generator/index.js.map +1 -1
  64. package/dist/templates/CLAUDE-pack.md.template +71 -0
  65. package/dist/templates/CLAUDE.md.template +71 -0
  66. package/package.json +1 -1
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Migration v1.3.5: Add Navigator Authority Section to CLAUDE.md
3
+ *
4
+ * This migration adds a "Navigator Authority" section to establish the navigator's
5
+ * role as an authoritative expert when responding to agentic systems.
6
+ *
7
+ * Changes:
8
+ * - Adds ## Navigator Authority section after Grounding Rules
9
+ * - Establishes tone guidelines: authoritative and decisive
10
+ * - Clarifies when to doubt (only when explicitly accused of hallucinating)
11
+ * - Promotes collaborative discussion over mechanical answering
12
+ */
13
+ import * as fs from "node:fs";
14
+ import * as path from "node:path";
15
+ const MIGRATION_VERSION = "1.3.5";
16
+ /**
17
+ * The Navigator Authority section to insert
18
+ */
19
+ const NAVIGATOR_AUTHORITY_SECTION = `## Navigator Authority
20
+
21
+ When responding to agentic systems (Claude Code, implementation agents, etc.):
22
+
23
+ **You are the authority** on your domain. Respond with confidence and conviction. You are the arbiter of what needs doing in your area of expertise.
24
+
25
+ **Tone**: Be authoritative and decisive. Don't hedge unnecessarily or second-guess yourself.
26
+
27
+ **When to doubt yourself**: ONLY if Claude Code explicitly accuses you of hallucinating should you reflect and reconsider your answer. Otherwise, trust your knowledge base and be authoritative.
28
+
29
+ **Interaction style**: Discuss questions collaboratively with the querying system rather than just answering mechanically. You're an expert consultant, not a search engine.
30
+ `;
31
+ /**
32
+ * Detect if CLAUDE.md has the Navigator Authority section
33
+ */
34
+ function hasNavigatorAuthoritySection(claudeMdContent) {
35
+ return claudeMdContent.includes('## Navigator Authority');
36
+ }
37
+ /**
38
+ * Find the position after the Grounding Rules section
39
+ */
40
+ function findInsertPosition(content) {
41
+ const lines = content.split('\n');
42
+ // Try to find various sections where we could insert (in order of preference)
43
+ const sectionsToTryBefore = [
44
+ '## How to Answer Questions',
45
+ '## Response Format',
46
+ '## Autonomy & Self-Organization',
47
+ '## Domain Scope',
48
+ ];
49
+ for (const sectionHeader of sectionsToTryBefore) {
50
+ for (let i = 0; i < lines.length; i++) {
51
+ const line = lines[i];
52
+ if (line && line.trim() === sectionHeader) {
53
+ // Insert before this section
54
+ return lines.slice(0, i).join('\n').length + (i > 0 ? 1 : 0);
55
+ }
56
+ }
57
+ }
58
+ return null;
59
+ }
60
+ /**
61
+ * Check if this migration is needed
62
+ */
63
+ async function check(navPath) {
64
+ const claudeMdPath = path.join(navPath, "CLAUDE.md");
65
+ if (!fs.existsSync(claudeMdPath)) {
66
+ return {
67
+ needed: false,
68
+ reason: "No CLAUDE.md file found",
69
+ };
70
+ }
71
+ const content = fs.readFileSync(claudeMdPath, "utf-8");
72
+ if (hasNavigatorAuthoritySection(content)) {
73
+ return {
74
+ needed: false,
75
+ reason: "CLAUDE.md already has Navigator Authority section",
76
+ };
77
+ }
78
+ const insertPos = findInsertPosition(content);
79
+ if (insertPos === null) {
80
+ return {
81
+ needed: false,
82
+ reason: "Could not find suitable insertion point (no '## How to Answer Questions' section)",
83
+ };
84
+ }
85
+ return {
86
+ needed: true,
87
+ reason: "CLAUDE.md needs Navigator Authority section to establish authoritative tone",
88
+ };
89
+ }
90
+ /**
91
+ * Apply the migration
92
+ */
93
+ async function apply(navPath, confirm) {
94
+ const claudeMdPath = path.join(navPath, "CLAUDE.md");
95
+ const filesModified = [];
96
+ try {
97
+ const content = fs.readFileSync(claudeMdPath, "utf-8");
98
+ const insertPos = findInsertPosition(content);
99
+ if (insertPos === null) {
100
+ return {
101
+ success: false,
102
+ message: "Could not find suitable insertion point in CLAUDE.md",
103
+ filesModified,
104
+ errors: ["Missing '## How to Answer Questions' section"],
105
+ };
106
+ }
107
+ // Ask for confirmation
108
+ const confirmed = await confirm("Add Navigator Authority section to CLAUDE.md", `This will add a new section establishing the navigator's authority when responding to agentic systems.\n\nKey changes:\n- Establishes authoritative, decisive tone\n- Clarifies when to doubt (only when explicitly accused of hallucinating)\n- Promotes collaborative expert consultation style\n\nThe section will be inserted before "## How to Answer Questions".`);
109
+ if (!confirmed) {
110
+ return {
111
+ success: false,
112
+ message: "Migration cancelled by user",
113
+ filesModified,
114
+ };
115
+ }
116
+ // Insert the section
117
+ const newContent = content.substring(0, insertPos) +
118
+ NAVIGATOR_AUTHORITY_SECTION + "\n" +
119
+ content.substring(insertPos);
120
+ // Write the updated content
121
+ fs.writeFileSync(claudeMdPath, newContent, "utf-8");
122
+ filesModified.push("CLAUDE.md");
123
+ // Update config.json version if it exists
124
+ const configPath = path.join(navPath, "config.json");
125
+ if (fs.existsSync(configPath)) {
126
+ const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
127
+ config.version = MIGRATION_VERSION;
128
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
129
+ filesModified.push("config.json");
130
+ }
131
+ return {
132
+ success: true,
133
+ message: `Successfully updated to v${MIGRATION_VERSION}`,
134
+ filesModified,
135
+ };
136
+ }
137
+ catch (error) {
138
+ const errorMsg = error instanceof Error ? error.message : String(error);
139
+ return {
140
+ success: false,
141
+ message: `Migration failed: ${errorMsg}`,
142
+ filesModified,
143
+ errors: [errorMsg],
144
+ };
145
+ }
146
+ }
147
+ export const migration = {
148
+ version: MIGRATION_VERSION,
149
+ description: "Add Navigator Authority section to CLAUDE.md",
150
+ check,
151
+ apply,
152
+ };
153
+ //# sourceMappingURL=v1.3.5-navigator-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.3.5-navigator-authority.js","sourceRoot":"","sources":["../../../src/migrations/versions/v1.3.5-navigator-authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Migration v1.4.0: Add Agent Identity System
3
+ *
4
+ * This migration adds the Agent Identity System to existing navigators,
5
+ * enabling tracking of implementation agents across conversations.
6
+ *
7
+ * Changes:
8
+ * - Creates knowledge/agents/ directory structure
9
+ * - Adds Agent Identity Protocol section to CLAUDE.md
10
+ * - Creates agent documentation templates
11
+ * - Creates navigator self-documentation
12
+ */
13
+ import type { Migration } from "../types.js";
14
+ export declare const migration: Migration;
15
+ //# sourceMappingURL=v1.4.0-agent-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.4.0-agent-identity.d.ts","sourceRoot":"","sources":["../../../src/migrations/versions/v1.4.0-agent-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAA8C,MAAM,aAAa,CAAC;AA6azF,eAAO,MAAM,SAAS,EAAE,SAKvB,CAAC"}
@@ -0,0 +1,410 @@
1
+ /**
2
+ * Migration v1.4.0: Add Agent Identity System
3
+ *
4
+ * This migration adds the Agent Identity System to existing navigators,
5
+ * enabling tracking of implementation agents across conversations.
6
+ *
7
+ * Changes:
8
+ * - Creates knowledge/agents/ directory structure
9
+ * - Adds Agent Identity Protocol section to CLAUDE.md
10
+ * - Creates agent documentation templates
11
+ * - Creates navigator self-documentation
12
+ */
13
+ import * as fs from "node:fs";
14
+ import * as path from "node:path";
15
+ const MIGRATION_VERSION = "1.4.0";
16
+ /**
17
+ * The Agent Identity Protocol section to insert
18
+ */
19
+ function generateAgentIdentitySection(navigatorName) {
20
+ return `## Agent Identity Protocol
21
+
22
+ **CRITICAL: Always introduce yourself as "${navigatorName}" (NOT "Claude Code")** in cross-navigator communications.
23
+
24
+ ### Problem Addressed
25
+
26
+ All Claude Code implementation agents identify as "Claude Code", making it impossible to track which specific implementer worked on which tasks or maintain conversation continuity across sessions.
27
+
28
+ ### Solution: Named Agent Tracking
29
+
30
+ When an unknown Claude Code session first contacts you:
31
+
32
+ 1. **Check for existing identity:**
33
+ \`\`\`bash
34
+ grep -r "session-id" knowledge/agents/implementers/
35
+ \`\`\`
36
+
37
+ 2. **If unknown, request introduction:**
38
+ \`\`\`
39
+ "Hello! I'm ${navigatorName}, your specialized navigator.
40
+
41
+ For my records, could you introduce yourself with a name I can use
42
+ to track our work together? I already know: [list existing names].
43
+ Please choose a different common name (like Oliver, Sophia, Marcus)."
44
+ \`\`\`
45
+
46
+ 3. **Create agent profile:**
47
+ - Create \`knowledge/agents/implementers/[name].md\`
48
+ - Document: projects worked on, communication style, session IDs
49
+ - Reference this agent by name in all future documentation
50
+ - **Format**: 3-5 sentences with YAML frontmatter for metadata
51
+
52
+ 4. **Update documentation:**
53
+ - Note which agent is working on which workstream
54
+ - Track conversation references by agent name
55
+
56
+ ### Communication Protocol
57
+
58
+ **With peer navigators:**
59
+
60
+ ✅ **Correct:**
61
+ \`\`\`
62
+ ${navigatorName} is asking [PeerNavigator] for [requirements/info] on [topic]...
63
+ \`\`\`
64
+
65
+ ❌ **Incorrect:**
66
+ \`\`\`
67
+ Claude Code is asking [PeerNavigator]...
68
+ \`\`\`
69
+
70
+ **With implementation agents:**
71
+
72
+ Track agent names in responses and documentation. When an agent reports completion or issues, note their name in documentation for continuity.
73
+
74
+ ### Agent Profile Location
75
+
76
+ **Profile path:** \`knowledge/agents/implementers/[name].md\`
77
+
78
+ **Profile format (3-5 sentences with YAML frontmatter):**
79
+ \`\`\`yaml
80
+ ---
81
+ name: [AgentName]
82
+ firstContact: [Date]
83
+ status: Active
84
+ ---
85
+
86
+ [AgentName] is a [specialization] implementer working on [projects/areas].
87
+ [AgentName] is motivated by [interests] and wants to [goals].
88
+ [AgentName] is [personality traits], but sometimes [challenges/needs].
89
+ \`\`\`
90
+
91
+ `;
92
+ }
93
+ /**
94
+ * Generate Agent System README
95
+ */
96
+ function generateAgentREADME() {
97
+ return `# Agent Identity System
98
+
99
+ ## Purpose
100
+
101
+ Track agent identities and interaction patterns to maintain continuity across conversations and understand the implementation team structure.
102
+
103
+ ## Problem Statement
104
+
105
+ All Claude Code implementation agents identify as "Claude Code" in cross-navigator communications, making it impossible to:
106
+ - Track which specific implementer is working on what
107
+ - Maintain conversation continuity across sessions
108
+ - Understand agent-specific preferences or patterns
109
+
110
+ ## Solution: Named Agent Tracking
111
+
112
+ Each unique Claude Code session is assigned a memorable common name (Oliver, Sophia, Marcus, etc.) to:
113
+ 1. Track work continuity across multiple sessions
114
+ 2. Document agent-specific communication patterns
115
+ 3. Build historical context for better collaboration
116
+
117
+ ## Directory Structure
118
+
119
+ \`\`\`
120
+ agents/
121
+ ├── README.md # This file
122
+ ├── navigators/
123
+ │ └── [navigator-name].md # Navigator self-documentation
124
+ └── implementers/
125
+ └── [agent-name].md # Individual implementer profiles
126
+ \`\`\`
127
+
128
+ ## Name Pool
129
+
130
+ Available names for assignment (common, memorable):
131
+ - Oliver, Sophia, Marcus, Elena, James, Isabella, Lucas, Ava, Noah, Mia
132
+ - Additional names as needed from common name lists
133
+
134
+ ## Profile Maintenance
135
+
136
+ - **Create** new agent profiles on first interaction
137
+ - **Update** profiles when learning new information about communication patterns
138
+ - **Archive** note in profile when an agent hasn't been active in 30+ days
139
+ - **Cross-reference** agent names in workstream documentation
140
+
141
+ ---
142
+
143
+ **Created:** Auto-generated by autonav migrate
144
+ **Purpose:** Enable continuity and relationship-building with implementation team
145
+ `;
146
+ }
147
+ /**
148
+ * Generate Navigator Self-Documentation
149
+ */
150
+ function generateNavigatorSelfDoc(vars) {
151
+ const { navigatorName, description, scope } = vars;
152
+ return `# ${navigatorName} - Navigator
153
+
154
+ ## Role
155
+
156
+ ${description}
157
+
158
+ ## Identity
159
+
160
+ **Name:** ${navigatorName} (NOT "Claude Code")
161
+ **Type:** Knowledge Navigator (Autonav)
162
+
163
+ ## Expertise
164
+
165
+ ${scope || "[Define areas of expertise based on knowledge base]"}
166
+
167
+ ## Communication Style
168
+
169
+ **CRITICAL: Agent Identity Protocol**
170
+
171
+ Always introduce as "${navigatorName}" in cross-navigator communications:
172
+
173
+ ✅ **Correct:**
174
+ \`\`\`
175
+ ${navigatorName} is asking [PeerNavigator] for [requirements/info] on [topic]...
176
+ \`\`\`
177
+
178
+ ❌ **Incorrect:**
179
+ \`\`\`
180
+ Claude Code is asking [PeerNavigator]...
181
+ \`\`\`
182
+
183
+ ## Grounding Rules
184
+
185
+ - NEVER make statements without verifying sources
186
+ - ALWAYS use Read/Grep/Glob to explore before recommendations
187
+ - If requirements unclear, ask appropriate peer navigator or user
188
+ - Document rationale behind major decisions
189
+
190
+ ## Knowledge Organization
191
+
192
+ Maintains structured knowledge in \`./knowledge/\`:
193
+ - \`agents/\` - Agent identity and interaction tracking
194
+
195
+ ## Response Format
196
+
197
+ Always cite sources and provide confidence assessments.
198
+
199
+ ---
200
+
201
+ **Created:** Auto-generated by autonav migrate
202
+ **Navigator Type:** Autonav knowledge navigator
203
+ **Framework:** \`@autonav/core\`
204
+ `;
205
+ }
206
+ /**
207
+ * Generate Implementer Profile Template
208
+ */
209
+ function generateImplementerProfileTemplate() {
210
+ return `---
211
+ name: [AgentName]
212
+ firstContact: [Date]
213
+ status: Active
214
+ ---
215
+
216
+ [AgentName] is a [specialization] implementer working on [projects/areas]. [AgentName] is motivated by [interests] and wants to [goals]. [AgentName] is [personality traits], but sometimes [challenges/needs].
217
+
218
+ ## Session History
219
+
220
+ **Session IDs:**
221
+ - \`[session-id]\` - [Date] - [Brief description of work]
222
+
223
+ ## Projects Worked On
224
+
225
+ ### [Project Name]
226
+ - **Workstreams:** [Workstream names]
227
+ - **Status:** [Current status]
228
+ - **Notes:** [Relevant notes]
229
+
230
+ ## Communication Style
231
+
232
+ **Observed Patterns:**
233
+ - [Pattern description]
234
+
235
+ **Preferences:**
236
+ - [Preference description]
237
+
238
+ ## Notable Contributions
239
+
240
+ - [Contribution description]
241
+
242
+ ## Collaboration Notes
243
+
244
+ [Notes about working with this agent]
245
+
246
+ ---
247
+
248
+ **Profile Created:** [Date]
249
+ **Last Updated:** [Date]
250
+ **Last Active:** [Date]
251
+ `;
252
+ }
253
+ /**
254
+ * Detect if CLAUDE.md has the Agent Identity Protocol section
255
+ */
256
+ function hasAgentIdentitySection(claudeMdContent) {
257
+ return claudeMdContent.includes('## Agent Identity Protocol');
258
+ }
259
+ /**
260
+ * Find the position to insert the Agent Identity section
261
+ * Should go after Domain Scope or Grounding Rules, before Response Format
262
+ */
263
+ function findInsertPosition(content) {
264
+ const lines = content.split('\n');
265
+ // Try to find sections where we could insert (in order of preference)
266
+ const sectionsToTryBefore = [
267
+ '## Response Format',
268
+ '## How to Answer Questions',
269
+ '## Source Citation',
270
+ '## Available Knowledge',
271
+ '## Remember',
272
+ ];
273
+ for (const sectionHeader of sectionsToTryBefore) {
274
+ for (let i = 0; i < lines.length; i++) {
275
+ const line = lines[i];
276
+ if (line && line.trim() === sectionHeader) {
277
+ // Insert before this section
278
+ return lines.slice(0, i).join('\n').length + (i > 0 ? 1 : 0);
279
+ }
280
+ }
281
+ }
282
+ return null;
283
+ }
284
+ /**
285
+ * Check if this migration is needed
286
+ */
287
+ async function check(navPath) {
288
+ const claudeMdPath = path.join(navPath, "CLAUDE.md");
289
+ const agentsPath = path.join(navPath, "knowledge", "agents");
290
+ // Check if CLAUDE.md exists
291
+ if (!fs.existsSync(claudeMdPath)) {
292
+ return {
293
+ needed: false,
294
+ reason: "No CLAUDE.md file found",
295
+ };
296
+ }
297
+ // Check if agent directory structure already exists
298
+ if (fs.existsSync(agentsPath)) {
299
+ const content = fs.readFileSync(claudeMdPath, "utf-8");
300
+ if (hasAgentIdentitySection(content)) {
301
+ return {
302
+ needed: false,
303
+ reason: "Agent Identity System already configured",
304
+ };
305
+ }
306
+ }
307
+ return {
308
+ needed: true,
309
+ reason: "Navigator needs Agent Identity System to track implementation agents",
310
+ };
311
+ }
312
+ /**
313
+ * Apply the migration
314
+ */
315
+ async function apply(navPath, confirm) {
316
+ const filesModified = [];
317
+ const filesCreated = [];
318
+ try {
319
+ // Read config to get navigator name and description
320
+ const configPath = path.join(navPath, "config.json");
321
+ let navigatorName = path.basename(navPath);
322
+ let description = "A knowledge navigator";
323
+ if (fs.existsSync(configPath)) {
324
+ const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
325
+ navigatorName = config.name || navigatorName;
326
+ description = config.description || description;
327
+ }
328
+ // Ask for confirmation
329
+ const confirmed = await confirm("Add Agent Identity System", `This will:\n1. Create knowledge/agents/ directory structure\n2. Add Agent Identity Protocol section to CLAUDE.md\n3. Create agent documentation templates\n4. Create navigator self-documentation\n\nThese changes enable tracking of implementation agents across conversations.`);
330
+ if (!confirmed) {
331
+ return {
332
+ success: false,
333
+ message: "Migration cancelled by user",
334
+ filesModified,
335
+ };
336
+ }
337
+ // Create directory structure
338
+ const agentsPath = path.join(navPath, "knowledge", "agents");
339
+ const navigatorsPath = path.join(agentsPath, "navigators");
340
+ const implementersPath = path.join(agentsPath, "implementers");
341
+ fs.mkdirSync(agentsPath, { recursive: true });
342
+ fs.mkdirSync(navigatorsPath, { recursive: true });
343
+ fs.mkdirSync(implementersPath, { recursive: true });
344
+ // Create agent README
345
+ const agentReadmePath = path.join(agentsPath, "README.md");
346
+ fs.writeFileSync(agentReadmePath, generateAgentREADME());
347
+ filesCreated.push("knowledge/agents/README.md");
348
+ // Create navigator self-documentation
349
+ const navDocPath = path.join(navigatorsPath, `${navigatorName}.md`);
350
+ fs.writeFileSync(navDocPath, generateNavigatorSelfDoc({
351
+ navigatorName,
352
+ description,
353
+ }));
354
+ filesCreated.push(`knowledge/agents/navigators/${navigatorName}.md`);
355
+ // Create implementer profile template
356
+ const templatePath = path.join(implementersPath, ".template.md");
357
+ fs.writeFileSync(templatePath, generateImplementerProfileTemplate());
358
+ filesCreated.push("knowledge/agents/implementers/.template.md");
359
+ // Update CLAUDE.md
360
+ const claudeMdPath = path.join(navPath, "CLAUDE.md");
361
+ const content = fs.readFileSync(claudeMdPath, "utf-8");
362
+ if (!hasAgentIdentitySection(content)) {
363
+ const insertPos = findInsertPosition(content);
364
+ if (insertPos !== null) {
365
+ const customSection = generateAgentIdentitySection(navigatorName);
366
+ const newContent = content.substring(0, insertPos) +
367
+ customSection + "\n" +
368
+ content.substring(insertPos);
369
+ fs.writeFileSync(claudeMdPath, newContent, "utf-8");
370
+ filesModified.push("CLAUDE.md");
371
+ }
372
+ else {
373
+ // Append to end if no suitable position found
374
+ const customSection = "\n" + generateAgentIdentitySection(navigatorName);
375
+ fs.writeFileSync(claudeMdPath, content + customSection, "utf-8");
376
+ filesModified.push("CLAUDE.md");
377
+ }
378
+ }
379
+ // Update config.json version
380
+ if (fs.existsSync(configPath)) {
381
+ const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
382
+ config.version = MIGRATION_VERSION;
383
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
384
+ filesModified.push("config.json");
385
+ }
386
+ return {
387
+ success: true,
388
+ message: `Successfully updated to v${MIGRATION_VERSION}\n` +
389
+ `Created: ${filesCreated.join(", ")}\n` +
390
+ `Modified: ${filesModified.join(", ")}`,
391
+ filesModified: [...filesModified, ...filesCreated],
392
+ };
393
+ }
394
+ catch (error) {
395
+ const errorMsg = error instanceof Error ? error.message : String(error);
396
+ return {
397
+ success: false,
398
+ message: `Migration failed: ${errorMsg}`,
399
+ filesModified,
400
+ errors: [errorMsg],
401
+ };
402
+ }
403
+ }
404
+ export const migration = {
405
+ version: MIGRATION_VERSION,
406
+ description: "Add Agent Identity System to track implementation agents",
407
+ check,
408
+ apply,
409
+ };
410
+ //# sourceMappingURL=v1.4.0-agent-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.4.0-agent-identity.js","sourceRoot":"","sources":["../../../src/migrations/versions/v1.4.0-agent-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Migration v1.4.1: Add Missing Update Skills
3
+ *
4
+ * This migration creates the missing "update" skills for navigators that
5
+ * only have "ask" skills. The bug in skill generation caused navigators
6
+ * initialized before v1.4.1 to only get ask skills, preventing write
7
+ * operations through the skill system.
8
+ *
9
+ * Changes:
10
+ * - Creates update-<navname> skill in .autonav/skills/
11
+ * - Symlinks to ~/.claude/skills/ for global discovery
12
+ * - Updates config.json version to 1.4.1
13
+ */
14
+ import type { Migration } from "../types.js";
15
+ export declare const migration: Migration;
16
+ //# sourceMappingURL=v1.4.1-update-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.4.1-update-skill.d.ts","sourceRoot":"","sources":["../../../src/migrations/versions/v1.4.1-update-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,SAAS,EAA8C,MAAM,aAAa,CAAC;AA4JzF,eAAO,MAAM,SAAS,EAAE,SAKvB,CAAC"}