ttsc 0.28.1 → 0.28.3
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 +20 -20
- package/driver/config_discovery.go +12 -3
- package/driver/graph.go +34 -13
- package/driver/input_observation.go +61 -30
- package/driver/input_observation_test.go +17 -14
- package/lib/compiler/internal/transformProjectInMemory.js +18 -0
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/structures/ITtscCompilerTransformation.d.ts +7 -0
- package/package.json +8 -8
- package/src/compiler/internal/transformProjectInMemory.ts +26 -0
- package/src/structures/ITtscCompilerTransformation.ts +8 -0
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ That covers the CLI. The integrations each have a short guide:
|
|
|
47
47
|
|
|
48
48
|
## Lint
|
|
49
49
|
|
|
50
|
-
Lint and format inside the type-check you already run. 720+ rules across 21 families, plus a formatter
|
|
50
|
+
Lint and format inside the type-check you already run. 720+ rules across 21 families, plus a formatter ported from Prettier.
|
|
51
51
|
|
|
52
52
|
```ts
|
|
53
53
|
// src/index.ts
|
|
@@ -76,28 +76,28 @@ src/index.ts:1:1 - error TS11966: [no-var] Unexpected var, use let or const inst
|
|
|
76
76
|
Found 3 errors in the same file, starting at: src/index.ts:3
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
Because both arrive in that one stream, the CI step that already runs `ttsc --noEmit` gates lint with no second job and no second parse. On vscode the rules run about 900 times faster inside that check than ESLint does as its own command.
|
|
80
80
|
|
|
81
81
|
`npx ttsc fix` applies autofixes and formatting; `npx ttsc format` only formats. Rules and every `format` key are in the [Lint and Format guide](https://ttsc.dev/docs/lint).
|
|
82
82
|
|
|
83
83
|
## Evidence Graph
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Every specification becomes a compile-time obligation.
|
|
86
86
|
|
|
87
87
|
```tsx
|
|
88
88
|
/**
|
|
89
|
-
* @evidence docs/discount.md#coupon-stacking
|
|
90
|
-
*
|
|
91
|
-
* this section defines, in the buyer's words.
|
|
92
|
-
* @evidence POST:/orders/{orderId}/coupons
|
|
93
|
-
* Explains the rejection this endpoint returns
|
|
94
|
-
* for an over-stacked coupon set.
|
|
89
|
+
* @evidence docs/discount.md#coupon-stacking States the per-issuer stacking limit this section defines, in the buyer's words.
|
|
90
|
+
* @evidence POST:/orders/{orderId}/coupons Explains the rejection this endpoint returns for an over-stacked coupon set.
|
|
95
91
|
* @evidence {@link hooks.useCouponStacking} Renders the limit this hook resolves.
|
|
92
|
+
* @evidence docs/principles.md#no-hard-coding Renders limits from props instead of branching on known issuer names.
|
|
93
|
+
* @evidenceExclude docs/principles.md#fix-root-causes-not-symptoms No failure to fix.
|
|
96
94
|
*/
|
|
97
95
|
export function CouponStackingNotice(props: IProps): JSX.Element;
|
|
98
96
|
```
|
|
99
97
|
|
|
100
|
-
|
|
98
|
+
Each tag is a stated obligation, and the compiler audits every one, so no requirement and no principle goes unanswered.
|
|
99
|
+
|
|
100
|
+
You declare who owes what in `lint.config.ts`, and [the guide document](https://ttsc.dev/docs/evidence) has every option.
|
|
101
101
|
|
|
102
102
|
```bash
|
|
103
103
|
$ npx ttsc
|
|
@@ -105,19 +105,19 @@ error TS16411: [evidence/graph] Missing acknowledgement for 'docs/discount.md#co
|
|
|
105
105
|
(Markdown H2 'Coupon Stacking' at docs/discount.md:3)
|
|
106
106
|
in Claim 1 reference 1 (markdown, symbols: h2, h3).
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
typescript host, building that artifact first when none does, or write
|
|
110
|
-
@evidenceExclude on an eligible carrier when nothing here owes it. Never
|
|
111
|
-
leave an untrue tag standing just to pass this check; it removes the error,
|
|
112
|
-
not the problem.
|
|
108
|
+
...
|
|
113
109
|
|
|
114
|
-
Found
|
|
110
|
+
Found 5 errors.
|
|
115
111
|
```
|
|
116
112
|
|
|
117
|
-
Without those tags,
|
|
113
|
+
Without those `@evidence` tags, each unanswered obligation fails the build on its own, in the same stream as your type errors.
|
|
114
|
+
|
|
115
|
+
An agent cannot finish while one stands unanswered, so nothing it skipped stays invisible.
|
|
118
116
|
|
|
119
117
|

|
|
120
118
|
|
|
119
|
+
The result is 100% coverage on the first pass, at a fraction of the tokens and the time the same project costs without those obligations.
|
|
120
|
+
|
|
121
121
|
## Compiler Knowledge Graph
|
|
122
122
|
|
|
123
123
|
Your coding agent answers from the compiler instead of grepping and re-reading files.
|
|
@@ -133,12 +133,12 @@ Your coding agent answers from the compiler instead of grepping and re-reading f
|
|
|
133
133
|
}
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
Across 64 measured question and model pairs, the median answer costs 92% fewer tokens and 95% fewer tool calls than the same agent with no MCP. The design and the comparators are in [`@ttsc/graph`](https://github.com/samchon/ttsc/tree/master/packages/graph).
|
|
136
|
+
That server exposes one typed MCP tool over a graph the type checker resolved. Answers never carry file bodies, so repository size cannot inflate the response.
|
|
139
137
|
|
|
140
138
|

|
|
141
139
|
|
|
140
|
+
The median answer costs a fraction of the tokens and tool calls the same question takes without it. The design and the comparators are in [`@ttsc/graph`](https://github.com/samchon/ttsc/tree/master/packages/graph).
|
|
141
|
+
|
|
142
142
|
## Plugins
|
|
143
143
|
|
|
144
144
|
A plugin hooks the compile to add checks, transforms, or type-driven code generation, all driven by the types the checker has already resolved. It runs on every `ttsc` build and `ttsx` run, with no extra step.
|
|
@@ -107,14 +107,23 @@ func ReportRejectedConfigCandidates(candidates []ConfigCandidate, hashReporter,
|
|
|
107
107
|
digest := observedDirectoryDigest
|
|
108
108
|
hash = &digest
|
|
109
109
|
if resolved, err := filepath.Abs(candidate.Path); err == nil {
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
// Abs and Clean preserve aliases (Windows 8.3 names, symlinks, and
|
|
111
|
+
// junctions). The descriptor-side observer reports a physical path, so
|
|
112
|
+
// publishing the lexical spelling here would make the two proofs
|
|
113
|
+
// conflict and leave every persistent consumer unable to reuse.
|
|
114
|
+
if physical, err := filepath.EvalSymlinks(resolved); err == nil {
|
|
115
|
+
cleaned := filepath.Clean(physical)
|
|
116
|
+
realpath = &cleaned
|
|
117
|
+
}
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
120
|
if hashReporter != nil {
|
|
115
121
|
hashReporter(candidate.Path, hash)
|
|
116
122
|
}
|
|
117
|
-
|
|
123
|
+
// A nil report is the explicit observed-missing state, not an unknown
|
|
124
|
+
// proof. Only absent candidates may publish it; a directory whose physical
|
|
125
|
+
// identity could not be resolved must leave the realpath observation out.
|
|
126
|
+
if realpathReporter != nil && (!candidate.Directory || realpath != nil) {
|
|
118
127
|
realpathReporter(candidate.Path, realpath)
|
|
119
128
|
}
|
|
120
129
|
}
|
package/driver/graph.go
CHANGED
|
@@ -35,17 +35,23 @@ const bundledScheme = "bundled:///"
|
|
|
35
35
|
// its selected module target. They are a separate class from resolved
|
|
36
36
|
// edges: a probe's file appearing or changing can change an unchanged
|
|
37
37
|
// import's meaning.
|
|
38
|
+
// - InputHashes and InputRealpaths pair graph members with the exact content
|
|
39
|
+
// state and physical identity observed by the compiler filesystem.
|
|
40
|
+
// - InputProofFailures gives a stable reason when a realized member lacks
|
|
41
|
+
// that pair. Speculative candidates are omitted because the compiler was
|
|
42
|
+
// never expected to read them.
|
|
38
43
|
//
|
|
39
44
|
// Keys and values use the same convention as the envelope's `typescript`
|
|
40
45
|
// map: project-relative slash paths, falling back to slash-normalized
|
|
41
46
|
// absolute paths outside the project root (see TransformOutputKey).
|
|
42
47
|
type TransformGraph struct {
|
|
43
|
-
Edges
|
|
44
|
-
Globals
|
|
45
|
-
Configs
|
|
46
|
-
Candidates
|
|
47
|
-
InputHashes
|
|
48
|
-
InputRealpaths
|
|
48
|
+
Edges map[string][]string `json:"edges"`
|
|
49
|
+
Globals []string `json:"globals"`
|
|
50
|
+
Configs []string `json:"configs"`
|
|
51
|
+
Candidates map[string][]string `json:"candidates,omitempty"`
|
|
52
|
+
InputHashes map[string]*string `json:"inputHashes,omitempty"`
|
|
53
|
+
InputRealpaths map[string]*string `json:"inputRealpaths,omitempty"`
|
|
54
|
+
InputProofFailures map[string]string `json:"inputProofFailures,omitempty"`
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
// NewTransformGraph computes the reference graph of a loaded program, keyed
|
|
@@ -94,33 +100,45 @@ func (graph *TransformGraph) attachInputProof(prog *Program, cwd string) {
|
|
|
94
100
|
return
|
|
95
101
|
}
|
|
96
102
|
inputs := map[string]struct{}{}
|
|
103
|
+
realized := map[string]struct{}{}
|
|
104
|
+
addRealized := func(input string) {
|
|
105
|
+
inputs[input] = struct{}{}
|
|
106
|
+
realized[input] = struct{}{}
|
|
107
|
+
}
|
|
97
108
|
for source, targets := range graph.Edges {
|
|
98
|
-
|
|
109
|
+
addRealized(source)
|
|
99
110
|
for _, target := range targets {
|
|
100
|
-
|
|
111
|
+
addRealized(target)
|
|
101
112
|
}
|
|
102
113
|
}
|
|
103
114
|
for _, input := range graph.Globals {
|
|
104
|
-
|
|
115
|
+
addRealized(input)
|
|
105
116
|
}
|
|
106
117
|
for _, input := range graph.Configs {
|
|
107
|
-
|
|
118
|
+
addRealized(input)
|
|
108
119
|
}
|
|
109
120
|
for source, candidates := range graph.Candidates {
|
|
110
|
-
|
|
121
|
+
addRealized(source)
|
|
111
122
|
for _, candidate := range candidates {
|
|
112
123
|
inputs[candidate] = struct{}{}
|
|
113
124
|
}
|
|
114
125
|
}
|
|
115
126
|
hashes := map[string]*string{}
|
|
116
127
|
realpaths := map[string]*string{}
|
|
128
|
+
failures := map[string]string{}
|
|
117
129
|
for input := range inputs {
|
|
118
130
|
file := filepath.FromSlash(input)
|
|
119
131
|
if !filepath.IsAbs(file) {
|
|
120
132
|
file = filepath.Join(cwd, file)
|
|
121
133
|
}
|
|
122
|
-
hash, realpath,
|
|
123
|
-
if
|
|
134
|
+
hash, realpath, failure := prog.inputObserver.proof(file)
|
|
135
|
+
if failure != "" {
|
|
136
|
+
// Speculative candidates are allowed to lack compiler reads. Reporting
|
|
137
|
+
// only realized members keeps this diagnostic side channel bounded to
|
|
138
|
+
// inputs whose missing proof can actually refuse generation reuse.
|
|
139
|
+
if _, ok := realized[input]; ok {
|
|
140
|
+
failures[input] = string(failure)
|
|
141
|
+
}
|
|
124
142
|
continue
|
|
125
143
|
}
|
|
126
144
|
hashes[input] = hash
|
|
@@ -130,6 +148,9 @@ func (graph *TransformGraph) attachInputProof(prog *Program, cwd string) {
|
|
|
130
148
|
graph.InputHashes = hashes
|
|
131
149
|
graph.InputRealpaths = realpaths
|
|
132
150
|
}
|
|
151
|
+
if len(failures) != 0 {
|
|
152
|
+
graph.InputProofFailures = failures
|
|
153
|
+
}
|
|
133
154
|
}
|
|
134
155
|
|
|
135
156
|
// referenceTargets resolves one file's direct reference set to sorted envelope
|
|
@@ -17,6 +17,19 @@ var observedDirectoryDigest = func() string {
|
|
|
17
17
|
|
|
18
18
|
type observedInputKind uint8
|
|
19
19
|
|
|
20
|
+
type inputProofFailure string
|
|
21
|
+
|
|
22
|
+
const (
|
|
23
|
+
inputProofContentChanged inputProofFailure = "content-changed"
|
|
24
|
+
inputProofContentUnavailable inputProofFailure = "content-unavailable"
|
|
25
|
+
inputProofInvalidPath inputProofFailure = "invalid-path"
|
|
26
|
+
inputProofKindChanged inputProofFailure = "kind-changed"
|
|
27
|
+
inputProofRealpathChanged inputProofFailure = "realpath-changed"
|
|
28
|
+
inputProofRealpathUnavailable inputProofFailure = "realpath-unavailable"
|
|
29
|
+
inputProofUnobserved inputProofFailure = "unobserved"
|
|
30
|
+
inputProofUnsupportedInputKind inputProofFailure = "unsupported-input-kind"
|
|
31
|
+
)
|
|
32
|
+
|
|
20
33
|
const (
|
|
21
34
|
observedInputMissing observedInputKind = iota
|
|
22
35
|
observedInputFile
|
|
@@ -25,9 +38,9 @@ const (
|
|
|
25
38
|
|
|
26
39
|
type observedInput struct {
|
|
27
40
|
contentHash *string
|
|
41
|
+
failure inputProofFailure
|
|
28
42
|
kind observedInputKind
|
|
29
43
|
realpath *string
|
|
30
|
-
unstable bool
|
|
31
44
|
}
|
|
32
45
|
|
|
33
46
|
// inputObservationFS records the exact disk state returned through the
|
|
@@ -177,18 +190,23 @@ func (fs *inputObservationFS) mergeObservation(key string, next observedInput) {
|
|
|
177
190
|
fs.observations[key] = next
|
|
178
191
|
return
|
|
179
192
|
}
|
|
180
|
-
if previous.
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
fs.
|
|
193
|
+
if previous.failure != "" {
|
|
194
|
+
return
|
|
195
|
+
}
|
|
196
|
+
if next.failure != "" {
|
|
197
|
+
fs.failObservation(key, previous, next.failure)
|
|
198
|
+
return
|
|
199
|
+
}
|
|
200
|
+
if previous.kind != next.kind {
|
|
201
|
+
fs.failObservation(key, previous, inputProofKindChanged)
|
|
202
|
+
return
|
|
203
|
+
}
|
|
204
|
+
if !sameOptionalString(previous.realpath, next.realpath) {
|
|
205
|
+
fs.failObservation(key, previous, inputProofRealpathChanged)
|
|
185
206
|
return
|
|
186
207
|
}
|
|
187
208
|
if previous.contentHash != nil && next.contentHash != nil && *previous.contentHash != *next.contentHash {
|
|
188
|
-
|
|
189
|
-
previous.contentHash = nil
|
|
190
|
-
previous.realpath = nil
|
|
191
|
-
fs.observations[key] = previous
|
|
209
|
+
fs.failObservation(key, previous, inputProofContentChanged)
|
|
192
210
|
return
|
|
193
211
|
}
|
|
194
212
|
if previous.contentHash == nil && next.contentHash != nil {
|
|
@@ -197,6 +215,13 @@ func (fs *inputObservationFS) mergeObservation(key string, next observedInput) {
|
|
|
197
215
|
fs.observations[key] = previous
|
|
198
216
|
}
|
|
199
217
|
|
|
218
|
+
func (fs *inputObservationFS) failObservation(key string, observed observedInput, failure inputProofFailure) {
|
|
219
|
+
observed.contentHash = nil
|
|
220
|
+
observed.failure = failure
|
|
221
|
+
observed.realpath = nil
|
|
222
|
+
fs.observations[key] = observed
|
|
223
|
+
}
|
|
224
|
+
|
|
200
225
|
func (fs *inputObservationFS) observeRealpath(path string, realpath *string) {
|
|
201
226
|
key := fs.observationKey(path)
|
|
202
227
|
if key == "" {
|
|
@@ -210,11 +235,11 @@ func (fs *inputObservationFS) observeRealpath(path string, realpath *string) {
|
|
|
210
235
|
// directory. The ordinary resolver probes record that state separately.
|
|
211
236
|
return
|
|
212
237
|
}
|
|
213
|
-
if previous.
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
fs.
|
|
238
|
+
if previous.failure != "" {
|
|
239
|
+
return
|
|
240
|
+
}
|
|
241
|
+
if !sameOptionalString(previous.realpath, realpath) {
|
|
242
|
+
fs.failObservation(key, previous, inputProofRealpathChanged)
|
|
218
243
|
}
|
|
219
244
|
}
|
|
220
245
|
|
|
@@ -225,49 +250,55 @@ func sameOptionalString(left, right *string) bool {
|
|
|
225
250
|
return *left == *right
|
|
226
251
|
}
|
|
227
252
|
|
|
228
|
-
// proof returns a stable compiler-time state. A nil hash/realpath with
|
|
229
|
-
// is an explicit JSON null for a path observed missing;
|
|
230
|
-
//
|
|
231
|
-
func (fs *inputObservationFS) proof(path string) (hash, realpath *string,
|
|
253
|
+
// proof returns a stable compiler-time state. A nil hash/realpath with an empty
|
|
254
|
+
// failure is an explicit JSON null for a path observed missing; a non-empty
|
|
255
|
+
// failure explains why no complete, internally consistent proof exists.
|
|
256
|
+
func (fs *inputObservationFS) proof(path string) (hash, realpath *string, failure inputProofFailure) {
|
|
232
257
|
key := fs.observationKey(path)
|
|
233
258
|
if key == "" {
|
|
234
|
-
return nil, nil,
|
|
259
|
+
return nil, nil, inputProofInvalidPath
|
|
235
260
|
}
|
|
236
261
|
fs.mu.Lock()
|
|
237
262
|
observation, found := fs.observations[key]
|
|
238
263
|
// TypeScript-Go can probe a lexical symlink candidate and then read the
|
|
239
264
|
// selected source by its physical filename. Reuse that exact observed read
|
|
240
265
|
// for the alias instead of issuing an eager duplicate read from FileExists.
|
|
241
|
-
if found &&
|
|
266
|
+
if found && observation.failure == "" && observation.kind == observedInputFile && observation.contentHash == nil && observation.realpath != nil {
|
|
242
267
|
targetKey := fs.observationKey(*observation.realpath)
|
|
243
268
|
target, targetFound := fs.observations[targetKey]
|
|
244
|
-
if targetFound &&
|
|
269
|
+
if targetFound && target.failure == "" && target.kind == observedInputFile && target.contentHash != nil && sameOptionalString(target.realpath, observation.realpath) {
|
|
245
270
|
targetHash := *target.contentHash
|
|
246
271
|
observation.contentHash = &targetHash
|
|
247
272
|
}
|
|
248
273
|
}
|
|
249
274
|
fs.mu.Unlock()
|
|
250
|
-
if !found
|
|
251
|
-
return nil, nil,
|
|
275
|
+
if !found {
|
|
276
|
+
return nil, nil, inputProofUnobserved
|
|
277
|
+
}
|
|
278
|
+
if observation.failure != "" {
|
|
279
|
+
return nil, nil, observation.failure
|
|
252
280
|
}
|
|
253
281
|
switch observation.kind {
|
|
254
282
|
case observedInputMissing:
|
|
255
|
-
return nil, nil,
|
|
283
|
+
return nil, nil, ""
|
|
256
284
|
case observedInputDirectory:
|
|
257
285
|
hash := observedDirectoryDigest
|
|
258
286
|
if observation.realpath == nil {
|
|
259
|
-
return nil, nil,
|
|
287
|
+
return nil, nil, inputProofRealpathUnavailable
|
|
260
288
|
}
|
|
261
289
|
realpath := *observation.realpath
|
|
262
|
-
return &hash, &realpath,
|
|
290
|
+
return &hash, &realpath, ""
|
|
263
291
|
case observedInputFile:
|
|
264
292
|
if observation.contentHash == nil || observation.realpath == nil {
|
|
265
|
-
|
|
293
|
+
if observation.contentHash == nil {
|
|
294
|
+
return nil, nil, inputProofContentUnavailable
|
|
295
|
+
}
|
|
296
|
+
return nil, nil, inputProofRealpathUnavailable
|
|
266
297
|
}
|
|
267
298
|
hash := *observation.contentHash
|
|
268
299
|
realpath := *observation.realpath
|
|
269
|
-
return &hash, &realpath,
|
|
300
|
+
return &hash, &realpath, ""
|
|
270
301
|
default:
|
|
271
|
-
return nil, nil,
|
|
302
|
+
return nil, nil, inputProofUnsupportedInputKind
|
|
272
303
|
}
|
|
273
304
|
}
|
|
@@ -29,8 +29,8 @@ func TestInputObservationFSRejectsRestoredContent(t *testing.T) {
|
|
|
29
29
|
if err := os.WriteFile(file, []byte("A"), 0o644); err != nil {
|
|
30
30
|
t.Fatal(err)
|
|
31
31
|
}
|
|
32
|
-
if _, _,
|
|
33
|
-
t.
|
|
32
|
+
if _, _, failure := observed.proof(file); failure != inputProofContentChanged {
|
|
33
|
+
t.Fatalf("A-B-A proof failure = %q, want %q", failure, inputProofContentChanged)
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -46,6 +46,9 @@ func TestInputObservationFSProvesReadBytesAndMissingCandidates(t *testing.T) {
|
|
|
46
46
|
if !observed.FileExists(file) {
|
|
47
47
|
t.Fatal("selected file was not found")
|
|
48
48
|
}
|
|
49
|
+
if _, _, failure := observed.proof(file); failure != inputProofContentUnavailable {
|
|
50
|
+
t.Fatalf("existence-only proof failure = %q, want %q", failure, inputProofContentUnavailable)
|
|
51
|
+
}
|
|
49
52
|
if _, ok := observed.ReadFile(file); !ok {
|
|
50
53
|
t.Fatal("selected file was not read")
|
|
51
54
|
}
|
|
@@ -55,9 +58,9 @@ func TestInputObservationFSProvesReadBytesAndMissingCandidates(t *testing.T) {
|
|
|
55
58
|
|
|
56
59
|
digest := sha256.Sum256([]byte(contents))
|
|
57
60
|
wantHash := hex.EncodeToString(digest[:])
|
|
58
|
-
hash, realpath,
|
|
59
|
-
if
|
|
60
|
-
t.Fatalf("selected proof hash = %v, %
|
|
61
|
+
hash, realpath, failure := observed.proof(file)
|
|
62
|
+
if failure != "" || hash == nil || *hash != wantHash {
|
|
63
|
+
t.Fatalf("selected proof hash = %v, failure %q", hash, failure)
|
|
61
64
|
}
|
|
62
65
|
wantRealpath, err := filepath.EvalSymlinks(file)
|
|
63
66
|
if err != nil {
|
|
@@ -66,9 +69,9 @@ func TestInputObservationFSProvesReadBytesAndMissingCandidates(t *testing.T) {
|
|
|
66
69
|
if realpath == nil || filepath.Clean(*realpath) != filepath.Clean(wantRealpath) {
|
|
67
70
|
t.Fatalf("selected proof realpath = %v, want %q", realpath, wantRealpath)
|
|
68
71
|
}
|
|
69
|
-
hash, realpath,
|
|
70
|
-
if
|
|
71
|
-
t.Fatalf("missing proof = %v, %v, %
|
|
72
|
+
hash, realpath, failure = observed.proof(missing)
|
|
73
|
+
if failure != "" || hash != nil || realpath != nil {
|
|
74
|
+
t.Fatalf("missing proof = %v, %v, failure %q", hash, realpath, failure)
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
|
|
@@ -86,9 +89,9 @@ func TestInputObservationFSHashesCompilerDecodedText(t *testing.T) {
|
|
|
86
89
|
t.Fatalf("compiler read = %q, %v; want decoded text", contents, ok)
|
|
87
90
|
}
|
|
88
91
|
digest := sha256.Sum256([]byte(text))
|
|
89
|
-
hash, _,
|
|
90
|
-
if
|
|
91
|
-
t.Fatalf("decoded proof hash = %v, %
|
|
92
|
+
hash, _, failure := observed.proof(file)
|
|
93
|
+
if failure != "" || hash == nil || *hash != hex.EncodeToString(digest[:]) {
|
|
94
|
+
t.Fatalf("decoded proof hash = %v, failure %q", hash, failure)
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
|
|
@@ -128,9 +131,9 @@ func TestInputObservationFSJoinsSelectedAliasProbeToPhysicalRead(t *testing.T) {
|
|
|
128
131
|
}
|
|
129
132
|
|
|
130
133
|
digest := sha256.Sum256([]byte(contents))
|
|
131
|
-
hash, realpath,
|
|
132
|
-
if
|
|
133
|
-
t.Fatalf("alias proof hash = %v, %
|
|
134
|
+
hash, realpath, failure := observed.proof(lexical)
|
|
135
|
+
if failure != "" || hash == nil || *hash != hex.EncodeToString(digest[:]) {
|
|
136
|
+
t.Fatalf("alias proof hash = %v, failure %q", hash, failure)
|
|
134
137
|
}
|
|
135
138
|
if realpath == nil {
|
|
136
139
|
t.Fatalf("alias proof realpath = nil, want %q", physical)
|
|
@@ -502,6 +502,7 @@ function parseReferenceGraph(value) {
|
|
|
502
502
|
const globals = parseFileList(section.globals) ?? [];
|
|
503
503
|
const configs = parseFileList(section.configs) ?? [];
|
|
504
504
|
const inputHashes = parseGraphInputHashes(section.inputHashes);
|
|
505
|
+
const inputProofFailures = parseGraphInputProofFailures(section.inputProofFailures);
|
|
505
506
|
const inputRealpaths = parseGraphInputRealpaths(section.inputRealpaths);
|
|
506
507
|
if (Object.keys(candidates).length === 0 &&
|
|
507
508
|
Object.keys(edges).length === 0 &&
|
|
@@ -515,9 +516,26 @@ function parseReferenceGraph(value) {
|
|
|
515
516
|
edges,
|
|
516
517
|
globals,
|
|
517
518
|
...(inputHashes === undefined ? {} : { inputHashes }),
|
|
519
|
+
...(inputProofFailures === undefined ? {} : { inputProofFailures }),
|
|
518
520
|
...(inputRealpaths === undefined ? {} : { inputRealpaths }),
|
|
519
521
|
};
|
|
520
522
|
}
|
|
523
|
+
/** Parse graph-keyed machine-readable compiler proof-failure reasons. */
|
|
524
|
+
function parseGraphInputProofFailures(value) {
|
|
525
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
526
|
+
return undefined;
|
|
527
|
+
}
|
|
528
|
+
const output = {};
|
|
529
|
+
for (const [file, reason] of Object.entries(value)) {
|
|
530
|
+
if (file.length === 0 ||
|
|
531
|
+
typeof reason !== "string" ||
|
|
532
|
+
!/^[a-z0-9-]{1,64}$/.test(reason)) {
|
|
533
|
+
continue;
|
|
534
|
+
}
|
|
535
|
+
output[file] = reason;
|
|
536
|
+
}
|
|
537
|
+
return Object.keys(output).length === 0 ? undefined : output;
|
|
538
|
+
}
|
|
521
539
|
/** Parse graph-keyed compiler-time content/null observations. */
|
|
522
540
|
function parseGraphInputHashes(value) {
|
|
523
541
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformProjectInMemory.js","sourceRoot":"","sources":["../../../src/compiler/internal/transformProjectInMemory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformProjectInMemory.js","sourceRoot":"","sources":["../../../src/compiler/internal/transformProjectInMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,13 @@ export declare namespace ITtscCompilerTransformation {
|
|
|
66
66
|
inputHashes?: Record<string, string | null>;
|
|
67
67
|
/** Compiler-time physical identities paired with {@link inputHashes}. */
|
|
68
68
|
inputRealpaths?: Record<string, string | null>;
|
|
69
|
+
/**
|
|
70
|
+
* Why the compiler could not produce a paired proof for a graph member.
|
|
71
|
+
* Values are stable machine-readable reason codes such as `content-changed`
|
|
72
|
+
* or `realpath-unavailable`; consumers use them only for diagnostics and
|
|
73
|
+
* still treat the missing proof as authoritative refusal.
|
|
74
|
+
*/
|
|
75
|
+
inputProofFailures?: Record<string, string>;
|
|
69
76
|
}
|
|
70
77
|
/** Successful source-to-source transformation result. */
|
|
71
78
|
interface ISuccess {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ttsc",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.3",
|
|
4
4
|
"description": "General-purpose TypeScript-Go compiler, runtime, plugin host, and LSP host.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"typescript": "^7.0.2"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@ttsc/linux-x64": "0.28.
|
|
47
|
-
"@ttsc/linux-arm": "0.28.
|
|
48
|
-
"@ttsc/linux-arm64": "0.28.
|
|
49
|
-
"@ttsc/darwin-x64": "0.28.
|
|
50
|
-
"@ttsc/
|
|
51
|
-
"@ttsc/win32-
|
|
52
|
-
"@ttsc/
|
|
46
|
+
"@ttsc/linux-x64": "0.28.3",
|
|
47
|
+
"@ttsc/linux-arm": "0.28.3",
|
|
48
|
+
"@ttsc/linux-arm64": "0.28.3",
|
|
49
|
+
"@ttsc/darwin-x64": "0.28.3",
|
|
50
|
+
"@ttsc/darwin-arm64": "0.28.3",
|
|
51
|
+
"@ttsc/win32-arm64": "0.28.3",
|
|
52
|
+
"@ttsc/win32-x64": "0.28.3"
|
|
53
53
|
},
|
|
54
54
|
"sideEffects": [
|
|
55
55
|
"./lib/register.js",
|
|
@@ -827,6 +827,7 @@ function parseReferenceGraph(
|
|
|
827
827
|
edges?: unknown;
|
|
828
828
|
globals?: unknown;
|
|
829
829
|
inputHashes?: unknown;
|
|
830
|
+
inputProofFailures?: unknown;
|
|
830
831
|
inputRealpaths?: unknown;
|
|
831
832
|
};
|
|
832
833
|
const candidates = parseDependencyLists(section.candidates) ?? {};
|
|
@@ -834,6 +835,9 @@ function parseReferenceGraph(
|
|
|
834
835
|
const globals = parseFileList(section.globals) ?? [];
|
|
835
836
|
const configs = parseFileList(section.configs) ?? [];
|
|
836
837
|
const inputHashes = parseGraphInputHashes(section.inputHashes);
|
|
838
|
+
const inputProofFailures = parseGraphInputProofFailures(
|
|
839
|
+
section.inputProofFailures,
|
|
840
|
+
);
|
|
837
841
|
const inputRealpaths = parseGraphInputRealpaths(section.inputRealpaths);
|
|
838
842
|
if (
|
|
839
843
|
Object.keys(candidates).length === 0 &&
|
|
@@ -849,10 +853,32 @@ function parseReferenceGraph(
|
|
|
849
853
|
edges,
|
|
850
854
|
globals,
|
|
851
855
|
...(inputHashes === undefined ? {} : { inputHashes }),
|
|
856
|
+
...(inputProofFailures === undefined ? {} : { inputProofFailures }),
|
|
852
857
|
...(inputRealpaths === undefined ? {} : { inputRealpaths }),
|
|
853
858
|
};
|
|
854
859
|
}
|
|
855
860
|
|
|
861
|
+
/** Parse graph-keyed machine-readable compiler proof-failure reasons. */
|
|
862
|
+
function parseGraphInputProofFailures(
|
|
863
|
+
value: unknown,
|
|
864
|
+
): Record<string, string> | undefined {
|
|
865
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
866
|
+
return undefined;
|
|
867
|
+
}
|
|
868
|
+
const output: Record<string, string> = {};
|
|
869
|
+
for (const [file, reason] of Object.entries(value)) {
|
|
870
|
+
if (
|
|
871
|
+
file.length === 0 ||
|
|
872
|
+
typeof reason !== "string" ||
|
|
873
|
+
!/^[a-z0-9-]{1,64}$/.test(reason)
|
|
874
|
+
) {
|
|
875
|
+
continue;
|
|
876
|
+
}
|
|
877
|
+
output[file] = reason;
|
|
878
|
+
}
|
|
879
|
+
return Object.keys(output).length === 0 ? undefined : output;
|
|
880
|
+
}
|
|
881
|
+
|
|
856
882
|
/** Parse graph-keyed compiler-time content/null observations. */
|
|
857
883
|
function parseGraphInputHashes(
|
|
858
884
|
value: unknown,
|
|
@@ -76,6 +76,14 @@ export namespace ITtscCompilerTransformation {
|
|
|
76
76
|
|
|
77
77
|
/** Compiler-time physical identities paired with {@link inputHashes}. */
|
|
78
78
|
inputRealpaths?: Record<string, string | null>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Why the compiler could not produce a paired proof for a graph member.
|
|
82
|
+
* Values are stable machine-readable reason codes such as `content-changed`
|
|
83
|
+
* or `realpath-unavailable`; consumers use them only for diagnostics and
|
|
84
|
+
* still treat the missing proof as authoritative refusal.
|
|
85
|
+
*/
|
|
86
|
+
inputProofFailures?: Record<string, string>;
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
/** Successful source-to-source transformation result. */
|