wiggum-cli 0.11.13 → 0.11.15

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 (67) hide show
  1. package/.claude/settings.local.json +10 -1
  2. package/dist/commands/config.d.ts.map +1 -1
  3. package/dist/commands/config.js +9 -17
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/context/convert.d.ts +29 -0
  6. package/dist/context/convert.d.ts.map +1 -0
  7. package/dist/context/convert.js +123 -0
  8. package/dist/context/convert.js.map +1 -0
  9. package/dist/context/index.d.ts +4 -0
  10. package/dist/context/index.d.ts.map +1 -0
  11. package/dist/context/index.js +3 -0
  12. package/dist/context/index.js.map +1 -0
  13. package/dist/context/storage.d.ts +28 -0
  14. package/dist/context/storage.d.ts.map +1 -0
  15. package/dist/context/storage.js +100 -0
  16. package/dist/context/storage.js.map +1 -0
  17. package/dist/context/types.d.ts +50 -0
  18. package/dist/context/types.d.ts.map +1 -0
  19. package/dist/context/types.js +6 -0
  20. package/dist/context/types.js.map +1 -0
  21. package/dist/repl/command-parser.d.ts +5 -0
  22. package/dist/repl/command-parser.d.ts.map +1 -1
  23. package/dist/repl/command-parser.js +5 -0
  24. package/dist/repl/command-parser.js.map +1 -1
  25. package/dist/templates/root/.gitignore.tmpl +2 -0
  26. package/dist/tui/hooks/index.d.ts +2 -0
  27. package/dist/tui/hooks/index.d.ts.map +1 -1
  28. package/dist/tui/hooks/index.js +1 -0
  29. package/dist/tui/hooks/index.js.map +1 -1
  30. package/dist/tui/hooks/useInit.js +1 -1
  31. package/dist/tui/hooks/useInit.js.map +1 -1
  32. package/dist/tui/hooks/useSync.d.ts +15 -0
  33. package/dist/tui/hooks/useSync.d.ts.map +1 -0
  34. package/dist/tui/hooks/useSync.js +52 -0
  35. package/dist/tui/hooks/useSync.js.map +1 -0
  36. package/dist/tui/screens/InitScreen.d.ts.map +1 -1
  37. package/dist/tui/screens/InitScreen.js +22 -26
  38. package/dist/tui/screens/InitScreen.js.map +1 -1
  39. package/dist/tui/screens/InterviewScreen.d.ts.map +1 -1
  40. package/dist/tui/screens/InterviewScreen.js +110 -84
  41. package/dist/tui/screens/InterviewScreen.js.map +1 -1
  42. package/dist/tui/screens/MainShell.d.ts.map +1 -1
  43. package/dist/tui/screens/MainShell.js +37 -2
  44. package/dist/tui/screens/MainShell.js.map +1 -1
  45. package/dist/utils/env.d.ts +16 -1
  46. package/dist/utils/env.d.ts.map +1 -1
  47. package/dist/utils/env.js +55 -4
  48. package/dist/utils/env.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/commands/config.test.ts +225 -0
  51. package/src/commands/config.ts +9 -18
  52. package/src/context/convert.test.ts +129 -0
  53. package/src/context/convert.ts +159 -0
  54. package/src/context/index.ts +19 -0
  55. package/src/context/storage.test.ts +173 -0
  56. package/src/context/storage.ts +117 -0
  57. package/src/context/types.ts +52 -0
  58. package/src/repl/command-parser.ts +5 -0
  59. package/src/templates/root/.gitignore.tmpl +2 -0
  60. package/src/tui/hooks/index.ts +3 -0
  61. package/src/tui/hooks/useInit.ts +1 -1
  62. package/src/tui/hooks/useSync.ts +80 -0
  63. package/src/tui/screens/InitScreen.tsx +27 -27
  64. package/src/tui/screens/InterviewScreen.tsx +116 -75
  65. package/src/tui/screens/MainShell.tsx +39 -2
  66. package/src/utils/env.test.ts +220 -20
  67. package/src/utils/env.ts +60 -4
@@ -27,7 +27,16 @@
27
27
  "Bash(npm install:*)",
