@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.
Files changed (45) hide show
  1. package/dist/index.d.ts +7 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +14 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/environments/environments.logic.d.ts +6 -2
  6. package/dist/modules/environments/environments.logic.d.ts.map +1 -1
  7. package/dist/modules/environments/environments.logic.js +9 -42
  8. package/dist/modules/environments/environments.logic.js.map +1 -1
  9. package/dist/modules/notificationWebhook/NotificationWebhookService.d.ts +25 -0
  10. package/dist/modules/notificationWebhook/NotificationWebhookService.d.ts.map +1 -0
  11. package/dist/modules/notificationWebhook/NotificationWebhookService.js +49 -0
  12. package/dist/modules/notificationWebhook/NotificationWebhookService.js.map +1 -0
  13. package/dist/modules/notificationWebhook/WebhookNotificationChannel.d.ts +39 -0
  14. package/dist/modules/notificationWebhook/WebhookNotificationChannel.d.ts.map +1 -0
  15. package/dist/modules/notificationWebhook/WebhookNotificationChannel.js +154 -0
  16. package/dist/modules/notificationWebhook/WebhookNotificationChannel.js.map +1 -0
  17. package/dist/modules/notificationWebhook/support.d.ts +42 -0
  18. package/dist/modules/notificationWebhook/support.d.ts.map +1 -0
  19. package/dist/modules/notificationWebhook/support.js +37 -0
  20. package/dist/modules/notificationWebhook/support.js.map +1 -0
  21. package/dist/modules/notificationWebhook/webhookSignature.d.ts +17 -0
  22. package/dist/modules/notificationWebhook/webhookSignature.d.ts.map +1 -0
  23. package/dist/modules/notificationWebhook/webhookSignature.js +42 -0
  24. package/dist/modules/notificationWebhook/webhookSignature.js.map +1 -0
  25. package/dist/modules/notificationWebhook/webhookUrl.d.ts +9 -0
  26. package/dist/modules/notificationWebhook/webhookUrl.d.ts.map +1 -0
  27. package/dist/modules/notificationWebhook/webhookUrl.js +26 -0
  28. package/dist/modules/notificationWebhook/webhookUrl.js.map +1 -0
  29. package/dist/modules/publicApi/PublicApiKeyService.d.ts +6 -3
  30. package/dist/modules/publicApi/PublicApiKeyService.d.ts.map +1 -1
  31. package/dist/modules/publicApi/PublicApiKeyService.js +9 -4
  32. package/dist/modules/publicApi/PublicApiKeyService.js.map +1 -1
  33. package/dist/modules/runners/HttpRunnerPoolProvider.d.ts +6 -0
  34. package/dist/modules/runners/HttpRunnerPoolProvider.d.ts.map +1 -1
  35. package/dist/modules/runners/HttpRunnerPoolProvider.js +57 -0
  36. package/dist/modules/runners/HttpRunnerPoolProvider.js.map +1 -1
  37. package/dist/modules/shared/url-guard.d.ts +24 -0
  38. package/dist/modules/shared/url-guard.d.ts.map +1 -0
  39. package/dist/modules/shared/url-guard.js +53 -0
  40. package/dist/modules/shared/url-guard.js.map +1 -0
  41. package/dist/modules/validation/ValidationConfigService.d.ts +54 -0
  42. package/dist/modules/validation/ValidationConfigService.d.ts.map +1 -0
  43. package/dist/modules/validation/ValidationConfigService.js +103 -0
  44. package/dist/modules/validation/ValidationConfigService.js.map +1 -0
  45. package/package.json +4 -4
package/dist/index.d.ts CHANGED
@@ -90,6 +90,12 @@ export { PreflightService, preflightBlockingFailures, formatPreflightFailure, }
90
90
  export { ProvisioningLogRecorder, ProvisioningLogService, PROVISIONING_LOG_MAX_LIMIT, type ProvisioningLogEvent, type ProvisioningLogRecorderDependencies, type ProvisioningLogServiceDependencies, } from './modules/provisioning-logs/ProvisioningLogService.js';
91
91
  export { LoggingRunnerTransport, type LoggingRunnerTransportOptions, } from './modules/provisioning-logs/LoggingRunnerTransport.js';
92
92
  export { redactSecrets } from './modules/provisioning-logs/redact.js';
93
+ export { WebhookNotificationChannel, type WebhookNotificationChannelDependencies, } from './modules/notificationWebhook/WebhookNotificationChannel.js';
94
+ export { NotificationWebhookService, type NotificationWebhookServiceDependencies, } from './modules/notificationWebhook/NotificationWebhookService.js';
95
+ export { WEBHOOK_SIGNATURE_HEADERS, signWebhookDelivery, } from './modules/notificationWebhook/webhookSignature.js';
96
+ export { NOTIFICATION_WEBHOOK_CIPHER_INFO, buildNotificationWebhookSupport, type NotificationWebhookSupportDependencies, } from './modules/notificationWebhook/support.js';
97
+ export { assertSafeNotificationWebhookUrl } from './modules/notificationWebhook/webhookUrl.js';
98
+ export { assertSafePublicUrl, type PublicUrlGuardOptions } from './modules/shared/url-guard.js';
93
99
  export { SlackNotificationChannel, type SlackNotificationChannelDependencies, } from './modules/slack/SlackNotificationChannel.js';
