logicstamp-context 0.5.3 → 0.5.4
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/README.md +29 -44
- package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
- package/dist/cli/commands/context/tokenEstimator.js +37 -10
- package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
- package/dist/cli/commands/context/watchMode.d.ts.map +1 -1
- package/dist/cli/commands/context/watchMode.js +16 -36
- package/dist/cli/commands/context/watchMode.js.map +1 -1
- package/dist/cli/handlers/contextHandler.d.ts.map +1 -1
- package/dist/cli/handlers/contextHandler.js +7 -3
- package/dist/cli/handlers/contextHandler.js.map +1 -1
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/core/manifest.js +8 -1
- package/dist/core/manifest.js.map +1 -1
- package/dist/utils/cleanup.d.ts +40 -0
- package/dist/utils/cleanup.d.ts.map +1 -0
- package/dist/utils/cleanup.js +109 -0
- package/dist/utils/cleanup.js.map +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +64 -80
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/debug.d.ts +7 -0
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +16 -0
- package/dist/utils/debug.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
</picture>
|
|
8
8
|
</a>
|
|
9
9
|
|
|
10
|
-
###
|
|
10
|
+
### Structured context for AI coding assistants.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Make AI coding assistants understand your architecture, not just your code.<br/>
|
|
13
|
+
Extract deterministic component contracts from your TypeScript codebase.
|
|
13
14
|
|
|
14
15
|
<small><em>Supports: React · Next.js · Vue (TS/TSX) · Express · NestJS</em></small>
|
|
15
16
|
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
<img src="./assets/logicstamp-fox.svg" alt="LogicStamp Fox Mascot" width="100" style="min-width: 80px;">
|
|
21
22
|
</a>
|
|
22
23
|
|
|
23
|
-
[](https://www.npmjs.com/package/logicstamp-context)
|
|
24
25
|

|
|
25
26
|
[](LICENSE)
|
|
26
27
|

|
|
@@ -29,26 +30,17 @@
|
|
|
29
30
|
</div>
|
|
30
31
|
<br/>
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
<summary><strong>📌 TL;DR</strong></summary>
|
|
34
|
-
|
|
35
|
-
**What it does:** Uses AST parsing to extract deterministic component contracts from your TypeScript codebase.
|
|
36
|
-
|
|
37
|
-
**What you get:** Structured JSON bundles (props, hooks, dependencies, APIs) optimized for AI workflows.
|
|
38
|
-
|
|
39
|
-
**Why it matters:** Gives AI assistants explicit architectural context without reading implementations - prevents inferred prop names and missed dependencies by making contracts explicit.
|
|
40
|
-
|
|
41
|
-
</details>
|
|
33
|
+
**LogicStamp Context** is a static analyzer that extracts deterministic component contracts from TypeScript codebases - giving AI assistants structured architectural context instead of raw source code.
|
|
42
34
|
|
|
43
35
|
<details>
|
|
44
36
|
<summary><strong>📑 Table of Contents</strong></summary>
|
|
45
37
|
|
|
46
38
|
- [The Problem](#the-problem)
|
|
47
39
|
- [Quick Start](#quick-start)
|
|
48
|
-
- [Drift Detection](#drift-detection)
|
|
49
40
|
- [Why Structured Context?](#why-structured-context)
|
|
50
41
|
- [Features](#features)
|
|
51
42
|
- [Watch Mode](#watch-mode)
|
|
43
|
+
- [One-time Comparison](#one-time-comparison)
|
|
52
44
|
- [How it Works](#how-it-works)
|
|
53
45
|
- [MCP Server](#mcp-server)
|
|
54
46
|
- [Example Output](#example-output)
|
|
@@ -65,11 +57,13 @@
|
|
|
65
57
|
|
|
66
58
|
## The Problem
|
|
67
59
|
|
|
68
|
-
AI coding assistants
|
|
60
|
+
AI coding assistants read your source code, but they don't *understand* it structurally. They hallucinate props that don't exist, miss dependencies, and can't tell when a breaking change affects downstream components.
|
|
69
61
|
|
|
70
|
-
|
|
62
|
+
For example: your `Button` component accepts `variant` and `disabled` - but the AI suggests `isLoading` because it saw that pattern elsewhere. No structured contract means no source of truth.
|
|
71
63
|
|
|
72
|
-
**LogicStamp Context
|
|
64
|
+
**LogicStamp Context** is a static analyzer that extracts deterministic component contracts from TypeScript - giving AI assistants structured architectural context instead of raw source code.
|
|
65
|
+
|
|
66
|
+
These contracts:
|
|
73
67
|
- Stay in sync with your code (watch mode auto-regenerates)
|
|
74
68
|
- Expose what matters (props, hooks, dependencies) without implementation noise
|
|
75
69
|
- Work with any MCP-compatible AI assistant (Claude, Cursor, etc.)
|
|
@@ -110,21 +104,6 @@ stamp context
|
|
|
110
104
|
|
|
111
105
|
📋 **For detailed setup instructions, see the [Getting Started Guide](https://logicstamp.dev/docs/getting-started).**
|
|
112
106
|
|
|
113
|
-
## Drift Detection
|
|
114
|
-
|
|
115
|
-
Compare regenerated context against existing context files (useful for one-time checks and CI workflows):
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
stamp context compare # detect changes
|
|
119
|
-
stamp context compare --approve # update (like jest -u)
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Shows added/removed components, changed props, hooks, dependencies.
|
|
123
|
-
|
|
124
|
-
> **💡 Tip:** If you're using [watch mode](#watch-mode), context files are automatically regenerated and changes are shown in real-time. Use `compare` for one-time checks or CI workflows.
|
|
125
|
-
|
|
126
|
-
> ⚠️ **Note:** Context files are gitignored by default. For CI-based drift detection, the `--baseline git:<ref>` option (e.g., `--baseline git:main`) is **not yet implemented**. Until automation is available, use the manual workflow: generate context from current code, checkout baseline branch, generate context from baseline, then compare. See the [roadmap](https://logicstamp.dev/roadmap) for planned automation.
|
|
127
|
-
|
|
128
107
|
## Why Structured Context?
|
|
129
108
|
|
|
130
109
|
| Without LogicStamp Context | With LogicStamp Context |
|
|
@@ -193,11 +172,8 @@ Pre-parsed. Categorized. Stable. The AI reads contracts, not implementations.
|
|
|
193
172
|
For development, run watch mode to keep context fresh as you code:
|
|
194
173
|
|
|
195
174
|
```bash
|
|
196
|
-
|
|
197
|
-
stamp context --watch
|
|
198
|
-
|
|
199
|
-
# Strict watch - also detect breaking changes in real-time
|
|
200
|
-
stamp context --watch --strict-watch
|
|
175
|
+
stamp context --watch # regenerate on changes
|
|
176
|
+
stamp context --watch --strict-watch # also detect breaking changes
|
|
201
177
|
```
|
|
202
178
|
|
|
203
179
|
Strict watch catches breaking changes that affect consumers:
|
|
@@ -209,15 +185,19 @@ Strict watch catches breaking changes that affect consumers:
|
|
|
209
185
|
| `breaking_change_function_removed` | Deleted exported `formatDate()` |
|
|
210
186
|
| `contract_removed` | Deleted entire component |
|
|
211
187
|
|
|
212
|
-
|
|
188
|
+
### One-time Comparison
|
|
213
189
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
190
|
+
Compare regenerated context against existing files:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
stamp context compare # detect changes
|
|
194
|
+
stamp context compare --approve # update (like jest -u)
|
|
219
195
|
```
|
|
220
196
|
|
|
197
|
+
Useful for reviewing changes before committing or validating context is up-to-date.
|
|
198
|
+
|
|
199
|
+
> ⚠️ **Note:** Context files are gitignored by default. For CI-based drift detection, the `--baseline git:<ref>` option (e.g., `--baseline git:main`) is **not yet implemented**. Until automation is available, use the manual workflow: generate context from current code, checkout baseline branch, generate context from baseline, then compare. See the [roadmap](https://logicstamp.dev/roadmap) for planned automation.
|
|
200
|
+
|
|
221
201
|
## How it Works
|
|
222
202
|
|
|
223
203
|
1. **Scan** - Finds all `.ts` and `.tsx` files in your project
|
|
@@ -336,6 +316,9 @@ LogicStamp Context protects sensitive data in generated context:
|
|
|
336
316
|
|
|
337
317
|
## Usage
|
|
338
318
|
|
|
319
|
+
<details>
|
|
320
|
+
<summary><strong>💻 CLI Usage Reference</strong></summary>
|
|
321
|
+
|
|
339
322
|
```bash
|
|
340
323
|
stamp --version # Show version
|
|
341
324
|
stamp --help # Show help
|
|
@@ -368,6 +351,8 @@ stamp context clean [path] # Remove generated files
|
|
|
368
351
|
| `--debug` | Show detailed hash info (watch mode) |
|
|
369
352
|
| `--log-file` | Write change logs to `.logicstamp/` (watch mode) |
|
|
370
353
|
|
|
354
|
+
</details>
|
|
355
|
+
|
|
371
356
|
📋 **See [docs/cli/commands.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/commands.md)** for complete reference.
|
|
372
357
|
|
|
373
358
|
## Framework Support
|
|
@@ -404,7 +389,7 @@ LogicStamp Context is in beta. Some edge cases are not fully supported.
|
|
|
404
389
|
## Requirements
|
|
405
390
|
|
|
406
391
|
- Node.js >= 18.18.0 (Node 20+ recommended)
|
|
407
|
-
- TypeScript codebase (React, Next.js, Vue, Express, or NestJS)
|
|
392
|
+
- TypeScript codebase (React, Next.js, Vue (TS/TSX), Express, or NestJS)
|
|
408
393
|
|
|
409
394
|
## Need Help?
|
|
410
395
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenEstimator.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/tokenEstimator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenEstimator.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/tokenEstimator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA8CjE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE;QACb,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACxC,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE;QACb,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACxC,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC,CAyCzB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAmO/B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAmEf"}
|
|
@@ -10,6 +10,31 @@ import { readFileWithText } from '../../../utils/fsx.js';
|
|
|
10
10
|
import { Project } from 'ts-morph';
|
|
11
11
|
import { formatBundles } from './bundleFormatter.js';
|
|
12
12
|
import { join, isAbsolute } from 'node:path';
|
|
13
|
+
/**
|
|
14
|
+
* Check if all bundle generations failed and handle appropriately
|
|
15
|
+
* @returns true if bundles exist, false if all failed (with warning logged)
|
|
16
|
+
*/
|
|
17
|
+
function checkBundleResults(results, context, quiet) {
|
|
18
|
+
const successful = results
|
|
19
|
+
.filter((r) => r.status === 'fulfilled')
|
|
20
|
+
.map(r => r.value);
|
|
21
|
+
if (successful.length === 0 && results.length > 0) {
|
|
22
|
+
const errors = results
|
|
23
|
+
.filter((r) => r.status === 'rejected')
|
|
24
|
+
.map(r => r.reason instanceof Error ? r.reason.message : String(r.reason));
|
|
25
|
+
if (!quiet) {
|
|
26
|
+
console.warn(`\n⚠️ All ${context} bundle generations failed:`);
|
|
27
|
+
errors.forEach(e => console.warn(` - ${e}`));
|
|
28
|
+
}
|
|
29
|
+
return { successful: [], allFailed: true };
|
|
30
|
+
}
|
|
31
|
+
// Log partial failures as warnings
|
|
32
|
+
const failedCount = results.length - successful.length;
|
|
33
|
+
if (failedCount > 0 && !quiet) {
|
|
34
|
+
console.warn(` ⚠️ ${failedCount}/${results.length} ${context} bundles failed to generate`);
|
|
35
|
+
}
|
|
36
|
+
return { successful, allFailed: false };
|
|
37
|
+
}
|
|
13
38
|
/**
|
|
14
39
|
* Calculate token estimates for current output
|
|
15
40
|
*/
|
|
@@ -129,7 +154,7 @@ export async function generateModeComparison(files, manifest, projectRoot, curre
|
|
|
129
154
|
}
|
|
130
155
|
// Generate bundles with no-style contracts
|
|
131
156
|
const noStyleContractsMap = new Map(noStyleContracts.map(c => [c.entryId, c]));
|
|
132
|
-
const
|
|
157
|
+
const noStyleBundleResults = await Promise.allSettled(manifest.graph.roots.map(rootId => pack(rootId, manifest, {
|
|
133
158
|
depth: options.depth,
|
|
134
159
|
includeCode: options.includeCode,
|
|
135
160
|
maxNodes: options.maxNodes,
|
|
@@ -139,10 +164,11 @@ export async function generateModeComparison(files, manifest, projectRoot, curre
|
|
|
139
164
|
strict: options.strict || false,
|
|
140
165
|
allowMissing: options.allowMissing !== false,
|
|
141
166
|
}, projectRoot)));
|
|
142
|
-
//
|
|
143
|
-
const successfulNoStyleBundles =
|
|
144
|
-
|
|
145
|
-
|
|
167
|
+
// Check for failures and extract successful bundles
|
|
168
|
+
const { successful: successfulNoStyleBundles, allFailed: noStyleAllFailed } = checkBundleResults(noStyleBundleResults, 'no-style', options.quiet);
|
|
169
|
+
if (noStyleAllFailed) {
|
|
170
|
+
throw new Error('Failed to generate any no-style bundles for token comparison');
|
|
171
|
+
}
|
|
146
172
|
// Format no-style bundles to get token count
|
|
147
173
|
const noStyleOutput = formatBundles(successfulNoStyleBundles, options.format);
|
|
148
174
|
headerNoStyleGPT4 = await estimateGPT4Tokens(noStyleOutput);
|
|
@@ -198,7 +224,7 @@ export async function generateModeComparison(files, manifest, projectRoot, curre
|
|
|
198
224
|
}
|
|
199
225
|
// Generate bundles with style-enabled contracts
|
|
200
226
|
const styleContractsMap = new Map(styleContracts.map(c => [c.entryId, c]));
|
|
201
|
-
const
|
|
227
|
+
const styleBundleResults = await Promise.allSettled(manifest.graph.roots.map(rootId => pack(rootId, manifest, {
|
|
202
228
|
depth: options.depth,
|
|
203
229
|
includeCode: options.includeCode,
|
|
204
230
|
maxNodes: options.maxNodes,
|
|
@@ -208,10 +234,11 @@ export async function generateModeComparison(files, manifest, projectRoot, curre
|
|
|
208
234
|
strict: options.strict || false,
|
|
209
235
|
allowMissing: options.allowMissing !== false,
|
|
210
236
|
}, projectRoot)));
|
|
211
|
-
//
|
|
212
|
-
const successfulStyleBundles =
|
|
213
|
-
|
|
214
|
-
|
|
237
|
+
// Check for failures and extract successful bundles
|
|
238
|
+
const { successful: successfulStyleBundles, allFailed: styleAllFailed } = checkBundleResults(styleBundleResults, 'style', options.quiet);
|
|
239
|
+
if (styleAllFailed) {
|
|
240
|
+
throw new Error('Failed to generate any style bundles for token comparison');
|
|
241
|
+
}
|
|
215
242
|
// Format style bundles to get token count
|
|
216
243
|
const styleOutput = formatBundles(successfulStyleBundles, options.format);
|
|
217
244
|
headerWithStyleGPT4 = await estimateGPT4Tokens(styleOutput);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenEstimator.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/tokenEstimator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokenEstimator.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/tokenEstimator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchMode.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/watchMode.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"watchMode.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/watchMode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,EAQL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAmIpE;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,UAAU,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuexI"}
|
|
@@ -9,6 +9,7 @@ import { readStampignore, filterIgnoredFiles } from '../../../utils/stampignore.
|
|
|
9
9
|
import { buildDependencyGraph } from '../../../core/manifest.js';
|
|
10
10
|
import { normalizeEntryId } from '../../../utils/fsx.js';
|
|
11
11
|
import { writeWatchStatus, deleteWatchStatus, appendWatchLog, writeStrictWatchStatus, deleteStrictWatchStatus, } from '../../../utils/config.js';
|
|
12
|
+
import { registerCleanup, gracefulShutdown } from '../../../utils/cleanup.js';
|
|
12
13
|
import { getChanges, showChanges } from './watchDiff.js';
|
|
13
14
|
import { buildContractsFromFiles, writeContextFiles, writeMainIndex, groupBundlesByFolder, displayPath, initializeWatchCache, incrementalRebuild, } from './index.js';
|
|
14
15
|
import { contextCommand } from '../context.js';
|
|
@@ -507,10 +508,10 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
|
|
|
507
508
|
trackAndRegenerate(path, 'unlink');
|
|
508
509
|
});
|
|
509
510
|
// Handle watcher errors
|
|
510
|
-
watcher.on('error', (error) => {
|
|
511
|
+
watcher.on('error', async (error) => {
|
|
511
512
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
512
513
|
console.error(`❌ Watch error: ${errorMessage}`);
|
|
513
|
-
|
|
514
|
+
await gracefulShutdown(1);
|
|
514
515
|
});
|
|
515
516
|
// Handle watcher ready (only show once)
|
|
516
517
|
let readyShown = false;
|
|
@@ -520,8 +521,10 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
|
|
|
520
521
|
console.log(`✅ Watch mode active. Waiting for file changes...\n`);
|
|
521
522
|
}
|
|
522
523
|
});
|
|
523
|
-
//
|
|
524
|
-
|
|
524
|
+
// Register cleanup handler with the central cleanup registry
|
|
525
|
+
// This ensures cleanup runs on any exit (SIGINT, SIGTERM, errors, etc.)
|
|
526
|
+
registerCleanup('watch-mode', async () => {
|
|
527
|
+
// Close the file watcher
|
|
525
528
|
await watcher.close();
|
|
526
529
|
// Clean up watch status file
|
|
527
530
|
try {
|
|
@@ -530,9 +533,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
|
|
|
530
533
|
catch {
|
|
531
534
|
// Ignore errors during cleanup
|
|
532
535
|
}
|
|
536
|
+
// Show final summary and clean up strict watch status
|
|
533
537
|
if (!options.quiet) {
|
|
534
538
|
console.log(`\n👋 Watch mode stopped`);
|
|
535
|
-
// Show final strict watch summary
|
|
536
539
|
if (options.strictWatch && strictWatchStatus && strictWatchStatus.cumulativeViolations > 0) {
|
|
537
540
|
console.log(`\n📋 Strict Watch Session Summary:`);
|
|
538
541
|
console.log(` Regenerations: ${strictWatchStatus.regenerationCount}`);
|
|
@@ -543,47 +546,24 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
|
|
|
543
546
|
}
|
|
544
547
|
else if (options.strictWatch) {
|
|
545
548
|
console.log(`\n✅ Strict Watch: No violations detected during session`);
|
|
546
|
-
// Clean up the violations file if no violations
|
|
547
|
-
try {
|
|
548
|
-
await deleteStrictWatchStatus(projectRoot);
|
|
549
|
-
}
|
|
550
|
-
catch {
|
|
551
|
-
// Ignore
|
|
552
|
-
}
|
|
553
549
|
}
|
|
554
550
|
}
|
|
555
|
-
//
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
});
|
|
559
|
-
// Also clean up on other termination signals
|
|
560
|
-
const cleanup = async () => {
|
|
561
|
-
try {
|
|
562
|
-
await watcher.close();
|
|
563
|
-
await deleteWatchStatus(projectRoot);
|
|
564
|
-
if (!options.strictWatch || !strictWatchStatus || strictWatchStatus.cumulativeViolations === 0) {
|
|
551
|
+
// Clean up strict watch status file if no violations
|
|
552
|
+
if (!options.strictWatch || !strictWatchStatus || strictWatchStatus.cumulativeViolations === 0) {
|
|
553
|
+
try {
|
|
565
554
|
await deleteStrictWatchStatus(projectRoot);
|
|
566
555
|
}
|
|
556
|
+
catch {
|
|
557
|
+
// Ignore errors during cleanup
|
|
558
|
+
}
|
|
567
559
|
}
|
|
568
|
-
|
|
569
|
-
// Ignore errors during cleanup
|
|
570
|
-
}
|
|
571
|
-
};
|
|
572
|
-
process.on('SIGTERM', cleanup);
|
|
573
|
-
process.on('SIGHUP', cleanup);
|
|
560
|
+
}, 1); // Priority 1 - run early since other cleanup might depend on watch being stopped
|
|
574
561
|
// Keep process alive indefinitely
|
|
575
562
|
await new Promise(() => { }); // Never resolves, keeps process running
|
|
576
563
|
}
|
|
577
564
|
catch (error) {
|
|
578
|
-
// Clean up watch status file on error
|
|
579
|
-
try {
|
|
580
|
-
await deleteWatchStatus(projectRoot);
|
|
581
|
-
}
|
|
582
|
-
catch {
|
|
583
|
-
// Ignore errors during cleanup
|
|
584
|
-
}
|
|
585
565
|
console.error(`❌ Failed to start watch mode: ${error.message}`);
|
|
586
|
-
|
|
566
|
+
await gracefulShutdown(1);
|
|
587
567
|
}
|
|
588
568
|
}
|
|
589
569
|
//# sourceMappingURL=watchMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchMode.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/watchMode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watchMode.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/watchMode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/contextHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"contextHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/contextHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlE"}
|
|
@@ -4,20 +4,24 @@
|
|
|
4
4
|
import { contextCommand } from '../commands/context.js';
|
|
5
5
|
import { parseContextArgs, getGenerateHelp } from '../parser/index.js';
|
|
6
6
|
import { printFoxIcon } from './initHandler.js';
|
|
7
|
+
import { gracefulShutdown, registerSignalHandlers } from '../../utils/cleanup.js';
|
|
7
8
|
export async function handleGenerate(args) {
|
|
8
9
|
if (args.includes('--help') || args.includes('-h')) {
|
|
9
10
|
printFoxIcon();
|
|
10
11
|
console.log(getGenerateHelp());
|
|
11
12
|
process.exit(0);
|
|
12
13
|
}
|
|
14
|
+
// Register signal handlers for graceful shutdown
|
|
15
|
+
registerSignalHandlers();
|
|
13
16
|
const options = parseContextArgs(args);
|
|
14
17
|
try {
|
|
15
18
|
await contextCommand(options);
|
|
16
19
|
}
|
|
17
20
|
catch (error) {
|
|
18
|
-
|
|
19
|
-
console.error(
|
|
20
|
-
|
|
21
|
+
const err = error;
|
|
22
|
+
console.error('❌ Context generation failed:', err.message);
|
|
23
|
+
console.error(err.stack);
|
|
24
|
+
await gracefulShutdown(1);
|
|
21
25
|
}
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=contextHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextHandler.js","sourceRoot":"","sources":["../../../src/cli/handlers/contextHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAuB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"contextHandler.js","sourceRoot":"","sources":["../../../src/cli/handlers/contextHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAuB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,sBAAsB,EAAE,CAAC;IAEzB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACzC,CAAC;CACH;AAuDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,eAAe,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACzC,CAAC;CACH;AAuDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,eAAe,CAqFjB;AA4DD;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B7F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAoBA"}
|
package/dist/core/manifest.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
import { writeFile } from 'node:fs/promises';
|
|
29
29
|
import { join } from 'node:path';
|
|
30
30
|
import { structureHash, signatureHash } from '../utils/hash.js';
|
|
31
|
-
import { debugError } from '../utils/debug.js';
|
|
31
|
+
import { debugError, debugLog } from '../utils/debug.js';
|
|
32
32
|
/**
|
|
33
33
|
* Filter out internal components from dependencies
|
|
34
34
|
* Internal components are defined in the same file but not exported
|
|
@@ -117,6 +117,13 @@ export function buildDependencyGraph(contracts, options) {
|
|
|
117
117
|
depNode.usedBy.push(componentId);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
+
else {
|
|
121
|
+
// Dependency not found in manifest - likely external package or untracked file
|
|
122
|
+
debugLog('manifest', `Unresolved dependency: ${dependency}`, {
|
|
123
|
+
from: componentId,
|
|
124
|
+
dependency,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
120
127
|
}
|
|
121
128
|
}
|
|
122
129
|
// Identify roots and leaves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graceful shutdown utilities for handling cleanup on process exit
|
|
3
|
+
*/
|
|
4
|
+
export type CleanupHandler = () => Promise<void> | void;
|
|
5
|
+
/**
|
|
6
|
+
* Register a cleanup handler to be called on graceful shutdown
|
|
7
|
+
* @param id Unique identifier for the handler (used for unregistration)
|
|
8
|
+
* @param handler Async function to run during cleanup
|
|
9
|
+
* @param priority Lower numbers run first (default: 10)
|
|
10
|
+
* @returns Unregister function
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerCleanup(id: string, handler: CleanupHandler, priority?: number): () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Unregister a cleanup handler by id
|
|
15
|
+
*/
|
|
16
|
+
export declare function unregisterCleanup(id: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Run all cleanup handlers and exit the process
|
|
19
|
+
* @param exitCode Exit code to use (default: 1)
|
|
20
|
+
* @param message Optional message to display before cleanup
|
|
21
|
+
*/
|
|
22
|
+
export declare function gracefulShutdown(exitCode?: number, message?: string): Promise<never>;
|
|
23
|
+
/**
|
|
24
|
+
* Register process signal handlers for graceful shutdown
|
|
25
|
+
* Call this once at application startup
|
|
26
|
+
*/
|
|
27
|
+
export declare function registerSignalHandlers(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Check if shutdown is in progress
|
|
30
|
+
*/
|
|
31
|
+
export declare function isShutdownInProgress(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get the number of registered cleanup handlers (for testing)
|
|
34
|
+
*/
|
|
35
|
+
export declare function getCleanupHandlerCount(): number;
|
|
36
|
+
/**
|
|
37
|
+
* Clear all cleanup handlers (for testing)
|
|
38
|
+
*/
|
|
39
|
+
export declare function clearAllCleanupHandlers(): void;
|
|
40
|
+
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/utils/cleanup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAiBxD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,EACvB,QAAQ,SAAK,GACZ,MAAM,IAAI,CAcZ;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,SAAI,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,CAwBhB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAoB7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graceful shutdown utilities for handling cleanup on process exit
|
|
3
|
+
*/
|
|
4
|
+
// Registry of cleanup handlers
|
|
5
|
+
const cleanupHandlers = [];
|
|
6
|
+
// Track if shutdown is in progress to prevent re-entry
|
|
7
|
+
let isShuttingDown = false;
|
|
8
|
+
// Track if signal handlers have been registered
|
|
9
|
+
let signalHandlersRegistered = false;
|
|
10
|
+
/**
|
|
11
|
+
* Register a cleanup handler to be called on graceful shutdown
|
|
12
|
+
* @param id Unique identifier for the handler (used for unregistration)
|
|
13
|
+
* @param handler Async function to run during cleanup
|
|
14
|
+
* @param priority Lower numbers run first (default: 10)
|
|
15
|
+
* @returns Unregister function
|
|
16
|
+
*/
|
|
17
|
+
export function registerCleanup(id, handler, priority = 10) {
|
|
18
|
+
// Remove any existing handler with the same id
|
|
19
|
+
const existingIndex = cleanupHandlers.findIndex(h => h.id === id);
|
|
20
|
+
if (existingIndex !== -1) {
|
|
21
|
+
cleanupHandlers.splice(existingIndex, 1);
|
|
22
|
+
}
|
|
23
|
+
cleanupHandlers.push({ id, handler, priority });
|
|
24
|
+
// Sort by priority (lower first)
|
|
25
|
+
cleanupHandlers.sort((a, b) => a.priority - b.priority);
|
|
26
|
+
// Return unregister function
|
|
27
|
+
return () => unregisterCleanup(id);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Unregister a cleanup handler by id
|
|
31
|
+
*/
|
|
32
|
+
export function unregisterCleanup(id) {
|
|
33
|
+
const index = cleanupHandlers.findIndex(h => h.id === id);
|
|
34
|
+
if (index !== -1) {
|
|
35
|
+
cleanupHandlers.splice(index, 1);
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run all cleanup handlers and exit the process
|
|
42
|
+
* @param exitCode Exit code to use (default: 1)
|
|
43
|
+
* @param message Optional message to display before cleanup
|
|
44
|
+
*/
|
|
45
|
+
export async function gracefulShutdown(exitCode = 1, message) {
|
|
46
|
+
// Prevent re-entry
|
|
47
|
+
if (isShuttingDown) {
|
|
48
|
+
process.exit(exitCode);
|
|
49
|
+
}
|
|
50
|
+
isShuttingDown = true;
|
|
51
|
+
if (message) {
|
|
52
|
+
console.error(message);
|
|
53
|
+
}
|
|
54
|
+
// Run all cleanup handlers
|
|
55
|
+
if (cleanupHandlers.length > 0) {
|
|
56
|
+
for (const entry of cleanupHandlers) {
|
|
57
|
+
try {
|
|
58
|
+
await entry.handler();
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
// Log but continue with other handlers
|
|
62
|
+
console.error(`Cleanup error (${entry.id}):`, error.message);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
process.exit(exitCode);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Register process signal handlers for graceful shutdown
|
|
70
|
+
* Call this once at application startup
|
|
71
|
+
*/
|
|
72
|
+
export function registerSignalHandlers() {
|
|
73
|
+
if (signalHandlersRegistered) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
signalHandlersRegistered = true;
|
|
77
|
+
// Handle Ctrl+C
|
|
78
|
+
process.on('SIGINT', () => {
|
|
79
|
+
gracefulShutdown(130); // 128 + 2 (SIGINT signal number)
|
|
80
|
+
});
|
|
81
|
+
// Handle termination request
|
|
82
|
+
process.on('SIGTERM', () => {
|
|
83
|
+
gracefulShutdown(143); // 128 + 15 (SIGTERM signal number)
|
|
84
|
+
});
|
|
85
|
+
// Handle terminal hangup (Unix only, no-op on Windows)
|
|
86
|
+
process.on('SIGHUP', () => {
|
|
87
|
+
gracefulShutdown(129); // 128 + 1 (SIGHUP signal number)
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if shutdown is in progress
|
|
92
|
+
*/
|
|
93
|
+
export function isShutdownInProgress() {
|
|
94
|
+
return isShuttingDown;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the number of registered cleanup handlers (for testing)
|
|
98
|
+
*/
|
|
99
|
+
export function getCleanupHandlerCount() {
|
|
100
|
+
return cleanupHandlers.length;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Clear all cleanup handlers (for testing)
|
|
104
|
+
*/
|
|
105
|
+
export function clearAllCleanupHandlers() {
|
|
106
|
+
cleanupHandlers.length = 0;
|
|
107
|
+
isShuttingDown = false;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/utils/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.js
CHANGED
|
@@ -4,6 +4,46 @@
|
|
|
4
4
|
import { readFile, writeFile, mkdir, access } from 'node:fs/promises';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { debugError } from './debug.js';
|
|
7
|
+
/**
|
|
8
|
+
* Ensure config directory exists with consistent error handling
|
|
9
|
+
* @param configDir - Directory path to create
|
|
10
|
+
* @param context - Context for debug logging (e.g., 'writeConfig', 'writeWatchStatus')
|
|
11
|
+
* @throws Error if directory cannot be created
|
|
12
|
+
*/
|
|
13
|
+
async function ensureConfigDir(configDir, context) {
|
|
14
|
+
try {
|
|
15
|
+
await mkdir(configDir, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
const err = error;
|
|
19
|
+
debugError('config', context, {
|
|
20
|
+
configDir,
|
|
21
|
+
operation: 'mkdir',
|
|
22
|
+
message: err.message,
|
|
23
|
+
code: err.code,
|
|
24
|
+
});
|
|
25
|
+
throw new Error(`Failed to create config directory "${configDir}": ${err.code === 'EACCES' ? 'Permission denied' : err.message}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Format a file write error into a user-friendly message
|
|
30
|
+
* @param err - The error from writeFile
|
|
31
|
+
* @param filePath - Path to the file that failed to write
|
|
32
|
+
* @param fileType - Human-readable file type (e.g., 'config file', 'watch status file')
|
|
33
|
+
* @returns User-friendly error message
|
|
34
|
+
*/
|
|
35
|
+
function formatWriteError(err, filePath, fileType) {
|
|
36
|
+
switch (err.code) {
|
|
37
|
+
case 'ENOENT':
|
|
38
|
+
return `Parent directory not found for: "${filePath}"`;
|
|
39
|
+
case 'EACCES':
|
|
40
|
+
return `Permission denied writing to: "${filePath}"`;
|
|
41
|
+
case 'ENOSPC':
|
|
42
|
+
return `No space left on device. Cannot write: "${filePath}"`;
|
|
43
|
+
default:
|
|
44
|
+
return `Failed to write ${fileType} "${filePath}": ${err.message}`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
7
47
|
/**
|
|
8
48
|
* Get the config directory path for a project
|
|
9
49
|
*/
|
|
@@ -47,21 +87,7 @@ export async function readConfig(projectRoot) {
|
|
|
47
87
|
export async function writeConfig(projectRoot, config) {
|
|
48
88
|
const configDir = getConfigDir(projectRoot);
|
|
49
89
|
const configPath = getConfigPath(projectRoot);
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
await mkdir(configDir, { recursive: true });
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
const err = error;
|
|
56
|
-
debugError('config', 'writeConfig', {
|
|
57
|
-
configDir,
|
|
58
|
-
operation: 'mkdir',
|
|
59
|
-
message: err.message,
|
|
60
|
-
code: err.code,
|
|
61
|
-
});
|
|
62
|
-
throw new Error(`Failed to create config directory "${configDir}": ${err.code === 'EACCES' ? 'Permission denied' : err.message}`);
|
|
63
|
-
}
|
|
64
|
-
// Write config file
|
|
90
|
+
await ensureConfigDir(configDir, 'writeConfig');
|
|
65
91
|
try {
|
|
66
92
|
await writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
67
93
|
}
|
|
@@ -73,21 +99,7 @@ export async function writeConfig(projectRoot, config) {
|
|
|
73
99
|
message: err.message,
|
|
74
100
|
code: err.code,
|
|
75
101
|
});
|
|
76
|
-
|
|
77
|
-
switch (err.code) {
|
|
78
|
-
case 'ENOENT':
|
|
79
|
-
userMessage = `Parent directory not found for: "${configPath}"`;
|
|
80
|
-
break;
|
|
81
|
-
case 'EACCES':
|
|
82
|
-
userMessage = `Permission denied writing to: "${configPath}"`;
|
|
83
|
-
break;
|
|
84
|
-
case 'ENOSPC':
|
|
85
|
-
userMessage = `No space left on device. Cannot write: "${configPath}"`;
|
|
86
|
-
break;
|
|
87
|
-
default:
|
|
88
|
-
userMessage = `Failed to write config file "${configPath}": ${err.message}`;
|
|
89
|
-
}
|
|
90
|
-
throw new Error(userMessage);
|
|
102
|
+
throw new Error(formatWriteError(err, configPath, 'config file'));
|
|
91
103
|
}
|
|
92
104
|
}
|
|
93
105
|
/**
|
|
@@ -151,21 +163,7 @@ export async function readWatchStatus(projectRoot) {
|
|
|
151
163
|
export async function writeWatchStatus(projectRoot, status) {
|
|
152
164
|
const configDir = getConfigDir(projectRoot);
|
|
153
165
|
const statusPath = getWatchStatusPath(projectRoot);
|
|
154
|
-
|
|
155
|
-
try {
|
|
156
|
-
await mkdir(configDir, { recursive: true });
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
const err = error;
|
|
160
|
-
debugError('config', 'writeWatchStatus', {
|
|
161
|
-
configDir,
|
|
162
|
-
operation: 'mkdir',
|
|
163
|
-
message: err.message,
|
|
164
|
-
code: err.code,
|
|
165
|
-
});
|
|
166
|
-
throw new Error(`Failed to create config directory "${configDir}": ${err.code === 'EACCES' ? 'Permission denied' : err.message}`);
|
|
167
|
-
}
|
|
168
|
-
// Write status file
|
|
166
|
+
await ensureConfigDir(configDir, 'writeWatchStatus');
|
|
169
167
|
try {
|
|
170
168
|
await writeFile(statusPath, JSON.stringify(status, null, 2), 'utf-8');
|
|
171
169
|
}
|
|
@@ -177,21 +175,7 @@ export async function writeWatchStatus(projectRoot, status) {
|
|
|
177
175
|
message: err.message,
|
|
178
176
|
code: err.code,
|
|
179
177
|
});
|
|
180
|
-
|
|
181
|
-
switch (err.code) {
|
|
182
|
-
case 'ENOENT':
|
|
183
|
-
userMessage = `Parent directory not found for: "${statusPath}"`;
|
|
184
|
-
break;
|
|
185
|
-
case 'EACCES':
|
|
186
|
-
userMessage = `Permission denied writing to: "${statusPath}"`;
|
|
187
|
-
break;
|
|
188
|
-
case 'ENOSPC':
|
|
189
|
-
userMessage = `No space left on device. Cannot write: "${statusPath}"`;
|
|
190
|
-
break;
|
|
191
|
-
default:
|
|
192
|
-
userMessage = `Failed to write watch status file "${statusPath}": ${err.message}`;
|
|
193
|
-
}
|
|
194
|
-
throw new Error(userMessage);
|
|
178
|
+
throw new Error(formatWriteError(err, statusPath, 'watch status file'));
|
|
195
179
|
}
|
|
196
180
|
}
|
|
197
181
|
/**
|
|
@@ -229,24 +213,35 @@ export async function readWatchLogs(projectRoot) {
|
|
|
229
213
|
}
|
|
230
214
|
}
|
|
231
215
|
/**
|
|
232
|
-
*
|
|
216
|
+
* Ensure config directory exists, logging errors but not throwing (non-fatal)
|
|
217
|
+
* @param configDir - Directory path to create
|
|
218
|
+
* @param context - Context for debug logging
|
|
219
|
+
* @returns true if directory exists/created, false if failed
|
|
233
220
|
*/
|
|
234
|
-
|
|
235
|
-
const configDir = getConfigDir(projectRoot);
|
|
236
|
-
const logsPath = getWatchLogsPath(projectRoot);
|
|
237
|
-
// Ensure config directory exists
|
|
221
|
+
async function ensureConfigDirSilent(configDir, context) {
|
|
238
222
|
try {
|
|
239
223
|
await mkdir(configDir, { recursive: true });
|
|
224
|
+
return true;
|
|
240
225
|
}
|
|
241
226
|
catch (error) {
|
|
242
227
|
const err = error;
|
|
243
|
-
debugError('config',
|
|
228
|
+
debugError('config', context, {
|
|
244
229
|
configDir,
|
|
245
230
|
operation: 'mkdir',
|
|
246
231
|
message: err.message,
|
|
247
232
|
code: err.code,
|
|
248
233
|
});
|
|
249
|
-
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Append a log entry to watch logs
|
|
239
|
+
*/
|
|
240
|
+
export async function appendWatchLog(projectRoot, entry) {
|
|
241
|
+
const configDir = getConfigDir(projectRoot);
|
|
242
|
+
const logsPath = getWatchLogsPath(projectRoot);
|
|
243
|
+
// Non-fatal - continue even if directory can't be created
|
|
244
|
+
if (!await ensureConfigDirSilent(configDir, 'appendWatchLog')) {
|
|
250
245
|
return;
|
|
251
246
|
}
|
|
252
247
|
try {
|
|
@@ -311,19 +306,8 @@ export async function readStrictWatchStatus(projectRoot) {
|
|
|
311
306
|
export async function writeStrictWatchStatus(projectRoot, status) {
|
|
312
307
|
const configDir = getConfigDir(projectRoot);
|
|
313
308
|
const reportPath = getStrictWatchReportPath(projectRoot);
|
|
314
|
-
//
|
|
315
|
-
|
|
316
|
-
await mkdir(configDir, { recursive: true });
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
const err = error;
|
|
320
|
-
debugError('config', 'writeStrictWatchStatus', {
|
|
321
|
-
configDir,
|
|
322
|
-
operation: 'mkdir',
|
|
323
|
-
message: err.message,
|
|
324
|
-
code: err.code,
|
|
325
|
-
});
|
|
326
|
-
// Non-fatal - continue even if directory can't be created
|
|
309
|
+
// Non-fatal - continue even if directory can't be created
|
|
310
|
+
if (!await ensureConfigDirSilent(configDir, 'writeStrictWatchStatus')) {
|
|
327
311
|
return;
|
|
328
312
|
}
|
|
329
313
|
try {
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/debug.d.ts
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
* Debug logging utilities
|
|
3
3
|
* Only logs when LOGICSTAMP_DEBUG=1 is set
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Debug logging helper for general debug output
|
|
7
|
+
* @param moduleName - Name of the module (e.g., 'fsx', 'manifest')
|
|
8
|
+
* @param message - Log message
|
|
9
|
+
* @param context - Additional context to log
|
|
10
|
+
*/
|
|
11
|
+
export declare function debugLog(moduleName: string, message: string, context?: Record<string, unknown>): void;
|
|
5
12
|
/**
|
|
6
13
|
* Debug logging helper for module errors
|
|
7
14
|
* @param moduleName - Name of the module (e.g., 'fsx', 'astParser')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAIN"}
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAQN;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAIN"}
|
package/dist/utils/debug.js
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
* Debug logging utilities
|
|
3
3
|
* Only logs when LOGICSTAMP_DEBUG=1 is set
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Debug logging helper for general debug output
|
|
7
|
+
* @param moduleName - Name of the module (e.g., 'fsx', 'manifest')
|
|
8
|
+
* @param message - Log message
|
|
9
|
+
* @param context - Additional context to log
|
|
10
|
+
*/
|
|
11
|
+
export function debugLog(moduleName, message, context) {
|
|
12
|
+
if (process.env.LOGICSTAMP_DEBUG === '1') {
|
|
13
|
+
if (context) {
|
|
14
|
+
console.log(`[LogicStamp][DEBUG] ${moduleName}: ${message}`, context);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.log(`[LogicStamp][DEBUG] ${moduleName}: ${message}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
5
21
|
/**
|
|
6
22
|
* Debug logging helper for module errors
|
|
7
23
|
* @param moduleName - Name of the module (e.g., 'fsx', 'astParser')
|
package/dist/utils/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,UAAkB,EAClB,YAAoB,EACpB,OAAgC;IAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,uBAAuB,UAAU,IAAI,YAAY,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,UAAkB,EAClB,OAAe,EACf,OAAiC;IAEjC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,UAAkB,EAClB,YAAoB,EACpB,OAAgC;IAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,uBAAuB,UAAU,IAAI,YAAY,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "logicstamp-context",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "Deterministic architectural context for TypeScript codebases. Generates explicit component contracts and dependency graphs for AI workflows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|