Skip to content
Source
Sign inSign up

ThreadCommandExecutor.ts

11 lines447 Bytes

1import type { ThreadId } from "@t3tools/contracts";
2import * as KeyedLock from "@t3tools/shared/KeyedLock";
3import * as Context from "effect/Context";
4import * as Layer from "effect/Layer";
5​
6export class ThreadCommandExecutor extends Context.Service<
7 ThreadCommandExecutor,
8 KeyedLock.KeyedLock<ThreadId>
9>()("t3/orchestration-v2/ThreadCommandExecutor") {}
10​
11export const layer = Layer.effect(ThreadCommandExecutor, KeyedLock.make<ThreadId>());