Package: @effect/ai
Module: index
Re-exports all named exports from the “./IdGenerator.js” module as IdGenerator.
Example
import { IdGenerator } from "@effect/ai"
import { Effect, Layer } from "effect"
// Using the default ID generator
const program = Effect.gen(function* () {
const idGen = yield* IdGenerator.IdGenerator
const toolCallId = yield* idGen.generateId()
console.log(toolCallId) // "id_A7xK9mP2qR5tY8uV"
return toolCallId
}).pipe(
Effect.provide(Layer.succeed(
IdGenerator.IdGenerator,
IdGenerator.defaultIdGenerator
))
)
Example
import { IdGenerator } from "@effect/ai"
import { Effect, Layer } from "effect"
// Creating a custom ID generator for AI tool calls
const customLayer = IdGenerator.layer({
alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
prefix: "tool_call",
separator: "-",
size: 12
})
const program = Effect.gen(function* () {
const idGen = yield* IdGenerator.IdGenerator
const id = yield* idGen.generateId()
console.log(id) // "tool_call-A7XK9MP2QR5T"
return id
}).pipe(
Effect.provide(customLayer)
)
Signature
export * as IdGenerator from "./IdGenerator.js"
Since v1.0.0