@cat-factory/gates 0.0.0 → 0.1.1

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/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { wireCiStatusProvider, wireMergeabilityProvider, wireReleaseHealthProvider, wireIncidentEnrichment, clearGateProviders, } from './providers.js';
1
+ export { wireCiStatusProvider, wireMergeabilityProvider, wireReleaseHealthProvider, wireIncidentEnrichment, clearGateProviders, applyGateProviders, type GateProviderOverrides, } from './providers.js';
2
2
  export { ciGate, conflictsGate, postReleaseHealthGate } from './gates.js';
3
3
  /**
4
4
  * Register the built-in gate suite. Idempotent (the registry replaces by kind), so importing
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C"}
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ import { ciGate, conflictsGate, postReleaseHealthGate } from './gates.js';
19
19
  //
20
20
  // Until a gate's provider is wired it is a harmless pass-through, so a bare import is safe.
21
21
  // ---------------------------------------------------------------------------
22
- export { wireCiStatusProvider, wireMergeabilityProvider, wireReleaseHealthProvider, wireIncidentEnrichment, clearGateProviders, } from './providers.js';
22
+ export { wireCiStatusProvider, wireMergeabilityProvider, wireReleaseHealthProvider, wireIncidentEnrichment, clearGateProviders, applyGateProviders, } from './providers.js';
23
23
  export { ciGate, conflictsGate, postReleaseHealthGate } from './gates.js';
24
24
  /**
25
25
  * Register the built-in gate suite. Idempotent (the registry replaces by kind), so importing
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE,8EAA8E;AAC9E,sFAAsF;AACtF,0FAA0F;AAC1F,kFAAkF;AAClF,gFAAgF;AAChF,mFAAmF;AACnF,uEAAuE;AACvE,EAAE;AACF,4FAA4F;AAC5F,8BAA8B;AAC9B,EAAE;AACF,gCAAgC;AAChC,0DAA0D;AAC1D,kEAAkE;AAClE,sEAAsE;AACtE,yEAAyE;AACzE,EAAE;AACF,4FAA4F;AAC5F,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACnC,YAAY,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAA;IACjD,YAAY,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAA;AACrE,CAAC;AAED,qEAAqE;AACrE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE,8EAA8E;AAC9E,sFAAsF;AACtF,0FAA0F;AAC1F,kFAAkF;AAClF,gFAAgF;AAChF,mFAAmF;AACnF,uEAAuE;AACvE,EAAE;AACF,4FAA4F;AAC5F,8BAA8B;AAC9B,EAAE;AACF,gCAAgC;AAChC,0DAA0D;AAC1D,kEAAkE;AAClE,sEAAsE;AACtE,yEAAyE;AACzE,EAAE;AACF,4FAA4F;AAC5F,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACnC,YAAY,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAA;IACjD,YAAY,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAA;AACrE,CAAC;AAED,qEAAqE;AACrE,oBAAoB,EAAE,CAAA"}
@@ -13,4 +13,19 @@ export declare const getReleaseHealthProvider: () => ReleaseHealthProvider | und
13
13
  export declare const getIncidentEnrichment: () => IncidentEnrichmentProvider | undefined;
14
14
  /** Clear every wired provider. Intended for tests that exercise the gates in isolation. */
15
15
  export declare function clearGateProviders(): void;
16
+ /** The built-in gates' providers as one optional bag, for wiring through a build step. */
17
+ export interface GateProviderOverrides {
18
+ ciStatus?: CiStatusProvider;
19
+ mergeability?: PullRequestMergeabilityProvider;
20
+ releaseHealth?: ReleaseHealthProvider;
21
+ incidentEnrichment?: IncidentEnrichmentProvider;
22
+ }
23
+ /**
24
+ * Wire any provided gate providers (leaving the rest untouched). A facade build runs
25
+ * `clearGateProviders()` then re-wires from its config; this is the seam by which a test
26
+ * (or an embedder) injects fake/explicit providers through that same per-build wiring, so
27
+ * they survive a per-request container rebuild instead of being cleared. Only keys present
28
+ * are wired — absent keys are left as the build's config wired them.
29
+ */
30
+ export declare function applyGateProviders(overrides: GateProviderOverrides | undefined): void;
16
31
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAiB5B,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAEjF;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,+BAA+B,GAAG,SAAS,GACpD,IAAI,CAEN;AAED,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAAG,IAAI,CAE7F;AAGD,eAAO,MAAM,mBAAmB,QAAO,gBAAgB,GAAG,SAA6B,CAAA;AACvF,eAAO,MAAM,uBAAuB,QAAO,+BAA+B,GAAG,SACvD,CAAA;AACtB,eAAO,MAAM,wBAAwB,QAAO,qBAAqB,GAAG,SAC7C,CAAA;AACvB,eAAO,MAAM,qBAAqB,QAAO,0BAA0B,GAAG,SAClD,CAAA;AAEpB,2FAA2F;AAC3F,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAiB5B,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAEjF;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,+BAA+B,GAAG,SAAS,GACpD,IAAI,CAEN;AAED,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAAG,IAAI,CAE7F;AAGD,eAAO,MAAM,mBAAmB,QAAO,gBAAgB,GAAG,SAA6B,CAAA;AACvF,eAAO,MAAM,uBAAuB,QAAO,+BAA+B,GAAG,SACvD,CAAA;AACtB,eAAO,MAAM,wBAAwB,QAAO,qBAAqB,GAAG,SAC7C,CAAA;AACvB,eAAO,MAAM,qBAAqB,QAAO,0BAA0B,GAAG,SAClD,CAAA;AAEpB,2FAA2F;AAC3F,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,YAAY,CAAC,EAAE,+BAA+B,CAAA;IAC9C,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,kBAAkB,CAAC,EAAE,0BAA0B,CAAA;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,CAMrF"}
package/dist/providers.js CHANGED
@@ -39,4 +39,23 @@ export function clearGateProviders() {
39
39
  releaseHealthProvider = undefined;
40
40
  incidentEnrichment = undefined;
41
41
  }
