@agent-teams/engineering-foundation 0.4.0 → 0.5.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 (225) hide show
  1. package/README.md +22 -0
  2. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  3. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +12 -2
  4. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  5. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +3 -0
  6. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  7. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +26 -0
  8. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -0
  9. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts +6 -0
  10. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts.map +1 -0
  11. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js +81 -0
  12. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js.map +1 -0
  13. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +15 -0
  14. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -0
  15. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +153 -0
  16. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -0
  17. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts +17 -0
  18. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts.map +1 -0
  19. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js +70 -0
  20. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js.map +1 -0
  21. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +10 -0
  22. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -0
  23. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +30 -0
  24. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -0
  25. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +36 -0
  26. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -0
  27. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js +2 -0
  28. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js.map +1 -0
  29. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts +34 -0
  30. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts.map +1 -0
  31. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js +2 -0
  32. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js.map +1 -0
  33. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts +4 -0
  34. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -0
  35. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +131 -0
  36. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -0
  37. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts +17 -0
  38. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts.map +1 -0
  39. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js +2 -0
  40. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js.map +1 -0
  41. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts +5 -0
  42. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts.map +1 -0
  43. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js +2 -0
  44. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js.map +1 -0
  45. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts +8 -0
  46. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts.map +1 -0
  47. package/dist/capabilities/repository-agent-workflow/application/rules.js +35 -0
  48. package/dist/capabilities/repository-agent-workflow/application/rules.js.map +1 -0
  49. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts +9 -0
  50. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts.map +1 -0
  51. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js +7 -0
  52. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js.map +1 -0
  53. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts +4 -0
  54. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -0
  55. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +79 -0
  56. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -0
  57. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts +9 -0
  58. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -0
  59. package/dist/capabilities/repository-agent-workflow/changed-command.js +28 -0
  60. package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -0
  61. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts +5 -0
  62. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -0
  63. package/dist/capabilities/repository-agent-workflow/contract/config.js +121 -0
  64. package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -0
  65. package/dist/capabilities/repository-agent-workflow/module.d.ts +5 -0
  66. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -0
  67. package/dist/capabilities/repository-agent-workflow/module.js +49 -0
  68. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -0
  69. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
  70. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +150 -125
  71. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  72. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
  73. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js +9 -1
  74. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js.map +1 -1
  75. package/dist/cli-arguments.d.ts +12 -0
  76. package/dist/cli-arguments.d.ts.map +1 -0
  77. package/dist/cli-arguments.js +114 -0
  78. package/dist/cli-arguments.js.map +1 -0
  79. package/dist/cli.js +131 -125
  80. package/dist/cli.js.map +1 -1
  81. package/dist/composition/capability-registry.d.ts.map +1 -1
  82. package/dist/composition/capability-registry.js +2 -0
  83. package/dist/composition/capability-registry.js.map +1 -1
  84. package/dist/composition/rule-registry.d.ts.map +1 -1
  85. package/dist/composition/rule-registry.js +2 -0
  86. package/dist/composition/rule-registry.js.map +1 -1
  87. package/dist/foundation-config.d.ts +1 -1
  88. package/dist/foundation-config.d.ts.map +1 -1
  89. package/dist/foundation-config.js +2 -0
  90. package/dist/foundation-config.js.map +1 -1
  91. package/dist/local-mode/attach-transaction.d.ts +11 -0
  92. package/dist/local-mode/attach-transaction.d.ts.map +1 -0
  93. package/dist/local-mode/attach-transaction.js +176 -0
  94. package/dist/local-mode/attach-transaction.js.map +1 -0
  95. package/dist/local-mode/consumer-policy.d.ts +2 -3
  96. package/dist/local-mode/consumer-policy.d.ts.map +1 -1
  97. package/dist/local-mode/consumer-policy.js +130 -88
  98. package/dist/local-mode/consumer-policy.js.map +1 -1
  99. package/dist/local-mode/index.d.ts +1 -0
  100. package/dist/local-mode/index.d.ts.map +1 -1
  101. package/dist/local-mode/index.js.map +1 -1
  102. package/dist/local-mode/inspection.d.ts.map +1 -1
  103. package/dist/local-mode/inspection.js +126 -118
  104. package/dist/local-mode/inspection.js.map +1 -1
  105. package/dist/local-mode/local-state-store.d.ts +6 -0
  106. package/dist/local-mode/local-state-store.d.ts.map +1 -0
  107. package/dist/local-mode/local-state-store.js +138 -0
  108. package/dist/local-mode/local-state-store.js.map +1 -0
  109. package/dist/local-mode/registry-recovery.d.ts +5 -0
  110. package/dist/local-mode/registry-recovery.d.ts.map +1 -0
  111. package/dist/local-mode/registry-recovery.js +112 -0
  112. package/dist/local-mode/registry-recovery.js.map +1 -0
  113. package/dist/local-mode/service.d.ts +1 -1
  114. package/dist/local-mode/service.d.ts.map +1 -1
  115. package/dist/local-mode/service.js +14 -398
  116. package/dist/local-mode/service.js.map +1 -1
  117. package/dist/package-self-check.d.ts +1 -1
  118. package/dist/package-self-check.d.ts.map +1 -1
  119. package/dist/package-self-check.js +13 -1
  120. package/dist/package-self-check.js.map +1 -1
  121. package/dist/public-api-surface.d.ts +4 -0
  122. package/dist/public-api-surface.d.ts.map +1 -0
  123. package/dist/public-api-surface.js +4 -0
  124. package/dist/public-api-surface.js.map +1 -0
  125. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +9 -0
  126. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +1 -0
  127. package/dist/scaffolding/adapters/memory/memory-workspace.js +93 -0
  128. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +6 -0
  130. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -0
  131. package/dist/scaffolding/adapters/node/filesystem-journal.js +79 -0
  132. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -0
  133. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +7 -0
  134. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -0
  135. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +144 -0
  136. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -0
  137. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +13 -0
  138. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -0
  139. package/dist/scaffolding/adapters/node/filesystem-workspace.js +336 -0
  140. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -0
  141. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts +2 -0
  142. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts.map +1 -0
  143. package/dist/scaffolding/adapters/node/installed-foundation-version.js +10 -0
  144. package/dist/scaffolding/adapters/node/installed-foundation-version.js.map +1 -0
  145. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +17 -0
  146. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -0
  147. package/dist/scaffolding/adapters/node/node-input-loader.js +157 -0
  148. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -0
  149. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +3 -0
  150. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -0
  151. package/dist/scaffolding/adapters/node/node-plan-authority.js +18 -0
  152. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -0
  153. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +4 -0
  154. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -0
  155. package/dist/scaffolding/adapters/node/node-receipt-validator.js +10 -0
  156. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -0
  157. package/dist/scaffolding/cli-command.d.ts +8 -0
  158. package/dist/scaffolding/cli-command.d.ts.map +1 -0
  159. package/dist/scaffolding/cli-command.js +60 -0
  160. package/dist/scaffolding/cli-command.js.map +1 -0
  161. package/dist/scaffolding/contract/types.d.ts +296 -0
  162. package/dist/scaffolding/contract/types.d.ts.map +1 -0
  163. package/dist/scaffolding/contract/types.js +2 -0
  164. package/dist/scaffolding/contract/types.js.map +1 -0
  165. package/dist/scaffolding/definitions/conformance-fixture.d.ts +3 -0
  166. package/dist/scaffolding/definitions/conformance-fixture.d.ts.map +1 -0
  167. package/dist/scaffolding/definitions/conformance-fixture.js +217 -0
  168. package/dist/scaffolding/definitions/conformance-fixture.js.map +1 -0
  169. package/dist/scaffolding/definitions/registry.d.ts +3 -0
  170. package/dist/scaffolding/definitions/registry.d.ts.map +1 -0
  171. package/dist/scaffolding/definitions/registry.js +6 -0
  172. package/dist/scaffolding/definitions/registry.js.map +1 -0
  173. package/dist/scaffolding/index.d.ts +11 -0
  174. package/dist/scaffolding/index.d.ts.map +1 -0
  175. package/dist/scaffolding/index.js +9 -0
  176. package/dist/scaffolding/index.js.map +1 -0
  177. package/dist/scaffolding/kernel/canonical-json.d.ts +6 -0
  178. package/dist/scaffolding/kernel/canonical-json.d.ts.map +1 -0
  179. package/dist/scaffolding/kernel/canonical-json.js +55 -0
  180. package/dist/scaffolding/kernel/canonical-json.js.map +1 -0
  181. package/dist/scaffolding/kernel/compiler.d.ts +4 -0
  182. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -0
  183. package/dist/scaffolding/kernel/compiler.js +297 -0
  184. package/dist/scaffolding/kernel/compiler.js.map +1 -0
  185. package/dist/scaffolding/kernel/definition-registry.d.ts +50 -0
  186. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -0
  187. package/dist/scaffolding/kernel/definition-registry.js +92 -0
  188. package/dist/scaffolding/kernel/definition-registry.js.map +1 -0
  189. package/dist/scaffolding/kernel/limits.d.ts +5 -0
  190. package/dist/scaffolding/kernel/limits.d.ts.map +1 -0
  191. package/dist/scaffolding/kernel/limits.js +5 -0
  192. package/dist/scaffolding/kernel/limits.js.map +1 -0
  193. package/dist/scaffolding/kernel/plan-validation.d.ts +3 -0
  194. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -0
  195. package/dist/scaffolding/kernel/plan-validation.js +44 -0
  196. package/dist/scaffolding/kernel/plan-validation.js.map +1 -0
  197. package/dist/scaffolding/kernel/receipt.d.ts +35 -0
  198. package/dist/scaffolding/kernel/receipt.d.ts.map +1 -0
  199. package/dist/scaffolding/kernel/receipt.js +206 -0
  200. package/dist/scaffolding/kernel/receipt.js.map +1 -0
  201. package/dist/scaffolding/scaffold-error.d.ts +8 -0
  202. package/dist/scaffolding/scaffold-error.d.ts.map +1 -0
  203. package/dist/scaffolding/scaffold-error.js +11 -0
  204. package/dist/scaffolding/scaffold-error.js.map +1 -0
  205. package/dist/scaffolding/service.d.ts +8 -0
  206. package/dist/scaffolding/service.d.ts.map +1 -0
  207. package/dist/scaffolding/service.js +15 -0
  208. package/dist/scaffolding/service.js.map +1 -0
  209. package/dist/schema-ids.d.ts +1 -1
  210. package/dist/schema-ids.d.ts.map +1 -1
  211. package/dist/schema-ids.js +6 -0
  212. package/dist/schema-ids.js.map +1 -1
  213. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  214. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +17 -12
  215. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  216. package/package.json +5 -1
  217. package/presets/oxlint/maintainability-tests.json +23 -0
  218. package/presets/oxlint/maintainability.json +23 -0
  219. package/schemas/foundation-config/v1.schema.json +10 -0
  220. package/schemas/repository-agent-workflow/v1.schema.json +92 -0
  221. package/schemas/scaffold-intent/v1.schema.json +60 -0
  222. package/schemas/scaffold-plan/v1.schema.json +250 -0
  223. package/schemas/scaffold-receipt/v1.schema.json +299 -0
  224. package/schemas/scaffold-target-catalog/v1.schema.json +52 -0
  225. package/schemas/scaffolding-config/v1.schema.json +99 -0
