@rsaglobaltech/specgate 0.17.6 → 0.17.7

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/CHANGELOG.md CHANGED
@@ -8,6 +8,31 @@ The release process is in [`docs/release-process.md`](docs/release-process.md).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.17.7] — 2026-10-10
12
+
13
+ ### Fixed
14
+
15
+ - **The CI job runs the project's tests (#70).** `ci init` wrote a job with
16
+ Node and `validate . --strict`, so a Spring Boot project with a class deleted
17
+ stayed green in CI. The job now sets up the detected toolchain — Temurin at
18
+ the Java version the `pom.xml` or Gradle build declares, with the Maven or
19
+ Gradle cache; `npm ci` for a Node lockfile; Go and Python setup — and runs
20
+ `specgate check`: the configured `test_cmd`, or the detected one passed as
21
+ `--test-cmd`. GitLab and Jenkins run in a JDK image and fetch Node from
22
+ nodejs.org, checked against its `SHASUMS256.txt`. With no test command the
23
+ job keeps `validate . --strict`, and `ci init` says it runs no tests.
24
+ - **A Maven project is named by its own `artifactId` (#69).** The first
25
+ `<artifactId>` in a Spring Boot `pom.xml` is the parent's, so the project was
26
+ called `spring-boot-starter-parent` in `spec.md` and the harness prompt.
27
+ `<parent>`, dependencies, build and the other nested blocks are skipped; a
28
+ Gradle project is named by `rootProject.name`, and `init` names the build file
29
+ it read (`build.gradle.kts`).
30
+ - **`harness init` merges a config `config set` wrote (#71).** It refused the
31
+ two-line `harness.config.yaml` as "already present" and asked for `--force`,
32
+ which would have replaced the chosen `test_cmd`. A file made only of harness
33
+ keys is now kept as written and the missing keys are appended; `--force`
34
+ still replaces it, and a file with other keys is still refused.
35
+
11
36
  ## [0.17.6] — 2026-10-10
12
37
 
13
38
  ### Fixed
@@ -36,12 +36,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.CiInitCommand = exports.PROVIDERS = void 0;
37
37
  exports.detectProvider = detectProvider;
38
38
  exports.parseArgs = parseArgs;
39
+ exports.renderCi = renderCi;
39
40
  const fs = __importStar(require("node:fs"));
40
41
  const path = __importStar(require("node:path"));
41
42
  const node_child_process_1 = require("node:child_process");
42
43
  const PackSpec_1 = require("../../../../packages/core/src/domain/PackSpec");
43
44
  const command_1 = require("../../../lib/command");
44
45
  const project_root_1 = require("../../../lib/project-root");
46
+ const CiToolchain_1 = require("./CiToolchain");
45
47
  const ROOT_DIR = (0, project_root_1.findCliRoot)(__dirname);
46
48
  const CI_TEMPLATES = path.join(ROOT_DIR, "templates", "ci");
47
49
  const packageJson = require(path.join(ROOT_DIR, "package.json"));
@@ -129,6 +131,25 @@ function parseArgs(argv) {
129
131
  }
130
132
  return opts;
131
133
  }
134
+ /**
135
+ * The job for one provider. The toolchain comes from the project — a JDK for a
136
+ * pom.xml, `npm ci` for a lockfile — so the gate can run the tests (#70).
137
+ */
138
+ function renderCi(providerName, projectDir) {
139
+ const provider = exports.PROVIDERS[providerName];
140
+ const version = packageJson.version || "latest";
141
+ const plan = (0, CiToolchain_1.planCi)(projectDir, version);
142
+ const container = (0, CiToolchain_1.containerSetup)(plan, projectDir);
143
+ return (0, PackSpec_1.renderTemplate)(fs.readFileSync(path.join(CI_TEMPLATES, provider.template), "utf8"), {
144
+ SPECGATE_VERSION: version,
145
+ GATE_CMD: plan.gateCmd,
146
+ SETUP_STEPS: providerName === "azure" ? (0, CiToolchain_1.azureSetup)(plan, projectDir) : (0, CiToolchain_1.githubSetup)(plan, projectDir),
147
+ CI_IMAGE: (0, CiToolchain_1.ciImage)(plan),
148
+ SETUP_SCRIPT: providerName === "jenkins"
149
+ ? container.map((l) => ` ${l}`).join("\n")
150
+ : container.map((l) => ` - ${l.includes(": ") ? JSON.stringify(l) : l}`).join("\n"),
151
+ });
152
+ }
132
153
  class CiInitCommand extends command_1.BaseCommand {
133
154
  execute() {
134
155
  let rawArgs = this.args;
@@ -160,7 +181,8 @@ class CiInitCommand extends command_1.BaseCommand {
160
181
  logFix(`Supported providers: ${Object.keys(exports.PROVIDERS).join(", ")}`);
161
182
  process.exit(2);
162
183
  }
163
- const rendered = (0, PackSpec_1.renderTemplate)(fs.readFileSync(path.join(CI_TEMPLATES, provider.template), "utf8"), { SPECGATE_VERSION: packageJson.version || "latest" });
184
+ const rendered = renderCi(opts.provider, opts.projectDir);
185
+ const plan = (0, CiToolchain_1.planCi)(opts.projectDir, packageJson.version || "latest");
164
186
  if (opts.stdout) {
165
187
  process.stdout.write(rendered);
166
188
  process.exit(0);
@@ -175,8 +197,11 @@ class CiInitCommand extends command_1.BaseCommand {
175
197
  fs.mkdirSync(path.dirname(dest), { recursive: true });
176
198
  fs.writeFileSync(dest, rendered, "utf8");
177
199
  logInfo(`write ${provider.dest}`);
178
- logInfo("✅ CI gate installed. The job:");
179
- logInfo(" 1. runs `validate . --strict` on every PR/MR (the L2 gate)");
200
+ logInfo("✅ CI gate installed. On every PR/MR the job:");
201
+ logInfo(plan.testSource === "none"
202
+ ? " 1. runs `validate . --strict` (the specification)"
203
+ : " 1. runs `specgate check` — the specification, then the tests, as locally");
204
+ logInfo(` ${(0, CiToolchain_1.describeTests)(plan)}`);
180
205
  logInfo(" 2. runs `validate --against-lock` when .specops.lock exists, so a");
181
206
  logInfo(" moved pack tag or an edited generated file fails the build");
182
207
  logInfo(" 3. publishes `plan --format json` as the spec-plan artifact");
@@ -1 +1 @@
1
- {"version":3,"file":"CiInitCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/config/CiInitCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CiInitCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/config/CiInitCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,wCAgBC;AA0BD,8BAuBC;AAMD,4BAgBC;AAxHD,4CAA8B;AAC9B,gDAAkC;AAClC,2DAA+C;AAC/C,4EAA+E;AAC/E,kDAAmD;AAEnD,4DAAwD;AACxD,+CAOuB;AAEvB,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AAEpD,QAAA,SAAS,GAAuD;IAC3E,MAAM,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAC/E,MAAM,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC9D,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACjE,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;CAC1D,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,UAAkB;IAC/C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,GAAG,CAAC,mBAAmB,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IACxF,IAAI,GAAG,CAAC,gBAAgB,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACjF,IAAI,GAAG,CAAC,qBAAqB,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC1F,IAAI,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC/D,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC1F,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IACnF,IAAI,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;AAC7C,CAAC;AACD,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;AAC7C,CAAC;AACD,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,UAAU;QACR,0DAA0D;QAC1D,cAAc,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;QACtD,YAAY;QACZ,kFAAkF;QAClF,sDAAsD;QACtD,uEAAuE;QACvE,iEAAiE;QACjE,sEAAsE,CACzE,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAqB;QAC/B,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;KACb,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D,IAAI,CAAC,KAAK,eAAe,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACpF,IAAI,CAAC,KAAK,UAAU;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACzC,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACvC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACnC,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,YAAoB,EAAE,UAAkB;IAC/D,MAAM,QAAQ,GAAG,iBAAS,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,QAAQ,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,oBAAM,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAA,4BAAc,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnD,OAAO,IAAA,yBAAc,EAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE;QACzF,gBAAgB,EAAE,OAAO;QACzB,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,WAAW,EACT,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,IAAI,EAAE,UAAU,CAAC;QACzF,QAAQ,EAAE,IAAA,qBAAO,EAAC,IAAI,CAAC;QACvB,YAAY,EACV,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,MAAa,aAAc,SAAQ,qBAAW;IACrC,OAAO;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAClC,sEAAsE;gBACtE,MAAM,IAAI,GAAG,aAAa,QAAQ,CAAC,QAAQ,mBAAmB,QAAQ,CAAC,IAAI,GAAG,CAAC;gBAC/E,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;;oBACxD,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,CAAC,kEAAkE,CAAC,CAAC;YAC7E,MAAM,CAAC,gCAAgC,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAA,oBAAM,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,0CAA0C,CAAC,CAAC;YACrE,MAAM,CAAC,6EAA6E,CAAC,CAAC;YACtF,MAAM,CAAC,+CAA+C,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,MAAM;YACxB,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,4EAA4E,CACjF,CAAC;QACF,OAAO,CAAC,QAAQ,IAAA,2BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,qEAAqE,CAAC,CAAC;QAC/E,OAAO,CAAC,iEAAiE,CAAC,CAAC;QAC3E,OAAO,CAAC,+DAA+D,CAAC,CAAC;QACzE,OAAO,CAAC,0DAA0D,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF;AA9DD,sCA8DC"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.javaVersion = javaVersion;
37
+ exports.stackKind = stackKind;
38
+ exports.shQuote = shQuote;
39
+ exports.planCi = planCi;
40
+ exports.githubSetup = githubSetup;
41
+ exports.azureSetup = azureSetup;
42
+ exports.ciImage = ciImage;
43
+ exports.containerSetup = containerSetup;
44
+ exports.describeTests = describeTests;
45
+ const fs = __importStar(require("node:fs"));
46
+ const path = __importStar(require("node:path"));
47
+ const init_1 = require("../../../harness/init");
48
+ const HarnessConfigFile_1 = require("../../../../packages/core/src/infrastructure/HarnessConfigFile");
49
+ const DEFAULT_JAVA = "21";
50
+ function read(projectDir, rel) {
51
+ try {
52
+ return fs.readFileSync(path.join(projectDir, rel), "utf8");
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ function plainVersion(v) {
59
+ const t = (v || "").trim().replace(/^1\./, "");
60
+ return /^\d{1,2}$/.test(t) ? t : null;
61
+ }
62
+ function javaVersion(projectDir) {
63
+ const pom = read(projectDir, "pom.xml");
64
+ if (pom !== null) {
65
+ const tags = [
66
+ /<java\.version>([^<]+)</,
67
+ /<maven\.compiler\.release>([^<]+)</,
68
+ /<maven\.compiler\.source>([^<]+)</,
69
+ ];
70
+ for (const tag of tags) {
71
+ const v = plainVersion(tag.exec(pom)?.[1]);
72
+ if (v)
73
+ return v;
74
+ }
75
+ return DEFAULT_JAVA;
76
+ }
77
+ const gradle = read(projectDir, "build.gradle.kts") ?? read(projectDir, "build.gradle") ?? "";
78
+ const patterns = [
79
+ /JavaLanguageVersion\.of\(\s*(\d{1,2})\s*\)/,
80
+ /JavaVersion\.VERSION_(?:1_)?(\d{1,2})\b/,
81
+ /sourceCompatibility\s*=\s*['"]?(\d{1,2}(?:\.\d)?)['"]?/,
82
+ ];
83
+ for (const p of patterns) {
84
+ const v = plainVersion(p.exec(gradle)?.[1]);
85
+ if (v)
86
+ return v;
87
+ }
88
+ return DEFAULT_JAVA;
89
+ }
90
+ function stackKind(projectDir) {
91
+ const has = (rel) => fs.existsSync(path.join(projectDir, rel));
92
+ if (has("pom.xml"))
93
+ return "maven";
94
+ if (has("build.gradle") || has("build.gradle.kts"))
95
+ return "gradle";
96
+ if (has("package.json"))
97
+ return "node";
98
+ if (has("go.mod"))
99
+ return "go";
100
+ if (has("pyproject.toml") || has("setup.py") || has("requirements.txt"))
101
+ return "python";
102
+ return "unknown";
103
+ }
104
+ /** Single-quoted for a POSIX shell. */
105
+ function shQuote(s) {
106
+ return `'${s.replace(/'/g, `'\\''`)}'`;
107
+ }
108
+ function planCi(projectDir, version) {
109
+ const kind = stackKind(projectDir);
110
+ const npx = `npx @rsaglobaltech/specgate@${version}`;
111
+ let configured = null;
112
+ try {
113
+ configured = (0, HarnessConfigFile_1.readHarnessConfig)(projectDir)?.testCmd ?? null;
114
+ }
115
+ catch {
116
+ configured = null;
117
+ }
118
+ const base = { kind, javaVersion: javaVersion(projectDir) };
119
+ if (configured) {
120
+ // `check` reads test_cmd from harness.config.yaml, so a later
121
+ // `config set test_cmd` changes CI too, with no second place to edit.
122
+ return { ...base, gateCmd: `${npx} check .`, testSource: "config", testCmd: configured };
123
+ }
124
+ const detected = (0, init_1.withBuild)(projectDir, (0, init_1.detectTestCommand)(projectDir));
125
+ if (detected) {
126
+ return {
127
+ ...base,
128
+ gateCmd: `${npx} check . --test-cmd ${shQuote(detected)}`,
129
+ testSource: "detected",
130
+ testCmd: detected,
131
+ };
132
+ }
133
+ return { ...base, gateCmd: `${npx} validate . --strict`, testSource: "none", testCmd: null };
134
+ }
135
+ const NODE_VERSION = "22";
136
+ function indent(lines, n) {
137
+ const pad = " ".repeat(n);
138
+ return lines.map((l) => (l ? pad + l : l)).join("\n");
139
+ }
140
+ /** GitHub Actions steps after checkout, indented for `steps:`. */
141
+ function githubSetup(plan, projectDir) {
142
+ const steps = [
143
+ "- uses: actions/setup-node@v4",
144
+ " with:",
145
+ ` node-version: '${NODE_VERSION}'`,
146
+ ];
147
+ if (plan.kind === "maven" || plan.kind === "gradle") {
148
+ steps.push("- uses: actions/setup-java@v4", " with:", " distribution: temurin", ` java-version: '${plan.javaVersion}'`, ` cache: ${plan.kind}`);
149
+ }
150
+ else if (plan.kind === "node") {
151
+ const lock = fs.existsSync(path.join(projectDir, "package-lock.json"));
152
+ steps.push(`- run: ${lock ? "npm ci" : "npm install"}`);
153
+ }
154
+ else if (plan.kind === "go") {
155
+ steps.push("- uses: actions/setup-go@v5", " with:", " go-version-file: go.mod");
156
+ }
157
+ else if (plan.kind === "python") {
158
+ steps.push("- uses: actions/setup-python@v5", " with:", " python-version: '3.12'", "# Install what your tests need, e.g. pip install -r requirements.txt");
159
+ }
160
+ return indent(steps, 6);
161
+ }
162
+ /** Azure Pipelines steps before the gate, indented for `steps:`. */
163
+ function azureSetup(plan, projectDir) {
164
+ const steps = [
165
+ "- task: NodeTool@0",
166
+ " inputs:",
167
+ ` versionSpec: '${NODE_VERSION}.x'`,
168
+ ` displayName: Use Node.js ${NODE_VERSION}`,
169
+ ];
170
+ if (plan.kind === "maven" || plan.kind === "gradle") {
171
+ steps.push("- task: JavaToolInstaller@0", " inputs:", ` versionSpec: '${plan.javaVersion}'`, " jdkArchitectureOption: x64", " jdkSourceOption: PreInstalled", ` displayName: Use Java ${plan.javaVersion}`);
172
+ }
173
+ else if (plan.kind === "node") {
174
+ const lock = fs.existsSync(path.join(projectDir, "package-lock.json"));
175
+ steps.push(`- script: ${lock ? "npm ci" : "npm install"}`, " displayName: Install dependencies");
176
+ }
177
+ else if (plan.kind === "go") {
178
+ steps.push("- task: GoTool@0", " inputs:", " version: '1.22'");
179
+ }
180
+ else if (plan.kind === "python") {
181
+ steps.push("- task: UsePythonVersion@0", " inputs:", " versionSpec: '3.12'", "# Install what your tests need, e.g. pip install -r requirements.txt");
182
+ }
183
+ return indent(steps, 2);
184
+ }
185
+ /** The container image a GitLab or Jenkins job runs in. */
186
+ function ciImage(plan) {
187
+ switch (plan.kind) {
188
+ case "maven":
189
+ return `maven:3-eclipse-temurin-${plan.javaVersion}`;
190
+ case "gradle":
191
+ return `gradle:jdk${plan.javaVersion}`;
192
+ case "go":
193
+ return "golang:1";
194
+ case "python":
195
+ return "python:3.12";
196
+ default:
197
+ return `node:${NODE_VERSION}`;
198
+ }
199
+ }
200
+ /**
201
+ * Shell lines run before the gate in a container job. A JDK, Go or Python image
202
+ * has no Node, and Specgate runs on Node: the official tarball is fetched and
203
+ * checked against the release's SHASUMS256.txt before it is unpacked. It goes
204
+ * to /tmp, not the workspace — a Jenkins agent runs as a user that cannot write
205
+ * /usr/local, and node's files inside the repository would be scanned as the
206
+ * project's own. The lines share one shell, so PATH holds for the gate.
207
+ */
208
+ function containerSetup(plan, projectDir) {
209
+ if (plan.kind === "unknown")
210
+ return [];
211
+ if (plan.kind === "node") {
212
+ const lock = fs.existsSync(path.join(projectDir, "package-lock.json"));
213
+ return [lock ? "npm ci" : "npm install"];
214
+ }
215
+ const base = `https://nodejs.org/dist/latest-v${NODE_VERSION}.x`;
216
+ return [
217
+ "NODE_DIR=/tmp/specgate-node && mkdir -p $NODE_DIR && cd $NODE_DIR",
218
+ `curl -fsSLO ${base}/SHASUMS256.txt`,
219
+ "ARCH=$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/')",
220
+ `NODE_TGZ=$(grep -o "node-v${NODE_VERSION}[.0-9]*-linux-$ARCH.tar.gz" SHASUMS256.txt | head -1)`,
221
+ `curl -fsSLO "${base}/$NODE_TGZ"`,
222
+ "sha256sum -c --ignore-missing SHASUMS256.txt",
223
+ 'tar -xzf "$NODE_TGZ" --strip-components=1 && cd - > /dev/null',
224
+ 'export PATH="$NODE_DIR/bin:$PATH"',
225
+ ];
226
+ }
227
+ function describeTests(plan) {
228
+ if (plan.testSource === "config")
229
+ return `runs your tests: \`${plan.testCmd}\` (test_cmd)`;
230
+ if (plan.testSource === "detected")
231
+ return `runs your tests: \`${plan.testCmd}\` (detected — \`specgate config set test_cmd\` and re-run to change it)`;
232
+ return 'runs no tests: none detected — `specgate config set test_cmd "<command>"`, then re-run `ci init --force`';
233
+ }
234
+ //# sourceMappingURL=CiToolchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CiToolchain.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/config/CiToolchain.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.AdoptProjectCommand = void 0;
37
37
  exports.parseArgs = parseArgs;
38
+ exports.pomProjectName = pomProjectName;
39
+ exports.gradleRootProjectName = gradleRootProjectName;
38
40
  exports.detectStack = detectStack;
39
41
  exports.buildProposedRequirements = buildProposedRequirements;
40
42
  const contract_file_1 = require("../../../agents/contract-file");
@@ -156,6 +158,65 @@ function readIfExists(p) {
156
158
  return null;
157
159
  }
158
160
  }
161
+ // The project's own coordinates sit at the top level of the POM, but the
162
+ // first `<artifactId>` in the file is usually the `<parent>`'s — a Spring Boot
163
+ // project was reported as `spring-boot-starter-parent` (#69). Blocks that carry
164
+ // other `<artifactId>`s or `<name>`s are removed before matching.
165
+ const POM_NESTED_BLOCKS = [
166
+ "parent",
167
+ "dependencies",
168
+ "dependencyManagement",
169
+ "build",
170
+ "profiles",
171
+ "reporting",
172
+ "organization",
173
+ "licenses",
174
+ "developers",
175
+ "contributors",
176
+ "scm",
177
+ "distributionManagement",
178
+ "repositories",
179
+ "pluginRepositories",
180
+ "issueManagement",
181
+ "ciManagement",
182
+ "mailingLists",
183
+ "modules",
184
+ "properties",
185
+ ];
186
+ function stripBlocks(text, open, close) {
187
+ let out = "";
188
+ let from = 0;
189
+ for (;;) {
190
+ const start = text.indexOf(open, from);
191
+ if (start === -1)
192
+ return out + text.slice(from);
193
+ const end = text.indexOf(close, start + open.length);
194
+ if (end === -1)
195
+ return out + text.slice(from);
196
+ out += text.slice(from, start);
197
+ from = end + close.length;
198
+ }
199
+ }
200
+ function pomProjectName(pom) {
201
+ let top = stripBlocks(pom, "<!--", "-->");
202
+ for (const tag of POM_NESTED_BLOCKS)
203
+ top = stripBlocks(top, `<${tag}>`, `</${tag}>`);
204
+ const name = /<name>([^<]+)<\/name>/.exec(top)?.[1]?.trim();
205
+ if (name && !name.includes("${"))
206
+ return name;
207
+ const artifactId = /<artifactId>([^<]+)<\/artifactId>/.exec(top)?.[1]?.trim();
208
+ return artifactId && !artifactId.includes("${") ? artifactId : null;
209
+ }
210
+ // `rootProject.name = "x"` in settings.gradle or settings.gradle.kts (#69).
211
+ function gradleRootProjectName(dir) {
212
+ for (const f of ["settings.gradle.kts", "settings.gradle"]) {
213
+ const text = readIfExists(path.join(dir, f));
214
+ const m = text && /rootProject\.name\s*=\s*["']([^"'\n]+)["']/.exec(text);
215
+ if (m)
216
+ return m[1].trim();
217
+ }
218
+ return null;
219
+ }
159
220
  function detectStack(dir) {
160
221
  const facts = {
161
222
  PROJECT_NAME: path.basename(dir),
@@ -178,21 +239,18 @@ function detectStack(dir) {
178
239
  if (pom.includes("hapi-fhir"))
179
240
  parts.push("HAPI FHIR");
180
241
  parts.push("Maven");
181
- const artifactId = pom.match(/<artifactId>([^<]+)<\/artifactId>/);
182
- const name = pom.match(/<name>([^<]+)<\/name>/);
183
- if (name)
184
- facts.PROJECT_NAME = name[1].trim();
185
- else if (artifactId)
186
- facts.PROJECT_NAME = artifactId[1].trim();
242
+ const projectName = pomProjectName(pom);
243
+ if (projectName)
244
+ facts.PROJECT_NAME = projectName;
187
245
  facts.STACK = parts.join(", ");
188
246
  facts.TESTING = pom.includes("testcontainers") ? "JUnit 5, Testcontainers" : "JUnit 5";
189
247
  facts.TEST_CMD = sharedTestCommand(dir);
190
248
  facts.detected = "pom.xml";
191
249
  return facts;
192
250
  }
193
- const gradle = readIfExists(path.join(dir, "build.gradle")) ||
194
- readIfExists(path.join(dir, "build.gradle.kts"));
195
- if (gradle !== null) {
251
+ const gradleFile = ["build.gradle", "build.gradle.kts"].find((f) => readIfExists(path.join(dir, f)) !== null);
252
+ const gradle = gradleFile ? readIfExists(path.join(dir, gradleFile)) : null;
253
+ if (gradleFile && gradle !== null) {
196
254
  const parts = [gradle.includes("kotlin") ? "Kotlin" : "Java"];
197
255
  if (gradle.includes("spring-boot") || gradle.includes("org.springframework.boot")) {
198
256
  parts.push("Spring Boot");
@@ -200,8 +258,11 @@ function detectStack(dir) {
200
258
  parts.push("Gradle");
201
259
  facts.STACK = parts.join(", ");
202
260
  facts.TESTING = "JUnit 5";
261
+ const rootName = gradleRootProjectName(dir);
262
+ if (rootName)
263
+ facts.PROJECT_NAME = rootName;
203
264
  facts.TEST_CMD = sharedTestCommand(dir);
204
- facts.detected = "build.gradle";
265
+ facts.detected = gradleFile;
205
266
  return facts;
206
267
  }
207
268
  const pkgRaw = readIfExists(path.join(dir, "package.json"));
@@ -1 +1 @@
1
- {"version":3,"file":"AdoptCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/project/AdoptCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdoptCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/project/AdoptCommand.ts"],"names":[],"mappings":"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"}
@@ -53,11 +53,13 @@ exports.detectTestCommand = detectTestCommand;
53
53
  exports.harnessFiles = harnessFiles;
54
54
  exports.withBuild = withBuild;
55
55
  exports.projectName = projectName;
56
+ exports.mergeHarnessConfig = mergeHarnessConfig;
56
57
  exports.installMergeDriver = installMergeDriver;
57
58
  const fs = __importStar(require("node:fs"));
58
59
  const path = __importStar(require("node:path"));
59
60
  const node_child_process_1 = require("node:child_process");
60
61
  const PackSpec_1 = require("../../packages/core/src/domain/PackSpec");
62
+ const YamlLite_1 = require("../../packages/core/src/domain/YamlLite");
61
63
  const project_root_1 = require("../lib/project-root");
62
64
  const agent_1 = require("../lib/agent");
63
65
  const diagnostics_1 = require("../lib/diagnostics");
@@ -250,6 +252,72 @@ function parseArgs(argv) {
250
252
  }
251
253
  return opts;
252
254
  }
255
+ // Keys `harness init` knows how to fill in. A file holding anything else was
256
+ // written by hand for a purpose this command cannot see, so it is not merged.
257
+ const MERGEABLE_KEYS = new Set([
258
+ "harness_version",
259
+ "agent",
260
+ "agent_profile",
261
+ "test_cmd",
262
+ "setup_cmd",
263
+ "max_attempts",
264
+ "concurrency",
265
+ "push",
266
+ "remote",
267
+ "pr_cmd",
268
+ "prompt_prefix",
269
+ "prompt_prefix_file",
270
+ "attempt_profiles",
271
+ "review_profile",
272
+ "protected_paths",
273
+ "allow_paths",
274
+ "message_report",
275
+ "prompt_precedents",
276
+ "adversary_profile",
277
+ ]);
278
+ function topLevelKeys(yaml) {
279
+ try {
280
+ const parsed = (0, YamlLite_1.parseYamlLite)(yaml);
281
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
282
+ return null;
283
+ return Object.keys(parsed);
284
+ }
285
+ catch {
286
+ return null;
287
+ }
288
+ }
289
+ /**
290
+ * `config set test_cmd` writes a two-line harness.config.yaml (#68), and
291
+ * `harness init` then refused it as "already present" and asked for --force,
292
+ * which would have thrown the chosen test command away (#71). An existing file
293
+ * made only of keys this command understands is merged instead: every value
294
+ * already there is kept as written, and only the keys it lacks are appended.
295
+ * Returns null when the file cannot be merged safely.
296
+ */
297
+ function mergeHarnessConfig(existing, generated) {
298
+ const have = topLevelKeys(existing);
299
+ const want = topLevelKeys(generated);
300
+ if (!have || !want || have.some((k) => !MERGEABLE_KEYS.has(k)))
301
+ return null;
302
+ const missing = want.filter((k) => !have.includes(k));
303
+ if (missing.length === 0)
304
+ return { body: existing, added: [] };
305
+ const lines = generated.split("\n");
306
+ const added = [];
307
+ for (const key of missing) {
308
+ const at = lines.findIndex((l) => l.startsWith(`${key}:`));
309
+ if (at === -1)
310
+ continue;
311
+ added.push(lines[at]);
312
+ for (let i = at + 1; i < lines.length && /^\s+\S/.test(lines[i]); i++)
313
+ added.push(lines[i]);
314
+ }
315
+ const base = existing.endsWith("\n") ? existing : `${existing}\n`;
316
+ return {
317
+ body: `${base}# Added by \`specgate harness init\`; the settings above were kept.\n${added.join("\n")}\n`,
318
+ added: missing,
319
+ };
320
+ }
253
321
  class InitCommand extends command_1.BaseCommand {
254
322
  execute() {
255
323
  let argv = this.args;
@@ -272,8 +340,30 @@ class InitCommand extends command_1.BaseCommand {
272
340
  ]);
273
341
  return;
274
342
  }
275
- const testCmd = opts.testCmd || withBuild(projectDir, detectTestCommand(projectDir));
343
+ const configPath = path.join(projectDir, CONFIG_FILE);
344
+ const existingConfig = fs.existsSync(configPath) ? fs.readFileSync(configPath, "utf8") : null;
345
+ let keptTestCmd = null;
346
+ if (existingConfig !== null && !opts.force && !opts.testCmd) {
347
+ try {
348
+ const parsed = (0, YamlLite_1.parseYamlLite)(existingConfig);
349
+ if (parsed && parsed.test_cmd !== undefined)
350
+ keptTestCmd = String(parsed.test_cmd);
351
+ }
352
+ catch {
353
+ keptTestCmd = null;
354
+ }
355
+ }
356
+ const testCmd = opts.testCmd || keptTestCmd || withBuild(projectDir, detectTestCommand(projectDir));
276
357
  const outputs = harnessFiles(projectDir, testCmd);
358
+ let merged = null;
359
+ if (existingConfig !== null && !opts.force && !opts.stdout) {
360
+ const config = outputs.find((o) => o.dest === CONFIG_FILE);
361
+ const result = config ? mergeHarnessConfig(existingConfig, config.body) : null;
362
+ if (config && result) {
363
+ config.body = result.body;
364
+ merged = result.added;
365
+ }
366
+ }
277
367
  if (opts.stdout) {
278
368
  io.emit({ projectDir, testCmd, files: outputs.map((o) => o.dest) }, () => {
279
369
  for (const out of outputs) {
@@ -296,6 +386,7 @@ class InitCommand extends command_1.BaseCommand {
296
386
  };
297
387
  const existing = outputs
298
388
  .filter((o) => !same(o))
389
+ .filter((o) => !(merged && o.dest === CONFIG_FILE))
299
390
  .map((o) => o.dest)
300
391
  .filter((dest) => fs.existsSync(path.join(projectDir, dest)));
301
392
  if (existing.length > 0 && !opts.force) {
@@ -309,6 +400,8 @@ class InitCommand extends command_1.BaseCommand {
309
400
  }
310
401
  const written = [];
311
402
  for (const out of outputs) {
403
+ if (merged && merged.length === 0 && out.dest === CONFIG_FILE)
404
+ continue;
312
405
  const abs = path.join(projectDir, out.dest);
313
406
  fs.mkdirSync(path.dirname(abs), { recursive: true });
314
407
  fs.writeFileSync(abs, out.body, "utf8");
@@ -318,6 +411,13 @@ class InitCommand extends command_1.BaseCommand {
318
411
  // harness, and the driver only matters once branches come back in parallel.
319
412
  const driverProblem = installMergeDriver(projectDir);
320
413
  const status = [
414
+ ...(merged
415
+ ? [
416
+ (0, diagnostics_1.info)("harness_config_merged", merged.length > 0
417
+ ? `${CONFIG_FILE} already existed: its settings were kept and ${merged.join(", ")} added.`
418
+ : `${CONFIG_FILE} already existed and has every setting; it was left as it was.`, { target: CONFIG_FILE, fix: "Use --force to replace it with the generated file." }),
419
+ ]
420
+ : []),
321
421
  (0, diagnostics_1.info)("harness_agent_unset", "No agent is configured, deliberately.", {
322
422
  fix: 'Pass it explicitly: specgate harness run --req REQ-001 --agent "<cmd> < {prompt_file}"',
323
423
  }),
@@ -343,6 +443,10 @@ class InitCommand extends command_1.BaseCommand {
343
443
  }, () => {
344
444
  for (const file of written)
345
445
  process.stdout.write(`ℹ️ [INFO] write ${file}\n`);
446
+ for (const d of status) {
447
+ if (d.code === "harness_config_merged")
448
+ process.stdout.write(`ℹ️ [INFO] ${d.message}\n`);
449
+ }
346
450
  // Warnings only reached `--json` before, so a text-mode user learned
347
451
  // that a tracked file had changed from `git status` instead of from the
348
452
  // command that changed it.
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/harness/init.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,oCAYC;AAED,8CAkBC;AASD,oCA6DC;AAQD,8BAUC;AAED,kCAOC;AA8ND,gDAqHC;AAzfD,4CAA8B;AAC9B,gDAAkC;AAClC,2DAA+C;AAC/C,sEAAyE;AACzE,sDAAwD;AACxD,wCAAkD;AAClD,oDAAwE;AACxE,4CAA6C;AAC7C,4EAGoD;AAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE9D,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAE9D,MAAM,UAAU,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC;QAClC,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;gBAChB,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,EAAE,CAAC;IACX,OAAO,GAAG;QACR,CAAC,CAAC,eAAe,GAAG,GAAG;QACvB,CAAC,CAAC,yEAAyE,CAAC;AAChF,CAAC;AAED,SAAgB,iBAAiB,CAAC,UAAU;IAC1C,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,kEAAkE;IAClE,OAAO,IAAA,+BAAuB,EAC5B;QACE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,UAAkB,EAClB,OAAsB;IAEtB,4EAA4E;IAC5E,4EAA4E;IAC5E,sBAAsB;IACtB,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,IAAA,8BAAmB,EAAC;QAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG;QACX,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC;QACrC,cAAc,EAAE,gBAAgB;YAC9B,CAAC,CAAC,iFAAiF;gBACjF,+EAA+E;gBAC/E,QAAQ;YACV,CAAC,CAAC,gFAAgF;gBAChF,6EAA6E;gBAC7E,0EAA0E;gBAC1E,iEAAiE;gBACjE,0EAA0E;QAC9E,aAAa,EAAE,gBAAgB;YAC7B,CAAC,CAAC,iFAAiF;gBACjF,+DAA+D;YACjE,CAAC,CAAC,iFAAiF;gBACjF,iEAAiE;QACrE,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC;QACxC,aAAa,EAAE,OAAO;YACpB,CAAC,CAAC,cAAc,OAAO,GAAG;YAC1B,CAAC,CAAC,2EAA2E;QAC/E,YAAY,EAAE,OAAO;YACnB,CAAC,CAAC,GAAG,OAAO,mCAAmC;YAC/C,CAAC,CAAC,8BAA8B;KACnC,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAA,yBAAc,EAClB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,EACxE,IAAI,CACL;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAA,yBAAc,EAClB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,EACrE,IAAI,CACL;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,UAAkB,EAAE,OAAsB;IAClE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACvF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;YACzD,CAAC,CAAC,GAAG,OAAO,mBAAmB;YAC/B,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,UAAU;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8DAA8D;QAC5D,WAAW;QACX,yCAAyC;QACzC,YAAY;QACZ,OAAO,WAAW,yCAAyC;QAC3D,OAAO,WAAW,0DAA0D;QAC5E,aAAa;QACb,8EAA8E;QAC9E,gFAAgF;QAChF,gEAAgE;QAChE,sEAAsE;QACtE,qDAAqD;QACrD,8CAA8C,CACjD,CAAC;AACJ,CAAC;AAWD,SAAS,SAAS,CAAC,IAAI;IACrB,MAAM,IAAI,GAAuB;QAC/B,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,eAAe,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACjE,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAChE,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACvC,IAAI,CAAC,KAAK,UAAU;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACzC,IAAI,CAAC,KAAK,QAAQ;YAAE,SAAS;aAC7B,IAAI,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;YAAE,CAAC,EAAE,CAAC;aACpD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjD,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAa,WAAY,SAAQ,qBAAW;IACnC,OAAO;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,qEAAqE;QACrE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACH,UAAU,GAAG,IAAA,gCAAiB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnB,IAAA,mBAAK,EAAC,YAAY,EAAE,IAAA,0BAAY,EAAC,GAAG,CAAC,EAAE;oBACrC,GAAG,EAAE,sEAAsE;iBAC5E,CAAC;aACH,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;gBACvE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,QAAQ,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtE,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,IAAI,GAAG,CAAC,CAAiC,EAAE,EAAE;YACjD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE;gBACrC,IAAA,mBAAK,EAAC,uBAAuB,EAAE,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACxE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnB,GAAG,EAAE,2EAA2E;iBACjF,CAAC;aACH,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG;YACb,IAAA,kBAAI,EAAC,qBAAqB,EAAE,uCAAuC,EAAE;gBACnE,GAAG,EAAE,wFAAwF;aAC9F,CAAC;SACH,CAAC;QACF,IAAI,aAAa;YAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;YAE5C,MAAM,CAAC,IAAI,CACT,IAAA,kBAAI,EACF,yBAAyB,EACzB,gGAAgG,EAChG;gBACE,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,iIAAiI;aACvI,CACF,CACF,CAAC;QAEJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,IAAA,qBAAO,EACL,wBAAwB,EACxB,2DAA2D,EAC3D;gBACE,MAAM,EAAE,WAAW;gBACnB,GAAG,EAAE,sJAAsJ;aAC5J,CACF,CACF,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,IAAI,CACL;YACE,UAAU;YACV,OAAO;YACP,KAAK,EAAE,OAAO;YACd,MAAM;SACP,EACD,GAAG,EAAE;YACH,KAAK,MAAM,IAAI,IAAI,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;YAC9E,qEAAqE;YACrE,wEAAwE;YACxE,2BAA2B;YAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;oBAAE,SAAS;gBACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,CAAC,GAAG;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC;gBACjC,wCAAwC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,6BAA6B,IAAI;gBACrG,0EAA0E;gBAC1E,mBAAmB;gBACnB,mFAAmF;gBACnF,uFAAuF;gBACvF,qFAAqF,CACxF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AArID,kCAqIC;AAED,gFAAgF;AAEhF,gFAAgF;AACnE,QAAA,iBAAiB,GAAG,aAAa,CAAC;AAClC,QAAA,kBAAkB,GAAG,oCAAoC,yBAAiB,EAAE,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,kBAAkB,CAAC,UAAkB;IACnD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9F,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,0BAAkB,CAAC,EAAE,CAAC;QAC3C,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,iBAAiB,GAAG,QAAQ,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,EAAE,CAAC,cAAc,CACf,cAAc,EACd,GAAG,SAAS,mEAAmE;YAC7E,4EAA4E;YAC5E,6CAA6C;YAC7C,GAAG,0BAAkB,IAAI,EAC3B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,SAAS;IACT,EAAE;IACF,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,iEAAiE;IACjE,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,aAAa,CACd,CAAC;IACF,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,gBAAgB;QACpC,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC;IAElF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAC/C,IAAA,8BAAS,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnF,yEAAyE;IACzE,EAAE;IACF,6DAA6D;IAC7D,EAAE;IACF,yEAAyE;IACzE,8EAA8E;IAC9E,mEAAmE;IACnE,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,kDAAkD;IAClD,wDAAwD;IACxD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,yBAAiB,SAAS,EAAE,GAAG,aAAa,WAAW,CAAC,CAAC;IAE/F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAA,8BAAS,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,yBAAiB,OAAO,CAAC,EAAE;YAC3F,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,OAAO,IAAA,qBAAO,EACZ,6BAA6B,EAC7B,iEAAiE,EACjE;YACE,MAAM,EAAE,gBAAgB;YACxB,GAAG,EACD,sCAAsC;gBACtC,sBAAsB,yBAAiB,YAAY,aAAa,cAAc;gBAC9E,mEAAmE;gBACnE,uCAAuC;SAC1C,CACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,SAAS,yBAAiB,OAAO,EAAE,gCAAgC,CAAC,CAAC;IAE/E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,IAAA,qBAAO,EACZ,+BAA+B,EAC/B,6DAA6D,EAC7D;YACE,MAAM,EAAE,gBAAgB;YACxB,GAAG,EACD,2EAA2E;gBAC3E,0EAA0E;gBAC1E,yEAAyE;gBACzE,kCAAkC;gBAClC,gEAAgE;gBAChE,0EAA0E;gBAC1E,uDAAuD;gBACvD,CAAC,iBAAiB,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CACF,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,IAAA,qBAAO,EACZ,wBAAwB,EACxB,yEAAyE,EACzE;YACE,MAAM,EAAE,gBAAgB;YACxB,GAAG,EAAE,8EAA8E;SACpF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;IAAE,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/harness/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsaglobaltech/specgate",
3
- "version": "0.17.6",
3
+ "version": "0.17.7",
4
4
  "description": "Specs as executable contracts — requirements, scenarios and traceability that CI enforces.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -11,13 +11,11 @@ pool:
11
11
  vmImage: ubuntu-latest
12
12
 
13
13
  steps:
14
- - task: NodeTool@0
15
- inputs:
16
- versionSpec: '22.x'
17
- displayName: Use Node.js 22
14
+ {{SETUP_STEPS}}
18
15
 
19
- - script: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
20
- displayName: Validate specs (the gate)
16
+ - script: |
17
+ {{GATE_CMD}}
18
+ displayName: The gate — the specification and the tests
21
19
 
22
20
  # Supply-chain gate: fails when rendered pack content no longer matches the
23
21
  # digest pinned in .specops.lock. Skipped when no packs are installed.
@@ -1,6 +1,7 @@
1
1
  # Generated by `specgate ci init --provider github`
2
2
  # Spec-Driven Development gate: no PR merges if a requirement loses its
3
- # feature file, its test artifact, or its traceability row.
3
+ # feature file, its test artifact or its traceability row — or if the
4
+ # project's tests fail.
4
5
  name: Spec gate
5
6
 
6
7
  on:
@@ -13,11 +14,10 @@ jobs:
13
14
  runs-on: ubuntu-latest
14
15
  steps:
15
16
  - uses: actions/checkout@v4
16
- - uses: actions/setup-node@v4
17
- with:
18
- node-version: '22'
19
- - name: Validate specs (the gate)
20
- run: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
17
+ {{SETUP_STEPS}}
18
+ - name: The gate — the specification and the tests
19
+ run: |
20
+ {{GATE_CMD}}
21
21
  # Supply-chain gate: fails when the rendered pack content no longer
22
22
  # matches the digest pinned in .specops.lock — a moved tag, a rewritten
23
23
  # history, or a hand-edited generated file. Skipped when the project
@@ -2,10 +2,13 @@
2
2
  # Spec-Driven Development gate for GitLab CI. If your project already has a
3
3
  # .gitlab-ci.yml, paste the `spec-gate` job into it instead.
4
4
  spec-gate:
5
- image: node:22
5
+ image: {{CI_IMAGE}}
6
6
  stage: test
7
7
  script:
8
- - npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
8
+ {{SETUP_SCRIPT}}
9
+ # The gate: the specification and the project's tests.
10
+ - |
11
+ {{GATE_CMD}}
9
12
  # Supply-chain gate: fails when rendered pack content no longer matches the
10
13
  # digest pinned in .specops.lock. Skipped when no packs are installed.
11
14
  - >
@@ -3,12 +3,16 @@
3
3
  // If your project already has a Jenkinsfile, paste the 'Spec gate' stage in.
4
4
  pipeline {
5
5
  agent {
6
- docker { image 'node:22' }
6
+ docker { image '{{CI_IMAGE}}' }
7
7
  }
8
8
  stages {
9
9
  stage('Spec gate') {
10
10
  steps {
11
- sh 'npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict'
11
+ // The specification and the project's tests, in one shell.
12
+ sh '''
13
+ {{SETUP_SCRIPT}}
14
+ {{GATE_CMD}}
15
+ '''
12
16
  }
13
17
  }
14
18
  // Supply-chain gate: fails when rendered pack content no longer