@cat-factory/integrations 0.94.1 → 0.96.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.
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/environments.logic.d.ts +6 -2
- package/dist/modules/environments/environments.logic.d.ts.map +1 -1
- package/dist/modules/environments/environments.logic.js +9 -42
- package/dist/modules/environments/environments.logic.js.map +1 -1
- package/dist/modules/notificationWebhook/NotificationWebhookService.d.ts +25 -0
- package/dist/modules/notificationWebhook/NotificationWebhookService.d.ts.map +1 -0
- package/dist/modules/notificationWebhook/NotificationWebhookService.js +49 -0
- package/dist/modules/notificationWebhook/NotificationWebhookService.js.map +1 -0
- package/dist/modules/notificationWebhook/WebhookNotificationChannel.d.ts +39 -0
- package/dist/modules/notificationWebhook/WebhookNotificationChannel.d.ts.map +1 -0
- package/dist/modules/notificationWebhook/WebhookNotificationChannel.js +154 -0
- package/dist/modules/notificationWebhook/WebhookNotificationChannel.js.map +1 -0
- package/dist/modules/notificationWebhook/support.d.ts +42 -0
- package/dist/modules/notificationWebhook/support.d.ts.map +1 -0
- package/dist/modules/notificationWebhook/support.js +37 -0
- package/dist/modules/notificationWebhook/support.js.map +1 -0
- package/dist/modules/notificationWebhook/webhookSignature.d.ts +17 -0
- package/dist/modules/notificationWebhook/webhookSignature.d.ts.map +1 -0
- package/dist/modules/notificationWebhook/webhookSignature.js +42 -0
- package/dist/modules/notificationWebhook/webhookSignature.js.map +1 -0
- package/dist/modules/notificationWebhook/webhookUrl.d.ts +9 -0
- package/dist/modules/notificationWebhook/webhookUrl.d.ts.map +1 -0
- package/dist/modules/notificationWebhook/webhookUrl.js +26 -0
- package/dist/modules/notificationWebhook/webhookUrl.js.map +1 -0
- package/dist/modules/publicApi/PublicApiKeyService.d.ts +6 -3
- package/dist/modules/publicApi/PublicApiKeyService.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyService.js +9 -4
- package/dist/modules/publicApi/PublicApiKeyService.js.map +1 -1
- package/dist/modules/runners/HttpRunnerPoolProvider.d.ts +6 -0
- package/dist/modules/runners/HttpRunnerPoolProvider.d.ts.map +1 -1
- package/dist/modules/runners/HttpRunnerPoolProvider.js +57 -0
- package/dist/modules/runners/HttpRunnerPoolProvider.js.map +1 -1
- package/dist/modules/shared/url-guard.d.ts +24 -0
- package/dist/modules/shared/url-guard.d.ts.map +1 -0
- package/dist/modules/shared/url-guard.js +53 -0
- package/dist/modules/shared/url-guard.js.map +1 -0
- package/dist/modules/validation/ValidationConfigService.d.ts +54 -0
- package/dist/modules/validation/ValidationConfigService.d.ts.map +1 -0
- package/dist/modules/validation/ValidationConfigService.js +103 -0
- package/dist/modules/validation/ValidationConfigService.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NotificationWebhookService } from './NotificationWebhookService.js';
|
|
2
|
+
import { WebhookNotificationChannel } from './WebhookNotificationChannel.js';
|
|
3
|
+
/**
|
|
4
|
+
* HKDF `info` tag the notification-webhook signing secret is sealed under, so it is
|
|
5
|
+
* cryptographically isolated from every other sealed credential class (Slack tokens, tracker
|
|
6
|
+
* credentials, package-registry auth) even though they share the deployment master key.
|
|
7
|
+
*/
|
|
8
|
+
export const NOTIFICATION_WEBHOOK_CIPHER_INFO = 'cat-factory:notification-webhook';
|
|
9
|
+
/**
|
|
10
|
+
* Build BOTH halves of the notification-webhook feature from one dependency set: the management
|
|
11
|
+
* service (behind the workspace controller) and the delivery channel (composed into the facade's
|
|
12
|
+
* `CompositeNotificationChannel`).
|
|
13
|
+
*
|
|
14
|
+
* They exist as one builder because they MUST read the same rows through the same cipher —
|
|
15
|
+
* a facade that wired the service against one repository and the channel against another would
|
|
16
|
+
* present a webhook as configured while delivering nothing, and each facade wiring them
|
|
17
|
+
* separately is exactly how that drift happens. Both runtimes call this with their own repo.
|
|
18
|
+
*/
|
|
19
|
+
export function buildNotificationWebhookSupport(deps) {
|
|
20
|
+
return {
|
|
21
|
+
service: new NotificationWebhookService({
|
|
22
|
+
notificationWebhookRepository: deps.notificationWebhookRepository,
|
|
23
|
+
secretCipher: deps.secretCipher,
|
|
24
|
+
clock: deps.clock,
|
|
25
|
+
urlSafetyPolicy: deps.urlSafetyPolicy,
|
|
26
|
+
}),
|
|
27
|
+
channel: new WebhookNotificationChannel({
|
|
28
|
+
notificationWebhookRepository: deps.notificationWebhookRepository,
|
|
29
|
+
secretCipher: deps.secretCipher,
|
|
30
|
+
clock: deps.clock,
|
|
31
|
+
urlSafetyPolicy: deps.urlSafetyPolicy,
|
|
32
|
+
fetchImpl: deps.fetchImpl,
|
|
33
|
+
onError: deps.onError,
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/support.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,kCAAkC,CAAA;AAoBlF;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAA4C;IAI1F,OAAO;QACL,OAAO,EAAE,IAAI,0BAA0B,CAAC;YACtC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,OAAO,EAAE,IAAI,0BAA0B,CAAC;YACtC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;KACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Header names a receiver reads to verify a delivery. */
|
|
2
|
+
export declare const WEBHOOK_SIGNATURE_HEADERS: {
|
|
3
|
+
/** Epoch-ms the delivery was produced; part of the signed string (replay window). */
|
|
4
|
+
readonly timestamp: 'x-cat-factory-timestamp';
|
|
5
|
+
/** `v1=<hex HMAC-SHA256>` over `<timestamp>.<body>`. */
|
|
6
|
+
readonly signature: 'x-cat-factory-signature';
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Sign a delivery body, returning the headers to send with it.
|
|
10
|
+
*
|
|
11
|
+
* The signed string is `<timestamp>.<body>`, NOT the body alone: binding the timestamp INTO the
|
|
12
|
+
* MAC is what makes the timestamp header trustworthy, so a receiver can reject a replayed delivery
|
|
13
|
+
* by rejecting an old timestamp. Signing the body alone would leave the timestamp freely rewritable
|
|
14
|
+
* by anyone replaying the capture, making the whole replay window decorative.
|
|
15
|
+
*/
|
|
16
|
+
export declare function signWebhookDelivery(secret: string, body: string, timestamp: number): Promise<Record<string, string>>;
|
|
17
|
+
//# sourceMappingURL=webhookSignature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhookSignature.d.ts","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/webhookSignature.ts"],"names":[],"mappings":"AAWA,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB;IACpC,qFAAqF;aACrF,SAAS,EAAE,yBAAyB;IACpC,wDAAwD;aACxD,SAAS,EAAE,yBAAyB;CAC5B,CAAA;AAKV;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiBjC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Detached HMAC signature over an outbound webhook body — the proof a receiver uses to decide that
|
|
2
|
+
// a delivery really came from this deployment and was not replayed or tampered with.
|
|
3
|
+
//
|
|
4
|
+
// NOTE on why this is not the server's `HmacSigner` (`@cat-factory/server` `auth/signing.ts`):
|
|
5
|
+
// that primitive mints self-contained TOKENS (`base64url(payload).base64url(mac)`) whose payload
|
|
6
|
+
// travels inside the signed string, and it is audience-keyed for the session/OAuth/container/ws
|
|
7
|
+
// token classes. A webhook needs the opposite shape — a signature DETACHED from a body the
|
|
8
|
+
// receiver already has — and, decisively, `@cat-factory/server` sits ABOVE this package in the
|
|
9
|
+
// layering, so importing it here would invert the dependency. The construction below is the plain
|
|
10
|
+
// Web Crypto HMAC-SHA256 both use underneath, so it runs unchanged on workerd and Node.
|
|
11
|
+
/** Header names a receiver reads to verify a delivery. */
|
|
12
|
+
export const WEBHOOK_SIGNATURE_HEADERS = {
|
|
13
|
+
/** Epoch-ms the delivery was produced; part of the signed string (replay window). */
|
|
14
|
+
timestamp: 'x-cat-factory-timestamp',
|
|
15
|
+
/** `v1=<hex HMAC-SHA256>` over `<timestamp>.<body>`. */
|
|
16
|
+
signature: 'x-cat-factory-signature',
|
|
17
|
+
};
|
|
18
|
+
/** The signature scheme version, so the format can change without silently breaking receivers. */
|
|
19
|
+
const SCHEME = 'v1';
|
|
20
|
+
/**
|
|
21
|
+
* Sign a delivery body, returning the headers to send with it.
|
|
22
|
+
*
|
|
23
|
+
* The signed string is `<timestamp>.<body>`, NOT the body alone: binding the timestamp INTO the
|
|
24
|
+
* MAC is what makes the timestamp header trustworthy, so a receiver can reject a replayed delivery
|
|
25
|
+
* by rejecting an old timestamp. Signing the body alone would leave the timestamp freely rewritable
|
|
26
|
+
* by anyone replaying the capture, making the whole replay window decorative.
|
|
27
|
+
*/
|
|
28
|
+
export async function signWebhookDelivery(secret, body, timestamp) {
|
|
29
|
+
const key = await crypto.subtle.importKey('raw', new TextEncoder().encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
30
|
+
const mac = await crypto.subtle.sign('HMAC', key, new TextEncoder().encode(`${timestamp}.${body}`));
|
|
31
|
+
return {
|
|
32
|
+
[WEBHOOK_SIGNATURE_HEADERS.timestamp]: String(timestamp),
|
|
33
|
+
[WEBHOOK_SIGNATURE_HEADERS.signature]: `${SCHEME}=${toHex(new Uint8Array(mac))}`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function toHex(bytes) {
|
|
37
|
+
let out = '';
|
|
38
|
+
for (const b of bytes)
|
|
39
|
+
out += b.toString(16).padStart(2, '0');
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=webhookSignature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhookSignature.js","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/webhookSignature.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,qFAAqF;AACrF,EAAE;AACF,+FAA+F;AAC/F,iGAAiG;AACjG,gGAAgG;AAChG,2FAA2F;AAC3F,+FAA+F;AAC/F,kGAAkG;AAClG,wFAAwF;AAExF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,qFAAqF;IACrF,SAAS,EAAE,yBAAyB;IACpC,wDAAwD;IACxD,SAAS,EAAE,yBAAyB;CAC5B,CAAA;AAEV,kGAAkG;AAClG,MAAM,MAAM,GAAG,IAAI,CAAA;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAAY,EACZ,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAChC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAClC,MAAM,EACN,GAAG,EACH,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CACjD,CAAA;IACD,OAAO;QACL,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;QACxD,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;KACjF,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7D,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a notification-webhook endpoint. Strict by default — `https` only, no private/internal
|
|
4
|
+
* or cloud-metadata host — widened only by the deployment's own
|
|
5
|
+
* `NOTIFICATION_WEBHOOK_ALLOW_URL_HOSTS` / `_ALLOW_HTTP_URLS` slice, which a developer running a
|
|
6
|
+
* receiver on `localhost` genuinely needs. Throws `ValidationError` (a 400 at the controller).
|
|
7
|
+
*/
|
|
8
|
+
export declare function assertSafeNotificationWebhookUrl(url: string, policy?: UrlSafetyPolicy): void;
|
|
9
|
+
//# sourceMappingURL=webhookUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhookUrl.d.ts","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/webhookUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAe1D;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAM5F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { assertSafePublicUrl } from '../shared/url-guard.js';
|
|
2
|
+
// The notification-webhook face of the shared SSRF guard. Applied in BOTH places a URL can enter
|
|
3
|
+
// the system, which is the point:
|
|
4
|
+
//
|
|
5
|
+
// - the WRITE boundary (`NotificationWebhookService.put`), so a private/internal endpoint is
|
|
6
|
+
// rejected with a clear message when an operator registers it, not silently at 3am;
|
|
7
|
+
// - every REDIRECT hop of a delivery (`WebhookNotificationChannel` via `safeFetch`), because the
|
|
8
|
+
// write-time check only ever vouched for the FIRST URL and a receiver is free to 302 the
|
|
9
|
+
// delivery — body, signature headers and all — at an internal target.
|
|
10
|
+
//
|
|
11
|
+
// The contract schema's `https://` prefix check is kept as well: it is the friendly wire-level
|
|
12
|
+
// message, whereas this is the guard that actually holds.
|
|
13
|
+
/**
|
|
14
|
+
* Validate a notification-webhook endpoint. Strict by default — `https` only, no private/internal
|
|
15
|
+
* or cloud-metadata host — widened only by the deployment's own
|
|
16
|
+
* `NOTIFICATION_WEBHOOK_ALLOW_URL_HOSTS` / `_ALLOW_HTTP_URLS` slice, which a developer running a
|
|
17
|
+
* receiver on `localhost` genuinely needs. Throws `ValidationError` (a 400 at the controller).
|
|
18
|
+
*/
|
|
19
|
+
export function assertSafeNotificationWebhookUrl(url, policy) {
|
|
20
|
+
assertSafePublicUrl(url, {
|
|
21
|
+
subject: 'Notification webhook',
|
|
22
|
+
label: 'endpoint',
|
|
23
|
+
...(policy ? { policy } : {}),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=webhookUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhookUrl.js","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/webhookUrl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,iGAAiG;AACjG,kCAAkC;AAClC,EAAE;AACF,8FAA8F;AAC9F,uFAAuF;AACvF,kGAAkG;AAClG,4FAA4F;AAC5F,yEAAyE;AACzE,EAAE;AACF,+FAA+F;AAC/F,0DAA0D;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,GAAW,EAAE,MAAwB;IACpF,mBAAmB,CAAC,GAAG,EAAE;QACvB,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,UAAU;QACjB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -16,13 +16,16 @@ export interface PublicApiKeyAuth {
|
|
|
16
16
|
keyId: string;
|
|
17
17
|
accountId: string;
|
|
18
18
|
workspaceId: string;
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* What this key may do (read ⊂ write ⊂ decide ⊂ admin) — the public surface gates each
|
|
21
|
+
* route on it.
|
|
22
|
+
*/
|
|
20
23
|
scope: PublicApiScope;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* Whether a key that HOLDS `have` satisfies an endpoint that NEEDS `need`. The ladder is
|
|
24
|
-
* inclusive — an `admin` key satisfies a `write` or `read` requirement — so this is
|
|
25
|
-
* rank comparison, the single source of truth for every `/api/v1` scope gate.
|
|
27
|
+
* inclusive — an `admin` key satisfies a `decide`, `write` or `read` requirement — so this is
|
|
28
|
+
* a simple rank comparison, the single source of truth for every `/api/v1` scope gate.
|
|
26
29
|
*/
|
|
27
30
|
export declare function scopeSatisfies(have: PublicApiScope, need: PublicApiScope): boolean;
|
|
28
31
|
/** The result of issuing a key: the stored record + the one-time raw secret to hand back. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicApiKeyService.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicApiKeyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA0B/E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,sBAAsB,CAAA;IAClC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;CACb;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB
|
|
1
|
+
{"version":3,"file":"PublicApiKeyService.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicApiKeyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA0B/E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,sBAAsB,CAAA;IAClC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;CACb;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,KAAK,EAAE,cAAc,CAAA;CACtB;AAYD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAElF;AAED,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,cAAc,CAAC,CAAoB;IAE3C,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAEtE;;;OAGG;IACG,KAAK,CACT,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAClF,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,cAAwB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA8B7B;IAED,qEAAqE;IAC/D,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE7D;IAED,yDAAyD;IACnD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;IAED;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAmB/E;IAED;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9C;IAED,OAAO,CAAC,OAAO;YAaD,IAAI;CAQnB"}
|
|
@@ -22,12 +22,17 @@ const MAX_KEYS_PER_WORKSPACE = 50;
|
|
|
22
22
|
* collapses that write amplification.
|
|
23
23
|
*/
|
|
24
24
|
const LAST_USED_STAMP_THROTTLE_MS = 60_000;
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* The scope ladder as a rank, so a `have ≥ need` check is one comparison. DERIVED from the
|
|
27
|
+
* contract's `PUBLIC_API_SCOPES` array order rather than hand-listed, so inserting a rung
|
|
28
|
+
* (as `decide` was, between `write` and `admin`) cannot leave the wire vocabulary and the
|
|
29
|
+
* server-side check disagreeing about the ladder.
|
|
30
|
+
*/
|
|
31
|
+
const SCOPE_RANK = Object.fromEntries(PUBLIC_API_SCOPES.map((scope, rank) => [scope, rank]));
|
|
27
32
|
/**
|
|
28
33
|
* Whether a key that HOLDS `have` satisfies an endpoint that NEEDS `need`. The ladder is
|
|
29
|
-
* inclusive — an `admin` key satisfies a `write` or `read` requirement — so this is
|
|
30
|
-
* rank comparison, the single source of truth for every `/api/v1` scope gate.
|
|
34
|
+
* inclusive — an `admin` key satisfies a `decide`, `write` or `read` requirement — so this is
|
|
35
|
+
* a simple rank comparison, the single source of truth for every `/api/v1` scope gate.
|
|
31
36
|
*/
|
|
32
37
|
export function scopeSatisfies(have, need) {
|
|
33
38
|
return SCOPE_RANK[have] >= SCOPE_RANK[need];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicApiKeyService.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicApiKeyService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAuB,MAAM,wBAAwB,CAAA;AAE/E,wFAAwF;AACxF,0FAA0F;AAC1F,uFAAuF;AACvF,sFAAsF;AACtF,2FAA2F;AAC3F,4FAA4F;AAC5F,EAAE;AACF,0FAA0F;AAC1F,6FAA6F;AAE7F,8CAA8C;AAC9C,MAAM,cAAc,GAAG,UAAU,CAAA;AACjC,qDAAqD;AACrD,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"PublicApiKeyService.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicApiKeyService.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,5 +70,11 @@ export declare class HttpRunnerPoolProvider implements RunnerPoolProvider {
|
|
|
70
70
|
* channels can't validate a call differently on a pool-backed run.
|
|
71
71
|
*/
|
|
72
72
|
private mapCallMetrics;
|
|
73
|
+
/**
|
|
74
|
+
* Project the scheduler's live pre-PR validation report onto the canonical view, when the
|
|
75
|
+
* manifest maps it. Runs the SAME coercion as the terminal result envelope so the live and
|
|
76
|
+
* terminal channels can't validate a report differently on a pool-backed run.
|
|
77
|
+
*/
|
|
78
|
+
private mapValidationReport;
|
|
73
79
|
}
|
|
74
80
|
//# sourceMappingURL=HttpRunnerPoolProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRunnerPoolProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/runners/HttpRunnerPoolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EACnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"HttpRunnerPoolProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/runners/HttpRunnerPoolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EACnB,qBAAqB,EAGrB,aAAa,EACb,iBAAiB,EAEjB,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAyC5B;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AAMD,MAAM,WAAW,6BAA6B;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B;AAED,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0D;IAErF,YAAY,OAAO,GAAE,6BAAkC,EAGtD;IAEK,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxD;IAEK,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAQzD;IAEK,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnD;IAED,uFAAuF;IACvF,cAAc,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,CAGnE;IAED,uFAAuF;IACjF,cAAc,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CASxF;IAID;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,KAAK;YAmBC,OAAO;IAyDrB,OAAO,CAAC,QAAQ;YAoBF,WAAW;YAgCX,UAAU;IA2DxB,iFAAiF;IACjF,OAAO,CAAC,UAAU;IAgFlB,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAkBnB,yFAAyF;IACzF,OAAO,CAAC,YAAY;IAwBpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
|
|
@@ -286,6 +286,12 @@ export class HttpRunnerPoolProvider {
|
|
|
286
286
|
const callMetrics = this.mapCallMetrics(manifest, json);
|
|
287
287
|
if (callMetrics)
|
|
288
288
|
view.callMetrics = callMetrics;
|
|
289
|
+
// The latest pre-PR validation attempt, when the manifest maps it — so a pool-backed run
|
|
290
|
+
// shows the repair loop while it runs, exactly like a Cloudflare/local container. Unlike the
|
|
291
|
+
// drain channels above this is a latest-value publish, so re-reading it is harmless.
|
|
292
|
+
const validationReport = this.mapValidationReport(manifest, json);
|
|
293
|
+
if (validationReport)
|
|
294
|
+
view.validationReport = validationReport;
|
|
289
295
|
// The harness's structured failure cause + extended diagnostic, when the manifest maps
|
|
290
296
|
// them — so a pool that proxies the executor-harness verbatim classifies a failure exactly
|
|
291
297
|
// like a Cloudflare container, instead of degrading to the engine's error-string regex.
|
|
@@ -391,6 +397,50 @@ export class HttpRunnerPoolProvider {
|
|
|
391
397
|
const metrics = coerceCallMetrics(environmentsLogic.extractByPath(json, path));
|
|
392
398
|
return metrics.length > 0 ? metrics : undefined;
|
|
393
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* Project the scheduler's live pre-PR validation report onto the canonical view, when the
|
|
402
|
+
* manifest maps it. Runs the SAME coercion as the terminal result envelope so the live and
|
|
403
|
+
* terminal channels can't validate a report differently on a pool-backed run.
|
|
404
|
+
*/
|
|
405
|
+
mapValidationReport(manifest, json) {
|
|
406
|
+
const path = manifest.response.validationReportPath;
|
|
407
|
+
if (!path)
|
|
408
|
+
return undefined;
|
|
409
|
+
return coerceValidationReport(environmentsLogic.extractByPath(json, path));
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Coerce a scheduler's pre-PR `validationReport` envelope into the canonical
|
|
414
|
+
* {@link RunnerValidationReport}, keeping only well-formed per-command outcomes. Returns
|
|
415
|
+
* undefined for anything that isn't a report-shaped object, so a malformed/absent envelope
|
|
416
|
+
* injects nothing (and the run behaves as if the service configured no checks — which, for a
|
|
417
|
+
* pool that doesn't proxy the field, it effectively did). Mirrors the executor-harness's shape.
|
|
418
|
+
*/
|
|
419
|
+
function coerceValidationReport(raw) {
|
|
420
|
+
if (typeof raw !== 'object' || raw === null)
|
|
421
|
+
return undefined;
|
|
422
|
+
const o = raw;
|
|
423
|
+
if (!Array.isArray(o.outcomes))
|
|
424
|
+
return undefined;
|
|
425
|
+
const outcomes = o.outcomes
|
|
426
|
+
.filter((x) => typeof x === 'object' && x !== null)
|
|
427
|
+
.filter((x) => typeof x.label === 'string' && typeof x.exitCode === 'number')
|
|
428
|
+
.map((x) => ({
|
|
429
|
+
label: x.label,
|
|
430
|
+
command: typeof x.command === 'string' ? x.command : '',
|
|
431
|
+
exitCode: x.exitCode,
|
|
432
|
+
passed: x.passed === true,
|
|
433
|
+
...(typeof x.outputTail === 'string' ? { outputTail: x.outputTail } : {}),
|
|
434
|
+
...(typeof x.durationMs === 'number' ? { durationMs: x.durationMs } : {}),
|
|
435
|
+
...(x.timedOut === true ? { timedOut: true } : {}),
|
|
436
|
+
}));
|
|
437
|
+
return {
|
|
438
|
+
passed: o.passed === true,
|
|
439
|
+
attempts: typeof o.attempts === 'number' ? o.attempts : 1,
|
|
440
|
+
maxAttempts: typeof o.maxAttempts === 'number' ? o.maxAttempts : outcomes.length > 0 ? 1 : 0,
|
|
441
|
+
outcomes,
|
|
442
|
+
...(typeof o.at === 'number' ? { at: o.at } : {}),
|
|
443
|
+
};
|
|
394
444
|
}
|
|
395
445
|
/**
|
|
396
446
|
* Coerce a scheduler's `result` envelope into the canonical {@link RunnerJobResult},
|
|
@@ -463,6 +513,13 @@ function coerceRunnerResult(raw) {
|
|
|
463
513
|
const effortReport = coerceEffortReport(o.effortReport);
|
|
464
514
|
if (effortReport)
|
|
465
515
|
out.effortReport = effortReport;
|
|
516
|
+
// The pre-PR validation report: on a passing run it is the captured proof the checkout was
|
|
517
|
+
// green before the PR opened; on a failed one it is the evidence behind the failure. Dropping
|
|
518
|
+
// it here would leave a pool-backed run with a bare "validation failed" and no output, while
|
|
519
|
+
// the Cloudflare/local transports (which return the harness view verbatim) show every command.
|
|
520
|
+
const validationReport = coerceValidationReport(o.validationReport);
|
|
521
|
+
if (validationReport)
|
|
522
|
+
out.validationReport = validationReport;
|
|
466
523
|
return out;
|
|
467
524
|
}
|
|
468
525
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRunnerPoolProvider.js","sourceRoot":"","sources":["../../../src/modules/runners/HttpRunnerPoolProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpRunnerPoolProvider.js","sourceRoot":"","sources":["../../../src/modules/runners/HttpRunnerPoolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
2
|
+
/** Per-call wording + policy for {@link assertSafePublicUrl}. */
|
|
3
|
+
export interface PublicUrlGuardOptions {
|
|
4
|
+
/** What owns the URL, capitalised for the message ('Environment', 'Notification webhook'). */
|
|
5
|
+
subject: string;
|
|
6
|
+
/** Which URL of that subject ('base URL', 'endpoint', 'OAuth token URL'). */
|
|
7
|
+
label?: string;
|
|
8
|
+
/**
|
|
9
|
+
* The widened policy, when the deployment configured one. Defaults to
|
|
10
|
+
* {@link STRICT_URL_SAFETY_POLICY} — `https` only, no private/internal hosts.
|
|
11
|
+
*/
|
|
12
|
+
policy?: UrlSafetyPolicy;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Validate a URL before it is stored or fetched. The default policy requires `https` and rejects
|
|
16
|
+
* internal/private hosts (loopback, RFC1918, the link-local range including the 169.254.169.254
|
|
17
|
+
* cloud-metadata endpoint); a trusted operator-installed integration can pass a widened policy to
|
|
18
|
+
* permit specific schemes/hosts. Embedded credentials are forbidden regardless of policy.
|
|
19
|
+
*
|
|
20
|
+
* Parsed by hand (no `URL` global) so this stays in the platform-agnostic core and behaves
|
|
21
|
+
* identically on workerd and Node.
|
|
22
|
+
*/
|
|
23
|
+
export declare function assertSafePublicUrl(url: string, options: PublicUrlGuardOptions): void;
|
|
24
|
+
//# sourceMappingURL=url-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-guard.d.ts","sourceRoot":"","sources":["../../../src/modules/shared/url-guard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAa1D,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CA0BrF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isBlockedPrivateHost, STRICT_URL_SAFETY_POLICY, ValidationError, } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a URL before it is stored or fetched. The default policy requires `https` and rejects
|
|
4
|
+
* internal/private hosts (loopback, RFC1918, the link-local range including the 169.254.169.254
|
|
5
|
+
* cloud-metadata endpoint); a trusted operator-installed integration can pass a widened policy to
|
|
6
|
+
* permit specific schemes/hosts. Embedded credentials are forbidden regardless of policy.
|
|
7
|
+
*
|
|
8
|
+
* Parsed by hand (no `URL` global) so this stays in the platform-agnostic core and behaves
|
|
9
|
+
* identically on workerd and Node.
|
|
10
|
+
*/
|
|
11
|
+
export function assertSafePublicUrl(url, options) {
|
|
12
|
+
const { subject, label = 'URL', policy = STRICT_URL_SAFETY_POLICY } = options;
|
|
13
|
+
const invalid = () => new ValidationError(`${subject} ${label} is not a valid URL: '${url}'`);
|
|
14
|
+
const match = url.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/([^/?#]*)/);
|
|
15
|
+
if (!match)
|
|
16
|
+
throw invalid();
|
|
17
|
+
if (!policy.schemes.includes(match[1].toLowerCase())) {
|
|
18
|
+
const allowed = policy.schemes.join('/') || '(none)';
|
|
19
|
+
throw new ValidationError(`${subject} ${label} must use ${allowed}`);
|
|
20
|
+
}
|
|
21
|
+
const authority = match[2];
|
|
22
|
+
if (authority.includes('@')) {
|
|
23
|
+
throw new ValidationError(`${subject} ${label} must not contain credentials`);
|
|
24
|
+
}
|
|
25
|
+
let host;
|
|
26
|
+
if (authority.startsWith('[')) {
|
|
27
|
+
const end = authority.indexOf(']');
|
|
28
|
+
if (end === -1)
|
|
29
|
+
throw invalid();
|
|
30
|
+
host = authority.slice(1, end);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
host = authority.split(':')[0];
|
|
34
|
+
}
|
|
35
|
+
if (host === '')
|
|
36
|
+
throw invalid();
|
|
37
|
+
if (!hostExempt(host, policy) && isBlockedPrivateHost(host)) {
|
|
38
|
+
throw new ValidationError(`${subject} ${label} must be a public host`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether `host` is exempt from the private/internal-host block under `policy`.
|
|
43
|
+
* An allow-list entry matches the hostname case-insensitively, either exactly or as a
|
|
44
|
+
* dot suffix when it begins with `.` (`.internal` matches `a.b.internal`).
|
|
45
|
+
*/
|
|
46
|
+
function hostExempt(host, policy) {
|
|
47
|
+
const h = host.toLowerCase().replace(/^\[|\]$/g, '');
|
|
48
|
+
return policy.allowHosts.some((entry) => {
|
|
49
|
+
const e = entry.toLowerCase();
|
|
50
|
+
return e.startsWith('.') ? h === e.slice(1) || h.endsWith(e) : h === e;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=url-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-guard.js","sourceRoot":"","sources":["../../../src/modules/shared/url-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AA2B5B;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAA8B;IAC7E,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG,wBAAwB,EAAE,GAAG,OAAO,CAAA;IAC7E,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,GAAG,OAAO,IAAI,KAAK,yBAAyB,GAAG,GAAG,CAAC,CAAA;IAC7F,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACnE,IAAI,CAAC,KAAK;QAAE,MAAM,OAAO,EAAE,CAAA;IAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAA;QACpD,MAAM,IAAI,eAAe,CAAC,GAAG,OAAO,IAAI,KAAK,aAAa,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAC3B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CAAC,GAAG,OAAO,IAAI,KAAK,+BAA+B,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAY,CAAA;IAChB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,OAAO,EAAE,CAAA;QAC/B,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACjC,CAAC;IACD,IAAI,IAAI,KAAK,EAAE;QAAE,MAAM,OAAO,EAAE,CAAA;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,eAAe,CAAC,GAAG,OAAO,IAAI,KAAK,wBAAwB,CAAC,CAAA;IACxE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,MAAuB;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAC7B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { BlockRepository, Clock, ValidationConfigRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { ResolvedValidationChecks, ServiceValidationConfig, UpsertServiceValidationConfigInput } from '@cat-factory/contracts';
|
|
3
|
+
export interface ValidationConfigServiceDependencies {
|
|
4
|
+
validationConfigRepository: ValidationConfigRepository;
|
|
5
|
+
/** Reads the target block so a write can reject a non-frame (the checks are keyed by frame). */
|
|
6
|
+
blockRepository: BlockRepository;
|
|
7
|
+
clock: Clock;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Owns a service's PRE-PR VALIDATION CHECKS — the shell commands the executor-harness runs
|
|
11
|
+
* against the checkout after the coding agent settles and BEFORE the PR opens (see
|
|
12
|
+
* `docs/initiatives/pre-pr-validation.md`).
|
|
13
|
+
*
|
|
14
|
+
* The CRUD surface ({@link getView}/{@link set}/{@link deleteFor}) operates on the exact SERVICE
|
|
15
|
+
* FRAME block the inspector edits. The resolution surface ({@link resolveForFrame}) reads the
|
|
16
|
+
* checks for the frame a dispatch resolved, and is the SINGLE seam a dispatch resolves checks
|
|
17
|
+
* through — so adding a second source later (a checked-in repo manifest, see the tracker's D1) is
|
|
18
|
+
* a change inside that method plus a precedence rule, not a new path through the executor.
|
|
19
|
+
*
|
|
20
|
+
* Nothing here is a secret: the commands are operator-authored strings that run inside the run's
|
|
21
|
+
* own sandboxed container, the same trust boundary as the coding agent.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ValidationConfigService {
|
|
24
|
+
private readonly repo;
|
|
25
|
+
private readonly blocks;
|
|
26
|
+
private readonly clock;
|
|
27
|
+
constructor(deps: ValidationConfigServiceDependencies);
|
|
28
|
+
/** The checks configured for a service frame (empty when it has none). */
|
|
29
|
+
getView(workspaceId: string, blockId: string): Promise<ServiceValidationConfig>;
|
|
30
|
+
/** Every configured service's checks in the workspace (the inspector store's hydrate read). */
|
|
31
|
+
list(workspaceId: string): Promise<ServiceValidationConfig[]>;
|
|
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.
|
|
36
|
+
*/
|
|
37
|
+
set(workspaceId: string, blockId: string, input: UpsertServiceValidationConfigInput): Promise<ServiceValidationConfig>;
|
|
38
|
+
/** Remove a service frame's validation checks. */
|
|
39
|
+
deleteFor(workspaceId: string, blockId: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* The checks that apply to a run dispatched against SERVICE FRAME `frameId`. This is what the
|
|
42
|
+
* engine folds onto the agent run context and the container executor forwards on the coding job
|
|
43
|
+
* body. `null` when the frame configured no checks, which is what keeps an unconfigured
|
|
44
|
+
* deployment byte-for-byte on the old code path.
|
|
45
|
+
*
|
|
46
|
+
* Takes the frame the CALLER already resolved rather than a run block, deliberately: the
|
|
47
|
+
* engine's `AgentContextBuilder` walks the frame→module→task ancestry exactly ONCE per dispatch
|
|
48
|
+
* and threads the result into every frame-scoped resolver (environment, service config,
|
|
49
|
+
* frontend, fragments). Re-deriving it here would put two extra block point-reads on every
|
|
50
|
+
* dispatch to reach a frame the caller is already holding.
|
|
51
|
+
*/
|
|
52
|
+
resolveForFrame(workspaceId: string, frameId: string): Promise<ResolvedValidationChecks | null>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ValidationConfigService.d.ts.map
|
|
@@ -0,0 +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"}
|