1import * as lexr from "@distilled.cloud/aws/lex-runtime-v2";
2import * as Layer from "effect/Layer";
3import { makeLexAliasHttpBinding } from "./BindingHttp.ts";
4import { PutSession, type PutSessionRequest } from "./PutSession.ts";
5
6/**
7 * HTTP implementation of {@link PutSession} — calls the `lex-runtime-v2`
8 * `PutSession` operation with the Lambda role's credentials and grants the
9 * host `lex:PutSession` on the alias.
10 */
11export const PutSessionHttp = Layer.effect(
12 PutSession,
13 makeLexAliasHttpBinding<
14 PutSessionRequest,
15 lexr.PutSessionResponse,
16 lexr.PutSessionError
17 >({
18 capability: "PutSession",
19 iamActions: ["lex:PutSession"],
20 operation: lexr.putSession,
21 }),
22);