@autonav/core 1.0.0 → 1.1.1
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/dist/cli/autonav.js +20 -1
- package/dist/cli/autonav.js.map +1 -1
- package/dist/cli/nav-init.js +307 -1
- package/dist/cli/nav-init.js.map +1 -1
- package/dist/confirmation/index.d.ts +31 -0
- package/dist/confirmation/index.d.ts.map +1 -0
- package/dist/confirmation/index.js +104 -0
- package/dist/confirmation/index.js.map +1 -0
- package/dist/repo-analyzer/index.d.ts +13 -0
- package/dist/repo-analyzer/index.d.ts.map +1 -0
- package/dist/repo-analyzer/index.js +148 -0
- package/dist/repo-analyzer/index.js.map +1 -0
- package/dist/repo-scanner/index.d.ts +48 -0
- package/dist/repo-scanner/index.d.ts.map +1 -0
- package/dist/repo-scanner/index.js +385 -0
- package/dist/repo-scanner/index.js.map +1 -0
- package/dist/skill-generator/index.d.ts +52 -0
- package/dist/skill-generator/index.d.ts.map +1 -0
- package/dist/skill-generator/index.js +236 -0
- package/dist/skill-generator/index.js.map +1 -0
- package/dist/templates/CLAUDE-import.md.template +90 -0
- package/dist/templates/CLAUDE.md.template +7 -9
- package/package.json +4 -3
package/dist/cli/autonav.js
CHANGED
|
@@ -10,11 +10,24 @@
|
|
|
10
10
|
import { spawn } from "node:child_process";
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
12
|
import * as path from "node:path";
|
|
13
|
+
import * as fs from "node:fs";
|
|
13
14
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
15
|
const __dirname = path.dirname(__filename);
|
|
16
|
+
// Read version from package.json
|
|
17
|
+
function getVersion() {
|
|
18
|
+
try {
|
|
19
|
+
const packageJsonPath = path.join(__dirname, "..", "..", "package.json");
|
|
20
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
21
|
+
return packageJson.version || "unknown";
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return "unknown";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
15
27
|
function printUsage() {
|
|
28
|
+
const version = getVersion();
|
|
16
29
|
console.log(`
|
|
17
|
-
autonav -
|
|
30
|
+
autonav v${version} - Autonomous Navigator CLI
|
|
18
31
|
|
|
19
32
|
Usage:
|
|
20
33
|
autonav <command> [options]
|
|
@@ -26,10 +39,12 @@ Commands:
|
|
|
26
39
|
|
|
27
40
|
Options:
|
|
28
41
|
--help, -h Show help
|
|
42
|
+
--version, -v Show version
|
|
29
43
|
|
|
30
44
|
Examples:
|
|
31
45
|
autonav init my-navigator
|
|
32
46
|
autonav init platform-nav --pack platform-engineering
|
|
47
|
+
autonav init my-nav --from ./existing-repo
|
|
33
48
|
autonav query ./my-navigator "How do I deploy?"
|
|
34
49
|
autonav chat ./my-navigator
|
|
35
50
|
|
|
@@ -41,6 +56,10 @@ For command-specific help:
|
|
|
41
56
|
}
|
|
42
57
|
function main() {
|
|
43
58
|
const args = process.argv.slice(2);
|
|
59
|
+
if (args.includes("--version") || args.includes("-v")) {
|
|
60
|
+
console.log(`autonav v${getVersion()}`);
|
|
61
|
+
process.exit(0);
|
|
62
|
+
}
|
|
44
63
|
if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
|
|
45
64
|
printUsage();
|
|
46
65
|
process.exit(0);
|
package/dist/cli/autonav.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autonav.js","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"autonav.js","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,iCAAiC;AACjC,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC;WACH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjB,CAAC,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,UAAkB,CAAC;IAEvB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,OAAO;YACV,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,MAAM;YACT,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACjD,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAC;YACxD,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,uCAAuC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,EAAE;QAClE,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
|
package/dist/cli/nav-init.js
CHANGED
|
@@ -5,6 +5,10 @@ import { loadTemplates, replaceTemplateVars } from "../templates/index.js";
|
|
|
5
5
|
import { validateNavigatorName } from "../validation/index.js";
|
|
6
6
|
import { installPack } from "../pack-installer/index.js";
|
|
7
7
|
import { runInterviewTUI, isInteractiveTerminal } from "../interview/index.js";
|
|
8
|
+
import { scanRepository } from "../repo-scanner/index.js";
|
|
9
|
+
import { analyzeRepository } from "../repo-analyzer/index.js";
|
|
10
|
+
import { confirmAnalysis, promptExistingClaudeMd } from "../confirmation/index.js";
|
|
11
|
+
import { createNavigatorSkill } from "../skill-generator/index.js";
|
|
8
12
|
function printUsage() {
|
|
9
13
|
console.log(`
|
|
10
14
|
autonav init - Create a new Platform AI navigator
|
|
@@ -19,7 +23,11 @@ Options:
|
|
|
19
23
|
--pack <name|url> Install knowledge pack by name, URL, or GitHub path
|
|
20
24
|
--server <url> Custom pack server URL (default: configured server)
|
|
21
25
|
--pack-file <path> Install pack from local file (for development)
|
|
22
|
-
--
|
|
26
|
+
--from, -f <path> Import existing repository as knowledge base
|
|
27
|
+
Scans repo, analyzes with Claude, confirms with user
|
|
28
|
+
--in-place With --from: add config files directly to source repo
|
|
29
|
+
If CLAUDE.md exists, prompts: integrate/overwrite/skip
|
|
30
|
+
--force Overwrite existing files without prompting
|
|
23
31
|
--quiet Minimal output
|
|
24
32
|
--quick Skip interactive interview, use defaults
|
|
25
33
|
|
|
@@ -27,6 +35,12 @@ Examples:
|
|
|
27
35
|
# Create basic navigator
|
|
28
36
|
autonav init my-navigator
|
|
29
37
|
|
|
38
|
+
# Import existing repository as knowledge base
|
|
39
|
+
autonav init my-nav --from /path/to/existing/repo
|
|
40
|
+
|
|
41
|
+
# Import in-place (add files to existing repo)
|
|
42
|
+
autonav init my-nav --from /path/to/repo --in-place
|
|
43
|
+
|
|
30
44
|
# Create navigator with knowledge pack from server
|
|
31
45
|
autonav init platform-nav --pack platform-engineering
|
|
32
46
|
|
|
@@ -61,6 +75,17 @@ The command will create:
|
|
|
61
75
|
With --pack option, it will also install:
|
|
62
76
|
├── system-configuration.md # Pack-specific configuration
|
|
63
77
|
└── knowledge/ # Pre-populated knowledge files
|
|
78
|
+
|
|
79
|
+
With --from option:
|
|
80
|
+
- Scans repository structure and documentation
|
|
81
|
+
- Analyzes content with Claude to infer purpose/scope/audience
|
|
82
|
+
- Confirms analysis with user (Y/n/edit)
|
|
83
|
+
- Creates navigator with knowledge base pointing to source
|
|
84
|
+
|
|
85
|
+
With --from --in-place and existing CLAUDE.md:
|
|
86
|
+
- [i] Integrate: Append autonav section to existing file
|
|
87
|
+
- [o] Overwrite: Replace with full autonav template
|
|
88
|
+
- [s] Skip: Keep existing CLAUDE.md unchanged (default)
|
|
64
89
|
`);
|
|
65
90
|
}
|
|
66
91
|
function titleCase(str) {
|
|
@@ -85,6 +110,12 @@ function parseArgs(args) {
|
|
|
85
110
|
else if (arg === "--pack-file" && i + 1 < args.length) {
|
|
86
111
|
options.packFile = args[++i];
|
|
87
112
|
}
|
|
113
|
+
else if ((arg === "--from" || arg === "-f") && i + 1 < args.length) {
|
|
114
|
+
options.from = args[++i];
|
|
115
|
+
}
|
|
116
|
+
else if (arg === "--in-place") {
|
|
117
|
+
options.inPlace = true;
|
|
118
|
+
}
|
|
88
119
|
else if (arg === "--force") {
|
|
89
120
|
options.force = true;
|
|
90
121
|
}
|
|
@@ -100,6 +131,258 @@ function parseArgs(args) {
|
|
|
100
131
|
}
|
|
101
132
|
return { navigatorName, options };
|
|
102
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Handle import mode (--from flag)
|
|
136
|
+
* Scans an existing repository and creates a navigator that uses it as knowledge base
|
|
137
|
+
*/
|
|
138
|
+
async function handleImportMode(navigatorName, options) {
|
|
139
|
+
const sourcePath = path.resolve(options.from);
|
|
140
|
+
// Validate source path
|
|
141
|
+
if (!fs.existsSync(sourcePath)) {
|
|
142
|
+
console.error(`❌ Error: Source path does not exist: ${sourcePath}\n`);
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
if (!fs.statSync(sourcePath).isDirectory()) {
|
|
146
|
+
console.error(`❌ Error: Source path is not a directory: ${sourcePath}\n`);
|
|
147
|
+
process.exit(1);
|
|
148
|
+
}
|
|
149
|
+
// Determine output path
|
|
150
|
+
const navigatorPath = options.inPlace
|
|
151
|
+
? sourcePath
|
|
152
|
+
: path.resolve(process.cwd(), navigatorName);
|
|
153
|
+
// Check for existing CLAUDE.md in source repo (only relevant for in-place mode)
|
|
154
|
+
const existingClaudeMdPath = path.join(sourcePath, "CLAUDE.md");
|
|
155
|
+
const hasExistingClaudeMd = fs.existsSync(existingClaudeMdPath);
|
|
156
|
+
let claudeMdAction = "overwrite"; // Default for new navigators
|
|
157
|
+
// Only prompt about existing CLAUDE.md in in-place mode
|
|
158
|
+
// In non-in-place mode, we always create a fresh navigator directory with its own CLAUDE.md
|
|
159
|
+
if (options.inPlace && hasExistingClaudeMd && !options.force) {
|
|
160
|
+
claudeMdAction = await promptExistingClaudeMd();
|
|
161
|
+
}
|
|
162
|
+
// Check for existing navigator directory (non-in-place mode)
|
|
163
|
+
if (!options.inPlace) {
|
|
164
|
+
// Check if navigator directory already exists
|
|
165
|
+
if (fs.existsSync(navigatorPath)) {
|
|
166
|
+
if (!options.force) {
|
|
167
|
+
console.error(`❌ Error: Directory already exists: ${navigatorPath}`);
|
|
168
|
+
console.error("Use --force to overwrite\n");
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
if (!options.quiet) {
|
|
172
|
+
console.log(`⚠️ Removing existing directory: ${navigatorPath}`);
|
|
173
|
+
}
|
|
174
|
+
fs.rmSync(navigatorPath, { recursive: true, force: true });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
if (!options.quiet) {
|
|
179
|
+
console.log(`\nImporting repository: ${sourcePath}`);
|
|
180
|
+
console.log("Scanning repository...");
|
|
181
|
+
}
|
|
182
|
+
// Phase 1: Scan repository
|
|
183
|
+
const scanResult = await scanRepository(sourcePath);
|
|
184
|
+
if (!options.quiet) {
|
|
185
|
+
console.log(`✓ Scanned ${scanResult.stats.scannedFiles}/${scanResult.stats.totalFiles} files (${scanResult.stats.strategy} strategy)`);
|
|
186
|
+
if (scanResult.warnings.length > 0) {
|
|
187
|
+
for (const warning of scanResult.warnings) {
|
|
188
|
+
console.log(`⚠️ ${warning}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
console.log("Analyzing repository...");
|
|
192
|
+
}
|
|
193
|
+
// Phase 2: Analyze with Claude
|
|
194
|
+
const analysis = await analyzeRepository(scanResult);
|
|
195
|
+
if (!options.quiet) {
|
|
196
|
+
console.log("✓ Analysis complete");
|
|
197
|
+
}
|
|
198
|
+
// Phase 3: Confirm with user
|
|
199
|
+
const confirmation = await confirmAnalysis(analysis, scanResult.stats);
|
|
200
|
+
if (confirmation.action === "abort") {
|
|
201
|
+
console.log("\n❌ Import cancelled.\n");
|
|
202
|
+
process.exit(0);
|
|
203
|
+
}
|
|
204
|
+
let finalAnalysis;
|
|
205
|
+
if (confirmation.action === "edit") {
|
|
206
|
+
// Fall back to interview with pre-filled context
|
|
207
|
+
if (!isInteractiveTerminal()) {
|
|
208
|
+
console.error("❌ Error: Cannot edit in non-interactive terminal\n");
|
|
209
|
+
process.exit(1);
|
|
210
|
+
}
|
|
211
|
+
console.log("\nStarting interview to customize configuration...\n");
|
|
212
|
+
const interviewConfig = await runInterviewTUI(navigatorName);
|
|
213
|
+
// Convert interview config to analysis result format
|
|
214
|
+
finalAnalysis = {
|
|
215
|
+
purpose: interviewConfig.purpose || analysis.purpose,
|
|
216
|
+
scope: interviewConfig.scope || analysis.scope,
|
|
217
|
+
audience: interviewConfig.audience || analysis.audience,
|
|
218
|
+
suggestedKnowledgePaths: analysis.suggestedKnowledgePaths,
|
|
219
|
+
confidence: 1.0, // User confirmed
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
finalAnalysis = confirmation.analysis;
|
|
224
|
+
}
|
|
225
|
+
// Phase 4: Generate navigator files
|
|
226
|
+
if (!options.inPlace) {
|
|
227
|
+
fs.mkdirSync(navigatorPath, { recursive: true });
|
|
228
|
+
fs.mkdirSync(path.join(navigatorPath, ".claude"), { recursive: true });
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
// Ensure .claude directory exists for in-place
|
|
232
|
+
fs.mkdirSync(path.join(navigatorPath, ".claude"), { recursive: true });
|
|
233
|
+
}
|
|
234
|
+
// Load templates
|
|
235
|
+
const templates = loadTemplates();
|
|
236
|
+
// Prepare template variables
|
|
237
|
+
const now = new Date().toISOString();
|
|
238
|
+
const knowledgePathsList = finalAnalysis.suggestedKnowledgePaths
|
|
239
|
+
.map((p) => `- ${p}`)
|
|
240
|
+
.join("\n");
|
|
241
|
+
// Build navigator context section for imported repos
|
|
242
|
+
const navigatorContext = `
|
|
243
|
+
## About This Navigator
|
|
244
|
+
|
|
245
|
+
**Purpose**: ${finalAnalysis.purpose}
|
|
246
|
+
|
|
247
|
+
**Scope**: ${finalAnalysis.scope}
|
|
248
|
+
|
|
249
|
+
**Audience**: ${finalAnalysis.audience}
|
|
250
|
+
|
|
251
|
+
`;
|
|
252
|
+
// Build knowledge paths section
|
|
253
|
+
const knowledgePathsSection = knowledgePathsList
|
|
254
|
+
? `\nFocus on these paths for documentation:\n${knowledgePathsList}\n\n`
|
|
255
|
+
: "\n";
|
|
256
|
+
const vars = {
|
|
257
|
+
NAVIGATOR_NAME: navigatorName,
|
|
258
|
+
NAVIGATOR_DESCRIPTION: finalAnalysis.purpose,
|
|
259
|
+
NAVIGATOR_CONTEXT: navigatorContext,
|
|
260
|
+
KNOWLEDGE_BASE_PATH: options.inPlace ? "." : sourcePath,
|
|
261
|
+
KNOWLEDGE_PATHS_SECTION: knowledgePathsSection,
|
|
262
|
+
DOMAIN_SCOPE: finalAnalysis.scope,
|
|
263
|
+
DATE: now.split("T")[0] || now.substring(0, 10),
|
|
264
|
+
CREATED_AT: now,
|
|
265
|
+
UPDATED_AT: now,
|
|
266
|
+
};
|
|
267
|
+
// Write CLAUDE.md based on user's choice for existing files
|
|
268
|
+
const claudeMdPath = path.join(navigatorPath, "CLAUDE.md");
|
|
269
|
+
if (claudeMdAction === "skip") {
|
|
270
|
+
if (!options.quiet) {
|
|
271
|
+
console.log("⏭️ Skipped CLAUDE.md (keeping existing)");
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
else if (claudeMdAction === "integrate" && hasExistingClaudeMd) {
|
|
275
|
+
// Read existing CLAUDE.md and append autonav section
|
|
276
|
+
const existingContent = fs.readFileSync(existingClaudeMdPath, "utf-8");
|
|
277
|
+
const autonav_section = `
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Autonav Integration
|
|
282
|
+
|
|
283
|
+
This repository has been configured as an Autonav knowledge base.
|
|
284
|
+
|
|
285
|
+
**Purpose**: ${finalAnalysis.purpose}
|
|
286
|
+
|
|
287
|
+
**Scope**: ${finalAnalysis.scope}
|
|
288
|
+
|
|
289
|
+
**Audience**: ${finalAnalysis.audience}
|
|
290
|
+
|
|
291
|
+
**Knowledge paths**:
|
|
292
|
+
${knowledgePathsList || "- (see repository structure)"}
|
|
293
|
+
|
|
294
|
+
### Autonav Grounding Rules
|
|
295
|
+
|
|
296
|
+
When answering questions about this repository:
|
|
297
|
+
- Always cite specific files and sections
|
|
298
|
+
- Use exact headings and references
|
|
299
|
+
- If you don't know something, say so explicitly
|
|
300
|
+
- Never make up information not in the knowledge base
|
|
301
|
+
|
|
302
|
+
See \`config.json\` for navigator configuration.
|
|
303
|
+
`;
|
|
304
|
+
fs.writeFileSync(claudeMdPath, existingContent + autonav_section);
|
|
305
|
+
if (!options.quiet) {
|
|
306
|
+
console.log("✓ Integrated autonav section into existing CLAUDE.md");
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
// Overwrite with full autonav template
|
|
311
|
+
fs.writeFileSync(claudeMdPath, replaceTemplateVars(templates.claudeMd, vars));
|
|
312
|
+
if (!options.quiet) {
|
|
313
|
+
console.log("✓ Created CLAUDE.md");
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Write config.json with knowledgeBase path
|
|
317
|
+
const configContent = JSON.stringify({
|
|
318
|
+
version: "0.1.0",
|
|
319
|
+
name: navigatorName,
|
|
320
|
+
description: finalAnalysis.purpose,
|
|
321
|
+
created: now,
|
|
322
|
+
knowledgeBase: options.inPlace ? "." : sourcePath,
|
|
323
|
+
importedFrom: {
|
|
324
|
+
path: sourcePath,
|
|
325
|
+
analyzedAt: now,
|
|
326
|
+
confidence: finalAnalysis.confidence,
|
|
327
|
+
},
|
|
328
|
+
plugins: {
|
|
329
|
+
configFile: "./.claude/plugins.json",
|
|
330
|
+
},
|
|
331
|
+
}, null, 2);
|
|
332
|
+
fs.writeFileSync(path.join(navigatorPath, "config.json"), configContent);
|
|
333
|
+
if (!options.quiet) {
|
|
334
|
+
console.log("✓ Created config.json");
|
|
335
|
+
}
|
|
336
|
+
// Write plugins.json
|
|
337
|
+
const pluginsPath = path.join(navigatorPath, ".claude", "plugins.json");
|
|
338
|
+
if (!fs.existsSync(pluginsPath)) {
|
|
339
|
+
fs.writeFileSync(pluginsPath, templates.pluginsJson);
|
|
340
|
+
if (!options.quiet) {
|
|
341
|
+
console.log("✓ Configured plugins.json");
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
// Write .gitignore if not in-place (don't override existing)
|
|
345
|
+
if (!options.inPlace) {
|
|
346
|
+
fs.writeFileSync(path.join(navigatorPath, ".gitignore"), templates.gitignore);
|
|
347
|
+
// Write README.md
|
|
348
|
+
fs.writeFileSync(path.join(navigatorPath, "README.md"), replaceTemplateVars(templates.readme, vars));
|
|
349
|
+
}
|
|
350
|
+
// Create global "ask-<navname>" skill for inter-navigator communication
|
|
351
|
+
await createNavigatorSkill({
|
|
352
|
+
navigatorName,
|
|
353
|
+
navigatorPath,
|
|
354
|
+
description: finalAnalysis.purpose,
|
|
355
|
+
scope: finalAnalysis.scope,
|
|
356
|
+
audience: finalAnalysis.audience,
|
|
357
|
+
}, { force: options.force, quiet: options.quiet });
|
|
358
|
+
if (!options.quiet) {
|
|
359
|
+
console.log("✓ Navigator ready at " + (options.inPlace ? sourcePath : `./${navigatorName}`));
|
|
360
|
+
console.log("\nNext steps:");
|
|
361
|
+
if (options.inPlace) {
|
|
362
|
+
console.log(" 1. Review CLAUDE.md and customize as needed");
|
|
363
|
+
console.log(" 2. Use Claude Code: claude");
|
|
364
|
+
console.log(` 3. Or query directly: autonav query . "your question"\n`);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
console.log(` 1. cd ${navigatorName}`);
|
|
368
|
+
console.log(" 2. Review CLAUDE.md and customize as needed");
|
|
369
|
+
console.log(" 3. Use Claude Code: claude");
|
|
370
|
+
console.log(` 4. Or query directly: autonav query ${navigatorName} "your question"\n`);
|
|
371
|
+
}
|
|
372
|
+
console.log("💡 Tips:");
|
|
373
|
+
console.log(` - Knowledge base path: ${options.inPlace ? "." : sourcePath}`);
|
|
374
|
+
console.log(" - Edit CLAUDE.md to customize the navigator's behavior");
|
|
375
|
+
console.log(" - Enable plugins in .claude/plugins.json\n");
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
console.log(`✓ Created navigator: ${navigatorName}`);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
console.error(`\n❌ Error importing repository: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
383
|
+
process.exit(1);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
103
386
|
async function main() {
|
|
104
387
|
const args = process.argv.slice(2);
|
|
105
388
|
// Handle --help
|
|
@@ -120,6 +403,16 @@ async function main() {
|
|
|
120
403
|
console.error(`❌ Error: ${validation.error}\n`);
|
|
121
404
|
process.exit(1);
|
|
122
405
|
}
|
|
406
|
+
// Validate mutual exclusivity of --from and --pack
|
|
407
|
+
if (options.from && (options.pack || options.packFile)) {
|
|
408
|
+
console.error("❌ Error: Cannot use --from with --pack or --pack-file\n");
|
|
409
|
+
process.exit(1);
|
|
410
|
+
}
|
|
411
|
+
// Handle import mode (--from)
|
|
412
|
+
if (options.from) {
|
|
413
|
+
await handleImportMode(navigatorName, options);
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
123
416
|
const navigatorPath = path.resolve(process.cwd(), navigatorName);
|
|
124
417
|
// Check if directory already exists
|
|
125
418
|
if (fs.existsSync(navigatorPath)) {
|
|
@@ -238,9 +531,14 @@ async function main() {
|
|
|
238
531
|
// Prepare template variables
|
|
239
532
|
const now = new Date().toISOString();
|
|
240
533
|
const description = interviewConfig?.purpose || `Knowledge navigator for ${titleCase(navigatorName)}`;
|
|
534
|
+
const scope = interviewConfig?.scope || "[Define what this navigator knows about and what it doesn't]";
|
|
241
535
|
const vars = {
|
|
242
536
|
NAVIGATOR_NAME: navigatorName,
|
|
243
537
|
NAVIGATOR_DESCRIPTION: description,
|
|
538
|
+
NAVIGATOR_CONTEXT: "", // Empty for non-import navigators
|
|
539
|
+
KNOWLEDGE_BASE_PATH: "./knowledge",
|
|
540
|
+
KNOWLEDGE_PATHS_SECTION: "\n",
|
|
541
|
+
DOMAIN_SCOPE: scope,
|
|
244
542
|
DATE: now.split("T")[0] || now.substring(0, 10), // YYYY-MM-DD
|
|
245
543
|
CREATED_AT: now,
|
|
246
544
|
UPDATED_AT: now,
|
|
@@ -332,6 +630,14 @@ This is your knowledge base directory. Add your documentation files here.
|
|
|
332
630
|
`;
|
|
333
631
|
fs.writeFileSync(path.join(navigatorPath, "knowledge", "README.md"), starterReadme);
|
|
334
632
|
}
|
|
633
|
+
// Create global "ask-<navname>" skill for inter-navigator communication
|
|
634
|
+
await createNavigatorSkill({
|
|
635
|
+
navigatorName,
|
|
636
|
+
navigatorPath,
|
|
637
|
+
description,
|
|
638
|
+
scope: interviewConfig?.scope,
|
|
639
|
+
audience: interviewConfig?.audience,
|
|
640
|
+
}, { force: options.force, quiet: options.quiet });
|
|
335
641
|
if (!options.quiet) {
|
|
336
642
|
console.log("✓ Navigator ready at ./" + navigatorName);
|
|
337
643
|
console.log("\nNext steps:");
|
package/dist/cli/nav-init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-init.js","sourceRoot":"","sources":["../../src/cli/nav-init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nav-init.js","sourceRoot":"","sources":["../../src/cli/nav-init.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA0C,MAAM,uBAAuB,CAAC;AACvH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAuB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAA+B,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAsBnE,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Eb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG;SACP,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAI/B,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,aAAiC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,GAAG,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAC7B,aAAqB,EACrB,OAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;IAE/C,uBAAuB;IACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,wCAAwC,UAAU,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,4CAA4C,UAAU,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO;QACnC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAE/C,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAChE,IAAI,cAAc,GAA2B,WAAW,CAAC,CAAC,6BAA6B;IAEvF,wDAAwD;IACxD,4FAA4F;IAC5F,IAAI,OAAO,CAAC,OAAO,IAAI,mBAAmB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,cAAc,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAClD,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,8CAA8C;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,WAAW,UAAU,CAAC,KAAK,CAAC,QAAQ,YAAY,CAAC,CAAC;YACvI,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAED,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,aAA6B,CAAC;QAElC,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnC,iDAAiD;YACjD,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;YAE7D,qDAAqD;YACrD,aAAa,GAAG;gBACd,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;gBACpD,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;gBAC9C,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBACvD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;gBACzD,UAAU,EAAE,GAAG,EAAE,iBAAiB;aACnC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,iBAAiB;QACjB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,6BAA6B;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,aAAa,CAAC,uBAAuB;aAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qDAAqD;QACrD,MAAM,gBAAgB,GAAG;;;eAGd,aAAa,CAAC,OAAO;;aAEvB,aAAa,CAAC,KAAK;;gBAEhB,aAAa,CAAC,QAAQ;;CAErC,CAAC;QAEE,gCAAgC;QAChC,MAAM,qBAAqB,GAAG,kBAAkB;YAC9C,CAAC,CAAC,8CAA8C,kBAAkB,MAAM;YACxE,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,IAAI,GAA2B;YACnC,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,aAAa,CAAC,OAAO;YAC5C,iBAAiB,EAAE,gBAAgB;YACnC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;YACvD,uBAAuB,EAAE,qBAAqB;YAC9C,YAAY,EAAE,aAAa,CAAC,KAAK;YACjC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/C,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QAEF,4DAA4D;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE3D,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,WAAW,IAAI,mBAAmB,EAAE,CAAC;YACjE,qDAAqD;YACrD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG;;;;;;;;eAQf,aAAa,CAAC,OAAO;;aAEvB,aAAa,CAAC,KAAK;;gBAEhB,aAAa,CAAC,QAAQ;;;EAGpC,kBAAkB,IAAI,8BAA8B;;;;;;;;;;;CAWrD,CAAC;YACI,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,EAAE,CAAC,aAAa,CACd,YAAY,EACZ,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC9C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAClC;YACE,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,aAAa,CAAC,OAAO;YAClC,OAAO,EAAE,GAAG;YACZ,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;YACjD,YAAY,EAAE;gBACZ,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,aAAa,CAAC,UAAU;aACrC;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,wBAAwB;aACrC;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EACtC,SAAS,CAAC,SAAS,CACpB,CAAC;YAEF,kBAAkB;YAClB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EACrC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,MAAM,oBAAoB,CACxB;YACE,aAAa;YACb,aAAa;YACb,WAAW,EAAE,aAAa,CAAC,OAAO;YAClC,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,EACD,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAC/C,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC;YAE7F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,WAAW,aAAa,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,yCAAyC,aAAa,oBAAoB,CAAC,CAAC;YAC1F,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,gBAAgB;IAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEnD,0BAA0B;IAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,YAAY,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mDAAmD;IACnD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAEjE,oCAAoC;IACpC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,6BAA6B;QAC7B,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,iBAAiB;QACjB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,0EAA0E;QAC1E,IAAI,YAAY,GAA6C,IAAI,CAAC;QAClE,IAAI,WAAoC,CAAC;QAEzC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,QAAQ;oBACd,CAAC,CAAC,gCAAgC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnE,CAAC,CAAC,iCAAiC,OAAO,CAAC,IAAI,EAAE,CACpD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;oBAC/B,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,OAAO,CAAC,KAAK;wBACvB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;iBACrC,CAAC,CAAC;gBAEH,YAAY,GAAG;oBACb,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAC1B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;iBACjC,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CACT,+BAA+B,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,CAC5E,CAAC;oBACF,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAC3B,CAAC;wBACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9B,uBAAuB;4BACvB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BAChD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;4BACzD,OAAO,CAAC,GAAG,CACT,gCAAgC,cAAc,CAAC,MAAM,aAAa,CACnE,CAAC;4BACF,OAAO,CAAC,GAAG,CACT,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACvD,IAAI,SAA6B,CAAC;gBAClC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,WAAW,GAAG;oBACZ,QAAQ,EAAE,YAAY,CAAC,IAAI;oBAC3B,WAAW,EAAE,YAAY,CAAC,OAAO;oBACjC,SAAS;iBACV,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACzF,CAAC;gBACF,wCAAwC;gBACxC,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,eAAe,GAA2B,IAAI,CAAC;QACnD,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAEtC,IAAI,cAAc,EAAE,CAAC;YACnB,4CAA4C;YAC5C,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;oBACxG,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,mCAAmC;oBACnC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,6BAA6B,EAAE,CAAC;wBAC9E,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;wBACzD,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,eAAe,EAAE,OAAO,IAAI,2BAA2B,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QACtG,MAAM,KAAK,GAAG,eAAe,EAAE,KAAK,IAAI,8DAA8D,CAAC;QACvG,MAAM,IAAI,GAA2B;YACnC,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,WAAW;YAClC,iBAAiB,EAAE,EAAE,EAAE,kCAAkC;YACzD,mBAAmB,EAAE,aAAa;YAClC,uBAAuB,EAAE,IAAI;YAC7B,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa;YAC9D,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE;YACnC,YAAY,EAAE,YAAY,EAAE,OAAO,IAAI,EAAE;SAC1C,CAAC;QAEF,8DAA8D;QAC9D,MAAM,cAAc,GAAG,YAAY;YACjC,CAAC,CAAC,SAAS,CAAC,cAAc;YAC1B,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;QACzB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EACvC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,gEAAgE;QAChE,IAAI,eAAuB,CAAC;QAC5B,IAAI,eAAe,EAAE,QAAQ,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC7C,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,oBAAoB;YACpB,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,eAAe,EAAE,QAAQ;gBACvB,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,8BAA8B,CACnC,CAAC;QACJ,CAAC;QAED,8EAA8E;QAC9E,IACE,YAAY;YACZ,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC,EACnE,CAAC;YACD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,yBAAyB,CAAC,EACnD,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CACzD,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QAED,mBAAmB;QACnB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;QAED,kBAAkB;QAClB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EACrC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAC5C,CAAC;QAEF,+DAA+D;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,gBAAgB,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BnE,CAAC;YAEI,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,EAClD,aAAa,CACd,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,MAAM,oBAAoB,CACxB;YACE,aAAa;YACb,aAAa;YACb,WAAW;YACX,KAAK,EAAE,eAAe,EAAE,KAAK;YAC7B,QAAQ,EAAE,eAAe,EAAE,QAAQ;SACpC,EACD,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAC/C,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,aAAa,CAAC,CAAC;YAEvD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,aAAa,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,0CAA0C,aAAa,oBAAoB,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,0CAA0C,aAAa,oBAAoB,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AnalysisResult } from "../repo-analyzer/index.js";
|
|
2
|
+
import type { ScanStats } from "../repo-scanner/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Confirmation Module
|
|
5
|
+
*
|
|
6
|
+
* Simple terminal prompt for confirming repository analysis results.
|
|
7
|
+
*/
|
|
8
|
+
export type ConfirmationResult = {
|
|
9
|
+
action: "confirm";
|
|
10
|
+
analysis: AnalysisResult;
|
|
11
|
+
} | {
|
|
12
|
+
action: "edit";
|
|
13
|
+
} | {
|
|
14
|
+
action: "abort";
|
|
15
|
+
};
|
|
16
|
+
export type ExistingClaudeMdAction = "integrate" | "overwrite" | "skip";
|
|
17
|
+
/**
|
|
18
|
+
* Show analysis summary and get user confirmation
|
|
19
|
+
*
|
|
20
|
+
* @param analysis - The analysis result from repo-analyzer
|
|
21
|
+
* @param stats - Scan statistics from repo-scanner
|
|
22
|
+
* @returns User's decision: confirm, edit, or abort
|
|
23
|
+
*/
|
|
24
|
+
export declare function confirmAnalysis(analysis: AnalysisResult, stats: ScanStats): Promise<ConfirmationResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Prompt user about what to do with an existing CLAUDE.md file
|
|
27
|
+
*
|
|
28
|
+
* @returns User's decision: integrate, overwrite, or skip
|
|
29
|
+
*/
|
|
30
|
+
export declare function promptExistingClaudeMd(): Promise<ExistingClaudeMdAction>;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/confirmation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;GAIG;AAEH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAyDxE;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,kBAAkB,CAAC,CA6B7B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CA0B9E"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as readline from "node:readline";
|
|
2
|
+
/**
|
|
3
|
+
* Format the analysis summary for display
|
|
4
|
+
*/
|
|
5
|
+
function formatAnalysisSummary(analysis, stats) {
|
|
6
|
+
const lines = [
|
|
7
|
+
"",
|
|
8
|
+
"I analyzed your repository and found:",
|
|
9
|
+
"",
|
|
10
|
+
` Purpose: ${analysis.purpose}`,
|
|
11
|
+
` Scope: ${analysis.scope}`,
|
|
12
|
+
` Audience: ${analysis.audience}`,
|
|
13
|
+
` Knowledge paths: ${analysis.suggestedKnowledgePaths.join(", ") || "(none detected)"}`,
|
|
14
|
+
"",
|
|
15
|
+
];
|
|
16
|
+
// Add stats info
|
|
17
|
+
const strategyInfo = stats.strategy === "full"
|
|
18
|
+
? `Scanned all ${stats.scannedFiles} files`
|
|
19
|
+
: stats.strategy === "truncated"
|
|
20
|
+
? `Scanned ${stats.scannedFiles}/${stats.totalFiles} files (some truncated)`
|
|
21
|
+
: `Sampled ${stats.scannedFiles}/${stats.totalFiles} files`;
|
|
22
|
+
lines.push(` (${strategyInfo})`);
|
|
23
|
+
// Add confidence warning if low
|
|
24
|
+
if (analysis.confidence < 0.5) {
|
|
25
|
+
lines.push("");
|
|
26
|
+
lines.push(" ⚠️ Low confidence analysis - repository may lack documentation");
|
|
27
|
+
}
|
|
28
|
+
lines.push("");
|
|
29
|
+
return lines.join("\n");
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read a single line from stdin
|
|
33
|
+
*/
|
|
34
|
+
function prompt(question) {
|
|
35
|
+
const rl = readline.createInterface({
|
|
36
|
+
input: process.stdin,
|
|
37
|
+
output: process.stdout,
|
|
38
|
+
});
|
|
39
|
+
return new Promise((resolve) => {
|
|
40
|
+
rl.question(question, (answer) => {
|
|
41
|
+
rl.close();
|
|
42
|
+
resolve(answer);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Show analysis summary and get user confirmation
|
|
48
|
+
*
|
|
49
|
+
* @param analysis - The analysis result from repo-analyzer
|
|
50
|
+
* @param stats - Scan statistics from repo-scanner
|
|
51
|
+
* @returns User's decision: confirm, edit, or abort
|
|
52
|
+
*/
|
|
53
|
+
export async function confirmAnalysis(analysis, stats) {
|
|
54
|
+
// Check if we're in a TTY
|
|
55
|
+
if (!process.stdin.isTTY) {
|
|
56
|
+
// Non-interactive: just return confirm with the analysis
|
|
57
|
+
console.log(formatAnalysisSummary(analysis, stats));
|
|
58
|
+
console.log("Non-interactive mode: proceeding with analysis.\n");
|
|
59
|
+
return { action: "confirm", analysis };
|
|
60
|
+
}
|
|
61
|
+
console.log(formatAnalysisSummary(analysis, stats));
|
|
62
|
+
const answer = await prompt("Does this look correct? [Y/n/edit] ");
|
|
63
|
+
const normalized = answer.trim().toLowerCase();
|
|
64
|
+
if (normalized === "" || normalized === "y" || normalized === "yes") {
|
|
65
|
+
return { action: "confirm", analysis };
|
|
66
|
+
}
|
|
67
|
+
if (normalized === "n" || normalized === "no") {
|
|
68
|
+
return { action: "abort" };
|
|
69
|
+
}
|
|
70
|
+
if (normalized === "edit" || normalized === "e") {
|
|
71
|
+
return { action: "edit" };
|
|
72
|
+
}
|
|
73
|
+
// Default to confirm for unrecognized input
|
|
74
|
+
console.log("Unrecognized input, proceeding with confirmation.\n");
|
|
75
|
+
return { action: "confirm", analysis };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Prompt user about what to do with an existing CLAUDE.md file
|
|
79
|
+
*
|
|
80
|
+
* @returns User's decision: integrate, overwrite, or skip
|
|
81
|
+
*/
|
|
82
|
+
export async function promptExistingClaudeMd() {
|
|
83
|
+
console.log("\n⚠️ This repository already has a CLAUDE.md file.\n");
|
|
84
|
+
console.log("How would you like to handle it?");
|
|
85
|
+
console.log(" [i] Integrate - Add autonav reference section to existing file");
|
|
86
|
+
console.log(" [o] Overwrite - Replace with full autonav template");
|
|
87
|
+
console.log(" [s] Skip - Don't modify CLAUDE.md (default)\n");
|
|
88
|
+
// Check if we're in a TTY
|
|
89
|
+
if (!process.stdin.isTTY) {
|
|
90
|
+
console.log("Non-interactive mode: skipping CLAUDE.md modification.\n");
|
|
91
|
+
return "skip";
|
|
92
|
+
}
|
|
93
|
+
const answer = await prompt("Your choice? [i/o/S] ");
|
|
94
|
+
const normalized = answer.trim().toLowerCase();
|
|
95
|
+
if (normalized === "i" || normalized === "integrate") {
|
|
96
|
+
return "integrate";
|
|
97
|
+
}
|
|
98
|
+
if (normalized === "o" || normalized === "overwrite") {
|
|
99
|
+
return "overwrite";
|
|
100
|
+
}
|
|
101
|
+
// Default to skip
|
|
102
|
+
return "skip";
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/confirmation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ScanResult } from "../repo-scanner/index.js";
|
|
2
|
+
export interface AnalysisResult {
|
|
3
|
+
purpose: string;
|
|
4
|
+
scope: string;
|
|
5
|
+
audience: string;
|
|
6
|
+
suggestedKnowledgePaths: string[];
|
|
7
|
+
confidence: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Analyze a scanned repository using Claude
|
|
11
|
+
*/
|
|
12
|
+
export declare function analyzeRepository(scanResult: ScanResult): Promise<AnalysisResult>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|