28
28
  "Bash(git init:*)",
29
29
  "Bash(git add:*)",
30
- "Bash(git commit -m \"$\\(cat <<''EOF''\nchore: scaffold Astro project with Tailwind, Cloudflare, and sitemap\n\nInitialized wiggum-website with Astro minimal template, added Tailwind CSS v4,\nCloudflare adapter, sitemap integration, and self-hosted font packages\n\\(IBM Plex Mono, Instrument Serif\\).\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")"
30
+ "Bash(git commit -m \"$\\(cat <<''EOF''\nchore: scaffold Astro project with Tailwind, Cloudflare, and sitemap\n\nInitialized wiggum-website with Astro minimal template, added Tailwind CSS v4,\nCloudflare adapter, sitemap integration, and self-hosted font packages\n\\(IBM Plex Mono, Instrument Serif\\).\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
31
+ "mcp__plugin_playwright_playwright__browser_navigate",
32
+ "mcp__plugin_playwright_playwright__browser_resize",
33
+ "mcp__plugin_playwright_playwright__browser_take_screenshot",
34
+ "Bash(curl:*)",
35
+ "mcp__plugin_playwright_playwright__browser_close",
36
+ "WebFetch(domain:registry.npmjs.org)",
37
+ "WebFetch(domain:api.npmjs.org)",
38
+ "Bash(npx astro build:*)",
39
+ "WebFetch(domain:clerk.com)"
31
40
  ]
32
41
  }
33
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA2F7D;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,YAAY,CAAC,CA+DvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAkF7D;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,YAAY,CAAC,CA+DvB"}
@@ -8,6 +8,7 @@ import pc from 'picocolors';
8
8
  import { logger } from '../utils/logger.js';
9
9
  import { simpson } from '../utils/colors.js';
10
10
  import { getAvailableProvider, AVAILABLE_MODELS } from '../ai/providers.js';
11
+ import { writeKeysToEnvFile } from '../utils/env.js';
11
12
  /**
12
13
  * Supported services for API key configuration
13
14
  */
@@ -33,25 +34,16 @@ function isServiceConfigured(service) {
33
34
  return !!process.env[envVar];
34
35
  }
35
36
  /**
36
- * Save an API key to .env.local file
37
+ * Save an API key to .ralph/.env.local file
37
38
  */
