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.
- package/.claude/settings.local.json +10 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +9 -17
- package/dist/commands/config.js.map +1 -1
- package/dist/context/convert.d.ts +29 -0
- package/dist/context/convert.d.ts.map +1 -0
- package/dist/context/convert.js +123 -0
- package/dist/context/convert.js.map +1 -0
- package/dist/context/index.d.ts +4 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +3 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/storage.d.ts +28 -0
- package/dist/context/storage.d.ts.map +1 -0
- package/dist/context/storage.js +100 -0
- package/dist/context/storage.js.map +1 -0
- package/dist/context/types.d.ts +50 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +6 -0
- package/dist/context/types.js.map +1 -0
- package/dist/repl/command-parser.d.ts +5 -0
- package/dist/repl/command-parser.d.ts.map +1 -1
- package/dist/repl/command-parser.js +5 -0
- package/dist/repl/command-parser.js.map +1 -1
- package/dist/templates/root/.gitignore.tmpl +2 -0
- package/dist/tui/hooks/index.d.ts +2 -0
- package/dist/tui/hooks/index.d.ts.map +1 -1
- package/dist/tui/hooks/index.js +1 -0
- package/dist/tui/hooks/index.js.map +1 -1
- package/dist/tui/hooks/useInit.js +1 -1
- package/dist/tui/hooks/useInit.js.map +1 -1
- package/dist/tui/hooks/useSync.d.ts +15 -0
- package/dist/tui/hooks/useSync.d.ts.map +1 -0
- package/dist/tui/hooks/useSync.js +52 -0
- package/dist/tui/hooks/useSync.js.map +1 -0
- package/dist/tui/screens/InitScreen.d.ts.map +1 -1
- package/dist/tui/screens/InitScreen.js +22 -26
- package/dist/tui/screens/InitScreen.js.map +1 -1
- package/dist/tui/screens/InterviewScreen.d.ts.map +1 -1
- package/dist/tui/screens/InterviewScreen.js +110 -84
- package/dist/tui/screens/InterviewScreen.js.map +1 -1
- package/dist/tui/screens/MainShell.d.ts.map +1 -1
- package/dist/tui/screens/MainShell.js +37 -2
- package/dist/tui/screens/MainShell.js.map +1 -1
- package/dist/utils/env.d.ts +16 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +55 -4
- package/dist/utils/env.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/config.test.ts +225 -0
- package/src/commands/config.ts +9 -18
- package/src/context/convert.test.ts +129 -0
- package/src/context/convert.ts +159 -0
- package/src/context/index.ts +19 -0
- package/src/context/storage.test.ts +173 -0
- package/src/context/storage.ts +117 -0
- package/src/context/types.ts +52 -0
- package/src/repl/command-parser.ts +5 -0
- package/src/templates/root/.gitignore.tmpl +2 -0
- package/src/tui/hooks/index.ts +3 -0
- package/src/tui/hooks/useInit.ts +1 -1
- package/src/tui/hooks/useSync.ts +80 -0
- package/src/tui/screens/InitScreen.tsx +27 -27
- package/src/tui/screens/InterviewScreen.tsx +116 -75
- package/src/tui/screens/MainShell.tsx +39 -2
- package/src/utils/env.test.ts +220 -20
- 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;
|
|
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"}
|
package/dist/commands/config.js
CHANGED
|
@@ -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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
|
46
|
-
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
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":"AAAA;;;GAGG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAsB;IAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAC7B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI;QAChC,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO;QAC1C,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO;QAC1C,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI;QAC1C,OAAO,EAAE;YACP,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;YACvC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;SACtC;QACD,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;QACtC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA8B,EAC9B,WAAmB;IAEnB,MAAM,WAAW,GAAG,CAClB,IAAY,EACZ,OAAgB,EAChB,OAAgB,EACC,EAAE,CAAC,CAAC;QACrB,IAAI;QACJ,OAAO;QACP,OAAO;QACP,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,CAAC,mBAAmB,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,SAAS,GAAG,WAAW,CAC3B,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,gBAAgB,CAC3B,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC;IAC3C,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;SACxC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,CAAC;QACX,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAsC;IAEtC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACrC,CAAC,CAAC;gBACE,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW;gBAChD,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,cAAc;gBACtD,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB;aAC7D;YACH,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,QAAQ,CAAC,QAA8C;QACjE,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;QAC3D,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YAC/C,CAAC,CAAC;gBACE,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,WAAW;gBACrD,SAAS,EAAE,QAAQ,CAAC,mBAAmB,CAAC,SAAS;gBACjD,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC,YAAY;aACxD;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB;IAEnB,IAAI,aAAiC,CAAC;IACtC,IAAI,SAA6B,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YACzE,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5C,KAAK,EACL,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EACrC,EAAE,GAAG,EAAE,WAAW,EAAE,CACrB,CAAC;QACF,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
|
|
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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"}
|
|
@@ -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"}
|
package/dist/tui/hooks/index.js
CHANGED
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"useInit.js","sourceRoot":"","sources":["../../../src/tui/hooks/useInit.ts"],"names":[],"mappings":"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"}
|