mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-22 05:59:31 +08:00
* Expand static compilation for common Effect 4 patterns * Run every Effect 4 fixture slice in CI * Preserve existing corpus behavior across Effect 4 lowering * Preserve Effect platform callbacks and native stream state * Record new corpus baselines and retain child stdin refusals * Retire the obsolete stateful regex diagnostic * Preserve promise reference count layout for cycle collection
7 lines
669 B
TypeScript
7 lines
669 B
TypeScript
import * as Effect from "effect/Effect"
|
|
import * as Stream from "effect/Stream"
|
|
import * as Schema from "effect/Schema"
|
|
import * as Tool from "effect/ai/Tool"
|
|
import * as Toolkit from "effect/ai/Toolkit"
|
|
const kit=Toolkit.make(Tool.make("double",{description:"double",parameters:Schema.Struct({n:Schema.Number}),success:Schema.Number}));const layer=kit.toLayer({double:({n})=>Effect.succeed(n*2)});Effect.runPromise((Effect.gen(function*(){const handlers=yield* kit;const stream=yield* handlers.handle("double",{n:21},"call-1");return yield* Stream.runCollect(stream)}).pipe(Effect.provide(layer))).pipe(Effect.tap(v=>Effect.sync(()=>console.log(JSON.stringify(v))))))
|