(
url: string,
)
| 2998 | ); |
| 2999 | |
| 3000 | const integrationsDetect = ( |
| 3001 | url: string, |
| 3002 | ): Effect.Effect<readonly IntegrationDetectionResult[], StorageFailure> => |
| 3003 | Effect.gen(function* () { |
| 3004 | const results: IntegrationDetectionResult[] = []; |
| 3005 | for (const runtime of runtimes.values()) { |
| 3006 | if (!runtime.plugin.detect) continue; |
| 3007 | const result = yield* runtime.plugin |
| 3008 | .detect({ ctx: runtime.ctx, url }) |
| 3009 | .pipe( |
| 3010 | Effect.mapError((cause) => pluginStorageFailure(runtime.plugin.id, "detect", cause)), |
| 3011 | ); |
| 3012 | if (result) results.push(result); |
| 3013 | } |
| 3014 | return results; |
| 3015 | }); |
| 3016 | |
| 3017 | // ------------------------------------------------------------------ |
| 3018 | // Health checks: dispatch to the owning plugin's hooks. |
no test coverage detected