@@ -1,9 +1,9 @@
1
1
  import type { AttachResult, FoundationDevOnlyStatus, FoundationStatus, ProcessRunner } from "./types.js";
2
+ export { acquireFoundationOperationLock } from "./local-state-store.js";
2
3
  export interface FoundationLocalModeServiceOptions {
3
4
  readonly runner: ProcessRunner;
4
5
  readonly now: () => Date;
5
6
  }
6
- export declare function acquireFoundationOperationLock(consumerRoot: string): Promise<() => Promise<void>>;
7
7
  export declare class FoundationLocalModeService {
8
8
  #private;
9
9
  constructor(options: FoundationLocalModeServiceOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EAEvB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAcpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAmPD,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAmC9B;AAED,qBAAa,0BAA0B;;IAIrC,YAAY,OAAO,EAAE,iCAAiC,EAGrD;IA4HK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5D;IAEK,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CA2NvB;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6C5D;IAEK,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASpE;IAEK,aAAa,CACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAUlC;CACF"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,0BAA0B;;IAIrC,YAAY,OAAO,EAAE,iCAAiC,EAGrD;IAsDK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5D;IAEK,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CASvB;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6C5D;IAEK,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASpE;IAEK,aAAa,CACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAUlC;CACF"}
@@ -1,222 +1,14 @@
1
- import { appendFile, lstat, mkdir, open, readFile, readdir, realpath, rename, rm, rmdir, stat, symlink } from "node:fs/promises";
2
- import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
3
- import { isDeepStrictEqual } from "node:util";
4
- import { lock } from "proper-lockfile";
1
+ import { realpath } from "node:fs/promises";
2
+ import { resolve } from "node:path";
5
3
  import { FoundationError } from "../errors.js";
6
- import { inspectFoundationPackage, parseFoundationPackageSelfCheck } from "../package-self-check.js";
4
+ import { attachFoundation } from "./attach-transaction.js";
7
5
  import { inspectFoundationDevOnly } from "./consumer-policy.js";
8
6
  import { isExactVersion } from "../semantic-version.js";
9
7
  import { inspectFoundationMode } from "./inspection.js";
10
- import { FOUNDATION_PACKAGE_NAME, LOCAL_OPERATION_LOCK, LOCAL_REGISTRY_BACKUP, LOCAL_STATE_DIRECTORY, LOCAL_STATE_FILE } from "./types.js";
11
- async function readPackageManifest(path) {
12
- const value = JSON.parse(await readFile(join(path, "package.json"), "utf8"));
13
- if (typeof value !== "object" || value === null || Array.isArray(value)) {
14
- throw new FoundationError("PACKAGE_INVALID", `Invalid package.json at ${path}.`);
15
- }
16
- return value;
17
- }
18
- async function pathExists(path) {
19
- try {
20
- await stat(path);
21
- return true;
22
- }
23
- catch (error) {
24
- if (error instanceof Error &&
25
- "code" in error &&
26
- error.code === "ENOENT") {
27
- return false;
28
- }
29
- throw error;
30
- }
31
- }
32
- async function pathEntryExists(path) {
33
- try {
34
- await lstat(path);
35
- return true;
36
- }
37
- catch (error) {
38
- if (error instanceof Error &&
39
- "code" in error &&
40
- error.code === "ENOENT") {
41
- return false;
42
- }
43
- throw error;
44
- }
45
- }
46
- async function ensureLocalStateDirectory(consumerRoot) {
47
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
48
- try {
49
- const entry = await lstat(directory);
50
- if (!entry.isDirectory() || entry.isSymbolicLink()) {
51
- throw new FoundationError("LOCAL_STATE_INVALID", "Local foundation state path must be a real consumer-owned directory.");
52
- }
53
- if ((await realpath(directory)) !== directory) {
54
- throw new FoundationError("LOCAL_STATE_INVALID", "Local foundation state directory resolves outside its expected path.");
55
- }
56
- return directory;
57
- }
58
- catch (error) {
59
- if (!(error instanceof Error &&
60
- "code" in error &&
61
- error.code === "ENOENT")) {
62
- throw error;
63
- }
64
- }
65
- try {
66
- await mkdir(directory);
67
- }
68
- catch (error) {
69
- if (error instanceof Error &&
70
- "code" in error &&
71
- error.code === "EEXIST") {
72
- return await ensureLocalStateDirectory(consumerRoot);
73
- }
74
- throw error;
75
- }
76
- await syncDirectory(consumerRoot);
77
- return directory;
78
- }
79
- async function readPackageEntry(path) {
80
- const packageRoot = await realpath(path);
81
- return {
82
- manifest: await readPackageManifest(packageRoot),
83
- packageRoot
84
- };
85
- }
86
- function isWithin(parent, candidate) {
87
- const path = relative(parent, candidate);
88
- return (path === "" ||
89
- (!path.startsWith(`..${sep}`) && path !== ".." && !isAbsolute(path)));
90
- }
91
- function assertRecoveryStatePaths(consumerRoot, state) {
92
- const expectedBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
93
- const nodeModulesRoot = join(consumerRoot, "node_modules");
94
- if (resolve(state.consumerRoot) !== consumerRoot ||
95
- resolve(state.registryBackupPath) !== expectedBackupPath ||
96
- !isWithin(nodeModulesRoot, resolve(state.registryPackageRoot))) {
97
- throw new FoundationError("LOCAL_STATE_INVALID", "Local recovery state contains paths outside its consumer-owned boundary.");
98
- }
99
- }
100
- async function resolveTargetPackageRoot(targetPath) {
101
- const root = await realpath(resolve(targetPath));
102
- const directManifest = join(root, "package.json");
103
- if (await pathExists(directManifest)) {
104
- const manifest = await readPackageManifest(root);
105
- if (manifest.name === FOUNDATION_PACKAGE_NAME) {
106
- return root;
107
- }
108
- }
109
- const workspacePackage = join(root, "packages", "engineering-foundation");
110
- if (await pathExists(join(workspacePackage, "package.json"))) {
111
- const manifest = await readPackageManifest(workspacePackage);
112
- if (manifest.name === FOUNDATION_PACKAGE_NAME) {
113
- return await realpath(workspacePackage);
114
- }
115
- }
116
- throw new FoundationError("PACKAGE_INVALID", `Target does not contain ${FOUNDATION_PACKAGE_NAME}.`);
117
- }
118
- async function writeLinkState(consumerRoot, state) {
119
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
120
- const destination = join(directory, LOCAL_STATE_FILE);
121
- const temporary = `${destination}.${process.pid}.tmp`;
122
- await ensureLocalStateDirectory(consumerRoot);
123
- const handle = await open(temporary, "w", 0o600);
124
- try {
125
- await handle.writeFile(`${JSON.stringify(state, null, 2)}\n`, "utf8");
126
- await handle.sync();
127
- }
128
- finally {
129
- await handle.close();
130
- }
131
- await rename(temporary, destination);
132
- await syncDirectory(directory);
133
- }
134
- async function syncDirectory(path) {
135
- try {
136
- const handle = await open(path, "r");
137
- try {
138
- await handle.sync();
139
- }
140
- finally {
141
- await handle.close();
142
- }
143
- }
144
- catch (error) {
145
- if (process.platform === "win32" &&
146
- error instanceof Error &&
147
- "code" in error &&
148
- ["EACCES", "EINVAL", "EISDIR", "EPERM"].includes(error.code ?? "")) {
149
- return;
150
- }
151
- throw error;
152
- }
153
- }
154
- async function removeLinkState(consumerRoot) {
155
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
156
- const destination = join(directory, LOCAL_STATE_FILE);
157
- await rm(destination, { force: true });
158
- const temporaryEntries = await readdir(directory).catch(() => []);
159
- await Promise.all(temporaryEntries
160
- .filter((entry) => entry.startsWith(`${LOCAL_STATE_FILE}.`) && entry.endsWith(".tmp"))
161
- .map(async (entry) => {
162
- await rm(join(directory, entry), { force: true });
163
- }));
164
- await syncDirectory(directory);
165
- try {
166
- await rmdir(directory);
167
- }
168
- catch (error) {
169
- if (error instanceof Error &&
170
- "code" in error &&
171
- ["ENOENT", "ENOTEMPTY"].includes(error.code ?? "")) {
172
- return;
173
- }
174
- throw error;
175
- }
176
- }
177
- async function pruneLocalStateDirectory(consumerRoot) {
178
- try {
179
- await rmdir(join(consumerRoot, LOCAL_STATE_DIRECTORY));
180
- }
181
- catch (error) {
182
- if (error instanceof Error &&
183
- "code" in error &&
184
- ["ENOENT", "ENOTEMPTY"].includes(error.code ?? "")) {
185
- return;
186
- }
187
- throw error;
188
- }
189
- }
190
- export async function acquireFoundationOperationLock(consumerRoot) {
191
- const directory = await ensureLocalStateDirectory(consumerRoot);
192
- const lockPath = join(directory, LOCAL_OPERATION_LOCK);
193
- if (await pathEntryExists(lockPath)) {
194
- const lockEntry = await lstat(lockPath);
195
- if (!lockEntry.isDirectory() || lockEntry.isSymbolicLink()) {
196
- throw new FoundationError("LOCAL_STATE_INVALID", "Foundation operation lock path must be a real local directory.");
197
- }
198
- }
199
- try {
200
- const release = await lock(directory, {
201
- lockfilePath: lockPath,
202
- onCompromised: (error) => {
203
- throw error;
204
- },
205
- realpath: true,
206
- retries: 0,
207
- stale: 120_000,
208
- update: 30_000
209
- });
210
- return async () => {
211
- await release();
212
- await syncDirectory(directory);
213
- await pruneLocalStateDirectory(consumerRoot);
214
- };
215
- }
216
- catch (error) {
217
- throw new FoundationError("LOCAL_STATE_INVALID", "Another foundation operation is active or its lock is not safely recoverable.", { cause: error });
218
- }
219
- }
8
+ import { acquireFoundationOperationLock, removeLinkState, writeLinkState } from "./local-state-store.js";
9
+ import { restoreRegistryEntry } from "./registry-recovery.js";
10
+ import { FOUNDATION_PACKAGE_NAME } from "./types.js";
11
+ export { acquireFoundationOperationLock } from "./local-state-store.js";
220
12
  export class FoundationLocalModeService {
221
13
  #runner;
222
14
  #now;
@@ -224,47 +16,6 @@ export class FoundationLocalModeService {
224
16
  this.#runner = options.runner;
225
17
  this.#now = options.now;
226
18
  }
227
- async #restoreRegistryEntry(consumerRoot, dependencySpec, state) {
228
- const installedPackagePath = join(consumerRoot, "node_modules", FOUNDATION_PACKAGE_NAME);
229
- const registryBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
230
- if (state !== undefined) {
231
- assertRecoveryStatePaths(consumerRoot, state);
232
- }
233
- if (await pathEntryExists(registryBackupPath)) {
234
- const backup = await readPackageEntry(registryBackupPath);
235
- const nodeModulesRoot = join(consumerRoot, "node_modules");
236
- const backupRootIsExpected = state === undefined
237
- ? backup.packageRoot === registryBackupPath ||
238
- isWithin(nodeModulesRoot, backup.packageRoot)
239
- : backup.packageRoot ===
240
- (state.registryEntryKind === "directory"
241
- ? registryBackupPath
242
- : resolve(state.registryPackageRoot));
243
- if (backup.manifest.name !== FOUNDATION_PACKAGE_NAME ||
244
- backup.manifest.version !== dependencySpec ||
245
- !backupRootIsExpected) {
246
- throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup identity, version, or location is invalid.");
247
- }
248
- await rm(installedPackagePath, { force: true, recursive: true });
249
- await mkdir(dirname(installedPackagePath), { recursive: true });
250
- await rename(registryBackupPath, installedPackagePath);
251
- await syncDirectory(dirname(installedPackagePath));
252
- await syncDirectory(dirname(registryBackupPath));
253
- return;
254
- }
255
- if (await pathEntryExists(installedPackagePath)) {
256
- const installed = await readPackageEntry(installedPackagePath).catch(() => { });
257
- if (installed !== undefined &&
258
- (state === undefined
259
- ? isWithin(join(consumerRoot, "node_modules"), installed.packageRoot)
260
- : installed.packageRoot === resolve(state.registryPackageRoot)) &&
261
- installed.manifest.name === FOUNDATION_PACKAGE_NAME &&
262
- installed.manifest.version === dependencySpec) {
263
- return;
264
- }
265
- }
266
- throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup is unavailable and the installed package cannot be proven to be the original registry entry.");
267
- }
268
19
  async #readStatus(consumerPath, ignoreOperationLock) {
269
20
  const status = await inspectFoundationMode(consumerPath, {
270
21
  ignoreOperationLock
@@ -310,148 +61,13 @@ export class FoundationLocalModeService {
310
61
  return await this.#readStatus(consumerPath, false);
311
62
  }
312
63
  async attach(consumerPath, targetPath) {
313
- const before = await inspectFoundationMode(consumerPath, {
314
- ignoreOperationLock: true
64
+ return await attachFoundation({
65
+ consumerPath,
66
+ targetPath,
67
+ runner: this.#runner,
68
+ now: this.#now,
69
+ readStatus: async (path, ignoreOperationLock) => await this.#readStatus(path, ignoreOperationLock)
315
70
  });
316
- if (before.mode !== "REGISTRY" ||
317
- before.dependencySpec === undefined ||
318
- !isExactVersion(before.dependencySpec)) {
319
- throw new FoundationError("CONSUMER_INVALID", `Consumer must be in valid registry mode with an exact ${FOUNDATION_PACKAGE_NAME} version before attach: ${before.issues.join(" ") || before.mode}.`);
320
- }
321
- const consumerRoot = before.consumerRoot;
322
- const targetPackageRoot = await resolveTargetPackageRoot(targetPath);
323
- if (targetPackageRoot === consumerRoot) {
324
- throw new FoundationError("PACKAGE_INVALID", "Foundation target cannot be the consumer repository.");
325
- }
326
- const expectedSelfCheck = await inspectFoundationPackage(targetPackageRoot);
327
- const selfCheckResult = await this.#runner.run({
328
- command: process.execPath,
329
- args: [join(targetPackageRoot, "dist", "cli.js"), "self-check", "--json"],
330
- cwd: targetPackageRoot
331
- });
332
- let actualSelfCheck;
333
- try {
334
- actualSelfCheck = parseFoundationPackageSelfCheck(JSON.parse(selfCheckResult.stdout));
335
- }
336
- catch (error) {
337
- throw new FoundationError("PACKAGE_INVALID", "Foundation target CLI self-check did not return a valid result.", { cause: error });
338
- }
339
- if (!isDeepStrictEqual(actualSelfCheck, expectedSelfCheck)) {
340
- throw new FoundationError("PACKAGE_INVALID", "Foundation target CLI self-check disagrees with package metadata.");
341
- }
342
- const gitCommit = (await this.#runner.run({
343
- command: "git",
344
- args: ["-C", targetPackageRoot, "rev-parse", "HEAD"],
345
- cwd: consumerRoot
346
- })).stdout.trim();
347
- const gitDirty = (await this.#runner.run({
348
- command: "git",
349
- args: ["-C", targetPackageRoot, "status", "--porcelain"],
350
- cwd: consumerRoot
351
- })).stdout.trim().length > 0;
352
- const excludeResult = await this.#runner.run({
353
- command: "git",
354
- args: ["-C", consumerRoot, "rev-parse", "--git-path", "info/exclude"],
355
- cwd: consumerRoot
356
- });
357
- const excludePathCandidate = excludeResult.stdout.trim();
358
- const excludePath = isAbsolute(excludePathCandidate)
359
- ? excludePathCandidate
360
- : resolve(consumerRoot, excludePathCandidate);
361
- await mkdir(dirname(excludePath), { recursive: true });
362
- const exclude = await readFile(excludePath, "utf8").catch(() => "");
363
- if (!exclude.split(/\r?\n/u).includes(`${LOCAL_STATE_DIRECTORY}/`)) {
364
- const separator = exclude.length === 0 || exclude.endsWith("\n") ? "" : "\n";
365
- await appendFile(excludePath, `${separator}${LOCAL_STATE_DIRECTORY}/\n`, "utf8");
366
- }
367
- const installedPackagePath = join(consumerRoot, "node_modules", FOUNDATION_PACKAGE_NAME);
368
- const registryBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
369
- const releaseLock = await acquireFoundationOperationLock(consumerRoot);
370
- let state;
371
- try {
372
- const current = await inspectFoundationMode(consumerRoot, {
373
- ignoreOperationLock: true
374
- });
375
- if (current.mode !== "REGISTRY" ||
376
- current.dependencySpec !== before.dependencySpec ||
377
- current.installedPackageRoot === undefined) {
378
- throw new FoundationError("LOCAL_STATE_INVALID", "Consumer foundation state changed before attach acquired its operation lock.");
379
- }
380
- if (await pathEntryExists(registryBackupPath)) {
381
- throw new FoundationError("LOCAL_STATE_INVALID", "A registry backup already exists; run detach to recover it before attaching.");
382
- }
383
- const registryEntry = await lstat(installedPackagePath);
384
- if (!registryEntry.isDirectory() && !registryEntry.isSymbolicLink()) {
385
- throw new FoundationError("LOCAL_STATE_INVALID", "Installed foundation entry is neither a directory nor a symbolic link.");
386
- }
387
- state = {
388
- schemaVersion: 1,
389
- phase: "ATTACHING",
390
- consumerRoot,
391
- targetPackageRoot,
392
- registryBackupPath,
393
- registryEntryKind: registryEntry.isSymbolicLink()
394
- ? "symbolic-link"
395
- : "directory",
396
- registryPackageRoot: current.installedPackageRoot,
397
- packageVersion: expectedSelfCheck.packageVersion,
398
- gitCommit,
399
- gitDirty,
400
- attachedAt: this.#now().toISOString()
401
- };
402
- await writeLinkState(consumerRoot, state);
403
- if (state.registryEntryKind === "symbolic-link") {
404
- await symlink(state.registryPackageRoot, registryBackupPath, process.platform === "win32" ? "junction" : "dir");
405
- await syncDirectory(dirname(registryBackupPath));
406
- await rm(installedPackagePath, { force: true });
407
- }
408
- else {
409
- await rename(installedPackagePath, registryBackupPath);
410
- await syncDirectory(dirname(registryBackupPath));
411
- }
412
- await syncDirectory(dirname(installedPackagePath));
413
- await mkdir(dirname(installedPackagePath), { recursive: true });
414
- await symlink(targetPackageRoot, installedPackagePath, process.platform === "win32" ? "junction" : "dir");
415
- const installedPackageRoot = await realpath(installedPackagePath);
416
- if (installedPackageRoot !== targetPackageRoot) {
417
- throw new FoundationError("LOCAL_STATE_INVALID", "Local package link does not resolve to the requested target.");
418
- }
419
- await syncDirectory(dirname(installedPackagePath));
420
- state = { ...state, phase: "LOCAL" };
421
- await writeLinkState(consumerRoot, state);
422
- const status = await this.#readStatus(consumerRoot, true);
423
- if (status.mode !== "LOCAL") {
424
- throw new FoundationError("LOCAL_STATE_INVALID", `Local attach verification failed: ${status.issues.join(" ")}`);
425
- }
426
- return { status, targetPackageRoot };
427
- }
428
- catch (error) {
429
- if (state === undefined) {
430
- throw error;
431
- }
432
- const recoveryErrors = [];
433
- try {
434
- await this.#restoreRegistryEntry(consumerRoot, before.dependencySpec, state);
435
- }
436
- catch (restoreError) {
437
- recoveryErrors.push(restoreError);
438
- }
439
- try {
440
- await removeLinkState(consumerRoot);
441
- }
442
- catch (cleanupError) {
443
- recoveryErrors.push(cleanupError);
444
- }
445
- if (recoveryErrors.length > 0) {
446
- throw new FoundationError("LOCAL_STATE_INVALID", "Local attach failed and its registry state could not be fully restored.", {
447
- cause: new AggregateError([error, ...recoveryErrors], "Attach and one or more recovery operations failed.")
448
- });
449
- }
450
- throw new FoundationError("LOCAL_STATE_INVALID", "Local attach failed and the registry installation was restored.", { cause: error });
451
- }
452
- finally {
453
- await releaseLock();
454
- }
455
71
  }
