@cat-factory/integrations 0.109.5 → 0.110.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.
@@ -30,9 +30,12 @@ export declare class ValidationConfigService {
30
30
  /** Every configured service's checks in the workspace (the inspector store's hydrate read). */
31
31
  list(workspaceId: string): Promise<ServiceValidationConfig[]>;
32
32
  /**
33
- * Set/replace a service frame's validation checks. An empty list deletes the row (a service
34
- * with no checks carries none), so a cleared inspector restores the exact pre-feature
35
- * behaviour rather than leaving an empty config that still has to be resolved.
33
+ * Set/replace a service frame's validation checks AND its dependency-prepopulation install.
34
+ * The row is deleted only when BOTH are empty, so a cleared inspector restores the exact
35
+ * pre-feature behaviour rather than leaving an empty config that still has to be resolved —
36
+ * while a service that declares only an install (prepopulate the checkout, verify nothing)
37
+ * still persists. Keying the delete on `checks` alone would silently discard that service's
38
+ * install the moment it saved with no checks.
36
39
  */
37
40
  set(workspaceId: string, blockId: string, input: UpsertServiceValidationConfigInput): Promise<ServiceValidationConfig>;
38
41
  /** Remove a service frame's validation checks. */
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationConfigService.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EAEL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,kCAAkC,EACnC,MAAM,wBAAwB,CAAA;AAG/B,MAAM,WAAW,mCAAmC;IAClD,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,gGAAgG;IAChG,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B,YAAY,IAAI,EAAE,mCAAmC,EAIpD;IAED,0EAA0E;IACpE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAGpF;IAED,+FAA+F;IACzF,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAGlE;IAED;;;;OAIG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,uBAAuB,CAAC,CA0BlC;IAED,kDAAkD;IAC5C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;IAED;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAO1C;CACF"}
1
+ {"version":3,"file":"ValidationConfigService.d.ts","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EAEL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,kCAAkC,EACnC,MAAM,wBAAwB,CAAA;AAG/B,MAAM,WAAW,mCAAmC;IAClD,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,gGAAgG;IAChG,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B,YAAY,IAAI,EAAE,mCAAmC,EAIpD;IAED,0EAA0E;IACpE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAGpF;IAED,+FAA+F;IACzF,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAGlE;IAED;;;;;;;OAOG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,uBAAuB,CAAC,CA8BlC;IAED,kDAAkD;IAC5C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;IAED;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAW1C;CACF"}
@@ -34,9 +34,12 @@ export class ValidationConfigService {
34
34
  return rows.map((r) => toView(r.blockId, r));
35
35
  }
36
36
  /**
37
- * Set/replace a service frame's validation checks. An empty list deletes the row (a service
38
- * with no checks carries none), so a cleared inspector restores the exact pre-feature
39
- * behaviour rather than leaving an empty config that still has to be resolved.
37
+ * Set/replace a service frame's validation checks AND its dependency-prepopulation install.
38
+ * The row is deleted only when BOTH are empty, so a cleared inspector restores the exact
39
+ * pre-feature behaviour rather than leaving an empty config that still has to be resolved —
40
+ * while a service that declares only an install (prepopulate the checkout, verify nothing)
41
+ * still persists. Keying the delete on `checks` alone would silently discard that service's
42
+ * install the moment it saved with no checks.
40
43
  */
41
44
  async set(workspaceId, blockId, input) {
42
45
  // Checks are keyed by (and resolved up to) the SERVICE FRAME, so storing them against a
@@ -49,7 +52,10 @@ export class ValidationConfigService {
49
52
  if (block.level !== 'frame') {
50
53
  throw new ValidationError('Validation checks can only be set on a service frame');
51
54
  }
52
- if (input.checks.length === 0) {
55
+ // The schema trims, so a whitespace-only submission arrives as `''` — normalise it to
56
+ // "declared nothing" here rather than persisting a command the harness would try to run.
57
+ const dependencyInstall = input.dependencyInstall?.trim() || undefined;
58
+ if (input.checks.length === 0 && !dependencyInstall) {
53
59
  await this.repo.delete(workspaceId, blockId);
54
60
  return toView(blockId, null);
55
61
  }
@@ -60,6 +66,7 @@ export class ValidationConfigService {
60
66
  blockId,
61
67
  checks: input.checks.map((c) => ({ label: c.label, command: c.command })),
62
68
  maxAttempts: input.maxAttempts ?? VALIDATION_DEFAULT_MAX_ATTEMPTS,
69
+ ...(dependencyInstall ? { dependencyInstall } : {}),
63
70
  createdAt: existing?.createdAt ?? now,
64
71
  updatedAt: now,
65
72
  };
@@ -84,11 +91,15 @@ export class ValidationConfigService {
84
91
  */
85
92
  async resolveForFrame(workspaceId, frameId) {
86
93
  const record = await this.repo.getByBlock(workspaceId, frameId);
87
- if (!record || record.checks.length === 0)
94
+ // A frame that declares ONLY a dependency install still resolves — prepopulation and the
95
+ // checks are independent, and gating on `checks` would make the install unreachable for
96
+ // exactly the service that wanted prepopulation without a verification suite.
97
+ if (!record || (record.checks.length === 0 && !record.dependencyInstall))
88
98
  return null;
89
99
  return {
90
100
  checks: record.checks.map((c) => ({ label: c.label, command: c.command })),
91
101
  maxAttempts: record.maxAttempts,
102
+ ...(record.dependencyInstall ? { dependencyInstall: record.dependencyInstall } : {}),
92
103
  };
93
104
  }
94
105
  }
@@ -98,6 +109,7 @@ function toView(blockId, record) {
98
109
  blockId,
99
110
  checks: record?.checks ?? [],
100
111
  maxAttempts: record?.maxAttempts ?? VALIDATION_DEFAULT_MAX_ATTEMPTS,
112
+ ...(record?.dependencyInstall ? { dependencyInstall: record.dependencyInstall } : {}),
101
113
  };
102
114
  }
103
115
  //# sourceMappingURL=ValidationConfigService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationConfigService.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidationConfigService.js","sourceRoot":"","sources":["../../../src/modules/validation/ValidationConfigService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/integrations",
3
- "version": "0.109.5",
3
+ "version": "0.110.0",
4
4
  "description": "External-system integration domain logic for the Agent Architecture Board (GitHub, documents, tasks, environments, runners).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,15 +27,15 @@
27
27
  "ai": "^7.0.37",
28
28
  "p-map": "^7.0.6",
29
29
  "yaml": "^2.9.0",
30
- "@cat-factory/contracts": "0.190.0",
31
- "@cat-factory/kernel": "0.185.1"
30
+ "@cat-factory/contracts": "0.192.0",
31
+ "@cat-factory/kernel": "0.187.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "typescript": "7.0.2",
35
35
  "undici": "^8.9.0",
36
36
  "valibot": "^1.4.2",
37
37
  "vitest": "^4.1.10",
38
- "@cat-factory/caching": "0.11.14"
38
+ "@cat-factory/caching": "0.11.16"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsc -b tsconfig.build.json",