ttsc 0.31.0 → 0.31.2
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/cmd/platform/main.go +2 -2
- package/internal/sourceprocess/contain_windows.go +10 -13
- package/internal/sourceprocess/started_windows.go +41 -0
- package/internal/sourceprocess/windows_started_publication_distinguishes_pending_from_refusal_test.go +76 -0
- package/internal/watchhelper/run.go +30 -20
- package/internal/watchhelper/run_other.go +4 -4
- package/internal/watchhelper/run_windows.go +471 -0
- package/internal/watchhelper/watchhelper.go +8 -2
- package/internal/watchhelper/windows_notifications_preserve_mutations_without_access_noise_test.go +506 -0
- package/lib/compiler/internal/build/BuildExecution.d.ts +4 -2
- package/lib/compiler/internal/build/BuildExecution.js +40 -12
- package/lib/compiler/internal/build/BuildExecution.js.map +1 -1
- package/lib/compiler/internal/startResidentTransform.js +5 -4
- package/lib/compiler/internal/startResidentTransform.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.js +9 -7
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/internal/javascriptRuntimeCapabilities.d.ts +13 -4
- package/lib/internal/javascriptRuntimeCapabilities.js +56 -6
- package/lib/internal/javascriptRuntimeCapabilities.js.map +1 -1
- package/lib/internal/nativeBinary.d.ts +3 -3
- package/lib/internal/nativeBinary.js +3 -3
- package/lib/internal/pluginSource.d.ts +1 -0
- package/lib/internal/pluginSource.js +1 -0
- package/lib/internal/pluginSource.js.map +1 -1
- package/lib/internal/resolveNodeBinary.d.ts +6 -1
- package/lib/internal/resolveNodeBinary.js +6 -2
- package/lib/internal/resolveNodeBinary.js.map +1 -1
- package/lib/internal/runtimeExecutableIdentity.d.ts +22 -13
- package/lib/internal/runtimeExecutableIdentity.js +192 -102
- package/lib/internal/runtimeExecutableIdentity.js.map +1 -1
- package/lib/launcher/internal/runtime/installRuntimeHooks.js +58 -4
- package/lib/launcher/internal/runtime/installRuntimeHooks.js.map +1 -1
- package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.d.ts +5 -1
- package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js +7 -2
- package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js.map +1 -1
- package/lib/launcher/internal/ttscserver/runTtscserver.js +8 -1
- package/lib/launcher/internal/ttscserver/runTtscserver.js.map +1 -1
- package/lib/plugin/internal/CapabilityResolutionFormat.d.ts +21 -62
- package/lib/plugin/internal/CapabilityResolutionFormat.js +15 -106
- package/lib/plugin/internal/CapabilityResolutionFormat.js.map +1 -1
- package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.d.ts +6 -0
- package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js +4 -4
- package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js.map +1 -1
- package/lib/plugin/internal/load/loadProjectPlugins.d.ts +24 -14
- package/lib/plugin/internal/load/loadProjectPlugins.js +141 -56
- package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -1
- package/lib/plugin/internal/readCapabilityResolution.d.ts +6 -0
- package/lib/plugin/internal/readCapabilityResolution.js +8 -5
- package/lib/plugin/internal/readCapabilityResolution.js.map +1 -1
- package/lib/plugin/internal/source/GoEnvironmentReading.d.ts +48 -0
- package/lib/plugin/internal/source/GoEnvironmentReading.js +156 -0
- package/lib/plugin/internal/source/GoEnvironmentReading.js.map +1 -0
- package/lib/plugin/internal/source/NativeSourcePackages.d.ts +51 -13
- package/lib/plugin/internal/source/NativeSourcePackages.js +182 -27
- package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -1
- package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.d.ts +42 -3
- package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js +68 -7
- package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js.map +1 -1
- package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.d.ts +5 -3
- package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js +14 -8
- package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js.map +1 -1
- package/lib/plugin/internal/source/PluginContentIdentities.d.ts +265 -0
- package/lib/plugin/internal/source/PluginContentIdentities.js +452 -0
- package/lib/plugin/internal/source/PluginContentIdentities.js.map +1 -0
- package/lib/plugin/internal/source/PluginLoadAnswers.d.ts +63 -0
- package/lib/plugin/internal/source/PluginLoadAnswers.js +128 -0
- package/lib/plugin/internal/source/PluginLoadAnswers.js.map +1 -0
- package/lib/plugin/internal/source/SourceBuildCacheLayout.d.ts +10 -0
- package/lib/plugin/internal/source/SourceBuildCacheLayout.js +12 -0
- package/lib/plugin/internal/source/SourceBuildCacheLayout.js.map +1 -1
- package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +53 -19
- package/lib/plugin/internal/source/SourcePluginWorkspace.js +111 -22
- package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -1
- package/lib/plugin/internal/source/buildSourcePlugin.d.ts +34 -18
- package/lib/plugin/internal/source/buildSourcePlugin.js +52 -24
- package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/source/computeCacheKey.d.ts +25 -7
- package/lib/plugin/internal/source/computeCacheKey.js +85 -34
- package/lib/plugin/internal/source/computeCacheKey.js.map +1 -1
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +7 -3
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +75 -102
- package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -1
- package/lib/plugin/internal/source/pluginBuildEnvironment.d.ts +8 -3
- package/lib/plugin/internal/source/pluginBuildEnvironment.js +8 -4
- package/lib/plugin/internal/source/pluginBuildEnvironment.js.map +1 -1
- package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js +12 -2
- package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js.map +1 -1
- package/lib/plugin/internal/source/pluginBuildVersions.d.ts +2 -2
- package/lib/plugin/internal/source/pluginBuildVersions.js +4 -17
- package/lib/plugin/internal/source/pluginBuildVersions.js.map +1 -1
- package/lib/plugin/internal/source/pluginModuleReplaceDirectories.d.ts +6 -5
- package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js +10 -17
- package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js.map +1 -1
- package/lib/plugin/internal/source/pluginSourceState.d.ts +6 -2
- package/lib/plugin/internal/source/pluginSourceState.js +20 -8
- package/lib/plugin/internal/source/pluginSourceState.js.map +1 -1
- package/lib/plugin/internal/source/pluginSourceStateHolds.d.ts +7 -2
- package/lib/plugin/internal/source/pluginSourceStateHolds.js +12 -7
- package/lib/plugin/internal/source/pluginSourceStateHolds.js.map +1 -1
- package/lib/plugin/internal/source/processPluginBuildEnvironment.d.ts +7 -2
- package/lib/plugin/internal/source/processPluginBuildEnvironment.js +8 -3
- package/lib/plugin/internal/source/processPluginBuildEnvironment.js.map +1 -1
- package/lib/plugin/internal/source/provenPluginSourceDigest.d.ts +28 -0
- package/lib/plugin/internal/source/provenPluginSourceDigest.js +41 -0
- package/lib/plugin/internal/source/provenPluginSourceDigest.js.map +1 -0
- package/lib/plugin/internal/source/pruneCacheFileRoot.d.ts +3 -2
- package/lib/plugin/internal/source/pruneCacheFileRoot.js +3 -2
- package/lib/plugin/internal/source/pruneCacheFileRoot.js.map +1 -1
- package/lib/plugin/internal/source/ttscPackageVersion.d.ts +26 -0
- package/lib/plugin/internal/source/ttscPackageVersion.js +47 -0
- package/lib/plugin/internal/source/ttscPackageVersion.js.map +1 -0
- package/lib/plugin/internal/writeCapabilityResolution.d.ts +6 -0
- package/lib/plugin/internal/writeCapabilityResolution.js +11 -7
- package/lib/plugin/internal/writeCapabilityResolution.js.map +1 -1
- package/lib/plugin/resolveCapabilityPlugins.js +67 -15
- package/lib/plugin/resolveCapabilityPlugins.js.map +1 -1
- package/package.json +8 -8
- package/src/compiler/internal/build/BuildExecution.ts +46 -13
- package/src/compiler/internal/startResidentTransform.ts +12 -3
- package/src/compiler/internal/transformProjectInMemory.ts +10 -2
- package/src/internal/javascriptRuntimeCapabilities.ts +71 -5
- package/src/internal/nativeBinary.ts +3 -3
- package/src/internal/pluginSource.ts +1 -0
- package/src/internal/resolveNodeBinary.ts +12 -1
- package/src/internal/runtimeExecutableIdentity.ts +227 -141
- package/src/launcher/internal/runtime/installRuntimeHooks.ts +68 -3
- package/src/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.ts +11 -2
- package/src/launcher/internal/ttscserver/runTtscserver.ts +18 -1
- package/src/plugin/internal/CapabilityResolutionFormat.ts +23 -107
- package/src/plugin/internal/load/PluginDescriptorEvaluationCache.ts +14 -4
- package/src/plugin/internal/load/loadProjectPlugins.ts +421 -211
- package/src/plugin/internal/readCapabilityResolution.ts +17 -6
- package/src/plugin/internal/source/GoEnvironmentReading.ts +178 -0
- package/src/plugin/internal/source/NativeSourcePackages.ts +365 -48
- package/src/plugin/internal/source/PluginBuildEnvironmentReadings.ts +83 -5
- package/src/plugin/internal/source/PluginBuildEnvironmentWitness.ts +18 -8
- package/src/plugin/internal/source/PluginContentIdentities.ts +563 -0
- package/src/plugin/internal/source/PluginLoadAnswers.ts +151 -0
- package/src/plugin/internal/source/SourceBuildCacheLayout.ts +14 -0
- package/src/plugin/internal/source/SourcePluginWorkspace.ts +148 -25
- package/src/plugin/internal/source/buildSourcePlugin.ts +104 -36
- package/src/plugin/internal/source/computeCacheKey.ts +129 -55
- package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +152 -105
- package/src/plugin/internal/source/pluginBuildEnvironment.ts +9 -2
- package/src/plugin/internal/source/pluginBuildEnvironmentWorker.ts +18 -2
- package/src/plugin/internal/source/pluginBuildVersions.ts +5 -26
- package/src/plugin/internal/source/pluginModuleReplaceDirectories.ts +13 -25
- package/src/plugin/internal/source/pluginSourceState.ts +28 -12
- package/src/plugin/internal/source/pluginSourceStateHolds.ts +15 -8
- package/src/plugin/internal/source/processPluginBuildEnvironment.ts +8 -2
- package/src/plugin/internal/source/provenPluginSourceDigest.ts +45 -0
- package/src/plugin/internal/source/pruneCacheFileRoot.ts +3 -2
- package/src/plugin/internal/source/ttscPackageVersion.ts +45 -0
- package/src/plugin/internal/writeCapabilityResolution.ts +29 -8
- package/src/plugin/resolveCapabilityPlugins.ts +87 -13
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import type { ITtscBuildContributor } from "./ITtscBuildContributor";
|
|
2
|
+
import { PluginBuildEnvironmentWitness } from "./PluginBuildEnvironmentWitness";
|
|
3
|
+
import { PluginContentIdentities } from "./PluginContentIdentities";
|
|
2
4
|
import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOperations";
|
|
5
|
+
import { SourcePluginWorkspace } from "./SourcePluginWorkspace";
|
|
3
6
|
/**
|
|
4
7
|
* Build one Go source plugin into a cached executable.
|
|
5
8
|
*
|
|
6
9
|
* `opts.env` is the effective environment for this build; the caller merges
|
|
7
|
-
* inherited and constructor layers using native environment-name identity so
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* inherited and constructor layers using native environment-name identity so a
|
|
11
|
+
* programmatic `TtscCompiler` instance can pin its own Go toolchain
|
|
12
|
+
* (`TTSC_GO_BINARY`), Go build cache (`TTSC_GO_CACHE_DIR`), and Go build
|
|
13
|
+
* variables (`GOFLAGS`, `CGO_*`, …) without mutating the shared `process.env`.
|
|
14
|
+
* CLI callers omit it and inherit `process.env`, so ambient behavior is
|
|
15
|
+
* unchanged.
|
|
13
16
|
*
|
|
14
17
|
* The cache key includes source and toolchain readings. Before publication the
|
|
15
18
|
* scratch inputs are compared with their recorded digests and the external
|
|
@@ -25,16 +28,16 @@ import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOpe
|
|
|
25
28
|
* Optional loader-required package ownership enters the key. Its cold producer
|
|
26
29
|
* admits the entry and linked sources through Go metadata in the actual
|
|
27
30
|
* materialized workspace before compilation; legacy cache artifacts have a
|
|
28
|
-
* different key. Existing binary hits trust the cache producer and key rather
|
|
29
|
-
* executable bytes. Default caches are managed locally, while
|
|
30
|
-
* retain caller-managed pruning policy. Every returned cache key
|
|
31
|
-
* reader token retained by this process until exit; registration
|
|
32
|
-
* builder/collector lease, and other consumers register independent
|
|
33
|
-
* Failure to establish ownership propagates. Private opt-in tracing
|
|
34
|
-
* mandatory key-creation and pre-build witness gates and adds one
|
|
35
|
-
* observation after Go returns. That diagnostic read adds metadata
|
|
36
|
-
* publication permission. A discarded epoch is separately recorded
|
|
37
|
-
* bounded build owner starts again.
|
|
31
|
+
* different key. Existing binary hits trust the cache producer and key rather
|
|
32
|
+
* than rehashing executable bytes. Default caches are managed locally, while
|
|
33
|
+
* explicit roots retain caller-managed pruning policy. Every returned cache key
|
|
34
|
+
* registers a reader token retained by this process until exit; registration
|
|
35
|
+
* shares the builder/collector lease, and other consumers register independent
|
|
36
|
+
* readers. Failure to establish ownership propagates. Private opt-in tracing
|
|
37
|
+
* records the mandatory key-creation and pre-build witness gates and adds one
|
|
38
|
+
* diagnostic observation after Go returns. That diagnostic read adds metadata
|
|
39
|
+
* work, not publication permission. A discarded epoch is separately recorded
|
|
40
|
+
* when the bounded build owner starts again.
|
|
38
41
|
*
|
|
39
42
|
* Explicit worker scopes check cancellation between build phases, copied source
|
|
40
43
|
* entries and native commands, including reader admission and final
|
|
@@ -48,8 +51,8 @@ import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOpe
|
|
|
48
51
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts A changed witness is never overwritten or accepted. A fresh epoch takes a new toolchain reading and performs the actual build or qualified adoption; source, native and cleanup failures stay terminal. No selected SDK tool is warmed by a special command, and no foreign environment or memo is rebased. Shared Go objects retain their owner's toolID/actionID contract; same-version custom tool semantics beyond that contract are not newly guaranteed.
|
|
49
52
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs explain effective environment, recorded-input comparisons and their trust/observation limits, reader registration and managed versus explicit roots; option-map comments state their reading provenance with blank member separation.
|
|
50
53
|
* @evidence contracts/portability.md#os-neutral-implementation Node path/physical-cache/temp APIs preserve native identities; executable resolution and Windows command handling are isolated owners, and the binary filename explicitly follows its executable platform.
|
|
51
|
-
* @evidence contracts/performance.md#efficient-algorithms At most three epochs redo native toolchain observation, key construction, materialization and guarded admission;
|
|
52
|
-
* @evidence contracts/performance.md#reuse-equivalent-work Existing binaries and concurrent builders share the version/platform/source/environment key with reader admission before return, assuming trustworthy cache producers and supplied digest maps. Fixed trimpath compilation removes disposable snapshot paths from Go object identities. Shared load readings and sequential source/toolchain comparisons reject observed changes; metadata reuse and unobserved concurrent mutation remain the underlying witnesses' limits.
|
|
54
|
+
* @evidence contracts/performance.md#efficient-algorithms At most three epochs redo native toolchain observation, key construction, materialization and guarded admission; the first can key on the load's witnessed same-directory reading instead of observing the toolchain again, and later ones always observe it. Each can run one Go build, preceded by one batched package metadata command when the loader requires ownership admission. The shared compiler reader can itself make three version observations, hence at most nine such cold observations for a persistently moving compiler and no build when its key witness fails. Full-file bytes, entries, path/sort text, contributors, external trees and witness populations drive work. Scoped cancellation is sampled between phases/entries/commands and does not bound native calls or delegated hashing. First source digest readings are reused across epochs, while each scratch is independently checked. Existing lock contention has its separate wait budget and native Go compiler work remains delegated.
|
|
55
|
+
* @evidence contracts/performance.md#reuse-equivalent-work Existing binaries and concurrent builders share the version/platform/source/environment key with reader admission before return, assuming trustworthy cache producers and supplied digest maps. The key's content digests come from the record store when their separable metadata still matches, so a new process does not read unchanged sources, SDK or compiler bytes to find an existing binary (#1722). Fixed trimpath compilation removes disposable snapshot paths from Go object identities. Shared load readings and sequential source/toolchain comparisons reject observed changes; metadata reuse and unobserved concurrent mutation remain the underlying witnesses' limits.
|
|
53
56
|
* @evidence contracts/performance.md#bound-retention-and-release-resources Scratch directories and build/cache leases have finally-based cleanup, including cancellation; cancelled work admits no new post-build prune pass. Scratch removal or lease cleanup can fail, and selected synchronous child settlement does not join arbitrary descendants. Repeated commands can repeat external tool effects; only ttsc-owned failed outputs are discarded, and Go-owned object entries retain their existing lifetime. Pending binary cleanup is best-effort. Reader tokens and their process map grow with distinct physical keys until process exit. Managed pruning attempts age/LRU reclamation while protecting live, unknown and selected entries, so it is not a hard disk bound; explicit roots remain caller-managed.
|
|
54
57
|
*/
|
|
55
58
|
export declare function buildSourcePlugin(opts: {
|
|
@@ -70,7 +73,18 @@ export declare function buildSourcePlugin(opts: {
|
|
|
70
73
|
* so the load reports its plugin sources' states from the same reading.
|
|
71
74
|
*/
|
|
72
75
|
environmentDigests?: Map<string, string>;
|
|
76
|
+
/**
|
|
77
|
+
* Witnesses of the readings in `environmentDigests` (`computeCacheKey`), so
|
|
78
|
+
* the first epoch keys on a reading package selection already took. A
|
|
79
|
+
* discarded epoch reads the toolchain again instead.
|
|
80
|
+
*/
|
|
81
|
+
environmentWitnesses?: Map<string, PluginBuildEnvironmentWitness.Record>;
|
|
73
82
|
filesystem?: Partial<SourceBuildFilesystemOperations>;
|
|
83
|
+
/**
|
|
84
|
+
* Record store the loader opened for this load, so its key reuses content
|
|
85
|
+
* identities across processes (#1722); a standalone build opens its own.
|
|
86
|
+
*/
|
|
87
|
+
identities?: PluginContentIdentities.Store;
|
|
74
88
|
label?: string;
|
|
75
89
|
overlayDirs?: readonly string[];
|
|
76
90
|
quiet?: boolean;
|
|
@@ -81,6 +95,8 @@ export declare function buildSourcePlugin(opts: {
|
|
|
81
95
|
* built from.
|
|
82
96
|
*/
|
|
83
97
|
sourceDigests?: Map<string, string>;
|
|
98
|
+
/** Pinned-tool manifest readers shared only by this loader request. */
|
|
99
|
+
goModReaders?: Map<string, SourcePluginWorkspace.GoModReader>;
|
|
84
100
|
ttscVersion: string;
|
|
85
101
|
tsgoVersion: string;
|
|
86
102
|
}): string;
|
|
@@ -12,15 +12,16 @@ const OwnedSynchronousProcess_1 = require("../../../internal/OwnedSynchronousPro
|
|
|
12
12
|
const SourceNativeRetirement_1 = require("../../../internal/SourceNativeRetirement");
|
|
13
13
|
const createCanonicalTempDirectory_1 = require("../../../internal/createCanonicalTempDirectory");
|
|
14
14
|
const runHoldingLock_1 = require("../../../internal/runHoldingLock");
|
|
15
|
-
const NativeSourcePackages_1 = require("./NativeSourcePackages");
|
|
16
|
-
const SourcePluginWorkspace_1 = require("./SourcePluginWorkspace");
|
|
17
15
|
const GoSourceInputs_1 = require("./GoSourceInputs");
|
|
18
16
|
const GoToolResolution_1 = require("./GoToolResolution");
|
|
17
|
+
const NativeSourcePackages_1 = require("./NativeSourcePackages");
|
|
19
18
|
const PluginBinaryUse_1 = require("./PluginBinaryUse");
|
|
20
19
|
const PluginBuildEnvironmentWitness_1 = require("./PluginBuildEnvironmentWitness");
|
|
21
20
|
const PluginBuildLockProtocol_1 = require("./PluginBuildLockProtocol");
|
|
21
|
+
const PluginContentIdentities_1 = require("./PluginContentIdentities");
|
|
22
22
|
const SourceBuildCacheLayout_1 = require("./SourceBuildCacheLayout");
|
|
23
23
|
const SourcePluginAdmission_1 = require("./SourcePluginAdmission");
|
|
24
|
+
const SourcePluginWorkspace_1 = require("./SourcePluginWorkspace");
|
|
24
25
|
const acquirePluginBuildLock_1 = require("./acquirePluginBuildLock");
|
|
25
26
|
const computeCacheKey_1 = require("./computeCacheKey");
|
|
26
27
|
const copiesPluginSourceEntry_1 = require("./copiesPluginSourceEntry");
|
|
@@ -42,12 +43,12 @@ const withGoBuildCacheLease_1 = require("./withGoBuildCacheLease");
|
|
|
42
43
|
* Build one Go source plugin into a cached executable.
|
|
43
44
|
*
|
|
44
45
|
* `opts.env` is the effective environment for this build; the caller merges
|
|
45
|
-
* inherited and constructor layers using native environment-name identity so
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
46
|
+
* inherited and constructor layers using native environment-name identity so a
|
|
47
|
+
* programmatic `TtscCompiler` instance can pin its own Go toolchain
|
|
48
|
+
* (`TTSC_GO_BINARY`), Go build cache (`TTSC_GO_CACHE_DIR`), and Go build
|
|
49
|
+
* variables (`GOFLAGS`, `CGO_*`, …) without mutating the shared `process.env`.
|
|
50
|
+
* CLI callers omit it and inherit `process.env`, so ambient behavior is
|
|
51
|
+
* unchanged.
|
|
51
52
|
*
|
|
52
53
|
* The cache key includes source and toolchain readings. Before publication the
|
|
53
54
|
* scratch inputs are compared with their recorded digests and the external
|
|
@@ -63,16 +64,16 @@ const withGoBuildCacheLease_1 = require("./withGoBuildCacheLease");
|
|
|
63
64
|
* Optional loader-required package ownership enters the key. Its cold producer
|
|
64
65
|
* admits the entry and linked sources through Go metadata in the actual
|
|
65
66
|
* materialized workspace before compilation; legacy cache artifacts have a
|
|
66
|
-
* different key. Existing binary hits trust the cache producer and key rather
|
|
67
|
-
* executable bytes. Default caches are managed locally, while
|
|
68
|
-
* retain caller-managed pruning policy. Every returned cache key
|
|
69
|
-
* reader token retained by this process until exit; registration
|
|
70
|
-
* builder/collector lease, and other consumers register independent
|
|
71
|
-
* Failure to establish ownership propagates. Private opt-in tracing
|
|
72
|
-
* mandatory key-creation and pre-build witness gates and adds one
|
|
73
|
-
* observation after Go returns. That diagnostic read adds metadata
|
|
74
|
-
* publication permission. A discarded epoch is separately recorded
|
|
75
|
-
* bounded build owner starts again.
|
|
67
|
+
* different key. Existing binary hits trust the cache producer and key rather
|
|
68
|
+
* than rehashing executable bytes. Default caches are managed locally, while
|
|
69
|
+
* explicit roots retain caller-managed pruning policy. Every returned cache key
|
|
70
|
+
* registers a reader token retained by this process until exit; registration
|
|
71
|
+
* shares the builder/collector lease, and other consumers register independent
|
|
72
|
+
* readers. Failure to establish ownership propagates. Private opt-in tracing
|
|
73
|
+
* records the mandatory key-creation and pre-build witness gates and adds one
|
|
74
|
+
* diagnostic observation after Go returns. That diagnostic read adds metadata
|
|
75
|
+
* work, not publication permission. A discarded epoch is separately recorded
|
|
76
|
+
* when the bounded build owner starts again.
|
|
76
77
|
*
|
|
77
78
|
* Explicit worker scopes check cancellation between build phases, copied source
|
|
78
79
|
* entries and native commands, including reader admission and final
|
|
@@ -86,8 +87,8 @@ const withGoBuildCacheLease_1 = require("./withGoBuildCacheLease");
|
|
|
86
87
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts A changed witness is never overwritten or accepted. A fresh epoch takes a new toolchain reading and performs the actual build or qualified adoption; source, native and cleanup failures stay terminal. No selected SDK tool is warmed by a special command, and no foreign environment or memo is rebased. Shared Go objects retain their owner's toolID/actionID contract; same-version custom tool semantics beyond that contract are not newly guaranteed.
|
|
87
88
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs explain effective environment, recorded-input comparisons and their trust/observation limits, reader registration and managed versus explicit roots; option-map comments state their reading provenance with blank member separation.
|
|
88
89
|
* @evidence contracts/portability.md#os-neutral-implementation Node path/physical-cache/temp APIs preserve native identities; executable resolution and Windows command handling are isolated owners, and the binary filename explicitly follows its executable platform.
|
|
89
|
-
* @evidence contracts/performance.md#efficient-algorithms At most three epochs redo native toolchain observation, key construction, materialization and guarded admission;
|
|
90
|
-
* @evidence contracts/performance.md#reuse-equivalent-work Existing binaries and concurrent builders share the version/platform/source/environment key with reader admission before return, assuming trustworthy cache producers and supplied digest maps. Fixed trimpath compilation removes disposable snapshot paths from Go object identities. Shared load readings and sequential source/toolchain comparisons reject observed changes; metadata reuse and unobserved concurrent mutation remain the underlying witnesses' limits.
|
|
90
|
+
* @evidence contracts/performance.md#efficient-algorithms At most three epochs redo native toolchain observation, key construction, materialization and guarded admission; the first can key on the load's witnessed same-directory reading instead of observing the toolchain again, and later ones always observe it. Each can run one Go build, preceded by one batched package metadata command when the loader requires ownership admission. The shared compiler reader can itself make three version observations, hence at most nine such cold observations for a persistently moving compiler and no build when its key witness fails. Full-file bytes, entries, path/sort text, contributors, external trees and witness populations drive work. Scoped cancellation is sampled between phases/entries/commands and does not bound native calls or delegated hashing. First source digest readings are reused across epochs, while each scratch is independently checked. Existing lock contention has its separate wait budget and native Go compiler work remains delegated.
|
|
91
|
+
* @evidence contracts/performance.md#reuse-equivalent-work Existing binaries and concurrent builders share the version/platform/source/environment key with reader admission before return, assuming trustworthy cache producers and supplied digest maps. The key's content digests come from the record store when their separable metadata still matches, so a new process does not read unchanged sources, SDK or compiler bytes to find an existing binary (#1722). Fixed trimpath compilation removes disposable snapshot paths from Go object identities. Shared load readings and sequential source/toolchain comparisons reject observed changes; metadata reuse and unobserved concurrent mutation remain the underlying witnesses' limits.
|
|
91
92
|
* @evidence contracts/performance.md#bound-retention-and-release-resources Scratch directories and build/cache leases have finally-based cleanup, including cancellation; cancelled work admits no new post-build prune pass. Scratch removal or lease cleanup can fail, and selected synchronous child settlement does not join arbitrary descendants. Repeated commands can repeat external tool effects; only ttsc-owned failed outputs are discarded, and Go-owned object entries retain their existing lifetime. Pending binary cleanup is best-effort. Reader tokens and their process map grow with distinct physical keys until process exit. Managed pruning attempts age/LRU reclamation while protecting live, unknown and selected entries, so it is not a hard disk bound; explicit roots remain caller-managed.
|
|
92
93
|
*/
|
|
93
94
|
function buildSourcePlugin(opts) {
|
|
@@ -99,13 +100,22 @@ function buildSourcePlugin(opts) {
|
|
|
99
100
|
for (let attempt = 0;; attempt += 1) {
|
|
100
101
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
101
102
|
const environmentDigests = new Map(opts.environmentDigests);
|
|
103
|
+
// Only the first epoch may key on a reading taken before it; a discarded
|
|
104
|
+
// epoch means the toolchain moved, so later ones read it again.
|
|
105
|
+
const environmentWitnesses = opts.environmentWitnesses === undefined
|
|
106
|
+
? undefined
|
|
107
|
+
: new Map(attempt === 0 ? opts.environmentWitnesses : []);
|
|
102
108
|
try {
|
|
103
|
-
const binary = buildSourcePluginAttempt(
|
|
109
|
+
const binary = buildSourcePluginAttempt(attempt === 0
|
|
110
|
+
? { ...opts, environmentWitnesses }
|
|
111
|
+
: { ...opts, environmentWitnesses, goModReaders: undefined }, env, sourceDigests, environmentDigests);
|
|
104
112
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
105
113
|
for (const [directory, digest] of sourceDigests)
|
|
106
114
|
opts.sourceDigests?.set(directory, digest);
|
|
107
115
|
for (const [directory, digest] of environmentDigests)
|
|
108
116
|
opts.environmentDigests?.set(directory, digest);
|
|
117
|
+
for (const [directory, witness] of environmentWitnesses ?? [])
|
|
118
|
+
opts.environmentWitnesses?.set(directory, witness);
|
|
109
119
|
return binary;
|
|
110
120
|
}
|
|
111
121
|
catch (error) {
|
|
@@ -124,14 +134,28 @@ function buildSourcePlugin(opts) {
|
|
|
124
134
|
function buildSourcePluginAttempt(opts, env, sourceDigests, environmentDigests) {
|
|
125
135
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
126
136
|
const { dir, entry, source } = resolveSourceBuildTarget(opts);
|
|
127
|
-
const overlayDirs = [
|
|
137
|
+
const overlayDirs = [
|
|
138
|
+
...(opts.overlayDirs ?? SourcePluginWorkspace_1.SourcePluginWorkspace.findTtscOverlayDirs()),
|
|
139
|
+
].sort();
|
|
128
140
|
const contributors = opts.contributors ?? [];
|
|
129
141
|
const compiler = (0, resolveGoCompiler_1.resolveGoCompiler)(env);
|
|
130
142
|
const goBinary = GoToolResolution_1.GoToolResolution.resolveGoToolForBuild(compiler.binary, env, dir);
|
|
131
143
|
(0, ensureExecutableGoToolchain_1.ensureExecutableGoToolchain)(goBinary, compiler.bundled);
|
|
132
144
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
145
|
+
const identities = opts.identities ??
|
|
146
|
+
PluginContentIdentities_1.PluginContentIdentities.open({
|
|
147
|
+
projectRoot: opts.baseDir,
|
|
148
|
+
cacheDir: opts.cacheDir,
|
|
149
|
+
env,
|
|
150
|
+
sources: [
|
|
151
|
+
dir,
|
|
152
|
+
...overlayDirs,
|
|
153
|
+
...contributors.map((contributor) => contributor.source),
|
|
154
|
+
],
|
|
155
|
+
});
|
|
133
156
|
// The digest of every directory the key covers, as the key read it, which
|
|
134
157
|
// the build proves against what it compiled.
|
|
158
|
+
const goModReader = SourcePluginWorkspace_1.SourcePluginWorkspace.createGoModReader(goBinary, opts.pluginName, env, opts.goModReaders, identities);
|
|
135
159
|
const environmentWitness = new Map();
|
|
136
160
|
const key = (0, computeCacheKey_1.computeCacheKey)({
|
|
137
161
|
contributors,
|
|
@@ -140,10 +164,13 @@ function buildSourcePluginAttempt(opts, env, sourceDigests, environmentDigests)
|
|
|
140
164
|
entry,
|
|
141
165
|
env,
|
|
142
166
|
environmentWitness,
|
|
167
|
+
goModReader,
|
|
143
168
|
filesystem: opts.filesystem,
|
|
144
169
|
goBinary,
|
|
170
|
+
identities,
|
|
145
171
|
overlayDirs,
|
|
146
172
|
environmentDigests,
|
|
173
|
+
environmentWitnesses: opts.environmentWitnesses,
|
|
147
174
|
sourceDigests,
|
|
148
175
|
ttscVersion: opts.ttscVersion,
|
|
149
176
|
tsgoVersion: opts.tsgoVersion,
|
|
@@ -236,6 +263,7 @@ function buildSourcePluginAttempt(opts, env, sourceDigests, environmentDigests)
|
|
|
236
263
|
env,
|
|
237
264
|
environmentWitness,
|
|
238
265
|
goBinary,
|
|
266
|
+
goModReader,
|
|
239
267
|
normalizeGoToolPermissions: compiler.bundled,
|
|
240
268
|
key,
|
|
241
269
|
keyedDigests: sourceDigests,
|
|
@@ -324,7 +352,7 @@ function compileSourcePlugin(opts) {
|
|
|
324
352
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
325
353
|
SourcePluginWorkspace_1.SourcePluginWorkspace.materialize(opts.dir, scratchDir);
|
|
326
354
|
requireKeyedSource(opts.dir, scratchDir, opts.keyedDigests, opts.pluginName);
|
|
327
|
-
const replacements = (0, pluginModuleReplaceDirectories_1.pluginModuleReplaceDirectories)(opts.dir, opts.env, opts.goBinary);
|
|
355
|
+
const replacements = (0, pluginModuleReplaceDirectories_1.pluginModuleReplaceDirectories)(opts.dir, opts.env, opts.goBinary, opts.goModReader);
|
|
328
356
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
329
357
|
// Every source the build would otherwise read in place, an overlay and
|
|
330
358
|
// each replace target outside the module, is copied and proven against the
|
|
@@ -340,7 +368,7 @@ function compileSourcePlugin(opts) {
|
|
|
340
368
|
...replacement,
|
|
341
369
|
directory: external.get(node_path_1.default.resolve(replacement.directory)),
|
|
342
370
|
})), scratchDir, opts.goBinary, opts.env);
|
|
343
|
-
const goModReader =
|
|
371
|
+
const goModReader = opts.goModReader;
|
|
344
372
|
OwnedSynchronousProcess_1.OwnedSynchronousProcess.checkpoint();
|
|
345
373
|
if (opts.contributors.length > 0) {
|
|
346
374
|
mergeContributors({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSourcePlugin.js","sourceRoot":"","sources":["../../../../src/plugin/internal/source/buildSourcePlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildSourcePlugin.js","sourceRoot":"","sources":["../../../../src/plugin/internal/source/buildSourcePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { ITtscBuildContributor } from "./ITtscBuildContributor";
|
|
2
2
|
import type { PluginBuildEnvironmentWitness } from "./PluginBuildEnvironmentWitness";
|
|
3
|
+
import { PluginContentIdentities } from "./PluginContentIdentities";
|
|
3
4
|
import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOperations";
|
|
5
|
+
import type { SourcePluginWorkspace } from "./SourcePluginWorkspace";
|
|
4
6
|
/**
|
|
5
7
|
* Compute a 32-character lowercase key from a plugin build's SHA-256 digest.
|
|
6
8
|
*
|
|
@@ -11,8 +13,8 @@ import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOpe
|
|
|
11
13
|
* source files. An optional required package-ownership population also frames
|
|
12
14
|
* the key, separating binaries admitted by the matching cold producer from
|
|
13
15
|
* legacy artifacts; requests without that authority retain their existing key.
|
|
14
|
-
* Contributors are sorted by name; unique names remove input
|
|
15
|
-
*
|
|
16
|
+
* Contributors are sorted by name; unique names remove input order dependence,
|
|
17
|
+
* while equal-name rows retain the sort's input order.
|
|
16
18
|
*
|
|
17
19
|
* Each source directory enters the key as its digest (`pluginSourceDigest`),
|
|
18
20
|
* which the transform envelope reports, with the environment below, as the
|
|
@@ -20,10 +22,12 @@ import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOpe
|
|
|
20
22
|
* values are trusted producer readings, not revalidated content observations.
|
|
21
23
|
* `sourceDigests` carries the digests one load already took: every build of the
|
|
22
24
|
* load keys on one reading of each directory, and the load reports those
|
|
23
|
-
* readings. The environment enters
|
|
24
|
-
* rule that reported state takes it from too,
|
|
25
|
-
* the digest of each build directory's, so the
|
|
26
|
-
* `go env` run.
|
|
25
|
+
* readings. The environment enters as the digest of
|
|
26
|
+
* `hashPluginBuildEnvironment`, the rule that reported state takes it from too,
|
|
27
|
+
* and `environmentDigests` carries the digest of each build directory's, so the
|
|
28
|
+
* load reports it without a second `go env` run. With `environmentWitnesses`, a
|
|
29
|
+
* reading the load already took for the same directory, such as package
|
|
30
|
+
* selection's, keys the build too, and its witness joins the build's.
|
|
27
31
|
*
|
|
28
32
|
* The `ttsc cache` CLI and plugin build pipeline share this key computation.
|
|
29
33
|
*
|
|
@@ -33,7 +37,7 @@ import type { SourceBuildFilesystemOperations } from "./SourceBuildFilesystemOpe
|
|
|
33
37
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs explain input coverage and the provenance of reported digests; documented optional output maps have blank separation between members.
|
|
34
38
|
* @evidence contracts/portability.md#os-neutral-implementation Native roots are resolved with Node path APIs and executable resolution; platform/architecture intentionally distinguish incompatible binary artifacts.
|
|
35
39
|
* @evidence contracts/performance.md#efficient-algorithms Source digest misses enumerate/sort paths and read individual files in full, not bounded streaming chunks. Overlay/contributor ordering compares path/name text; replacement discovery can read a manifest/run Go and native containment queries. Toolchain/env hashing delegates native metadata/probes/full bytes and memo checks without an unmeasured dominant-cost ranking; JSON framing processes all version/entry/label/digest text.
|
|
36
|
-
* @evidence contracts/performance.md#reuse-equivalent-work Caller-owned sourceDigests share supplied absolute-directory readings across roles without independently verifying their provenance/currentness. EnvironmentDigests receives this call's selected environment identity so reporting can avoid another probe; it
|
|
40
|
+
* @evidence contracts/performance.md#reuse-equivalent-work Caller-owned sourceDigests share supplied absolute-directory readings across roles without independently verifying their provenance/currentness. A supplied record store lets a new process reuse a directory, SDK or executable digest only while its separable metadata signature matches the recorded one (#1722), so unchanged inputs are not re-read per process. EnvironmentDigests receives this call's selected environment identity so reporting can avoid another probe. A same-directory reading of the same load, with its witness, replaces a second environment probe; the witness then joins this build's, which the build compares after it ran, and a non-default byte adapter never shares. Reuse inherits the selected population and metadata/producer premises.
|
|
37
41
|
*
|
|
38
42
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Output maps belong to the enclosing load; this operation retains no handles or process-wide records itself.
|
|
39
43
|
*/
|
|
@@ -53,6 +57,13 @@ export declare function computeCacheKey(inputs: {
|
|
|
53
57
|
* its plugin sources' states without reading the environment again.
|
|
54
58
|
*/
|
|
55
59
|
environmentDigests?: Map<string, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Witness of each reading in `environmentDigests` this load took, by
|
|
62
|
+
* directory. A digest with its witness stands for this call's own reading:
|
|
63
|
+
* the key takes it instead of running Go again and copies the witness into
|
|
64
|
+
* `environmentWitness`. Filled with this call's reading when it takes one.
|
|
65
|
+
*/
|
|
66
|
+
environmentWitnesses?: Map<string, PluginBuildEnvironmentWitness.Record>;
|
|
56
67
|
/**
|
|
57
68
|
* Receives selected native toolchain dependencies from the environment reader
|
|
58
69
|
* for later comparison under its metadata-distinguishability premise; it is
|
|
@@ -62,6 +73,13 @@ export declare function computeCacheKey(inputs: {
|
|
|
62
73
|
/** Byte adapter for delegated SDK identity; plugin source digests use fs. */
|
|
63
74
|
filesystem?: Partial<SourceBuildFilesystemOperations>;
|
|
64
75
|
goBinary?: string;
|
|
76
|
+
goModReader?: SourcePluginWorkspace.GoModReader;
|
|
77
|
+
/**
|
|
78
|
+
* Record store that proves unchanged sources, overlays, contributors, GOROOT
|
|
79
|
+
* and executables from metadata in a new process (#1722). Without it every
|
|
80
|
+
* process reads their bytes.
|
|
81
|
+
*/
|
|
82
|
+
identities?: PluginContentIdentities.Store;
|
|
65
83
|
overlayDirs?: readonly string[];
|
|
66
84
|
/**
|
|
67
85
|
* Digests of the source directories this load already read, by absolute path.
|