456
72
  async detach(consumerPath) {
457
73
  const before = await inspectFoundationMode(consumerPath);
@@ -473,7 +89,7 @@ export class FoundationLocalModeService {
473
89
  phase: "DETACHING"
474
90
  });
475
91
  }
476
- await this.#restoreRegistryEntry(before.consumerRoot, before.dependencySpec, current.linkState);
92
+ await restoreRegistryEntry(before.consumerRoot, before.dependencySpec, current.linkState);
477
93
  await removeLinkState(before.consumerRoot);
478
94
  }
479
95
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,EACJ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAQxD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAYpB,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAY,CAAC;IACxF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,2BAA2B,IAAI,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,YAAoB;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,CAAC,CACC,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CACnD,EACD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAI1C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,MAAM,mBAAmB,CAAC,WAAW,CAAC;QAChD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,SAAiB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CACL,IAAI,KAAK,EAAE;QACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAoB,EACpB,KAA0B;IAE1B,MAAM,kBAAkB,GAAG,IAAI,CAC7B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3D,IACE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,YAAY;QAC5C,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,kBAAkB;QACxD,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAC9D,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IACxD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC1E,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC9C,OAAO,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,2BAA2B,uBAAuB,GAAG,CACtD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,YAAoB,EACpB,KAA0B;IAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IACtD,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACf,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAC7C,KAA+B,CAAC,IAAI,IAAI,EAAE,CAC5C,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,YAAoB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,CAAC,GAAG,CACf,gBAAgB;SACb,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACrE;SACA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CACL,CAAC;IACF,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACf,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAC7B,KAA+B,CAAC,IAAI,IAAI,EAAE,CAC5C,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,YAAoB;IAC1D,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACf,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAC7B,KAA+B,CAAC,IAAI,IAAI,EAAE,CAC5C,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,YAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACvD,IAAI,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,gEAAgE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;YACpC,YAAY,EAAE,QAAQ;YACtB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,+EAA+E,EAC/E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,0BAA0B;IAC5B,OAAO,CAAgB;IACvB,IAAI,CAAa;IAE1B,YAAY,OAA0C;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,YAAoB,EACpB,cAAsB,EACtB,KAAsC;QAEtC,MAAM,oBAAoB,GAAG,IAAI,CAC/B,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAC7B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;QACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAC3D,MAAM,oBAAoB,GACxB,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,kBAAkB;oBACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC;gBAC/C,CAAC,CAAC,MAAM,CAAC,WAAW;oBAClB,CAAC,KAAK,CAAC,iBAAiB,KAAK,WAAW;wBACtC,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC9C,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAuB;gBAChD,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc;gBAC1C,CAAC,oBAAoB,EACrB,CAAC;gBACD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,4DAA4D,CAC7D,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;YACvD,MAAM,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAClE,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;YACF,IACE,SAAS,KAAK,SAAS;gBACvB,CAAC,KAAK,KAAK,SAAS;oBAClB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC;oBACrE,CAAC,CAAC,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACjE,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAuB;gBACnD,SAAS,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc,EAC7C,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,YAAoB,EACpB,mBAA4B;QAE5B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE;YACvD,mBAAmB;SACpB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,CACtB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE;oBACJ,IAAI;oBACJ,MAAM,CAAC,SAAS,CAAC,iBAAiB;oBAClC,WAAW;oBACX,MAAM;iBACP;gBACD,GAAG,EAAE,MAAM,CAAC,YAAY;aACzB,CAAC,CACH,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,cAAc,GAClB,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE;oBACJ,IAAI;oBACJ,MAAM,CAAC,SAAS,CAAC,iBAAiB;oBAClC,QAAQ;oBACR,aAAa;iBACd;gBACD,GAAG,EAAE,MAAM,CAAC,YAAY;aACzB,CAAC,CACH,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE;oBACN,GAAG,MAAM,CAAC,MAAM;oBAChB,iDACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;iBACH;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,UAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE;YACvD,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QACH,IACE,MAAM,CAAC,IAAI,KAAK,UAAU;YAC1B,MAAM,CAAC,cAAc,KAAK,SAAS;YACnC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,yDAAyD,uBAAuB,2BAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CACrJ,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,iBAAiB,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC7C,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC;YACzE,GAAG,EAAE,iBAAiB;SACvB,CAAC,CAAC;QACH,IAAI,eAAe,CAAC;QACpB,IAAI,CAAC;YACH,eAAe,GAAG,+BAA+B,CAC/C,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAY,CAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,iEAAiE,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,CAChB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YACrB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,CAAC;YACpD,GAAG,EAAE,YAAY;SAClB,CAAC,CACH,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,QAAQ,GACZ,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YACrB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACxD,GAAG,EAAE,YAAY;SAClB,CAAC,CACH,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC;YACrE,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,UAAU,CAAC,oBAAoB,CAAC;YAClD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,MAAM,UAAU,CACd,WAAW,EACX,GAAG,SAAS,GAAG,qBAAqB,KAAK,EACzC,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAC/B,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAC7B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,8BAA8B,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,KAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE;gBACxD,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YACH,IACE,OAAO,CAAC,IAAI,KAAK,UAAU;gBAC3B,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc;gBAChD,OAAO,CAAC,oBAAoB,KAAK,SAAS,EAC1C,CAAC;gBACD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;gBACpE,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,wEAAwE,CACzE,CAAC;YACJ,CAAC;YACD,KAAK,GAAG;gBACN,aAAa,EAAE,CAAC;gBAChB,KAAK,EAAE,WAAW;gBAClB,YAAY;gBACZ,iBAAiB;gBACjB,kBAAkB;gBAClB,iBAAiB,EAAE,aAAa,CAAC,cAAc,EAAE;oBAC/C,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,WAAW;gBACf,mBAAmB,EAAE,OAAO,CAAC,oBAAoB;gBACjD,cAAc,EAAE,iBAAiB,CAAC,cAAc;gBAChD,SAAS;gBACT,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YACF,MAAM,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,iBAAiB,KAAK,eAAe,EAAE,CAAC;gBAChD,MAAM,OAAO,CACX,KAAK,CAAC,mBAAmB,EACzB,kBAAkB,EAClB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAClD,CAAC;gBACF,MAAM,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACjD,MAAM,EAAE,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;gBACvD,MAAM,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,OAAO,CACX,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAClD,CAAC;YACF,MAAM,oBAAoB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAClE,IAAI,oBAAoB,KAAK,iBAAiB,EAAE,CAAC;gBAC/C,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAEnD,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACrC,MAAM,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC/D,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,cAAc,GAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAC9B,YAAY,EACZ,MAAM,CAAC,cAAc,EACrB,KAAK,CACN,CAAC;YACJ,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,yEAAyE,EACzE;oBACE,KAAK,EAAE,IAAI,cAAc,CACvB,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,EAC1B,oDAAoD,CACrD;iBACF,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,iEAAiE,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;YACnC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,iCAAiC,uBAAuB,uBAAuB,CAChF,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,8BAA8B,CACtD,MAAM,CAAC,YAAY,CACpB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/D,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE;oBACxC,GAAG,OAAO,CAAC,SAAS;oBACpB,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,qBAAqB,CAC9B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,cAAc,EACrB,OAAO,CAAC,SAAS,CAClB,CAAC;YACF,MAAM,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,gCAAgC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,wBAAwB,EACxB,sCAAsC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,YAAoB;QAEpB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,oDAAoD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const FOUNDATION_METADATA_SCHEMA_VERSION: 1;
2
- export declare const FOUNDATION_REQUIRED_ARTIFACT_PATHS: readonly ["dist/cli.js", "dist/index.d.ts", "dist/index.js", "dist/local-mode/index.d.ts", "dist/local-mode/index.js", "presets/oxlint/base.json", "presets/oxlint/node.json", "presets/oxlint/type-aware.json", "presets/typescript/base.json", "presets/typescript/node.json", ...string[]];
2
+ export declare const FOUNDATION_REQUIRED_ARTIFACT_PATHS: readonly ["dist/cli.js", "dist/index.d.ts", "dist/index.js", "dist/public-api-surface.d.ts", "dist/local-mode/index.d.ts", "dist/local-mode/index.js", "dist/scaffolding/index.d.ts", "dist/scaffolding/index.js", "presets/oxlint/base.json", "presets/oxlint/node.json", "presets/oxlint/type-aware.json", "presets/typescript/base.json", "presets/typescript/node.json", ...string[]];
3
3
  export interface FoundationPackageSelfCheck {
4
4
  readonly ok: true;
5
5
  readonly metadataSchemaVersion: typeof FOUNDATION_METADATA_SCHEMA_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"package-self-check.d.ts","sourceRoot":"","sources":["../src/package-self-check.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kCAAkC,EAAG,CAAU,CAAC;AAC7D,eAAO,MAAM,kCAAkC,+RAYrC,CAAC;AAEX,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,kCAAkC,CAAC;IAC1E,QAAQ,CAAC,WAAW,EAAE,qCAAqC,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,mCAAmC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE;AA8GD,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,0BAA0B,CAAC,CAiIrC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,0BAA0B,CA0B5B"}
1
+ {"version":3,"file":"package-self-check.d.ts","sourceRoot":"","sources":["../src/package-self-check.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kCAAkC,EAAG,CAAU,CAAC;AAC7D,eAAO,MAAM,kCAAkC,2XAerC,CAAC;AAEX,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,kCAAkC,CAAC;IAC1E,QAAQ,CAAC,WAAW,EAAE,qCAAqC,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,mCAAmC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE;AA8GD,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,0BAA0B,CAAC,CA8IrC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,0BAA0B,CA0B5B"}
@@ -11,8 +11,11 @@ export const FOUNDATION_REQUIRED_ARTIFACT_PATHS = [
11
11
  "dist/cli.js",
12
12
  "dist/index.d.ts",
13
13
  "dist/index.js",
14
+ "dist/public-api-surface.d.ts",
14
15
  "dist/local-mode/index.d.ts",
15
16
  "dist/local-mode/index.js",
17
+ "dist/scaffolding/index.d.ts",
18
+ "dist/scaffolding/index.js",
16
19
  "presets/oxlint/base.json",
17
20
  "presets/oxlint/node.json",
18
21
  "presets/oxlint/type-aware.json",
@@ -110,6 +113,10 @@ export async function inspectFoundationPackage(packageRoot) {
110
113
  types: "./dist/local-mode/index.d.ts",
111
114
  import: "./dist/local-mode/index.js"
112
115
  });
116
+ validateExport(manifest.exports, "./scaffolding", {
117
+ types: "./dist/scaffolding/index.d.ts",
118
+ import: "./dist/scaffolding/index.js"
119
+ });
113
120
  validateExport(manifest.exports, "./schemas/*", "./schemas/*");
114
121
  validateExport(manifest.exports, "./presets/*", "./presets/*");
115
122
  validateExport(manifest.exports, "./package.json", "./package.json");
@@ -125,7 +132,10 @@ export async function inspectFoundationPackage(packageRoot) {
125
132
  }
126
133
  const rootExports = await import(pathToFileURL(join(packageRoot, "dist", "index.js")).href);
127
134
  const localModeExports = await import(pathToFileURL(join(packageRoot, "dist", "local-mode", "index.js")).href);
128
- if (!isRecord(rootExports) || !isRecord(localModeExports)) {
135
+ const scaffoldingExports = await import(pathToFileURL(join(packageRoot, "dist", "scaffolding", "index.js")).href);
136
+ if (!isRecord(rootExports) ||
137
+ !isRecord(localModeExports) ||
138
+ !isRecord(scaffoldingExports)) {
129
139
  throw new FoundationError("PACKAGE_INVALID", "Foundation target runtime exports must be module objects.");
130
140
  }
131
141
  const requiredRuntimeExports = [
@@ -134,6 +144,8 @@ export async function inspectFoundationPackage(packageRoot) {
134
144
  "FoundationLocalModeService",
135
145
  localModeExports.FoundationLocalModeService
136
146
  ],
147
+ ["planScaffoldFromFile", scaffoldingExports.planScaffoldFromFile],
148
+ ["applyFilesystemScaffold", scaffoldingExports.applyFilesystemScaffold],
137
149
  ["inspectFoundationMode", localModeExports.inspectFoundationMode]
138
150
  ];
139
151
  for (const [exportName, candidate] of requiredRuntimeExports) {
@@ -1 +1 @@
1
- {"version":3,"file":"package-self-check.js","sourceRoot":"","sources":["../src/package-self-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-self-check.js","sourceRoot":"","sources":["../src/package-self-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./index.js";
2
+ export * as localMode from "./local-mode/index.js";
3
+ export * as scaffolding from "./scaffolding/index.js";
4
+ //# sourceMappingURL=public-api-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-surface.d.ts","sourceRoot":"","sources":["../src/public-api-surface.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./index.js";
2
+ export * as localMode from "./local-mode/index.js";
3
+ export * as scaffolding from "./scaffolding/index.js";
4
+ //# sourceMappingURL=public-api-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-surface.js","sourceRoot":"","sources":["../src/public-api-surface.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ScaffoldPlanV1, ScaffoldReceiptV1 } from "../../contract/types.js";
2
+ export declare class MemoryScaffoldWorkspace {
3
+ #private;
4
+ constructor(files?: Readonly<Record<string, string | Uint8Array>>);
5
+ read(path: string): Uint8Array | undefined;
6
+ entries(): Readonly<Record<string, Uint8Array>>;
7
+ apply(plan: ScaffoldPlanV1): Promise<ScaffoldReceiptV1>;
8
+ }
9
+ //# sourceMappingURL=memory-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-workspace.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/memory/memory-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,cAAc,EACd,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAMjC,qBAAa,uBAAuB;;IAGlC,YAAY,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAM,EASpE;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGzC;IAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAM9C;IAEK,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0E5D;CACF"}