Advance TS port Effect workbench

This commit is contained in:
elpresidank 2026-06-01 16:22:25 -05:00
parent 92dae8c374
commit 3515106670
116 changed files with 12286 additions and 9584 deletions

View file

@ -10,13 +10,17 @@
import { AzureOpenAI } from "openai";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
tooManyRequestsError,
} from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class AzureOpenAIProcessor extends LlmService {
private client: AzureOpenAI;
@ -157,11 +161,16 @@ export class AzureOpenAIProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new AzureOpenAIProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new AzureOpenAIProcessor(config))),
),
});
export async function run(): Promise<void> {
await AzureOpenAIProcessor.launch("text-completion");
await Effect.runPromise(program);
}

View file

@ -5,8 +5,18 @@
*/
import Anthropic from "@anthropic-ai/sdk";
import { LlmService, type ProcessorConfig, type LlmResult, type LlmChunk, tooManyRequestsError } from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
tooManyRequestsError,
} from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class ClaudeProcessor extends LlmService {
private client: Anthropic;
@ -127,11 +137,16 @@ export class ClaudeProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new ClaudeProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new ClaudeProcessor(config))),
),
});
export async function run(): Promise<void> {
await ClaudeProcessor.launch("text-completion");
await Effect.runPromise(program);
}

View file

@ -8,13 +8,17 @@
import { Mistral } from "@mistralai/mistralai";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
tooManyRequestsError,
} from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class MistralProcessor extends LlmService {
private client: Mistral;
@ -143,11 +147,16 @@ export class MistralProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new MistralProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new MistralProcessor(config))),
),
});
export async function run(): Promise<void> {
await MistralProcessor.launch("text-completion");
await Effect.runPromise(program);
}

View file

@ -7,8 +7,17 @@
*/
import { Ollama } from "ollama";
import { LlmService, type ProcessorConfig, type LlmResult, type LlmChunk } from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
} from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class OllamaProcessor extends LlmService {
private client: Ollama;
@ -113,11 +122,16 @@ export class OllamaProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new OllamaProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new OllamaProcessor(config))),
),
});
export async function run(): Promise<void> {
await OllamaProcessor.launch("text-completion");
await Effect.runPromise(program);
}

View file

@ -11,12 +11,16 @@
import OpenAI from "openai";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
} from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class OpenAICompatibleProcessor extends LlmService {
private client: OpenAI;
@ -137,11 +141,16 @@ export class OpenAICompatibleProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new OpenAICompatibleProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new OpenAICompatibleProcessor(config))),
),
});
export async function run(): Promise<void> {
await OpenAICompatibleProcessor.launch("text-completion");
await Effect.runPromise(program);
}

View file

@ -5,8 +5,18 @@
*/
import OpenAI from "openai";
import { LlmService, type ProcessorConfig, type LlmResult, type LlmChunk, tooManyRequestsError } from "@trustgraph/base";
import { makeProcessorProgram } from "@trustgraph/base";
import {
Llm,
LlmService,
makeFlowProcessorProgram,
makeLlmServiceShape,
makeLlmSpecs,
type ProcessorConfig,
type LlmResult,
type LlmChunk,
tooManyRequestsError,
} from "@trustgraph/base";
import { Effect, Layer } from "effect";
export class OpenAIProcessor extends LlmService {
private client: OpenAI;
@ -137,11 +147,16 @@ export class OpenAIProcessor extends LlmService {
}
}
export const program = makeProcessorProgram({
export const program = makeFlowProcessorProgram<ProcessorConfig, never, Llm>({
id: "text-completion",
make: (config) => new OpenAIProcessor(config),
specs: () => makeLlmSpecs(),
layer: (config) =>
Layer.succeed(
Llm,
Llm.of(makeLlmServiceShape(new OpenAIProcessor(config))),
),
});
export async function run(): Promise<void> {
await OpenAIProcessor.launch("text-completion");
await Effect.runPromise(program);
}