38
39
  function saveKeyToEnvLocal(projectRoot, envVar, value) {
39
- const envLocalPath = path.join(projectRoot, '.env.local');
40
- let envContent = '';
41
- // Read existing content if file exists
42
- if (fs.existsSync(envLocalPath)) {
43
- envContent = fs.readFileSync(envLocalPath, 'utf-8');
40
+ // Check that .ralph/ exists (project is initialized)
41
+ const ralphDir = path.join(projectRoot, '.ralph');
42
+ if (!fs.existsSync(ralphDir) || !fs.statSync(ralphDir).isDirectory()) {
43
+ throw new Error('This project is not initialized. Run \'ralph init\' to set up .ralph/ before using \'ralph config set\'.');
44
44
  }
45
- const keyRegex = new RegExp(`^${envVar}=.*$`, 'm');
46
- if (keyRegex.test(envContent)) {
47
- // Replace existing key
48
- envContent = envContent.replace(keyRegex, `${envVar}=${value}`);
49
- }
50
- else {
51
- // Append new key
52
- envContent = envContent.trimEnd() + (envContent ? '\n' : '') + `${envVar}=${value}\n`;
53
- }
54
- fs.writeFileSync(envLocalPath, envContent);
45
+ const envLocalPath = path.join(ralphDir, '.env.local');
46
+ writeKeysToEnvFile(envLocalPath, { [envVar]: value });
55
47
  }
56
48
  /**
57
49
  * Display current configuration status
@@ -133,7 +125,7 @@ export async function handleConfigCommand(args, state) {
133
125
  saveKeyToEnvLocal(state.projectRoot, envVar, apiKey);
134
126
  // Also set in current process environment
135
127
  process.env[envVar] = apiKey;
136
- logger.success(`${envVar} saved to .env.local`);
128
+ logger.success(`${envVar} saved to .ralph/.env.local`);
137
129
  console.log(pc.dim('Restart Wiggum to apply changes to tool availability.'));
138
130
  console.log('');
139
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Context Converters
3
+ * Map between runtime AI/scanner types and persisted context types
4
+ */
5
+ import type { ScanResult } from '../scanner/types.js';
6
+ import type { AIAnalysisResult } from '../ai/enhancer.js';
7
+ import type { PersistedScanResult, PersistedAIAnalysis } from './types.js';
8
+ /**
9
+ * Convert a ScanResult.stack to PersistedScanResult
10
+ */
11
+ export declare function toPersistedScanResult(scanResult: ScanResult): PersistedScanResult;
12
+ /**
13
+ * Convert a PersistedScanResult back into a minimal ScanResult
14
+ * for use in prompt context (e.g., Project Tech Stack summary).
15
+ */
16
+ export declare function toScanResultFromPersisted(persisted: PersistedScanResult, projectRoot: string): ScanResult;
17
+ /**
18
+ * Convert an AIAnalysisResult to PersistedAIAnalysis
19
+ */
20
+ export declare function toPersistedAIAnalysis(analysis: AIAnalysisResult | undefined): PersistedAIAnalysis;
21
+ /**
22
+ * Get git metadata (commit hash, branch) using execFile (no shell injection risk).
23
+ * Returns undefined values if git is not available or not a git repo.
24
+ */
25
+ export declare function getGitMetadata(projectRoot: string): Promise<{
26
+ gitCommitHash?: string;
27
+ gitBranch?: string;
28
+ }>;
29
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/context/convert.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAM3E;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB,CAgBjF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,MAAM,GAClB,UAAU,CAyDZ;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,mBAAmB,CAoBrB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBzD"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Context Converters
3
+ * Map between runtime AI/scanner types and persisted context types
4
+ */
5
+ import { execFile } from 'node:child_process';
6
+ import { promisify } from 'node:util';
7
+ const execFileAsync = promisify(execFile);
8
+ /**
9
+ * Convert a ScanResult.stack to PersistedScanResult
10
+ */
11
+ export function toPersistedScanResult(scanResult) {
12
+ const { stack } = scanResult;
13
+ return {
14
+ framework: stack.framework?.name,
15
+ frameworkVersion: stack.framework?.version,
16
+ frameworkVariant: stack.framework?.variant,
17
+ packageManager: stack.packageManager?.name,
18
+ testing: {
19
+ unit: stack.testing?.unit?.name ?? null,
20
+ e2e: stack.testing?.e2e?.name ?? null,
21
+ },
22
+ styling: stack.styling?.name ?? null,
23
+ database: stack.database?.name ?? null,
24
+ orm: stack.orm?.name ?? null,
25
+ auth: stack.auth?.name ?? null,
26
+ };
27
+ }
28
+ /**
29
+ * Convert a PersistedScanResult back into a minimal ScanResult
30
+ * for use in prompt context (e.g., Project Tech Stack summary).
31
+ */
32
+ export function toScanResultFromPersisted(persisted, projectRoot) {
33
+ const toDetection = (name, version, variant) => ({
34
+ name,
35
+ version,
36
+ variant,
37
+ confidence: 100,
38
+ evidence: ['persisted-context'],
39
+ });
40
+ const stack = {};
41
+ if (persisted.framework) {
42
+ stack.framework = toDetection(persisted.framework, persisted.frameworkVersion, persisted.frameworkVariant);
43
+ }
44
+ if (persisted.packageManager) {
45
+ stack.packageManager = toDetection(persisted.packageManager);
46
+ }
47
+ const unit = persisted.testing?.unit ?? null;
48
+ const e2e = persisted.testing?.e2e ?? null;
49
+ if (unit || e2e) {
50
+ stack.testing = {
51
+ unit: unit ? toDetection(unit) : undefined,
52
+ e2e: e2e ? toDetection(e2e) : undefined,
53
+ };
54
+ }
55
+ if (persisted.styling) {
56
+ stack.styling = toDetection(persisted.styling);
57
+ }
58
+ if (persisted.database) {
59
+ stack.database = toDetection(persisted.database);
60
+ }
61
+ if (persisted.orm) {
62
+ stack.orm = toDetection(persisted.orm);
63
+ }
64
+ if (persisted.auth) {
65
+ stack.auth = toDetection(persisted.auth);
66
+ }
67
+ return {
68
+ projectRoot,
69
+ scanTime: 0,
70
+ stack,
71
+ };
72
+ }
73
+ /**
74
+ * Convert an AIAnalysisResult to PersistedAIAnalysis
75
+ */
76
+ export function toPersistedAIAnalysis(analysis) {
77
+ if (!analysis)
78
+ return {};
79
+ return {
80
+ projectContext: analysis.projectContext
81
+ ? {
82
+ entryPoints: analysis.projectContext.entryPoints,
83
+ keyDirectories: analysis.projectContext.keyDirectories,
84
+ namingConventions: analysis.projectContext.namingConventions,
85
+ }
86
+ : undefined,
87
+ commands: analysis.commands,
88
+ implementationGuidelines: analysis.implementationGuidelines,
89
+ technologyPractices: analysis.technologyPractices
90
+ ? {
91
+ projectType: analysis.technologyPractices.projectType,
92
+ practices: analysis.technologyPractices.practices,
93
+ antiPatterns: analysis.technologyPractices.antiPatterns,
94
+ }
95
+ : undefined,
96
+ };
97
+ }
98
+ /**
99
+ * Get git metadata (commit hash, branch) using execFile (no shell injection risk).
100
+ * Returns undefined values if git is not available or not a git repo.
101
+ */
102
+ export async function getGitMetadata(projectRoot) {
103
+ let gitCommitHash;
104
+ let gitBranch;
105
+ try {
106
+ const { stdout: hash } = await execFileAsync('git', ['rev-parse', 'HEAD'], {
107
+ cwd: projectRoot,
108
+ });
109
+ gitCommitHash = hash.trim();
110
+ }
111
+ catch {
112
+ // Not a git repo or git not available
113
+ }
114
+ try {
115
+ const { stdout: branch } = await execFileAsync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { cwd: projectRoot });
116
+ gitBranch = branch.trim();
117
+ }
118
+ catch {
119
+ // Not a git repo or git not available
120
+ }
121
+ return { gitCommitHash, gitBranch };
122
+ }
123
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/context/convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type { PersistedContext, PersistedScanResult, PersistedAIAnalysis, } from './types.js';
2
+ export { saveContext, loadContext, getContextAge, CONTEXT_VERSION, } from './storage.js';
3
+ export { toPersistedScanResult, toPersistedAIAnalysis, toScanResultFromPersisted, getGitMetadata, } from './convert.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { saveContext, loadContext, getContextAge, CONTEXT_VERSION, } from './storage.js';
2
+ export { toPersistedScanResult, toPersistedAIAnalysis, toScanResultFromPersisted, getGitMetadata, } from './convert.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Context Storage
3
+ * Read/write .ralph/.context.json for persisted project analysis
4
+ */
5
+ import type { PersistedContext } from './types.js';
6
+ export declare const CONTEXT_VERSION = 1;
7
+ /**
8
+ * Save context to .ralph/.context.json
9
+ *
10
+ * Ensures .ralph directory exists. Stamps version automatically.
11
+ * Throws on filesystem errors.
12
+ */
13
+ export declare function saveContext(context: Omit<PersistedContext, 'version'>, projectRoot?: string): Promise<void>;
14
+ /**
15
+ * Load context from .ralph/.context.json
16
+ *
17
+ * Returns null if file does not exist.
18
+ * Throws if file exists but contains invalid JSON or fails validation.
19
+ */
20
+ export declare function loadContext(projectRoot?: string): Promise<PersistedContext | null>;
21
+ /**
22
+ * Calculate the age of a persisted context
23
+ */
24
+ export declare function getContextAge(context: PersistedContext): {
25
+ ms: number;
26
+ human: string;
27
+ };
28
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/context/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,eAAe,IAAI,CAAC;AAWjC;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqClC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,GACxB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwB/B"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Context Storage
3
+ * Read/write .ralph/.context.json for persisted project analysis
4
+ */
5
+ import fs from 'node:fs/promises';
6
+ import path from 'node:path';
7
+ export const CONTEXT_VERSION = 1;
8
+ const CONTEXT_FILENAME = '.context.json';
9
+ /**
10
+ * Get the path to the context file
11
+ */
12
+ function getContextFilePath(projectRoot) {
13
+ const root = projectRoot || process.cwd();
14
+ return path.join(root, '.ralph', CONTEXT_FILENAME);
15
+ }
16
+ /**
17
+ * Save context to .ralph/.context.json
18
+ *
19
+ * Ensures .ralph directory exists. Stamps version automatically.
20
+ * Throws on filesystem errors.
21
+ */
22
+ export async function saveContext(context, projectRoot) {
23
+ const fullContext = {
24
+ version: CONTEXT_VERSION,
25
+ ...context,
26
+ };
27
+ const filePath = getContextFilePath(projectRoot);
28
+ const dir = path.dirname(filePath);
29
+ await fs.mkdir(dir, { recursive: true });
30
+ await fs.writeFile(filePath, JSON.stringify(fullContext, null, 2), 'utf8');
31
+ }
32
+ /**
33
+ * Load context from .ralph/.context.json
34
+ *
35
+ * Returns null if file does not exist.
36
+ * Throws if file exists but contains invalid JSON or fails validation.
37
+ */
38
+ export async function loadContext(projectRoot) {
39
+ const filePath = getContextFilePath(projectRoot);
40
+ let json;
41
+ try {
42
+ json = await fs.readFile(filePath, 'utf8');
43
+ }
44
+ catch (err) {
45
+ if (err.code === 'ENOENT') {
46
+ return null;
47
+ }
48
+ throw err;
49
+ }
50
+ let parsed;
51
+ try {
52
+ parsed = JSON.parse(json);
53
+ }
54
+ catch {
55
+ throw new Error(`Failed to parse .ralph/.context.json: invalid JSON`);
56
+ }
57
+ // Basic validation
58
+ const obj = parsed;
59
+ if (typeof parsed !== 'object' ||
60
+ parsed === null ||
61
+ typeof obj.version !== 'number' ||
62
+ typeof obj.lastAnalyzedAt !== 'string' ||
63
+ typeof obj.scanResult !== 'object' ||
64
+ obj.scanResult === null ||
65
+ typeof obj.aiAnalysis !== 'object' ||
66
+ obj.aiAnalysis === null) {
67
+ throw new Error('Failed to parse .ralph/.context.json: missing required fields (version, lastAnalyzedAt, scanResult, aiAnalysis)');
68
+ }
69
+ return parsed;
70
+ }
71
+ /**
72
+ * Calculate the age of a persisted context
73
+ */
74
+ export function getContextAge(context) {
75
+ const ts = new Date(context.lastAnalyzedAt).getTime();
76
+ if (Number.isNaN(ts)) {
77
+ return { ms: 0, human: 'unknown' };
78
+ }
79
+ const now = Date.now();
80
+ const ms = Math.max(0, now - ts);
81
+ const seconds = Math.floor(ms / 1000);
82
+ const minutes = Math.floor(seconds / 60);
83
+ const hours = Math.floor(minutes / 60);
84
+ const days = Math.floor(hours / 24);
85
+ let human;
86
+ if (days > 0) {
87
+ human = `${days} day${days === 1 ? '' : 's'}`;
88
+ }
89
+ else if (hours > 0) {
90
+ human = `${hours} hour${hours === 1 ? '' : 's'}`;
91
+ }
92
+ else if (minutes > 0) {
93
+ human = `${minutes} minute${minutes === 1 ? '' : 's'}`;
94
+ }
95
+ else {
96
+ human = `${seconds} second${seconds === 1 ? '' : 's'}`;
97
+ }
98
+ return { ms, human };
99
+ }
100
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/context/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Persisted Context Types
3
+ * Schema for the .ralph/.context.json file
4
+ */
5
+ /**
6
+ * Subset of scanner output for persistence
7
+ */
8
+ export interface PersistedScanResult {
9
+ framework?: string;
10
+ frameworkVersion?: string;
11
+ frameworkVariant?: string;
12
+ packageManager?: string;
13
+ testing?: {
14
+ unit?: string | null;
15
+ e2e?: string | null;
16
+ };
17
+ styling?: string | null;
18
+ database?: string | null;
19
+ orm?: string | null;
20
+ auth?: string | null;
21
+ }
22
+ /**
23
+ * AI-enhanced project understanding for persistence
24
+ */
25
+ export interface PersistedAIAnalysis {
26
+ projectContext?: {
27
+ entryPoints?: string[];
28
+ keyDirectories?: Record<string, string>;
29
+ namingConventions?: string;
30
+ };
31
+ commands?: Record<string, string>;
32
+ implementationGuidelines?: string[];
33
+ technologyPractices?: {
34
+ projectType?: string;
35
+ practices?: string[];
36
+ antiPatterns?: string[];
37
+ };
38
+ }
39
+ /**
40
+ * Full persisted context written to .ralph/.context.json
41
+ */
42
+ export interface PersistedContext {
43
+ version: number;
44
+ lastAnalyzedAt: string;
45
+ gitCommitHash?: string;
46
+ gitBranch?: string;
47
+ scanResult: PersistedScanResult;
48
+ aiAnalysis: PersistedAIAnalysis;
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE;QACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,CAAC,EAAE;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;CACjC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Persisted Context Types
3
+ * Schema for the .ralph/.context.json file
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -34,6 +34,11 @@ export declare const REPL_COMMANDS: {
34
34
  readonly usage: "/init";
35
35
  readonly aliases: readonly ["i"];
36
36
  };
37
+ readonly sync: {
38
+ readonly description: "Refresh project context (scan + AI analysis)";
39
+ readonly usage: "/sync";
40
+ readonly aliases: readonly ["s"];
41
+ };
37
42
  readonly new: {
38
43
  readonly description: "Create a new feature specification";
39
44
  readonly usage: "/new <feature-name>";
@@ -1 +1 @@
1
- {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAS7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAcxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkBrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAkBvC"}
1
+ {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAS7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAcxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkBrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAkBvC"}
@@ -11,6 +11,11 @@ export const REPL_COMMANDS = {
11
11
  usage: '/init',
12
12
  aliases: ['i'],
13
13
  },
14
+ sync: {
15
+ description: 'Refresh project context (scan + AI analysis)',
16
+ usage: '/sync',
17
+ aliases: ['s'],
18
+ },
14
19
  new: {
15
20
  description: 'Create a new feature specification',
16
21
  usage: '/new <feature-name>',
@@ -1 +1 @@
1
- {"version":3,"file":"command-parser.js","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-parser.js","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  # Ralph working files
2
2
  *.log
3
3
  *.tmp
4
+ .env.local
5
+ .context.json
4
6
 
5
7
  # Don't ignore anything else - all ralph files should be committed
@@ -9,4 +9,6 @@ export type { InitPhase, InitPhaseConfig, InitState, UseInitReturn, } from './us
9
9
  export { INIT_PHASE_CONFIGS, INIT_TOTAL_PHASES } from './useInit.js';
10
10
  export { useCommandHistory } from './useCommandHistory.js';
11
11
  export type { UseCommandHistoryReturn } from './useCommandHistory.js';
12
+ export { useSync } from './useSync.js';
13
+ export type { SyncStatus, UseSyncReturn } from './useSync.js';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -6,4 +6,5 @@ export { PHASE_CONFIGS, TOTAL_DISPLAY_PHASES } from './useSpecGenerator.js';
6
6
  export { useInit } from './useInit.js';
7
7
  export { INIT_PHASE_CONFIGS, INIT_TOTAL_PHASES } from './useInit.js';
8
8
  export { useCommandHistory } from './useCommandHistory.js';
9
+ export { useSync } from './useSync.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -35,7 +35,7 @@ export const INIT_PHASE_CONFIGS = {
35
35
  'key-save': {
36
36
  number: 2,
37
37
  name: 'Save Key',
38
- description: 'Save API key to .env.local',
38
+ description: 'Save API key to .ralph/.env.local',
39
39
  },
40
40
  'model-select': {
41
41
  number: 3,
@@ -1 +1 @@
1
- {"version":3,"file":"useInit.js","sourceRoot":"","sources":["../../../src/tui/hooks/useInit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useInit.js","sourceRoot":"","sources":["../../../src/tui/hooks/useInit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAiCtD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuC;IACpE,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6BAA6B;KAC3C;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oBAAoB;KAClC;IACD,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,eAAe;KAC7B;IACD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD,cAAc,EAAE;QACd,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iBAAiB;KAC/B;IACD,aAAa,EAAE;QACb,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8BAA8B;KAC5C;IACD,OAAO,EAAE;QACP,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yBAAyB;KACvC;IACD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8BAA8B;KAC5C;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,yBAAyB;KACvC;IACD,KAAK,EAAE;QACL,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAkDnC;;GAEG;AACH,MAAM,YAAY,GAAc;IAC9B,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,KAAK;IAChB,wBAAwB,EAAE,KAAK;IAC/B,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,EAAE;IACjB,KAAK,EAAE,IAAI;IACX,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,EAAE;CACd,CAAC;AA6DF;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY,YAAY,CAAC,CAAC;IAE5D,mDAAmD;IACnD,MAAM,SAAS,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,WAAmB,EAAE,EAAE;QACrD,QAAQ,CAAC;YACP,GAAG,YAAY;YACf,WAAW;YACX,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,+BAA+B;SAC/C,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,MAAkB,EAAE,EAAE;QACvD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,EAAE;YACjB,qFAAqF;SACtF,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,QAAoB,EAAE,EAAE;QAC/D,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,QAAQ;YACR,SAAS,EAAE,IAAI;YACf,wBAAwB,EAAE,KAAK;YAC/B,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,QAAoB,EAAE,EAAE;QAC1D,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,QAAQ;YACR,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QAC5C,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,SAAS,EAAE,IAAI;YACf,wBAAwB,EAAE,IAAI;YAC9B,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QAC/C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAChD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,KAAK;YACL,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,EAAE,EAAE,8CAA8C;SAC9D,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACnD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,KAAoB,EAAE,EAAE;QAC1D,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,QAAQ,EAAE,CAAC;gBACb,4BAA4B;gBAC5B,OAAO;oBACL,GAAG,IAAI;oBACP,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;wBAChB,CAAC,CAAC;4BACE,GAAG,EAAE;4BACL,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM;4BACjC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK;yBAC/B;wBACH,CAAC,CAAC,EAAE,CACP;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,OAAO;oBACL,GAAG,IAAI;oBACP,SAAS,EAAE;wBACT,GAAG,IAAI,CAAC,SAAS;wBACjB;4BACE,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,MAA0B,EAAE,UAA+E,EAAE,EAAE;QAC9G,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,cAAc,EAAE,MAAM;YACtB,UAAU,EAAE,UAAU,IAAI,IAAI;YAC9B,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,SAAkB;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC,EACD,EAAE,CACH,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAC/C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,EAAE;YACjB,6EAA6E;YAC7E,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,SAAkB,EAAE,EAAE;QAC3D,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClB,GAAG,IAAI;gBACP,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,mCAAmC;aACnD,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClB,GAAG,IAAI;gBACP,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,mBAAmB;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACnD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,KAAe,EAAE,EAAE;QAC5D,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAC7C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,GAAG,IAAI;YACP,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,0CAA0C;YAC1C,MAAM,eAAe,GAA0C;gBAC7D,iBAAiB,EAAE,UAAU,EAAE,4CAA4C;gBAC3E,WAAW,EAAE,iBAAiB;gBAC9B,UAAU,EAAE,WAAW;gBACvB,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;gBAC9E,aAAa,EAAE,cAAc;gBAC7B,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE,SAAS;aACtB,CAAC;YAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,KAAK;QACL,UAAU;QACV,aAAa;QACb,mBAAmB;QACnB,cAAc;QACd,SAAS;QACT,UAAU;QACV,WAAW;QACX,aAAa;QACb,cAAc;QACd,iBAAiB;QACjB,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,qBAAqB;QACrB,QAAQ;QACR,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,wDAAwD;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}