semantifold 0.9.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.
Files changed (171) hide show
  1. package/README.md +6 -3
  2. package/bin/semantifold.js +6 -0
  3. package/build/bin/semantifold.d.ts +3 -0
  4. package/build/bin/semantifold.d.ts.map +1 -0
  5. package/build/bin/semantifold.js +5 -0
  6. package/build/index.d.ts +8 -0
  7. package/build/index.d.ts.map +1 -1
  8. package/build/index.js +9 -1
  9. package/build/src/artifact-path.d.ts +16 -0
  10. package/build/src/artifact-path.d.ts.map +1 -1
  11. package/build/src/artifact-path.js +29 -3
  12. package/build/src/backends/c-check.d.ts +7 -0
  13. package/build/src/backends/c-check.d.ts.map +1 -0
  14. package/build/src/backends/c-check.js +65 -0
  15. package/build/src/backends/check-plan.d.ts +96 -0
  16. package/build/src/backends/check-plan.d.ts.map +1 -0
  17. package/build/src/backends/check-plan.js +135 -0
  18. package/build/src/backends/cpp-check.d.ts +7 -0
  19. package/build/src/backends/cpp-check.d.ts.map +1 -0
  20. package/build/src/backends/cpp-check.js +59 -0
  21. package/build/src/backends/csharp-check.d.ts +7 -0
  22. package/build/src/backends/csharp-check.d.ts.map +1 -0
  23. package/build/src/backends/csharp-check.js +125 -0
  24. package/build/src/backends/csharp.d.ts +1 -0
  25. package/build/src/backends/csharp.d.ts.map +1 -1
  26. package/build/src/backends/csharp.js +5 -4
  27. package/build/src/backends/dart-check.d.ts +7 -0
  28. package/build/src/backends/dart-check.d.ts.map +1 -0
  29. package/build/src/backends/dart-check.js +103 -0
  30. package/build/src/backends/dart.d.ts +2 -0
  31. package/build/src/backends/dart.d.ts.map +1 -1
  32. package/build/src/backends/dart.js +5 -5
  33. package/build/src/backends/go-check.d.ts +7 -0
  34. package/build/src/backends/go-check.d.ts.map +1 -0
  35. package/build/src/backends/go-check.js +77 -0
  36. package/build/src/backends/go.d.ts +1 -0
  37. package/build/src/backends/go.d.ts.map +1 -1
  38. package/build/src/backends/go.js +3 -3
  39. package/build/src/backends/java-check.d.ts +21 -0
  40. package/build/src/backends/java-check.d.ts.map +1 -0
  41. package/build/src/backends/java-check.js +73 -0
  42. package/build/src/backends/javascript-check.d.ts +7 -0
  43. package/build/src/backends/javascript-check.d.ts.map +1 -0
  44. package/build/src/backends/javascript-check.js +29 -0
  45. package/build/src/backends/kotlin-check.d.ts +7 -0
  46. package/build/src/backends/kotlin-check.d.ts.map +1 -0
  47. package/build/src/backends/kotlin-check.js +31 -0
  48. package/build/src/backends/php-check.d.ts +7 -0
  49. package/build/src/backends/php-check.d.ts.map +1 -0
  50. package/build/src/backends/php-check.js +21 -0
  51. package/build/src/backends/program.d.ts +7 -0
  52. package/build/src/backends/program.d.ts.map +1 -1
  53. package/build/src/backends/program.js +16 -1
  54. package/build/src/backends/python-check.d.ts +7 -0
  55. package/build/src/backends/python-check.d.ts.map +1 -0
  56. package/build/src/backends/python-check.js +28 -0
  57. package/build/src/backends/ruby-check.d.ts +7 -0
  58. package/build/src/backends/ruby-check.d.ts.map +1 -0
  59. package/build/src/backends/ruby-check.js +21 -0
  60. package/build/src/backends/rust-check.d.ts +7 -0
  61. package/build/src/backends/rust-check.d.ts.map +1 -0
  62. package/build/src/backends/rust-check.js +65 -0
  63. package/build/src/backends/swift-check.d.ts +7 -0
  64. package/build/src/backends/swift-check.d.ts.map +1 -0
  65. package/build/src/backends/swift-check.js +77 -0
  66. package/build/src/backends/typescript-check.d.ts +7 -0
  67. package/build/src/backends/typescript-check.d.ts.map +1 -0
  68. package/build/src/backends/typescript-check.js +33 -0
  69. package/build/src/backends/zig-check.d.ts +7 -0
  70. package/build/src/backends/zig-check.d.ts.map +1 -0
  71. package/build/src/backends/zig-check.js +70 -0
  72. package/build/src/diagnostic.d.ts +13 -1
  73. package/build/src/diagnostic.d.ts.map +1 -1
  74. package/build/src/diagnostic.js +14 -2
  75. package/build/src/frontends/program.d.ts +6 -0
  76. package/build/src/frontends/program.d.ts.map +1 -1
  77. package/build/src/frontends/program.js +9 -1
  78. package/build/src/language-registry.d.ts +54 -0
  79. package/build/src/language-registry.d.ts.map +1 -1
  80. package/build/src/language-registry.js +107 -5
  81. package/build/src/project-build.d.ts +172 -0
  82. package/build/src/project-build.d.ts.map +1 -0
  83. package/build/src/project-build.js +320 -0
  84. package/build/src/project-cli.d.ts +40 -0
  85. package/build/src/project-cli.d.ts.map +1 -0
  86. package/build/src/project-cli.js +145 -0
  87. package/build/src/project-manifest.d.ts +148 -0
  88. package/build/src/project-manifest.d.ts.map +1 -0
  89. package/build/src/project-manifest.js +432 -0
  90. package/build/src/project-reporter.d.ts +81 -0
  91. package/build/src/project-reporter.d.ts.map +1 -0
  92. package/build/src/project-reporter.js +293 -0
  93. package/build/src/project-snapshot.d.ts +129 -0
  94. package/build/src/project-snapshot.d.ts.map +1 -0
  95. package/build/src/project-snapshot.js +362 -0
  96. package/build/src/project-watch-reporter.d.ts +125 -0
  97. package/build/src/project-watch-reporter.d.ts.map +1 -0
  98. package/build/src/project-watch-reporter.js +280 -0
  99. package/build/src/project-watch.d.ts +133 -0
  100. package/build/src/project-watch.d.ts.map +1 -0
  101. package/build/src/project-watch.js +839 -0
  102. package/build/src/publication.d.ts +69 -5
  103. package/build/src/publication.d.ts.map +1 -1
  104. package/build/src/publication.js +246 -57
  105. package/build/src/semantic/types.d.ts +303 -2
  106. package/build/src/semantic/types.d.ts.map +1 -1
  107. package/build/src/semantic/types.js +79 -2
  108. package/build/src/subprocess.d.ts +8 -0
  109. package/build/src/subprocess.d.ts.map +1 -1
  110. package/build/src/subprocess.js +50 -9
  111. package/build/src/target-check.d.ts +52 -0
  112. package/build/src/target-check.d.ts.map +1 -0
  113. package/build/src/target-check.js +796 -0
  114. package/build/src/toolchains.d.ts.map +1 -1
  115. package/build/src/toolchains.js +3 -3
  116. package/docs/architecture.md +3 -1
  117. package/docs/c.md +4 -0
  118. package/docs/cpp.md +4 -0
  119. package/docs/dart.md +4 -0
  120. package/docs/generated-artifact-publication.md +11 -8
  121. package/docs/kotlin.md +2 -2
  122. package/docs/language-support.md +29 -3
  123. package/docs/project-build-cli.md +147 -0
  124. package/docs/project-watch.md +60 -0
  125. package/docs/rust.md +4 -0
  126. package/docs/swift.md +2 -0
  127. package/docs/testing.md +70 -3
  128. package/docs/watch-build-pipeline.md +39 -23
  129. package/docs/zig.md +2 -0
  130. package/examples/jsdoc-java-watch/expected-output.txt +3 -0
  131. package/examples/jsdoc-java-watch/semantifold.json +23 -0
  132. package/examples/jsdoc-java-watch/src/main.js +21 -0
  133. package/index.js +8 -0
  134. package/package.json +6 -1
  135. package/src/artifact-path.js +31 -2
  136. package/src/backends/c-check.js +80 -0
  137. package/src/backends/check-plan.js +147 -0
  138. package/src/backends/cpp-check.js +73 -0
  139. package/src/backends/csharp-check.js +139 -0
  140. package/src/backends/csharp.js +4 -3
  141. package/src/backends/dart-check.js +117 -0
  142. package/src/backends/dart.js +4 -4
  143. package/src/backends/go-check.js +89 -0
  144. package/src/backends/go.js +2 -2
  145. package/src/backends/java-check.js +77 -0
  146. package/src/backends/javascript-check.js +33 -0
  147. package/src/backends/kotlin-check.js +41 -0
  148. package/src/backends/php-check.js +23 -0
  149. package/src/backends/program.js +17 -0
  150. package/src/backends/python-check.js +30 -0
  151. package/src/backends/ruby-check.js +23 -0
  152. package/src/backends/rust-check.js +78 -0
  153. package/src/backends/swift-check.js +89 -0
  154. package/src/backends/typescript-check.js +37 -0
  155. package/src/backends/zig-check.js +81 -0
  156. package/src/diagnostic.js +9 -1
  157. package/src/frontends/program.js +9 -0
  158. package/src/language-registry.js +113 -4
  159. package/src/project-build.js +353 -0
  160. package/src/project-cli.js +155 -0
  161. package/src/project-manifest.js +479 -0
  162. package/src/project-reporter.js +320 -0
  163. package/src/project-snapshot.js +403 -0
  164. package/src/project-watch-reporter.js +303 -0
  165. package/src/project-watch.js +870 -0
  166. package/src/publication.js +275 -58
  167. package/src/semantic/types.js +87 -1
  168. package/src/subprocess.js +49 -8
  169. package/src/target-check.js +844 -0
  170. package/src/toolchains.js +3 -2
  171. package/tsconfig.json +1 -1
