1import * as aiplatform from "@distilled.cloud/gcp/aiplatform_v1";
2import * as Layer from "effect/Layer";
3import { makeNamedHttpBinding } from "./BindingHttp.ts";
4import { QueryReasoningEngine } from "./QueryReasoningEngine.ts";
5import type { ReasoningEngine } from "./ReasoningEngine.ts";
6
7/**
8 * HTTP implementation of {@link QueryReasoningEngine}.
9 *
10 * @layer
11 * @provides GCP.AIPlatform.QueryReasoningEngine
12 */
13export const QueryReasoningEngineHttp = Layer.effect(
14 QueryReasoningEngine,
15 makeNamedHttpBinding<
16 ReasoningEngine,
17 aiplatform.QueryReasoningEnginesRequest,
18 aiplatform.GoogleCloudAiplatformV1QueryReasoningEngineResponse,
19 aiplatform.QueryReasoningEnginesError
20 >({
21 tag: "GCP.AIPlatform.QueryReasoningEngine",
22 operation: aiplatform.queryReasoningEngines,
23 iam: { role: "roles/aiplatform.viewer" },
24 }),
25);