(
url: string,
)
| 3168 | ); |
| 3169 | |
| 3170 | const integrationsDetect = ( |
| 3171 | url: string, |
| 3172 | ): Effect.Effect<readonly IntegrationDetectionResult[], StorageFailure> => |
| 3173 | Effect.gen(function* () { |
| 3174 | const results: IntegrationDetectionResult[] = []; |
| 3175 | for (const runtime of runtimes.values()) { |
| 3176 | if (!runtime.plugin.detect) continue; |
| 3177 | const result = yield* runtime.plugin |
| 3178 | .detect({ ctx: runtime.ctx, url }) |
| 3179 | .pipe( |
| 3180 | Effect.mapError((cause) => pluginStorageFailure(runtime.plugin.id, "detect", cause)), |
| 3181 | ); |
| 3182 | if (result) results.push(result); |
| 3183 | } |
| 3184 | return results; |
| 3185 | }); |
| 3186 | |
| 3187 | // ------------------------------------------------------------------ |
| 3188 | // Health checks: dispatch to the owning plugin's hooks. |
no test coverage detected