@@ -1,4 +1,13 @@
1
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;
2
11
  /**
3
12
  * Installs one internal, one-shot deterministic failure used by real-filesystem interruption specs.
4
13
  * This helper is intentionally not part of the package root API.
@@ -27,21 +36,24 @@ export declare class GeneratedArtifactPublisher {
27
36
  * @param {string} options.projectId - Stable lowercase project identity.
28
37
  * @param {string} options.projectRoot - Canonical absolute project root.
29
38
  * @param {string} options.publicationRoot - Canonical absolute publisher-owned directory beneath the project root.
30
- * @param {readonly string[]} options.sourceRoots - Canonical absolute project source roots kept disjoint from publication.
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.
31
41
  */
32
42
  constructor(options: {
33
43
  projectId: string;
34
44
  projectRoot: string;
35
45
  publicationRoot: string;
36
- sourceRoots: readonly string[];
46
+ sourceRoots?: readonly string[];
47
+ sourceFiles?: readonly string[];
37
48
  });
38
49
  /**
39
50
  * Stages, validates, and publishes one complete immutable project generation.
40
51
  * Calls on one publisher instance are serialized in invocation order.
41
52
  * @param {import("./semantic/types.js").PublicationRequest} request - Complete publication request.
53
+ * @param {import("./semantic/types.js").PublicationOptions} [options] - Transaction lifecycle controls.
42
54
  * @returns {Promise<import("./semantic/types.js").PublishedGeneration>} Committed immutable snapshot.
43
55
  */
