semantifold 0.8.0 → 0.10.0
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 +11 -5
- package/bin/semantifold.js +6 -0
- package/build/bin/semantifold.d.ts +3 -0
- package/build/bin/semantifold.d.ts.map +1 -0
- package/build/bin/semantifold.js +5 -0
- package/build/index.d.ts +9 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +10 -1
- package/build/src/artifact-path.d.ts +16 -0
- package/build/src/artifact-path.d.ts.map +1 -1
- package/build/src/artifact-path.js +29 -3
- package/build/src/backends/c-check.d.ts +7 -0
- package/build/src/backends/c-check.d.ts.map +1 -0
- package/build/src/backends/c-check.js +65 -0
- package/build/src/backends/check-plan.d.ts +96 -0
- package/build/src/backends/check-plan.d.ts.map +1 -0
- package/build/src/backends/check-plan.js +135 -0
- package/build/src/backends/cpp-check.d.ts +7 -0
- package/build/src/backends/cpp-check.d.ts.map +1 -0
- package/build/src/backends/cpp-check.js +59 -0
- package/build/src/backends/csharp-check.d.ts +7 -0
- package/build/src/backends/csharp-check.d.ts.map +1 -0
- package/build/src/backends/csharp-check.js +125 -0
- package/build/src/backends/csharp.d.ts +1 -0
- package/build/src/backends/csharp.d.ts.map +1 -1
- package/build/src/backends/csharp.js +5 -4
- package/build/src/backends/dart-check.d.ts +7 -0
- package/build/src/backends/dart-check.d.ts.map +1 -0
- package/build/src/backends/dart-check.js +103 -0
- package/build/src/backends/dart.d.ts +2 -0
- package/build/src/backends/dart.d.ts.map +1 -1
- package/build/src/backends/dart.js +5 -5
- package/build/src/backends/go-check.d.ts +7 -0
- package/build/src/backends/go-check.d.ts.map +1 -0
- package/build/src/backends/go-check.js +77 -0
- package/build/src/backends/go.d.ts +1 -0
- package/build/src/backends/go.d.ts.map +1 -1
- package/build/src/backends/go.js +3 -3
- package/build/src/backends/java-check.d.ts +21 -0
- package/build/src/backends/java-check.d.ts.map +1 -0
- package/build/src/backends/java-check.js +73 -0
- package/build/src/backends/javascript-check.d.ts +7 -0
- package/build/src/backends/javascript-check.d.ts.map +1 -0
- package/build/src/backends/javascript-check.js +29 -0
- package/build/src/backends/kotlin-check.d.ts +7 -0
- package/build/src/backends/kotlin-check.d.ts.map +1 -0
- package/build/src/backends/kotlin-check.js +31 -0
- package/build/src/backends/php-check.d.ts +7 -0
- package/build/src/backends/php-check.d.ts.map +1 -0
- package/build/src/backends/php-check.js +21 -0
- package/build/src/backends/program.d.ts +7 -0
- package/build/src/backends/program.d.ts.map +1 -1
- package/build/src/backends/program.js +16 -1
- package/build/src/backends/python-check.d.ts +7 -0
- package/build/src/backends/python-check.d.ts.map +1 -0
- package/build/src/backends/python-check.js +28 -0
- package/build/src/backends/ruby-check.d.ts +7 -0
- package/build/src/backends/ruby-check.d.ts.map +1 -0
- package/build/src/backends/ruby-check.js +21 -0
- package/build/src/backends/rust-check.d.ts +7 -0
- package/build/src/backends/rust-check.d.ts.map +1 -0
- package/build/src/backends/rust-check.js +65 -0
- package/build/src/backends/swift-check.d.ts +7 -0
- package/build/src/backends/swift-check.d.ts.map +1 -0
- package/build/src/backends/swift-check.js +77 -0
- package/build/src/backends/typescript-check.d.ts +7 -0
- package/build/src/backends/typescript-check.d.ts.map +1 -0
- package/build/src/backends/typescript-check.js +33 -0
- package/build/src/backends/zig-check.d.ts +7 -0
- package/build/src/backends/zig-check.d.ts.map +1 -0
- package/build/src/backends/zig-check.js +70 -0
- package/build/src/diagnostic.d.ts +13 -1
- package/build/src/diagnostic.d.ts.map +1 -1
- package/build/src/diagnostic.js +14 -2
- package/build/src/frontends/program.d.ts +6 -0
- package/build/src/frontends/program.d.ts.map +1 -1
- package/build/src/frontends/program.js +9 -1
- package/build/src/language-registry.d.ts +54 -0
- package/build/src/language-registry.d.ts.map +1 -1
- package/build/src/language-registry.js +107 -5
- package/build/src/project-build.d.ts +172 -0
- package/build/src/project-build.d.ts.map +1 -0
- package/build/src/project-build.js +320 -0
- package/build/src/project-cli.d.ts +40 -0
- package/build/src/project-cli.d.ts.map +1 -0
- package/build/src/project-cli.js +145 -0
- package/build/src/project-manifest.d.ts +148 -0
- package/build/src/project-manifest.d.ts.map +1 -0
- package/build/src/project-manifest.js +432 -0
- package/build/src/project-reporter.d.ts +81 -0
- package/build/src/project-reporter.d.ts.map +1 -0
- package/build/src/project-reporter.js +293 -0
- package/build/src/project-snapshot.d.ts +129 -0
- package/build/src/project-snapshot.d.ts.map +1 -0
- package/build/src/project-snapshot.js +362 -0
- package/build/src/project-watch-reporter.d.ts +125 -0
- package/build/src/project-watch-reporter.d.ts.map +1 -0
- package/build/src/project-watch-reporter.js +280 -0
- package/build/src/project-watch.d.ts +133 -0
- package/build/src/project-watch.d.ts.map +1 -0
- package/build/src/project-watch.js +839 -0
- package/build/src/publication.d.ts +218 -0
- package/build/src/publication.d.ts.map +1 -0
- package/build/src/publication.js +1832 -0
- package/build/src/semantic/types.d.ts +613 -0
- package/build/src/semantic/types.d.ts.map +1 -1
- package/build/src/semantic/types.js +163 -1
- package/build/src/subprocess.d.ts +8 -0
- package/build/src/subprocess.d.ts.map +1 -1
- package/build/src/subprocess.js +50 -9
- package/build/src/target-check.d.ts +52 -0
- package/build/src/target-check.d.ts.map +1 -0
- package/build/src/target-check.js +796 -0
- package/build/src/toolchains.d.ts.map +1 -1
- package/build/src/toolchains.js +3 -3
- package/docs/architecture.md +3 -1
- package/docs/c.md +4 -0
- package/docs/cpp.md +4 -0
- package/docs/dart.md +4 -0
- package/docs/generated-artifact-publication.md +98 -0
- package/docs/kotlin.md +2 -2
- package/docs/language-support.md +29 -3
- package/docs/project-build-cli.md +147 -0
- package/docs/project-watch.md +60 -0
- package/docs/rust.md +4 -0
- package/docs/swift.md +2 -0
- package/docs/testing.md +70 -3
- package/docs/watch-build-pipeline.md +42 -26
- package/docs/zig.md +2 -0
- package/examples/jsdoc-java-watch/expected-output.txt +3 -0
- package/examples/jsdoc-java-watch/semantifold.json +23 -0
- package/examples/jsdoc-java-watch/src/main.js +21 -0
- package/index.js +9 -0
- package/package.json +6 -1
- package/src/artifact-path.js +31 -2
- package/src/backends/c-check.js +80 -0
- package/src/backends/check-plan.js +147 -0
- package/src/backends/cpp-check.js +73 -0
- package/src/backends/csharp-check.js +139 -0
- package/src/backends/csharp.js +4 -3
- package/src/backends/dart-check.js +117 -0
- package/src/backends/dart.js +4 -4
- package/src/backends/go-check.js +89 -0
- package/src/backends/go.js +2 -2
- package/src/backends/java-check.js +77 -0
- package/src/backends/javascript-check.js +33 -0
- package/src/backends/kotlin-check.js +41 -0
- package/src/backends/php-check.js +23 -0
- package/src/backends/program.js +17 -0
- package/src/backends/python-check.js +30 -0
- package/src/backends/ruby-check.js +23 -0
- package/src/backends/rust-check.js +78 -0
- package/src/backends/swift-check.js +89 -0
- package/src/backends/typescript-check.js +37 -0
- package/src/backends/zig-check.js +81 -0
- package/src/diagnostic.js +9 -1
- package/src/frontends/program.js +9 -0
- package/src/language-registry.js +113 -4
- package/src/project-build.js +353 -0
- package/src/project-cli.js +155 -0
- package/src/project-manifest.js +479 -0
- package/src/project-reporter.js +320 -0
- package/src/project-snapshot.js +403 -0
- package/src/project-watch-reporter.js +303 -0
- package/src/project-watch.js +870 -0
- package/src/publication.js +2071 -0
- package/src/semantic/types.js +184 -0
- package/src/subprocess.js +49 -8
- package/src/target-check.js +844 -0
- package/src/toolchains.js +3 -2
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Queues one internal caller-owned currentness guard for the publisher's next transaction.
|
|
4
|
+
* The guard runs after every validator closes and immediately before the active-pointer commit.
|
|
5
|
+
* This helper is intentionally not part of the package root API.
|
|
6
|
+
* @param {GeneratedArtifactPublisher} publisher - Publisher instance.
|
|
7
|
+
* @param {() => Promise<void> | void} guard - Exact pre-commit guard.
|
|
8
|
+
* @returns {void}
|
|
9
|
+
*/
|
|
10
|
+
export declare function guardNextPublicationCommit(publisher: GeneratedArtifactPublisher, guard: () => Promise<void> | void): void;
|
|
11
|
+
/**
|
|
12
|
+
* Installs one internal, one-shot deterministic failure used by real-filesystem interruption specs.
|
|
13
|
+
* This helper is intentionally not part of the package root API.
|
|
14
|
+
* @param {GeneratedArtifactPublisher} publisher - Publisher instance.
|
|
15
|
+
* @param {"after-stage" | "before-pointer-replace" | "after-pointer-replace" | "before-cleanup" | "before-journal-remove"} boundary - Exact lifecycle boundary.
|
|
16
|
+
* @param {Error} error - Injected failure.
|
|
17
|
+
* @returns {void}
|
|
18
|
+
*/
|
|
19
|
+
export declare function injectPublicationFailure(publisher: GeneratedArtifactPublisher, boundary: "after-stage" | "before-pointer-replace" | "after-pointer-replace" | "before-cleanup" | "before-journal-remove", error: Error): void;
|
|
20
|
+
/**
|
|
21
|
+
* Installs an internal deterministic filesystem-operation observer for durability specs.
|
|
22
|
+
* This helper is intentionally not part of the package root API.
|
|
23
|
+
* @param {GeneratedArtifactPublisher} publisher - Publisher instance.
|
|
24
|
+
* @param {(operation: string) => void} observer - Synchronous operation observer.
|
|
25
|
+
* @returns {void}
|
|
26
|
+
*/
|
|
27
|
+
export declare function observePublicationFilesystem(publisher: GeneratedArtifactPublisher, observer: (operation: string) => void): void;
|
|
28
|
+
/**
|
|
29
|
+
* Owns transactional publication in one dedicated directory beneath a canonical project root.
|
|
30
|
+
*/
|
|
31
|
+
export declare class GeneratedArtifactPublisher {
|
|
32
|
+
#private;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a project-scoped publisher without touching the filesystem.
|
|
35
|
+
* @param {object} options - Publisher identity and owned paths.
|
|
36
|
+
* @param {string} options.projectId - Stable lowercase project identity.
|
|
37
|
+
* @param {string} options.projectRoot - Canonical absolute project root.
|
|
38
|
+
* @param {string} options.publicationRoot - Canonical absolute publisher-owned directory beneath the project root.
|
|
39
|
+
* @param {readonly string[]} [options.sourceRoots] - Canonical absolute project source directories kept disjoint from publication.
|
|
40
|
+
* @param {readonly string[]} [options.sourceFiles] - Canonical absolute project source files kept disjoint from publication.
|
|
41
|
+
*/
|
|
42
|
+
constructor(options: {
|
|
43
|
+
projectId: string;
|
|
44
|
+
projectRoot: string;
|
|
45
|
+
publicationRoot: string;
|
|
46
|
+
sourceRoots?: readonly string[];
|
|
47
|
+
sourceFiles?: readonly string[];
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Stages, validates, and publishes one complete immutable project generation.
|
|
51
|
+
* Calls on one publisher instance are serialized in invocation order.
|
|
52
|
+
* @param {import("./semantic/types.js").PublicationRequest} request - Complete publication request.
|
|
53
|
+
* @param {import("./semantic/types.js").PublicationOptions} [options] - Transaction lifecycle controls.
|
|
54
|
+
* @returns {Promise<import("./semantic/types.js").PublishedGeneration>} Committed immutable snapshot.
|
|
55
|
+
*/
|
|
56
|
+
publish(request: import("./semantic/types.js").PublicationRequest, options?: import("./semantic/types.js").PublicationOptions): Promise<import("./semantic/types.js").PublishedGeneration>;
|
|
57
|
+
/**
|
|
58
|
+
* Resolves the active pointer exactly once and verifies the referenced immutable generation.
|
|
59
|
+
* @returns {Promise<import("./semantic/types.js").PublishedGeneration>} Verified pointer-once snapshot.
|
|
60
|
+
*/
|
|
61
|
+
resolveActive(): Promise<import("./semantic/types.js").PublishedGeneration>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Checks one absolute path using the supplied host path semantics.
|
|
65
|
+
* This helper is intentionally not part of the package root API.
|
|
66
|
+
* @param {unknown} value - Path candidate.
|
|
67
|
+
* @param {typeof path.posix | typeof path.win32} hostPath - Host-native path implementation.
|
|
68
|
+
* @returns {value is string} Whether the path is canonical for that host.
|
|
69
|
+
*/
|
|
70
|
+
export declare function isCanonicalAbsolutePathForPath(value: unknown, hostPath: typeof path.posix | typeof path.win32): value is string;
|
|
71
|
+
export type ValidatedPublicationTarget = {
|
|
72
|
+
/**
|
|
73
|
+
* - Target identity.
|
|
74
|
+
*/
|
|
75
|
+
id: string;
|
|
76
|
+
/**
|
|
77
|
+
* - Detached artifact set.
|
|
78
|
+
*/
|
|
79
|
+
artifactSet: import("./semantic/types.js").GeneratedArtifactSet;
|
|
80
|
+
/**
|
|
81
|
+
* - Source projection.
|
|
82
|
+
*/
|
|
83
|
+
sourceProjection: string;
|
|
84
|
+
/**
|
|
85
|
+
* - Build projection.
|
|
86
|
+
*/
|
|
87
|
+
buildProjection: string;
|
|
88
|
+
/**
|
|
89
|
+
* - Language-neutral target role.
|
|
90
|
+
*/
|
|
91
|
+
role: import("./semantic/types.js").PublicationTargetRole;
|
|
92
|
+
/**
|
|
93
|
+
* - Ordered validators.
|
|
94
|
+
*/
|
|
95
|
+
validators: readonly import("./semantic/types.js").PublicationValidator[];
|
|
96
|
+
};
|
|
97
|
+
export type ValidatedPublicationRequest = {
|
|
98
|
+
/**
|
|
99
|
+
* - Snapshotted generation identity.
|
|
100
|
+
*/
|
|
101
|
+
generationId: string;
|
|
102
|
+
/**
|
|
103
|
+
* - Snapshotted ordered targets.
|
|
104
|
+
*/
|
|
105
|
+
targets: readonly ValidatedPublicationTarget[];
|
|
106
|
+
};
|
|
107
|
+
export type ActivePointer = {
|
|
108
|
+
/**
|
|
109
|
+
* - Schema discriminator.
|
|
110
|
+
*/
|
|
111
|
+
schema: "SemantifoldActiveGeneration";
|
|
112
|
+
/**
|
|
113
|
+
* - Schema version.
|
|
114
|
+
*/
|
|
115
|
+
version: 1;
|
|
116
|
+
/**
|
|
117
|
+
* - Project identity.
|
|
118
|
+
*/
|
|
119
|
+
projectId: string;
|
|
120
|
+
/**
|
|
121
|
+
* - Generation identity.
|
|
122
|
+
*/
|
|
123
|
+
generationId: string;
|
|
124
|
+
/**
|
|
125
|
+
* - SHA-256 generation-manifest hash.
|
|
126
|
+
*/
|
|
127
|
+
manifestHash: string;
|
|
128
|
+
};
|
|
129
|
+
export type CandidatePublicationJournal = {
|
|
130
|
+
/**
|
|
131
|
+
* - Schema discriminator.
|
|
132
|
+
*/
|
|
133
|
+
schema: "SemantifoldPublicationJournal";
|
|
134
|
+
/**
|
|
135
|
+
* - Schema version.
|
|
136
|
+
*/
|
|
137
|
+
version: 1;
|
|
138
|
+
/**
|
|
139
|
+
* - Project identity.
|
|
140
|
+
*/
|
|
141
|
+
projectId: string;
|
|
142
|
+
/**
|
|
143
|
+
* - Candidate generation identity.
|
|
144
|
+
*/
|
|
145
|
+
generationId: string;
|
|
146
|
+
/**
|
|
147
|
+
* - Owned sibling temporary-pointer filename.
|
|
148
|
+
*/
|
|
149
|
+
tempPointer: string;
|
|
150
|
+
};
|
|
151
|
+
export type ReactivationPublicationJournal = {
|
|
152
|
+
/**
|
|
153
|
+
* - Schema discriminator.
|
|
154
|
+
*/
|
|
155
|
+
schema: "SemantifoldPublicationJournal";
|
|
156
|
+
/**
|
|
157
|
+
* - Schema version.
|
|
158
|
+
*/
|
|
159
|
+
version: 2;
|
|
160
|
+
/**
|
|
161
|
+
* - Retained-generation activation without candidate ownership.
|
|
162
|
+
*/
|
|
163
|
+
operation: "reactivate";
|
|
164
|
+
/**
|
|
165
|
+
* - Project identity.
|
|
166
|
+
*/
|
|
167
|
+
projectId: string;
|
|
168
|
+
/**
|
|
169
|
+
* - Retained generation identity.
|
|
170
|
+
*/
|
|
171
|
+
generationId: string;
|
|
172
|
+
/**
|
|
173
|
+
* - Owned sibling temporary-pointer filename.
|
|
174
|
+
*/
|
|
175
|
+
tempPointer: string;
|
|
176
|
+
};
|
|
177
|
+
export type PublicationJournal = CandidatePublicationJournal | ReactivationPublicationJournal;
|
|
178
|
+
/**
|
|
179
|
+
* @typedef ValidatedPublicationTarget
|
|
180
|
+
* @property {string} id - Target identity.
|
|
181
|
+
* @property {import("./semantic/types.js").GeneratedArtifactSet} artifactSet - Detached artifact set.
|
|
182
|
+
* @property {string} sourceProjection - Source projection.
|
|
183
|
+
* @property {string} buildProjection - Build projection.
|
|
184
|
+
* @property {import("./semantic/types.js").PublicationTargetRole} role - Language-neutral target role.
|
|
185
|
+
* @property {readonly import("./semantic/types.js").PublicationValidator[]} validators - Ordered validators.
|
|
186
|
+
*/
|
|
187
|
+
/**
|
|
188
|
+
* @typedef ValidatedPublicationRequest
|
|
189
|
+
* @property {string} generationId - Snapshotted generation identity.
|
|
190
|
+
* @property {readonly ValidatedPublicationTarget[]} targets - Snapshotted ordered targets.
|
|
191
|
+
*/
|
|
192
|
+
/**
|
|
193
|
+
* @typedef ActivePointer
|
|
194
|
+
* @property {"SemantifoldActiveGeneration"} schema - Schema discriminator.
|
|
195
|
+
* @property {1} version - Schema version.
|
|
196
|
+
* @property {string} projectId - Project identity.
|
|
197
|
+
* @property {string} generationId - Generation identity.
|
|
198
|
+
* @property {string} manifestHash - SHA-256 generation-manifest hash.
|
|
199
|
+
*/
|
|
200
|
+
/**
|
|
201
|
+
* @typedef CandidatePublicationJournal
|
|
202
|
+
* @property {"SemantifoldPublicationJournal"} schema - Schema discriminator.
|
|
203
|
+
* @property {1} version - Schema version.
|
|
204
|
+
* @property {string} projectId - Project identity.
|
|
205
|
+
* @property {string} generationId - Candidate generation identity.
|
|
206
|
+
* @property {string} tempPointer - Owned sibling temporary-pointer filename.
|
|
207
|
+
*/
|
|
208
|
+
/**
|
|
209
|
+
* @typedef ReactivationPublicationJournal
|
|
210
|
+
* @property {"SemantifoldPublicationJournal"} schema - Schema discriminator.
|
|
211
|
+
* @property {2} version - Schema version.
|
|
212
|
+
* @property {"reactivate"} operation - Retained-generation activation without candidate ownership.
|
|
213
|
+
* @property {string} projectId - Project identity.
|
|
214
|
+
* @property {string} generationId - Retained generation identity.
|
|
215
|
+
* @property {string} tempPointer - Owned sibling temporary-pointer filename.
|
|
216
|
+
*/
|
|
217
|
+
/** @typedef {CandidatePublicationJournal | ReactivationPublicationJournal} PublicationJournal */
|
|
218
|
+
//# sourceMappingURL=publication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../src/publication.js"],"names":[],"mappings":"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"}
|