42
+ /**
43
+ * Wire any provided gate providers (leaving the rest untouched). A facade build runs
44
+ * `clearGateProviders()` then re-wires from its config; this is the seam by which a test
45
+ * (or an embedder) injects fake/explicit providers through that same per-build wiring, so
46
+ * they survive a per-request container rebuild instead of being cleared. Only keys present
47
+ * are wired — absent keys are left as the build's config wired them.
48
+ */
49
+ export function applyGateProviders(overrides) {
50
+ if (!overrides)
51
+ return;
52
+ if (overrides.ciStatus)
53
+ wireCiStatusProvider(overrides.ciStatus);
54
+ if (overrides.mergeability)
55
+ wireMergeabilityProvider(overrides.mergeability);
56
+ if (overrides.releaseHealth)
57
+ wireReleaseHealthProvider(overrides.releaseHealth);
58
+ if (overrides.incidentEnrichment)
59
+ wireIncidentEnrichment(overrides.incidentEnrichment);
60
+ }
42
61
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAOA,2FAA2F;AAC3F,mEAAmE;AACnE,yFAAyF;AACzF,uFAAuF;AACvF,0EAA0E;AAC1E,EAAE;AACF,mFAAmF;AACnF,2FAA2F;AAC3F,+EAA+E;AAE/E,IAAI,gBAA8C,CAAA;AAClD,IAAI,oBAAiE,CAAA;AACrE,IAAI,qBAAwD,CAAA;AAC5D,IAAI,kBAA0D,CAAA;AAE9D,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAAC,QAAsC;IACzE,gBAAgB,GAAG,QAAQ,CAAA;AAC7B,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CACtC,QAAqD;IAErD,oBAAoB,GAAG,QAAQ,CAAA;AACjC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,QAA2C;IACnF,qBAAqB,GAAG,QAAQ,CAAA;AAClC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,QAAgD;IACrF,kBAAkB,GAAG,QAAQ,CAAA;AAC/B,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAiC,EAAE,CAAC,gBAAgB,CAAA;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAgD,EAAE,CACvF,oBAAoB,CAAA;AACtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAsC,EAAE,CAC9E,qBAAqB,CAAA;AACvB,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAA2C,EAAE,CAChF,kBAAkB,CAAA;AAEpB,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB;IAChC,gBAAgB,GAAG,SAAS,CAAA;IAC5B,oBAAoB,GAAG,SAAS,CAAA;IAChC,qBAAqB,GAAG,SAAS,CAAA;IACjC,kBAAkB,GAAG,SAAS,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAOA,2FAA2F;AAC3F,mEAAmE;AACnE,yFAAyF;AACzF,uFAAuF;AACvF,0EAA0E;AAC1E,EAAE;AACF,mFAAmF;AACnF,2FAA2F;AAC3F,+EAA+E;AAE/E,IAAI,gBAA8C,CAAA;AAClD,IAAI,oBAAiE,CAAA;AACrE,IAAI,qBAAwD,CAAA;AAC5D,IAAI,kBAA0D,CAAA;AAE9D,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAAC,QAAsC;IACzE,gBAAgB,GAAG,QAAQ,CAAA;AAC7B,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CACtC,QAAqD;IAErD,oBAAoB,GAAG,QAAQ,CAAA;AACjC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,QAA2C;IACnF,qBAAqB,GAAG,QAAQ,CAAA;AAClC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,QAAgD;IACrF,kBAAkB,GAAG,QAAQ,CAAA;AAC/B,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAiC,EAAE,CAAC,gBAAgB,CAAA;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAgD,EAAE,CACvF,oBAAoB,CAAA;AACtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAsC,EAAE,CAC9E,qBAAqB,CAAA;AACvB,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAA2C,EAAE,CAChF,kBAAkB,CAAA;AAEpB,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB;IAChC,gBAAgB,GAAG,SAAS,CAAA;IAC5B,oBAAoB,GAAG,SAAS,CAAA;IAChC,qBAAqB,GAAG,SAAS,CAAA;IACjC,kBAAkB,GAAG,SAAS,CAAA;AAChC,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAA4C;IAC7E,IAAI,CAAC,SAAS;QAAE,OAAM;IACtB,IAAI,SAAS,CAAC,QAAQ;QAAE,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAChE,IAAI,SAAS,CAAC,YAAY;QAAE,wBAAwB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IAC5E,IAAI,SAAS,CAAC,aAAa;QAAE,yBAAyB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAC/E,IAAI,SAAS,CAAC,kBAAkB;QAAE,sBAAsB,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;AACxF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/gates",
3
- "version": "0.0.0",
3
+ "version": "0.1.1",
4
4
  "description": "The built-in polling-gate suite (CI, merge-conflicts, post-release health + the on-call escalation) for the Agent Architecture Board, authored entirely through the public gate-registry seam — depends only on @cat-factory/kernel + @cat-factory/contracts, never the engine. A deployment imports it for side effect and wires each gate's provider via the exported wireX handles.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@cat-factory/contracts": "0.23.0",
28
- "@cat-factory/kernel": "0.24.0"
28
+ "@cat-factory/kernel": "0.26.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "typescript": "7.0.1-rc",