94
100
  export { SlackConnectionService, type SlackConnectionServiceDependencies, } from './modules/slack/SlackConnectionService.js';
95
101
  export { SlackSettingsService, type SlackSettingsServiceDependencies, } from './modules/slack/SlackSettingsService.js';
@@ -120,6 +126,7 @@ export { IncidentIoEnrichmentProvider, type IncidentIoEnrichmentProviderOptions,
120
126
  export { WorkspaceIncidentEnrichmentProvider, INCIDENT_ENRICHMENT_CIPHER_INFO, type WorkspaceIncidentEnrichmentProviderDependencies, } from './modules/incidentEnrichment/WorkspaceIncidentEnrichmentProvider.js';
121
127
  export { AccountSettingsService, ACCOUNT_SETTINGS_CIPHER_INFO, type AccountSettingsServiceDependencies, type ResolvedAccountSettings, } from './modules/accountSettings/AccountSettingsService.js';
122
128
  export { TestSecretsService, TEST_SECRETS_CIPHER_INFO, type TestSecretsServiceDependencies, } from './modules/testSecrets/TestSecretsService.js';
129
+ export { ValidationConfigService, type ValidationConfigServiceDependencies, } from './modules/validation/ValidationConfigService.js';
123
130
  export { LocalSettingsService, type LocalSettingsServiceDependencies, } from './modules/localSettings/LocalSettingsService.js';
124
131
  export { SendGridEmailSender, ResendEmailSender, createEmailSender, EMAIL_CIPHER_INFO, type EmailProviderConfig, type SendGridConfig, type ResendConfig, } from './modules/email/adapters.js';
125
132
  export { EmailConnectionService, type EmailConnectionServiceDependencies, type EmailConnection, } from './modules/email/EmailConnectionService.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -126,6 +126,19 @@ export { PreflightService, preflightBlockingFailures, formatPreflightFailure, }
126
126
  export { ProvisioningLogRecorder, ProvisioningLogService, PROVISIONING_LOG_MAX_LIMIT, } from './modules/provisioning-logs/ProvisioningLogService.js';
127
127
  export { LoggingRunnerTransport, } from './modules/provisioning-logs/LoggingRunnerTransport.js';
128
128
  export { redactSecrets } from './modules/provisioning-logs/redact.js';
129
+ // Notification webhook: an outbound HTTP delivery transport for the existing notification
130
+ // mechanism (`WebhookNotificationChannel` implements the same `NotificationChannel` port),
131
+ // plus the per-workspace endpoint management service. This is how a HEADLESS integration —
132
+ // which has no in-app inbox and no browser WebSocket — learns that a run parked.
133
+ export { WebhookNotificationChannel, } from './modules/notificationWebhook/WebhookNotificationChannel.js';
134
+ export { NotificationWebhookService, } from './modules/notificationWebhook/NotificationWebhookService.js';
135
+ export { WEBHOOK_SIGNATURE_HEADERS, signWebhookDelivery, } from './modules/notificationWebhook/webhookSignature.js';
136
+ export { NOTIFICATION_WEBHOOK_CIPHER_INFO, buildNotificationWebhookSupport, } from './modules/notificationWebhook/support.js';
137
+ export { assertSafeNotificationWebhookUrl } from './modules/notificationWebhook/webhookUrl.js';
138
+ // The provider-neutral SSRF host/scheme guard behind every operator-supplied-URL integration
139
+ // (environments, runner pools, notification webhooks). One implementation, so a bypass found in
140
+ // any of them is fixed for all of them; each caller supplies only its wording + its own policy.
141
+ export { assertSafePublicUrl } from './modules/shared/url-guard.js';
129
142
  // Slack: an additional delivery transport for the existing notification mechanism
130
143
  // (the `SlackNotificationChannel` implements the same `NotificationChannel` port),
131
144
  // plus the per-account connection / per-workspace routing / member-mapping services.
@@ -167,6 +180,7 @@ export { IncidentIoEnrichmentProvider, } from './modules/incidentio/IncidentIoEn
167
180
  export { WorkspaceIncidentEnrichmentProvider, INCIDENT_ENRICHMENT_CIPHER_INFO, } from './modules/incidentEnrichment/WorkspaceIncidentEnrichmentProvider.js';
168
181
  export { AccountSettingsService, ACCOUNT_SETTINGS_CIPHER_INFO, } from './modules/accountSettings/AccountSettingsService.js';
169
182
  export { TestSecretsService, TEST_SECRETS_CIPHER_INFO, } from './modules/testSecrets/TestSecretsService.js';
183
+ export { ValidationConfigService, } from './modules/validation/ValidationConfigService.js';
170
184
  export { LocalSettingsService, } from './modules/localSettings/LocalSettingsService.js';
171
185
  export { SendGridEmailSender, ResendEmailSender, createEmailSender, EMAIL_CIPHER_INFO, } from './modules/email/adapters.js';
172
186
  export { EmailConnectionService, } from './modules/email/EmailConnectionService.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,EACL,yBAAyB,GAE1B,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,aAAa,EAAkC,MAAM,mCAAmC,CAAA;AACjG,OAAO,EACL,iBAAiB,GAElB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAmC,MAAM,oCAAoC,CAAA;AACpG,OAAO,EACL,uBAAuB,GAExB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AAClF,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,uBAAuB,GAIxB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,OAAO,EACL,yBAAyB,GAE1B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,8BAA8B,GAE/B,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,qBAAqB,EAErB,gBAAgB,GACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,sBAAsB,GAEvB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,mBAAmB,GAGpB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,UAAU,MAAM,oCAAoC,CAAA;AAChE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,IAAI,sBAAsB,GACzC,MAAM,6BAA6B,CAAA;AACpC,iFAAiF;AACjF,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AACjF,8EAA8E;AAC9E,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,GAGjB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACL,qBAAqB,GAEtB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,iBAAiB,EAEjB,YAAY,GACb,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,gBAAgB,GAIjB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,qBAAqB,EAErB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EACL,oBAAoB,GAKrB,MAAM,2CAA2C,CAAA;AAClD,OAAO,KAAK,eAAe,MAAM,wCAAwC,CAAA;AACzE,OAAO,KAAK,kBAAkB,MAAM,2CAA2C,CAAA;AAC/E,OAAO,KAAK,iBAAiB,MAAM,0CAA0C,CAAA;AAC7E,OAAO,KAAK,oBAAoB,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAA4B,MAAM,sCAAsC,CAAA;AAClG,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,yBAAyB,GAE1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EACL,oBAAoB,GAErB,MAAM,yCAAyC,CAAA;AAChD,mFAAmF;AACnF,yFAAyF;AACzF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EACL,4BAA4B,GAO7B,MAAM,wDAAwD,CAAA;AAK/D,gFAAgF;AAChF,2FAA2F;AAC3F,qFAAqF;AACrF,sFAAsF;AACtF,qFAAqF;AACrF,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,4BAA4B,GAI7B,MAAM,gDAAgD,CAAA;AACvD,OAAO,EACL,mBAAmB,GAGpB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACL,6BAA6B,GAE9B,MAAM,yDAAyD,CAAA;AAChE,OAAO,EAEL,8BAA8B,GAK/B,MAAM,0DAA0D,CAAA;AACjE,OAAO,EACL,0BAA0B,GAE3B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,KAAK,iBAAiB,MAAM,8CAA8C,CAAA;AACjF,yFAAyF;AACzF,+EAA+E;AAC/E,OAAO,EAEL,qBAAqB,EACrB,cAAc,EACd,SAAS,GACV,MAAM,gCAAgC,CAAA;AACvC,mFAAmF;AACnF,6EAA6E;AAC7E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,8CAA8C,CAAA;AAErD,OAAO,EACL,2BAA2B,GAG5B,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAClE,mFAAmF;AACnF,0FAA0F;AAC1F,gFAAgF;AAChF,sFAAsF;AACtF,qFAAqF;AACrF,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,GAGxB,MAAM,sCAAsC,CAAA;AAC7C,4FAA4F;AAC5F,iGAAiG;AACjG,OAAO,EAAE,uBAAuB,EAA0B,MAAM,iCAAiC,CAAA;AACjG,wEAAwE;AACxE,iFAAiF;AACjF,uFAAuF;AACvF,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAC7F,OAAO,EACL,mBAAmB,GAGpB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,6BAA6B,GAE9B,MAAM,uDAAuD,CAAA;AAC9D,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,0BAA0B,MAAM,sDAAsD,CAAA;AAClG,4FAA4F;AAC5F,6FAA6F;AAC7F,4FAA4F;AAC5F,2FAA2F;AAC3F,gGAAgG;AAChG,qDAAqD;AACrD,OAAO,EACL,0BAA0B,GAE3B,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAC5F,OAAO,EAIN,MAAM,gDAAgD,CAAA;AACvD,OAAO,KAAK,uBAAuB,MAAM,gDAAgD,CAAA;AACzF,qGAAqG;AACrG,OAAO,EACL,kBAAkB,GAEnB,MAAM,6CAA6C,CAAA;AACpD,+FAA+F;AAC/F,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,yCAAyC,CAAA;AAChD,mFAAmF;AACnF,qFAAqF;AACrF,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAI3B,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,sBAAsB,GAEvB,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAErE,0FAA0F;AAC1F,2FAA2F;AAC3F,2FAA2F;AAC3F,iFAAiF;AACjF,OAAO,EACL,0BAA0B,GAE3B,MAAM,6DAA6D,CAAA;AACpE,OAAO,EACL,0BAA0B,GAE3B,MAAM,6DAA6D,CAAA;AACpE,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,gCAAgC,EAChC,+BAA+B,GAEhC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAA;AAE9F,6FAA6F;AAC7F,gGAAgG;AAChG,gGAAgG;AAChG,OAAO,EAAE,mBAAmB,EAA8B,MAAM,+BAA+B,CAAA;AAE/F,kFAAkF;AAClF,mFAAmF;AACnF,qFAAqF;AACrF,OAAO,EACL,wBAAwB,GAEzB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,sBAAsB,GAEvB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,oBAAoB,GAErB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,yBAAyB,GAE1B,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,cAAc,EACd,aAAa,GAId,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,2BAA2B,GAI5B,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,aAAa,GAKd,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,cAAc,GAIf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,2BAA2B,EAG3B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,yBAAyB,GAG1B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GAGxB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,wBAAwB,EAExB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,WAAW,GAEZ,MAAM,wCAAwC,CAAA;AAE/C,uFAAuF;AACvF,0FAA0F;AAC1F,yFAAyF;AACzF,uDAAuD;AACvD,OAAO,EACL,6BAA6B,GAI9B,MAAM,0DAA0D,CAAA;AACjE,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,2BAA2B,GAE5B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,aAAa,GAGd,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,oCAAoC,CAAA;AAE3C,sFAAsF;AACtF,uFAAuF;AACvF,wFAAwF;AACxF,kDAAkD;AAClD,OAAO,EACL,iCAAiC,GAKlC,MAAM,kEAAkE,CAAA;AACzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAA;AAC1F,OAAO,EACL,2BAA2B,GAE5B,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAEhC,MAAM,qEAAqE,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAG7B,MAAM,qDAAqD,CAAA;AAC5D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GAEzB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,uBAAuB,GAExB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACL,oBAAoB,GAErB,MAAM,iDAAiD,CAAA;AAExD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,sBAAsB,GAGvB,MAAM,2CAA2C,CAAA"}
@@ -34,8 +34,12 @@ export declare function shouldTeardownSuperseded(prior: EnvironmentIdentity, nex
34
34
  * (STRICT_URL_SAFETY_POLICY) requires `https` and rejects internal/private hosts; a
35
35
  * trusted operator-installed adapter can pass a widened policy to permit specific
36
36
  * schemes/hosts (e.g. an internal env platform on a private/VPN host). Embedded
37
- * credentials are forbidden regardless of policy. Parsed by hand (no `URL` global) so
38
- * this stays in the platform-agnostic core.
37
+ * credentials are forbidden regardless of policy.
38
+ *
39
+ * The environment-labelled face of the SHARED {@link assertSafePublicUrl} guard, which the
40
+ * runner-pool and notification-webhook integrations also front with their own wording. Only the
41
+ * message differs — the host/scheme rules are one implementation, so an SSRF bypass is fixed once
42
+ * rather than per integration.
39
43
  */
40
44
  export declare function assertSafeEnvironmentUrl(url: string, label?: string, policy?: UrlSafetyPolicy): void;
41
45
  /** Validate every URL a manifest will fetch (defence against SSRF). */
@@ -1 +1 @@
1
- {"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { getErrorMessage, isBlockedPrivateHost, STRICT_URL_SAFETY_POLICY, ValidationError, } from '@cat-factory/kernel';
1
+ import { getErrorMessage, STRICT_URL_SAFETY_POLICY } from '@cat-factory/kernel';
2
2
  import { safeFetch } from '../shared/safe-fetch.js';
3
+ import { assertSafePublicUrl } from '../shared/url-guard.js';
3
4
  // Pure helpers for the ephemeral-environment integration: SSRF validation of the
4
5
  // URLs we fetch/expose, `{{var}}` interpolation over a bounded scope, dot-path
5
6
  // extraction from an arbitrary self-rolled response, status mapping and expiry
@@ -41,54 +42,20 @@ export function shouldTeardownSuperseded(prior, next) {
41
42
  return true;
42
43
  return false;
43
44
  }
44
- /**
45
- * Whether `host` is exempt from the private/internal-host block under `policy`.
46
- * An allow-list entry matches the hostname case-insensitively, either exactly or as a
47
- * dot suffix when it begins with `.` (`.internal` matches `a.b.internal`).
48
- */
49
- function hostExempt(host, policy) {
50
- const h = host.toLowerCase().replace(/^\[|\]$/g, '');
51
- return policy.allowHosts.some((entry) => {
52
- const e = entry.toLowerCase();
53
- return e.startsWith('.') ? h === e.slice(1) || h.endsWith(e) : h === e;
54
- });
55
- }
56
45
  /**
57
46
  * Validate a URL before it is stored, fetched, or exposed. The default policy
58
47
  * (STRICT_URL_SAFETY_POLICY) requires `https` and rejects internal/private hosts; a
59
48
  * trusted operator-installed adapter can pass a widened policy to permit specific
60
49
  * schemes/hosts (e.g. an internal env platform on a private/VPN host). Embedded
61
- * credentials are forbidden regardless of policy. Parsed by hand (no `URL` global) so
62
- * this stays in the platform-agnostic core.
50
+ * credentials are forbidden regardless of policy.
51
+ *
52
+ * The environment-labelled face of the SHARED {@link assertSafePublicUrl} guard, which the
53
+ * runner-pool and notification-webhook integrations also front with their own wording. Only the
54
+ * message differs — the host/scheme rules are one implementation, so an SSRF bypass is fixed once
55
+ * rather than per integration.
63
56
  */
64
57
  export function assertSafeEnvironmentUrl(url, label = 'URL', policy = STRICT_URL_SAFETY_POLICY) {
65
- const invalid = () => new ValidationError(`Environment ${label} is not a valid URL: '${url}'`);
66
- const match = url.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/([^/?#]*)/);
67
- if (!match)
68
- throw invalid();
69
- if (!policy.schemes.includes(match[1].toLowerCase())) {
70
- const allowed = policy.schemes.join('/') || '(none)';
71
- throw new ValidationError(`Environment ${label} must use ${allowed}`);
72
- }
73
- const authority = match[2];
74
- if (authority.includes('@')) {
75
- throw new ValidationError(`Environment ${label} must not contain credentials`);
76
- }
77
- let host;
78
- if (authority.startsWith('[')) {
79
- const end = authority.indexOf(']');
80
- if (end === -1)
81
- throw invalid();
82
- host = authority.slice(1, end);
83
- }
84
- else {
85
- host = authority.split(':')[0];
86
- }
87
- if (host === '')
88
- throw invalid();
89
- if (!hostExempt(host, policy) && isBlockedPrivateHost(host)) {
90
- throw new ValidationError(`Environment ${label} must be a public host`);
91
- }
58
+ assertSafePublicUrl(url, { subject: 'Environment', label, policy });
92
59
  }
93
60
  /** Validate every URL a manifest will fetch (defence against SSRF). */
94
61
  export function assertManifestUrlsSafe(manifest, policy) {
@@ -1 +1 @@
1
- {"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { NotificationWebhook, PutNotificationWebhookInput } from '@cat-factory/contracts';
2
+ import type { Clock, NotificationWebhookRepository, SecretCipher, UrlSafetyPolicy } from '@cat-factory/kernel';
3
+ export interface NotificationWebhookServiceDependencies {
4
+ notificationWebhookRepository: NotificationWebhookRepository;
5
+ secretCipher: SecretCipher;
6
+ clock: Clock;
7
+ /**
8
+ * The deployment's widened endpoint guard, when configured. Absent ⇒ strict public-https. The
9
+ * SAME policy the delivery channel re-applies per redirect hop — they come from one builder for
10
+ * exactly this reason, so an endpoint can never be accepted at write time by a rule the delivery
11
+ * path would then reject (or, far worse, the reverse).
12
+ */
13
+ urlSafetyPolicy?: UrlSafetyPolicy;
14
+ }
15
+ export declare class NotificationWebhookService {
16
+ private readonly deps;
17
+ constructor(deps: NotificationWebhookServiceDependencies);
18
+ /** The workspace's webhook as exposed to clients, or null when none is registered. */
19
+ get(workspaceId: string): Promise<NotificationWebhook | null>;
20
+ /** Register or update the workspace's webhook. */
21
+ put(workspaceId: string, input: PutNotificationWebhookInput): Promise<NotificationWebhook>;
22
+ /** Remove the workspace's webhook. Idempotent. */
23
+ remove(workspaceId: string): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=NotificationWebhookService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationWebhookService.d.ts","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/NotificationWebhookService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,KAAK,EACV,KAAK,EAEL,6BAA6B,EAC7B,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAc5B,MAAM,WAAW,sCAAsC;IACrD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AAED,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,sCAAsC,EAAI;IAE7E,sFAAsF;IAChF,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAGlE;IAED,kDAAkD;IAC5C,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoB/F;IAED,kDAAkD;IAC5C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;CACF"}
@@ -0,0 +1,49 @@
1
+ import { assertSafeNotificationWebhookUrl } from './webhookUrl.js';
2
+ export class NotificationWebhookService {
3
+ deps;
4
+ constructor(deps) {
5
+ this.deps = deps;
6
+ }
7
+ /** The workspace's webhook as exposed to clients, or null when none is registered. */
8
+ async get(workspaceId) {
9
+ const record = await this.deps.notificationWebhookRepository.get(workspaceId);
10
+ return record ? toWire(record) : null;
11
+ }
12
+ /** Register or update the workspace's webhook. */
13
+ async put(workspaceId, input) {
14
+ // Reject a private/internal/metadata endpoint HERE, where an operator sees the error, rather
15
+ // than leaving it to fail per-delivery later. The wire schema's `https://` prefix check is the
16
+ // friendly first pass; this is the guard that actually holds (and the same one the delivery
17
+ // path re-runs on every redirect hop).
18
+ assertSafeNotificationWebhookUrl(input.url, this.deps.urlSafetyPolicy);
19
+ const existing = await this.deps.notificationWebhookRepository.get(workspaceId);
20
+ const record = {
21
+ workspaceId,
22
+ url: input.url,
23
+ types: input.types ?? existing?.types ?? [],
24
+ enabled: input.enabled ?? existing?.enabled ?? true,
25
+ // Omitted `secret` keeps the stored one; a supplied one rotates it.
26
+ secretSealed: input.secret
27
+ ? await this.deps.secretCipher.encrypt(input.secret)
28
+ : (existing?.secretSealed ?? null),
29
+ updatedAt: this.deps.clock.now(),
30
+ };
31
+ await this.deps.notificationWebhookRepository.put(record);
32
+ return toWire(record);
33
+ }
34
+ /** Remove the workspace's webhook. Idempotent. */
35
+ async remove(workspaceId) {
36
+ await this.deps.notificationWebhookRepository.delete(workspaceId);
37
+ }
38
+ }
39
+ /** Project the persisted record onto the wire shape — the sealed secret becomes a boolean. */
40
+ function toWire(record) {
41
+ return {
42
+ url: record.url,
43
+ types: record.types,
44
+ enabled: record.enabled,
45
+ hasSecret: record.secretSealed != null,
46
+ updatedAt: record.updatedAt,
47
+ };
48
+ }
49
+ //# sourceMappingURL=NotificationWebhookService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationWebhookService.js","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/NotificationWebhookService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAA;AA0BlE,MAAM,OAAO,0BAA0B;IACR,IAAI;IAAjC,YAA6B,IAA4C;oBAA5C,IAAI;IAA2C,CAAC;IAE7E,sFAAsF;IACtF,KAAK,CAAC,GAAG,CAAC,WAAmB;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvC,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,KAAkC;QAC/D,6FAA6F;QAC7F,+FAA+F;QAC/F,4FAA4F;QAC5F,uCAAuC;QACvC,gCAAgC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC/E,MAAM,MAAM,GAA8B;YACxC,WAAW;YACX,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,IAAI;YACnD,oEAAoE;YACpE,YAAY,EAAE,KAAK,CAAC,MAAM;gBACxB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACjC,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,MAAM,CAAC,WAAmB;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;CACF;AAED,8FAA8F;AAC9F,SAAS,MAAM,CAAC,MAAiC;IAC/C,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { Clock, Notification, NotificationChannel, NotificationWebhookRepository, SecretCipher, UrlSafetyPolicy } from '@cat-factory/kernel';
2
+ import { WEBHOOK_SIGNATURE_HEADERS } from './webhookSignature.js';
3
+ export interface WebhookNotificationChannelDependencies {
4
+ notificationWebhookRepository: NotificationWebhookRepository;
5
+ secretCipher: SecretCipher;
6
+ clock: Clock;
7
+ /** HTTP transport (each runtime exposes a global `fetch`); injectable for tests. */
8
+ fetchImpl?: typeof fetch;
9
+ /** Sleep between retries; injectable so tests don't spend real wall-clock on backoff. */
10
+ sleep?: (ms: number) => Promise<void>;
11
+ /**
12
+ * The deployment's widened URL guard for webhook endpoints, when one is configured
13
+ * (`NOTIFICATION_WEBHOOK_ALLOW_URL_HOSTS` / `_ALLOW_HTTP_URLS`). Absent ⇒ the strict
14
+ * public-https default: no private/internal hosts, no cloud-metadata endpoint. Resolved from the
15
+ * webhook's OWN config slice, so widening it cannot widen the runner-pool or environment guard.
16
+ */
17
+ urlSafetyPolicy?: UrlSafetyPolicy;
18
+ /**
19
+ * Optional observability hook invoked when a delivery ultimately fails. Delivery is best-effort
20
+ * (a receiver outage must never break the notification lifecycle), but a swallowed failure
21
+ * should still be diagnosable — the facades wire this to their structured logger, so a broken
22
+ * endpoint surfaces instead of vanishing. Mirrors `SlackNotificationChannel.onError`.
23
+ */
24
+ onError?: (error: unknown, context: {
25
+ workspaceId: string;
26
+ notificationId: string;
27
+ type: string;
28
+ }) => void;
29
+ }
30
+ export declare class WebhookNotificationChannel implements NotificationChannel {
31
+ private readonly deps;
32
+ private readonly fetchImpl;
33
+ private readonly sleep;
34
+ constructor(deps: WebhookNotificationChannelDependencies);
35
+ deliver(workspaceId: string, notification: Notification): Promise<void>;
36
+ private post;
37
+ }
38
+ export { WEBHOOK_SIGNATURE_HEADERS };
39
+ //# sourceMappingURL=WebhookNotificationChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookNotificationChannel.d.ts","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/WebhookNotificationChannel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,mBAAmB,EAGnB,6BAA6B,EAC7B,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAuB,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAqCtF,MAAM,WAAW,sCAAsC;IACrD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,yFAAyF;IACzF,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACnE,IAAI,CAAA;CACV;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAIxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,YAA6B,IAAI,EAAE,sCAAsC,EAGxE;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5E;YAEa,IAAI;CA8EnB;AAmBD,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
@@ -0,0 +1,154 @@
1
+ import { DEFAULT_NOTIFICATION_WEBHOOK_TYPES, } from '@cat-factory/contracts';
2
+ import { ValidationError } from '@cat-factory/kernel';
3
+ import { DEFAULT_MAX_REDIRECTS, safeFetch } from '../shared/safe-fetch.js';
4
+ import { assertSafeNotificationWebhookUrl } from './webhookUrl.js';
5
+ import { signWebhookDelivery, WEBHOOK_SIGNATURE_HEADERS } from './webhookSignature.js';
6
+ // WebhookNotificationChannel: an outbound HTTP delivery transport for the existing notification
7
+ // mechanism. It implements the same `NotificationChannel` port as the in-app and Slack channels
8
+ // and is composed alongside them via `CompositeNotificationChannel` — so the engine call sites
9
+ // that raise notifications are untouched.
10
+ //
11
+ // This is the channel a HEADLESS integration needs. A public-API caller has no in-app inbox to
12
+ // watch and no browser to hold a WebSocket open, so without a push it can only learn that its run
13
+ // parked by polling. That matters most for the clarification loop: a parked run waits for a human
14
+ // INDEFINITELY, so "the caller will notice eventually" is not a design (see
15
+ // `docs/initiatives/headless-clarification-loop.md`, D3).
16
+ //
17
+ // Runtime-neutral (fetch + decrypt + one DB read), so it lives here in @cat-factory/integrations
18
+ // and serves BOTH runtime facades unchanged.
19
+ /** How many attempts one delivery gets, and how long to wait between them (exponential). */
20
+ const MAX_ATTEMPTS = 3;
21
+ const BASE_RETRY_MS = 250;
22
+ /** Give up on a single HTTP attempt after this long, so a black-holing endpoint can't hang us. */
23
+ const REQUEST_TIMEOUT_MS = 5000;
24
+ /**
25
+ * The ceiling on ONE delivery across all of its attempts. This is the number that matters, and it
26
+ * is not the per-attempt timeout multiplied out: `NotificationService.raise` AWAITS the channel
27
+ * fan-out, so every millisecond spent here is latency added to the engine step that raises the
28
+ * notification — the very step that parks a run. Three 5s attempts plus backoff would let a dead
29
+ * receiver add ~15.8s to a park, which the in-app and Slack channels never do.
30
+ *
31
+ * So the retry budget is a WALL-CLOCK deadline, not an attempt count: attempts stop as soon as the
32
+ * remaining budget is gone, and each attempt's own timeout is clamped to what is left. Delivery is
33
+ * best-effort by contract, so a receiver too slow to answer inside the budget is treated exactly
34
+ * like one that failed — logged through `onError`, never propagated.
35
+ */
36
+ const TOTAL_DELIVERY_BUDGET_MS = 6000;
37
+ export class WebhookNotificationChannel {
38
+ deps;
39
+ fetchImpl;
40
+ sleep;
41
+ constructor(deps) {
42
+ this.deps = deps;
43
+ this.fetchImpl = deps.fetchImpl ?? ((...args) => globalThis.fetch(...args));
44
+ this.sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
45
+ }
46
+ async deliver(workspaceId, notification) {
47
+ try {
48
+ await this.post(workspaceId, notification);
49
+ }
50
+ catch (error) {
51
+ // Best-effort: never let a receiver outage/misconfig break the notification lifecycle
52
+ // (CompositeNotificationChannel also isolates us, belt-and-braces). Surface it through the
53
+ // optional observability hook so the failure is diagnosable instead of silently dropped.
54
+ this.deps.onError?.(error, {
55
+ workspaceId,
56
+ notificationId: notification.id,
57
+ type: notification.type,
58
+ });
59
+ }
60
+ }
61
+ async post(workspaceId, notification) {
62
+ const webhook = await this.deps.notificationWebhookRepository.get(workspaceId);
63
+ if (!webhook || !webhook.enabled)
64
+ return;
65
+ if (!deliversType(webhook, notification.type))
66
+ return;
67
+ const body = {
68
+ // Stable per notification-and-status: a retried attempt repeats it, so a receiver dedupes on
69
+ // it. The status suffix keeps the delivery of a RESOLVED card (channels are re-delivered on
70
+ // resolve) distinct from the original open one, which is a genuinely different event.
71
+ deliveryId: `${notification.id}-${notification.status}`,
72
+ sentAt: this.deps.clock.now(),
73
+ workspaceId,
74
+ runId: notification.executionId,
75
+ taskId: notification.blockId,
76
+ notification,
77
+ };
78
+ const payload = JSON.stringify(body);
79
+ const headers = {
80
+ 'content-type': 'application/json',
81
+ 'user-agent': 'cat-factory',
82
+ };
83
+ if (webhook.secretSealed) {
84
+ const secret = await this.deps.secretCipher.decrypt(webhook.secretSealed);
85
+ Object.assign(headers, await signWebhookDelivery(secret, payload, body.sentAt));
86
+ }
87
+ // The endpoint is operator-supplied, and the body we are about to POST carries the workspace's
88
+ // work descriptions signed with a deployment secret. So the URL is re-validated on EVERY
89
+ // redirect hop through the shared SSRF seam: `startsWith('https://')` at registration only ever
90
+ // vouched for the FIRST url, and a receiver is free to 302 that to the cloud-metadata endpoint.
91
+ // `safeFetch` also strips the body and credential headers on a cross-origin hop, so a permitted
92
+ // host cannot bounce the delivery to a different one.
93
+ const assertSafe = (u) => assertSafeNotificationWebhookUrl(u, this.deps.urlSafetyPolicy);
94
+ const deadline = this.deps.clock.now() + TOTAL_DELIVERY_BUDGET_MS;
95
+ let lastError;
96
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
97
+ if (attempt > 0) {
98
+ // Only back off if there is budget left to use afterwards — sleeping into the deadline
99
+ // would burn the caller's latency and then not even attempt the retry it paid for.
100
+ const backoff = BASE_RETRY_MS * 2 ** (attempt - 1);
101
+ if (this.deps.clock.now() + backoff >= deadline)
102
+ break;
103
+ await this.sleep(backoff);
104
+ }
105
+ // Clamp this attempt to whatever is left, so the TOTAL is bounded rather than the per-attempt
106
+ // timeout multiplied by the attempt count.
107
+ const remaining = deadline - this.deps.clock.now();
108
+ if (remaining <= 0)
109
+ break;
110
+ try {
111
+ const response = await safeFetch(webhook.url, {
112
+ method: 'POST',
113
+ headers,
114
+ body: payload,
115
+ signal: AbortSignal.timeout(Math.min(REQUEST_TIMEOUT_MS, remaining)),
116
+ }, assertSafe, makeWebhookError, DEFAULT_MAX_REDIRECTS, this.fetchImpl);
117
+ if (response.ok)
118
+ return;
119
+ // A 4xx is the receiver saying "this request is wrong" — a bad secret, a rejected shape, a
120
+ // revoked endpoint. Retrying cannot fix it and only multiplies the load, so give up now
121
+ // and let the error hook report it. 5xx / network faults are transient: those retry.
122
+ lastError = new Error(`Webhook endpoint responded ${response.status}`);
123
+ if (response.status >= 400 && response.status < 500)
124
+ break;
125
+ }
126
+ catch (error) {
127
+ // A blocked hop (`assertSafe` threw) is a CONFIGURATION fault, not a transient one:
128
+ // retrying re-walks the same redirect chain to the same rejected target. Give up and let
129
+ // the operator see it, exactly as with a 4xx.
130
+ lastError = error;
131
+ if (error instanceof ValidationError)
132
+ break;
133
+ }
134
+ }
135
+ throw lastError ?? new Error('Webhook delivery failed');
136
+ }
137
+ }
138
+ /** Builds the redirect/size errors `safeFetch` raises, carrying its status for the log line. */
139
+ function makeWebhookError(status, message) {
140
+ return new Error(`Webhook delivery failed (${status}): ${message}`);
141
+ }
142
+ /**
143
+ * Whether a webhook delivers this notification type. An EMPTY filter means the defaults (the
144
+ * parking + actionable-tail types), NOT everything — registering an endpoint should not silently
145
+ * fire-hose every operator card at an integration that only wanted to hear about parked decisions.
146
+ */
147
+ function deliversType(webhook, type) {
148
+ const types = webhook.types.length
149
+ ? webhook.types
150
+ : DEFAULT_NOTIFICATION_WEBHOOK_TYPES;
151
+ return types.includes(type);
152
+ }
153
+ export { WEBHOOK_SIGNATURE_HEADERS };
154
+ //# sourceMappingURL=WebhookNotificationChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookNotificationChannel.js","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/WebhookNotificationChannel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { Clock, NotificationWebhookRepository, SecretCipher, UrlSafetyPolicy } from '@cat-factory/kernel';
2
+ import { NotificationWebhookService } from './NotificationWebhookService.js';
3
+ import { WebhookNotificationChannel } from './WebhookNotificationChannel.js';
4
+ /**
5
+ * HKDF `info` tag the notification-webhook signing secret is sealed under, so it is
6
+ * cryptographically isolated from every other sealed credential class (Slack tokens, tracker
7
+ * credentials, package-registry auth) even though they share the deployment master key.
8
+ */
9
+ export declare const NOTIFICATION_WEBHOOK_CIPHER_INFO = "cat-factory:notification-webhook";
10
+ export interface NotificationWebhookSupportDependencies {
11
+ notificationWebhookRepository: NotificationWebhookRepository;
12
+ secretCipher: SecretCipher;
13
+ clock: Clock;
14
+ /**
15
+ * The deployment's widened endpoint guard (its own `NOTIFICATION_WEBHOOK_ALLOW_*` slice), or
16
+ * absent for the strict public-https default. Handed to BOTH halves from here, so the rule that
17
+ * admits an endpoint at registration is by construction the rule the delivery path enforces.
18
+ */
19
+ urlSafetyPolicy?: UrlSafetyPolicy;
20
+ fetchImpl?: typeof fetch;
21
+ /** Structured-logger hook for a delivery that ultimately failed (best-effort ≠ invisible). */
22
+ onError?: (error: unknown, context: {
23
+ workspaceId: string;
24
+ notificationId: string;
25
+ type: string;
26
+ }) => void;
27
+ }
28
+ /**
29
+ * Build BOTH halves of the notification-webhook feature from one dependency set: the management
30
+ * service (behind the workspace controller) and the delivery channel (composed into the facade's
31
+ * `CompositeNotificationChannel`).
32
+ *
33
+ * They exist as one builder because they MUST read the same rows through the same cipher —
34
+ * a facade that wired the service against one repository and the channel against another would
35
+ * present a webhook as configured while delivering nothing, and each facade wiring them
36
+ * separately is exactly how that drift happens. Both runtimes call this with their own repo.
37
+ */
38
+ export declare function buildNotificationWebhookSupport(deps: NotificationWebhookSupportDependencies): {
39
+ service: NotificationWebhookService;
40
+ channel: WebhookNotificationChannel;
41
+ };
42
+ //# sourceMappingURL=support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../src/modules/notificationWebhook/support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,6BAA6B,EAC7B,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,qCAAqC,CAAA;AAElF,MAAM,WAAW,sCAAsC;IACrD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACnE,IAAI,CAAA;CACV;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,sCAAsC,GAAG;IAC7F,OAAO,EAAE,0BAA0B,CAAA;IACnC,OAAO,EAAE,0BAA0B,CAAA;CACpC,CAiBA"}