(
url: string,
)
| 3424 | ); |
| 3425 | |
| 3426 | const integrationsDetect = ( |
| 3427 | url: string, |
| 3428 | ): Effect.Effect<readonly IntegrationDetectionResult[], StorageFailure> => |
| 3429 | Effect.gen(function* () { |
| 3430 | const results: IntegrationDetectionResult[] = []; |
| 3431 | for (const runtime of runtimes.values()) { |
| 3432 | if (!runtime.plugin.detect) continue; |
| 3433 | const result = yield* runtime.plugin |
| 3434 | .detect({ ctx: runtime.ctx, url }) |
| 3435 | .pipe( |
| 3436 | Effect.mapError((cause) => pluginStorageFailure(runtime.plugin.id, "detect", cause)), |
| 3437 | ); |
| 3438 | if (result) results.push(result); |
| 3439 | } |
| 3440 | return results; |
| 3441 | }); |
| 3442 | |
| 3443 | // ------------------------------------------------------------------ |
| 3444 | // Health checks: dispatch to the owning plugin's hooks. |
no test coverage detected