@kody-ade/kody-engine 0.4.605 → 0.4.606

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 (2) hide show
  1. package/dist/bin/kody.js +9 -3
  2. package/package.json +1 -1
package/dist/bin/kody.js CHANGED
@@ -15,7 +15,7 @@ var init_package = __esm({
15
15
  "package.json"() {
16
16
  package_default = {
17
17
  name: "@kody-ade/kody-engine",
18
- version: "0.4.605",
18
+ version: "0.4.606",
19
19
  description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
20
20
  license: "MIT",
21
21
  type: "module",
@@ -2353,7 +2353,7 @@ function parseCapabilityRequirements(raw) {
2353
2353
  if (raw === void 0) return void 0;
2354
2354
  if (!isPlainObject(raw)) throw new Error("contract.json requirements must be an object");
2355
2355
  const unsupported = Object.keys(raw).filter(
2356
- (key) => key !== "browser" && key !== "qaCredentials" && key !== "githubTestToken" && key !== "browserOnly"
2356
+ (key) => key !== "browser" && key !== "qaCredentials" && key !== "githubTestToken" && key !== "qaAccountCredentials" && key !== "browserOnly"
2357
2357
  );
2358
2358
  if (unsupported.length > 0) {
2359
2359
  throw new Error(`contract.json requirements contains unsupported fields: ${unsupported.join(", ")}`);
@@ -2367,16 +2367,22 @@ function parseCapabilityRequirements(raw) {
2367
2367
  if (raw.githubTestToken !== void 0 && typeof raw.githubTestToken !== "boolean") {
2368
2368
  throw new Error("contract.json requirements.githubTestToken must be boolean");
2369
2369
  }
2370
+ if (raw.qaAccountCredentials !== void 0 && (!Array.isArray(raw.qaAccountCredentials) || raw.qaAccountCredentials.length === 0 || !raw.qaAccountCredentials.every(
2371
+ (name) => typeof name === "string" && /^[A-Z][A-Z0-9_]{0,127}$/.test(name)
2372
+ ))) {
2373
+ throw new Error("contract.json requirements.qaAccountCredentials must contain valid credential names");
2374
+ }
2370
2375
  if (raw.browserOnly !== void 0 && typeof raw.browserOnly !== "boolean") {
2371
2376
  throw new Error("contract.json requirements.browserOnly must be boolean");
2372
2377
  }
2373
- if ((raw.qaCredentials === true || raw.githubTestToken === true || raw.browserOnly === true) && raw.browser !== true) {
2378
+ if ((raw.qaCredentials === true || raw.githubTestToken === true || raw.qaAccountCredentials !== void 0 || raw.browserOnly === true) && raw.browser !== true) {
2374
2379
  throw new Error("contract.json authentication requirements require browser");
2375
2380
  }
2376
2381
  const requirements = {
2377
2382
  ...raw.browser === true ? { browser: true } : {},
2378
2383
  ...raw.qaCredentials === true ? { qaCredentials: true } : {},
2379
2384
  ...raw.githubTestToken === true ? { githubTestToken: true } : {},
2385
+ ...Array.isArray(raw.qaAccountCredentials) ? { qaAccountCredentials: [...new Set(raw.qaAccountCredentials)] } : {},
2380
2386
  ...raw.browserOnly === true ? { browserOnly: true } : {}
2381
2387
  };
2382
2388
  return Object.keys(requirements).length > 0 ? requirements : void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.605",
3
+ "version": "0.4.606",
4
4
  "description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
5
5
  "license": "MIT",
6
6
  "type": "module",