44
- publish(request: import("./semantic/types.js").PublicationRequest): Promise<import("./semantic/types.js").PublishedGeneration>;
56
+ publish(request: import("./semantic/types.js").PublicationRequest, options?: import("./semantic/types.js").PublicationOptions): Promise<import("./semantic/types.js").PublishedGeneration>;
45
57
  /**
46
58
  * Resolves the active pointer exactly once and verifies the referenced immutable generation.
47
59
  * @returns {Promise<import("./semantic/types.js").PublishedGeneration>} Verified pointer-once snapshot.
@@ -82,6 +94,16 @@ export type ValidatedPublicationTarget = {
82
94
  */
83
95
  validators: readonly import("./semantic/types.js").PublicationValidator[];
84
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
+ };
85
107
  export type ActivePointer = {
86
108
  /**
87
109
  * - Schema discriminator.
@@ -104,7 +126,7 @@ export type ActivePointer = {
104
126
  */
105
127
  manifestHash: string;
106
128
  };
107
- export type PublicationJournal = {
129
+ export type CandidatePublicationJournal = {
108
130
  /**
109
131
  * - Schema discriminator.
110
132
  */
@@ -126,6 +148,33 @@ export type PublicationJournal = {
126
148
  */
127
149
  tempPointer: string;
128
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;
129
178
  /**
130
179
  * @typedef ValidatedPublicationTarget
131
180
  * @property {string} id - Target identity.
@@ -135,6 +184,11 @@ export type PublicationJournal = {
135
184
  * @property {import("./semantic/types.js").PublicationTargetRole} role - Language-neutral target role.
136
185
  * @property {readonly import("./semantic/types.js").PublicationValidator[]} validators - Ordered validators.
137
186
  */
187
+ /**
188
+ * @typedef ValidatedPublicationRequest
189
+ * @property {string} generationId - Snapshotted generation identity.
190
+ * @property {readonly ValidatedPublicationTarget[]} targets - Snapshotted ordered targets.
191
+ */
138
192
  /**
139
193
  * @typedef ActivePointer
140
194
  * @property {"SemantifoldActiveGeneration"} schema - Schema discriminator.
@@ -144,11 +198,21 @@ export type PublicationJournal = {
144
198
  * @property {string} manifestHash - SHA-256 generation-manifest hash.
145
199
  */
146
200
  /**
147
- * @typedef PublicationJournal
201
+ * @typedef CandidatePublicationJournal
148
202
  * @property {"SemantifoldPublicationJournal"} schema - Schema discriminator.
149
203
  * @property {1} version - Schema version.
150
204
  * @property {string} projectId - Project identity.
151
205
  * @property {string} generationId - Candidate generation identity.
152
206
  * @property {string} tempPointer - Owned sibling temporary-pointer filename.
153
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 */
154
218
  //# sourceMappingURL=publication.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../src/publication.js"],"names":[],"mappings":"AAKA,OAAO,IAAI,MAAM,WAAW,CAAA;AA2B5B;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EALvC,0BAKuC,EAAE,QAAQ,EAJjD,aAAa,GAAG,wBAAwB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,uBAIvC,EAAE,KAAK,EAHxD,KAGwD,GAFtD,IAAI,CAOhB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAJ3C,0BAI2C,EAAE,QAAQ,EAHrD,CAAC,SAAS,EAAE,MAAM,KAAK,IAG8B,GAFnD,IAAI,CAOhB;AAED;;GAEG;AACH,qBAAa,0BAA0B;;IAYrC;;;;;;;OAOG;IACH,YAAY,OAAO,EALhB;QAAwB,SAAS,EAAzB,MAAM,CACd;QAAwB,WAAW,EAA3B,MAAM,CACd;QAAwB,eAAe,EAA/B,MAAM,CACd;QAAmC,WAAW,EAAtC,SAAS,MAAM,EAAE,CAC3B;KACkB,EA0ClB;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAHJ,OAAO,qBAAqB,EAAE,kBAG1B,GAFF,OAAO,CAAC,OAAO,qBAAqB,EAAE,mBAAmB,CAAC,CAsBtE;IAED;;;OAGG;IACG,aAAa,IAFN,OAAO,CAAC,OAAO,qBAAqB,EAAE,mBAAmB,CAAC,CAYtE;CA8KF;AAowCD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAJzC,OAIyC,EAAE,QAAQ,EAHnD,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAGmB,GAFjD,KAAK,IAAI,MAAM,CAQ3B;AA2LE,YAAS,0BAA0B,GACnC;;;;IAAmB,EAAE,EAAV,MAAM,CACjB;;;;IAA+D,WAAW,EAA/D,OAAO,qBAAqB,EAAE,oBAAoB,CAC7D;;;;IAAmB,gBAAgB,EAAxB,MAAM,CACjB;;;;IAAmB,eAAe,EAAvB,MAAM,CACjB;;;;IAAgE,IAAI,EAAzD,OAAO,qBAAqB,EAAE,qBAAqB,CAC9D;;;;IAA0E,UAAU,EAAzE,SAAS,OAAO,qBAAqB,EAAE,oBAAoB,EAAE,CAC1E;CAAA,CAAA;AAGE,YAAS,aAAa,GACtB;;;;IAA0C,MAAM,EAArC,6BAA6B,CACxC;;;;IAAc,OAAO,EAAV,CAAC,CACZ;;;;IAAmB,SAAS,EAAjB,MAAM,CACjB;;;;IAAmB,YAAY,EAApB,MAAM,CACjB;;;;IAAmB,YAAY,EAApB,MAAM,CACnB;CAAA,CAAA;AAGE,YAAS,kBAAkB,GAC3B;;;;IAA4C,MAAM,EAAvC,+BAA+B,CAC1C;;;;IAAc,OAAO,EAAV,CAAC,CACZ;;;;IAAmB,SAAS,EAAjB,MAAM,CACjB;;;;IAAmB,YAAY,EAApB,MAAM,CACjB;;;;IAAmB,WAAW,EAAnB,MAAM,CACnB;CAAA,CAAA;AA1BD;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG"}
1
+ {"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../src/publication.js"],"names":[],"mappings":"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"}