@effect-uai/core 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{AiError-CqmYjXyx.d.mts → AiError-csR8Bhxx.d.mts} +26 -4
- package/dist/{AiError-CqmYjXyx.d.mts.map → AiError-csR8Bhxx.d.mts.map} +1 -1
- package/dist/Audio-BfCTGnH3.d.mts +61 -0
- package/dist/Audio-BfCTGnH3.d.mts.map +1 -0
- package/dist/Image-DxyXqzAM.d.mts +61 -0
- package/dist/Image-DxyXqzAM.d.mts.map +1 -0
- package/dist/{Items-D1C2686t.d.mts → Items-Hg5AsYxl.d.mts} +132 -80
- package/dist/Items-Hg5AsYxl.d.mts.map +1 -0
- package/dist/Media-D_CpcM1Z.d.mts +57 -0
- package/dist/Media-D_CpcM1Z.d.mts.map +1 -0
- package/dist/{StructuredFormat-B5ueioNr.d.mts → StructuredFormat-Cl41C56K.d.mts} +5 -5
- package/dist/StructuredFormat-Cl41C56K.d.mts.map +1 -0
- package/dist/{Tool-5wxOCuOh.d.mts → Tool-B8B5qVEy.d.mts} +13 -13
- package/dist/Tool-B8B5qVEy.d.mts.map +1 -0
- package/dist/{Turn-Bi83du4I.d.mts → Turn-7geUcKsf.d.mts} +5 -11
- package/dist/Turn-7geUcKsf.d.mts.map +1 -0
- package/dist/{chunk-CfYAbeIz.mjs → chunk-uyGKjUfl.mjs} +2 -1
- package/dist/dist-DV5ISja1.mjs +13782 -0
- package/dist/dist-DV5ISja1.mjs.map +1 -0
- package/dist/domain/AiError.d.mts +2 -2
- package/dist/domain/AiError.mjs +19 -3
- package/dist/domain/AiError.mjs.map +1 -1
- package/dist/domain/Audio.d.mts +2 -0
- package/dist/domain/Audio.mjs +14 -0
- package/dist/domain/Audio.mjs.map +1 -0
- package/dist/domain/Image.d.mts +2 -0
- package/dist/domain/Image.mjs +58 -0
- package/dist/domain/Image.mjs.map +1 -0
- package/dist/domain/Items.d.mts +2 -2
- package/dist/domain/Items.mjs +19 -42
- package/dist/domain/Items.mjs.map +1 -1
- package/dist/domain/Media.d.mts +2 -0
- package/dist/domain/Media.mjs +14 -0
- package/dist/domain/Media.mjs.map +1 -0
- package/dist/domain/Music.d.mts +116 -0
- package/dist/domain/Music.d.mts.map +1 -0
- package/dist/domain/Music.mjs +29 -0
- package/dist/domain/Music.mjs.map +1 -0
- package/dist/domain/Transcript.d.mts +95 -0
- package/dist/domain/Transcript.d.mts.map +1 -0
- package/dist/domain/Transcript.mjs +22 -0
- package/dist/domain/Transcript.mjs.map +1 -0
- package/dist/domain/Turn.d.mts +1 -1
- package/dist/domain/Turn.mjs +1 -1
- package/dist/embedding-model/Embedding.d.mts +107 -0
- package/dist/embedding-model/Embedding.d.mts.map +1 -0
- package/dist/embedding-model/Embedding.mjs +18 -0
- package/dist/embedding-model/Embedding.mjs.map +1 -0
- package/dist/embedding-model/EmbeddingModel.d.mts +97 -0
- package/dist/embedding-model/EmbeddingModel.d.mts.map +1 -0
- package/dist/embedding-model/EmbeddingModel.mjs +17 -0
- package/dist/embedding-model/EmbeddingModel.mjs.map +1 -0
- package/dist/index.d.mts +21 -7
- package/dist/index.mjs +16 -2
- package/dist/language-model/LanguageModel.d.mts +12 -20
- package/dist/language-model/LanguageModel.d.mts.map +1 -1
- package/dist/language-model/LanguageModel.mjs +3 -20
- package/dist/language-model/LanguageModel.mjs.map +1 -1
- package/dist/loop/Loop.d.mts +31 -7
- package/dist/loop/Loop.d.mts.map +1 -1
- package/dist/loop/Loop.mjs +39 -6
- package/dist/loop/Loop.mjs.map +1 -1
- package/dist/loop/Loop.test.d.mts +1 -0
- package/dist/loop/Loop.test.mjs +411 -0
- package/dist/loop/Loop.test.mjs.map +1 -0
- package/dist/magic-string.es-BgIV5Mu3.mjs +1013 -0
- package/dist/magic-string.es-BgIV5Mu3.mjs.map +1 -0
- package/dist/math/Vector.d.mts +47 -0
- package/dist/math/Vector.d.mts.map +1 -0
- package/dist/math/Vector.mjs +117 -0
- package/dist/math/Vector.mjs.map +1 -0
- package/dist/music-generator/MusicGenerator.d.mts +77 -0
- package/dist/music-generator/MusicGenerator.d.mts.map +1 -0
- package/dist/music-generator/MusicGenerator.mjs +51 -0
- package/dist/music-generator/MusicGenerator.mjs.map +1 -0
- package/dist/music-generator/MusicGenerator.test.d.mts +1 -0
- package/dist/music-generator/MusicGenerator.test.mjs +154 -0
- package/dist/music-generator/MusicGenerator.test.mjs.map +1 -0
- package/dist/observability/Metrics.d.mts +2 -2
- package/dist/observability/Metrics.d.mts.map +1 -1
- package/dist/observability/Metrics.mjs +1 -1
- package/dist/observability/Metrics.mjs.map +1 -1
- package/dist/speech-synthesizer/SpeechSynthesizer.d.mts +96 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.d.mts.map +1 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.mjs +48 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.mjs.map +1 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.test.d.mts +1 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.test.mjs +112 -0
- package/dist/speech-synthesizer/SpeechSynthesizer.test.mjs.map +1 -0
- package/dist/streaming/JSONL.d.mts +10 -3
- package/dist/streaming/JSONL.d.mts.map +1 -1
- package/dist/streaming/JSONL.mjs +13 -2
- package/dist/streaming/JSONL.mjs.map +1 -1
- package/dist/streaming/JSONL.test.d.mts +1 -0
- package/dist/streaming/JSONL.test.mjs +70 -0
- package/dist/streaming/JSONL.test.mjs.map +1 -0
- package/dist/streaming/Lines.mjs +1 -1
- package/dist/streaming/SSE.d.mts +2 -2
- package/dist/streaming/SSE.d.mts.map +1 -1
- package/dist/streaming/SSE.mjs +1 -1
- package/dist/streaming/SSE.mjs.map +1 -1
- package/dist/streaming/SSE.test.d.mts +1 -0
- package/dist/streaming/SSE.test.mjs +72 -0
- package/dist/streaming/SSE.test.mjs.map +1 -0
- package/dist/structured-format/StructuredFormat.d.mts +1 -1
- package/dist/structured-format/StructuredFormat.mjs +1 -1
- package/dist/structured-format/StructuredFormat.mjs.map +1 -1
- package/dist/testing/MockMusicGenerator.d.mts +39 -0
- package/dist/testing/MockMusicGenerator.d.mts.map +1 -0
- package/dist/testing/MockMusicGenerator.mjs +96 -0
- package/dist/testing/MockMusicGenerator.mjs.map +1 -0
- package/dist/testing/MockProvider.d.mts +6 -6
- package/dist/testing/MockProvider.d.mts.map +1 -1
- package/dist/testing/MockProvider.mjs.map +1 -1
- package/dist/testing/MockSpeechSynthesizer.d.mts +37 -0
- package/dist/testing/MockSpeechSynthesizer.d.mts.map +1 -0
- package/dist/testing/MockSpeechSynthesizer.mjs +95 -0
- package/dist/testing/MockSpeechSynthesizer.mjs.map +1 -0
- package/dist/testing/MockTranscriber.d.mts +37 -0
- package/dist/testing/MockTranscriber.d.mts.map +1 -0
- package/dist/testing/MockTranscriber.mjs +77 -0
- package/dist/testing/MockTranscriber.mjs.map +1 -0
- package/dist/tool/HistoryCheck.d.mts +6 -3
- package/dist/tool/HistoryCheck.d.mts.map +1 -1
- package/dist/tool/HistoryCheck.mjs +7 -1
- package/dist/tool/HistoryCheck.mjs.map +1 -1
- package/dist/tool/Outcome.d.mts +138 -2
- package/dist/tool/Outcome.d.mts.map +1 -0
- package/dist/tool/Outcome.mjs +32 -10
- package/dist/tool/Outcome.mjs.map +1 -1
- package/dist/tool/Resolvers.d.mts +11 -8
- package/dist/tool/Resolvers.d.mts.map +1 -1
- package/dist/tool/Resolvers.mjs +10 -1
- package/dist/tool/Resolvers.mjs.map +1 -1
- package/dist/tool/Resolvers.test.d.mts +1 -0
- package/dist/tool/Resolvers.test.mjs +317 -0
- package/dist/tool/Resolvers.test.mjs.map +1 -0
- package/dist/tool/Tool.d.mts +1 -1
- package/dist/tool/Tool.mjs +1 -1
- package/dist/tool/Tool.mjs.map +1 -1
- package/dist/tool/ToolEvent.d.mts +151 -2
- package/dist/tool/ToolEvent.d.mts.map +1 -0
- package/dist/tool/ToolEvent.mjs +30 -4
- package/dist/tool/ToolEvent.mjs.map +1 -1
- package/dist/tool/Toolkit.d.mts +19 -10
- package/dist/tool/Toolkit.d.mts.map +1 -1
- package/dist/tool/Toolkit.mjs +5 -5
- package/dist/tool/Toolkit.mjs.map +1 -1
- package/dist/tool/Toolkit.test.d.mts +1 -0
- package/dist/tool/Toolkit.test.mjs +113 -0
- package/dist/tool/Toolkit.test.mjs.map +1 -0
- package/dist/transcriber/Transcriber.d.mts +101 -0
- package/dist/transcriber/Transcriber.d.mts.map +1 -0
- package/dist/transcriber/Transcriber.mjs +49 -0
- package/dist/transcriber/Transcriber.mjs.map +1 -0
- package/dist/transcriber/Transcriber.test.d.mts +1 -0
- package/dist/transcriber/Transcriber.test.mjs +130 -0
- package/dist/transcriber/Transcriber.test.mjs.map +1 -0
- package/package.json +65 -13
- package/src/domain/AiError.ts +21 -0
- package/src/domain/Audio.ts +88 -0
- package/src/domain/Image.ts +75 -0
- package/src/domain/Items.ts +18 -47
- package/src/domain/Media.ts +61 -0
- package/src/domain/Music.ts +121 -0
- package/src/domain/Transcript.ts +83 -0
- package/src/embedding-model/Embedding.ts +117 -0
- package/src/embedding-model/EmbeddingModel.ts +107 -0
- package/src/index.ts +15 -1
- package/src/language-model/LanguageModel.ts +2 -22
- package/src/loop/Loop.test.ts +114 -2
- package/src/loop/Loop.ts +69 -5
- package/src/math/Vector.ts +138 -0
- package/src/music-generator/MusicGenerator.test.ts +170 -0
- package/src/music-generator/MusicGenerator.ts +123 -0
- package/src/observability/Metrics.ts +1 -1
- package/src/speech-synthesizer/SpeechSynthesizer.test.ts +141 -0
- package/src/speech-synthesizer/SpeechSynthesizer.ts +131 -0
- package/src/streaming/JSONL.ts +12 -0
- package/src/streaming/SSE.ts +1 -1
- package/src/structured-format/StructuredFormat.ts +2 -2
- package/src/testing/MockMusicGenerator.ts +170 -0
- package/src/testing/MockProvider.ts +2 -2
- package/src/testing/MockSpeechSynthesizer.ts +165 -0
- package/src/testing/MockTranscriber.ts +139 -0
- package/src/tool/HistoryCheck.ts +2 -5
- package/src/tool/Outcome.ts +36 -36
- package/src/tool/Resolvers.test.ts +11 -35
- package/src/tool/Resolvers.ts +5 -14
- package/src/tool/Tool.ts +9 -9
- package/src/tool/ToolEvent.ts +28 -24
- package/src/tool/Toolkit.test.ts +97 -2
- package/src/tool/Toolkit.ts +57 -33
- package/src/transcriber/Transcriber.test.ts +125 -0
- package/src/transcriber/Transcriber.ts +127 -0
- package/dist/Items-D1C2686t.d.mts.map +0 -1
- package/dist/Outcome-GiaNvt7i.d.mts +0 -32
- package/dist/Outcome-GiaNvt7i.d.mts.map +0 -1
- package/dist/StructuredFormat-B5ueioNr.d.mts.map +0 -1
- package/dist/Tool-5wxOCuOh.d.mts.map +0 -1
- package/dist/ToolEvent-wTMgb2GO.d.mts +0 -29
- package/dist/ToolEvent-wTMgb2GO.d.mts.map +0 -1
- package/dist/Turn-Bi83du4I.d.mts.map +0 -1
- package/dist/match/Match.d.mts +0 -16
- package/dist/match/Match.d.mts.map +0 -1
- package/dist/match/Match.mjs +0 -15
- package/dist/match/Match.mjs.map +0 -1
- package/src/match/Match.ts +0 -9
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Effect, Stream } from "effect"
|
|
2
|
+
import { describe, expect, expectTypeOf, it } from "vitest"
|
|
3
|
+
import type * as AiError from "../domain/AiError.js"
|
|
4
|
+
import type { TranscriptEvent, TranscriptResult } from "../domain/Transcript.js"
|
|
5
|
+
import * as MockTranscriber from "../testing/MockTranscriber.js"
|
|
6
|
+
import * as Transcriber from "./Transcriber.js"
|
|
7
|
+
|
|
8
|
+
describe("Transcriber.transcribe", () => {
|
|
9
|
+
it("returns the scripted TranscriptResult", async () => {
|
|
10
|
+
const mock = MockTranscriber.layer({
|
|
11
|
+
transcripts: [{ text: "hello world", durationSeconds: 1.23 }],
|
|
12
|
+
})
|
|
13
|
+
const program = Transcriber.transcribe({
|
|
14
|
+
audio: { _tag: "bytes", bytes: new Uint8Array([0]), mimeType: "audio/wav" },
|
|
15
|
+
model: "mock-stt",
|
|
16
|
+
})
|
|
17
|
+
const result = await Effect.runPromise(program.pipe(Effect.provide(mock.layer)))
|
|
18
|
+
expect(result.text).toBe("hello world")
|
|
19
|
+
expect(result.durationSeconds).toBe(1.23)
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
it("records each transcribe call", async () => {
|
|
23
|
+
const mock = MockTranscriber.layer({
|
|
24
|
+
transcripts: [{ text: "a" }, { text: "b" }],
|
|
25
|
+
})
|
|
26
|
+
const program = Effect.gen(function* () {
|
|
27
|
+
yield* Transcriber.transcribe({
|
|
28
|
+
audio: { _tag: "bytes", bytes: new Uint8Array([1]), mimeType: "audio/wav" },
|
|
29
|
+
model: "m1",
|
|
30
|
+
})
|
|
31
|
+
yield* Transcriber.transcribe({
|
|
32
|
+
audio: { _tag: "bytes", bytes: new Uint8Array([2]), mimeType: "audio/wav" },
|
|
33
|
+
model: "m2",
|
|
34
|
+
})
|
|
35
|
+
return yield* mock.recorder
|
|
36
|
+
})
|
|
37
|
+
const rec = await Effect.runPromise(program.pipe(Effect.provide(mock.layer)))
|
|
38
|
+
expect(rec.transcribeCalls.map((c) => c.model)).toEqual(["m1", "m2"])
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
describe("Transcriber capability marker (compile-time)", () => {
|
|
43
|
+
const sttReq: Transcriber.CommonStreamTranscribeRequest = {
|
|
44
|
+
model: "mock-stt",
|
|
45
|
+
inputFormat: { container: "raw", encoding: "pcm_s16le", sampleRate: 16000 },
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
it("requires `SttStreaming` on the R channel of streamTranscriptionFrom", () => {
|
|
49
|
+
const audio: Stream.Stream<Uint8Array> = Stream.fromIterable([new Uint8Array([0])])
|
|
50
|
+
const events = audio.pipe(Transcriber.streamTranscriptionFrom(sttReq))
|
|
51
|
+
expectTypeOf(events).toEqualTypeOf<
|
|
52
|
+
Stream.Stream<
|
|
53
|
+
TranscriptEvent,
|
|
54
|
+
AiError.AiError,
|
|
55
|
+
Transcriber.Transcriber | Transcriber.SttStreaming
|
|
56
|
+
>
|
|
57
|
+
>()
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
it("does NOT require `SttStreaming` for sync `transcribe`", () => {
|
|
61
|
+
const eff = Transcriber.transcribe({
|
|
62
|
+
audio: { _tag: "bytes", bytes: new Uint8Array([0]), mimeType: "audio/wav" },
|
|
63
|
+
model: "m",
|
|
64
|
+
})
|
|
65
|
+
expectTypeOf(eff).toEqualTypeOf<
|
|
66
|
+
Effect.Effect<TranscriptResult, AiError.AiError, Transcriber.Transcriber>
|
|
67
|
+
>()
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
it("a sync-only layer leaves `SttStreaming` unsatisfied in R", () => {
|
|
71
|
+
const syncOnly = MockTranscriber.layerSyncOnly({})
|
|
72
|
+
const audio: Stream.Stream<Uint8Array> = Stream.fromIterable([new Uint8Array([0])])
|
|
73
|
+
const events = audio.pipe(Transcriber.streamTranscriptionFrom(sttReq))
|
|
74
|
+
const program = Stream.runDrain(events).pipe(Effect.provide(syncOnly.layer))
|
|
75
|
+
// `Transcriber` is provided by syncOnly.layer; `SttStreaming` is not.
|
|
76
|
+
expectTypeOf(program).toEqualTypeOf<
|
|
77
|
+
Effect.Effect<void, AiError.AiError, Transcriber.SttStreaming>
|
|
78
|
+
>()
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
it("a full layer (with marker) clears R to never", () => {
|
|
82
|
+
const fullMock = MockTranscriber.layer({ streams: [[]] })
|
|
83
|
+
const audio: Stream.Stream<Uint8Array> = Stream.fromIterable([new Uint8Array([0])])
|
|
84
|
+
const events = audio.pipe(Transcriber.streamTranscriptionFrom(sttReq))
|
|
85
|
+
const program = Stream.runDrain(events).pipe(Effect.provide(fullMock.layer))
|
|
86
|
+
expectTypeOf(program).toEqualTypeOf<Effect.Effect<void, AiError.AiError, never>>()
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
describe("Transcriber.streamTranscriptionFrom", () => {
|
|
91
|
+
const sttReq: Transcriber.CommonStreamTranscribeRequest = {
|
|
92
|
+
model: "mock-stt",
|
|
93
|
+
inputFormat: { container: "raw", encoding: "pcm_s16le", sampleRate: 16000 },
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
it("emits scripted events after draining the input audio stream", async () => {
|
|
97
|
+
const mock = MockTranscriber.layer({
|
|
98
|
+
streams: [
|
|
99
|
+
[
|
|
100
|
+
{ _tag: "partial", text: "hello" },
|
|
101
|
+
{ _tag: "final", text: "hello world" },
|
|
102
|
+
],
|
|
103
|
+
],
|
|
104
|
+
})
|
|
105
|
+
const audio = Stream.fromIterable([new Uint8Array([0, 1, 2]), new Uint8Array([3, 4, 5])])
|
|
106
|
+
const events = audio.pipe(Transcriber.streamTranscriptionFrom(sttReq))
|
|
107
|
+
const collected = await Effect.runPromise(
|
|
108
|
+
Stream.runCollect(events).pipe(Effect.provide(mock.layer)),
|
|
109
|
+
)
|
|
110
|
+
expect(collected).toEqual([
|
|
111
|
+
{ _tag: "partial", text: "hello" },
|
|
112
|
+
{ _tag: "final", text: "hello world" },
|
|
113
|
+
])
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
it("works data-first (direct call) as well as pipeable (data-last)", async () => {
|
|
117
|
+
const mock = MockTranscriber.layer({
|
|
118
|
+
streams: [[{ _tag: "final", text: "x" }]],
|
|
119
|
+
})
|
|
120
|
+
const audio = Stream.fromIterable([new Uint8Array([0])])
|
|
121
|
+
const events = Transcriber.streamTranscriptionFrom(audio, sttReq)
|
|
122
|
+
const out = await Effect.runPromise(Stream.runCollect(events).pipe(Effect.provide(mock.layer)))
|
|
123
|
+
expect(out).toEqual([{ _tag: "final", text: "x" }])
|
|
124
|
+
})
|
|
125
|
+
})
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Context, Effect, Function, Stream } from "effect"
|
|
2
|
+
import * as AiError from "../domain/AiError.js"
|
|
3
|
+
import type { AudioFormat, AudioSource } from "../domain/Audio.js"
|
|
4
|
+
import type { TranscriptEvent, TranscriptResult } from "../domain/Transcript.js"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Cross-provider sync transcription request. Provider-specific
|
|
8
|
+
* extensions (Deepgram `keyterm[]`, ElevenLabs `diarize`, Google
|
|
9
|
+
* `adaptation`, …) live on each provider's typed request which extends
|
|
10
|
+
* this and narrows `model`.
|
|
11
|
+
*/
|
|
12
|
+
export type CommonTranscribeRequest = {
|
|
13
|
+
readonly audio: AudioSource
|
|
14
|
+
/** Model identifier. Each provider narrows to its typed literal union. */
|
|
15
|
+
readonly model: string
|
|
16
|
+
/** ISO-639-1 / BCP-47. Omit for autodetection (where supported). */
|
|
17
|
+
readonly language?: string
|
|
18
|
+
/**
|
|
19
|
+
* Vocab biasing. Single-string covers OpenAI/Whisper-style prompts;
|
|
20
|
+
* `terms[]` covers Deepgram `keyterm`, Google adaptation phrases, AWS
|
|
21
|
+
* `vocabularyName`. Providers ignore what they don't support.
|
|
22
|
+
*/
|
|
23
|
+
readonly prompt?: string | { readonly terms: ReadonlyArray<string> }
|
|
24
|
+
readonly diarization?: boolean
|
|
25
|
+
readonly wordTimestamps?: boolean
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Streaming-transcription request. `inputFormat` declares what the
|
|
30
|
+
* bytes in the input stream will look like — providers reject
|
|
31
|
+
* mismatches at stream startup with `AiError.InvalidRequest`.
|
|
32
|
+
*/
|
|
33
|
+
export type CommonStreamTranscribeRequest = Omit<CommonTranscribeRequest, "audio"> & {
|
|
34
|
+
readonly inputFormat: AudioFormat
|
|
35
|
+
readonly interimResults?: boolean
|
|
36
|
+
readonly vadEvents?: boolean
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type TranscriberService = {
|
|
40
|
+
/**
|
|
41
|
+
* One-shot transcription. Universal — AWS Transcribe (which has no
|
|
42
|
+
* native sync endpoint) emulates this by draining a streaming session
|
|
43
|
+
* internally.
|
|
44
|
+
*/
|
|
45
|
+
readonly transcribe: (
|
|
46
|
+
request: CommonTranscribeRequest,
|
|
47
|
+
) => Effect.Effect<TranscriptResult, AiError.AiError>
|
|
48
|
+
/**
|
|
49
|
+
* Live transcription as a Stream transformer. Consumes audio bytes
|
|
50
|
+
* from `audioIn`; emits `TranscriptEvent`s as they arrive. The
|
|
51
|
+
* underlying WS / gRPC connection is acquired on first pull and
|
|
52
|
+
* released when the output stream is finalized (success, failure, or
|
|
53
|
+
* interruption) via `Stream.scoped` — no explicit Scope handling at
|
|
54
|
+
* the call site.
|
|
55
|
+
*
|
|
56
|
+
* Gated by the `SttStreaming` capability marker on the top-level
|
|
57
|
+
* helper — providers without streaming-STT support don't ship the
|
|
58
|
+
* marker, so calls fail at `Effect.provide` with a type error.
|
|
59
|
+
*/
|
|
60
|
+
readonly streamTranscriptionFrom: <E, R>(
|
|
61
|
+
audioIn: Stream.Stream<Uint8Array, E, R>,
|
|
62
|
+
request: CommonStreamTranscribeRequest,
|
|
63
|
+
) => Stream.Stream<TranscriptEvent, AiError.AiError | E, R>
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export class Transcriber extends Context.Service<Transcriber, TranscriberService>()(
|
|
67
|
+
"@betalyra/effect-uai/Transcriber",
|
|
68
|
+
) {}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Capability marker — provided by provider layers whose
|
|
72
|
+
* `streamTranscriptionFrom` is wired up at the wire level. Azure does
|
|
73
|
+
* not ship it (streaming-STT is SDK-internal). Calling
|
|
74
|
+
* `streamTranscriptionFrom` while only Azure's Layer is in scope fails
|
|
75
|
+
* at `Effect.provide` with a type error, not at runtime.
|
|
76
|
+
*
|
|
77
|
+
* Phantom — the value is `void`; providers register with
|
|
78
|
+
* `Layer.succeed(SttStreaming, undefined)`.
|
|
79
|
+
*/
|
|
80
|
+
export class SttStreaming extends Context.Service<SttStreaming, void>()(
|
|
81
|
+
"@betalyra/effect-uai/capability/SttStreaming",
|
|
82
|
+
) {}
|
|
83
|
+
|
|
84
|
+
/** One-shot transcription. */
|
|
85
|
+
export const transcribe = (
|
|
86
|
+
request: CommonTranscribeRequest,
|
|
87
|
+
): Effect.Effect<TranscriptResult, AiError.AiError, Transcriber> =>
|
|
88
|
+
Effect.flatMap(Transcriber.asEffect(), (t) => t.transcribe(request))
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Live transcription. Dual-arity: pipeable (data-last) and direct
|
|
92
|
+
* (data-first). Requires `SttStreaming` in R — providers without
|
|
93
|
+
* streaming support are a type error at provide time.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* // Pipeable — composes with other Stream operators
|
|
98
|
+
* mic.frames.pipe(
|
|
99
|
+
* Transcriber.streamTranscriptionFrom(req),
|
|
100
|
+
* Stream.filter((e) => e._tag === "final"),
|
|
101
|
+
* )
|
|
102
|
+
*
|
|
103
|
+
* // Direct
|
|
104
|
+
* Transcriber.streamTranscriptionFrom(mic.frames, req)
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export const streamTranscriptionFrom: {
|
|
108
|
+
(
|
|
109
|
+
request: CommonStreamTranscribeRequest,
|
|
110
|
+
): <E, R>(
|
|
111
|
+
audioIn: Stream.Stream<Uint8Array, E, R>,
|
|
112
|
+
) => Stream.Stream<TranscriptEvent, AiError.AiError | E, R | Transcriber | SttStreaming>
|
|
113
|
+
<E, R>(
|
|
114
|
+
audioIn: Stream.Stream<Uint8Array, E, R>,
|
|
115
|
+
request: CommonStreamTranscribeRequest,
|
|
116
|
+
): Stream.Stream<TranscriptEvent, AiError.AiError | E, R | Transcriber | SttStreaming>
|
|
117
|
+
} = Function.dual(
|
|
118
|
+
2,
|
|
119
|
+
<E, R>(audioIn: Stream.Stream<Uint8Array, E, R>, request: CommonStreamTranscribeRequest) =>
|
|
120
|
+
Stream.unwrap(
|
|
121
|
+
Effect.gen(function* () {
|
|
122
|
+
const t = yield* Transcriber.asEffect()
|
|
123
|
+
yield* SttStreaming.asEffect()
|
|
124
|
+
return t.streamTranscriptionFrom(audioIn, request)
|
|
125
|
+
}),
|
|
126
|
+
),
|
|
127
|
+
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Items-D1C2686t.d.mts","names":[],"sources":["../src/domain/Items.ts"],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { o as FunctionCall, s as FunctionCallOutput } from "./Items-D1C2686t.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/tool/Outcome.d.ts
|
|
4
|
-
type ToolResult = {
|
|
5
|
-
readonly _tag: "Value";
|
|
6
|
-
readonly call_id: string;
|
|
7
|
-
readonly tool: string;
|
|
8
|
-
readonly value: unknown;
|
|
9
|
-
} | {
|
|
10
|
-
readonly _tag: "Failure";
|
|
11
|
-
readonly call_id: string;
|
|
12
|
-
readonly tool: string;
|
|
13
|
-
readonly kind: string;
|
|
14
|
-
readonly reason?: string;
|
|
15
|
-
};
|
|
16
|
-
declare const isValue: (r: ToolResult) => r is Extract<ToolResult, {
|
|
17
|
-
_tag: "Value";
|
|
18
|
-
}>;
|
|
19
|
-
declare const isFailure: (r: ToolResult) => r is Extract<ToolResult, {
|
|
20
|
-
_tag: "Failure";
|
|
21
|
-
}>;
|
|
22
|
-
declare const rejected: (call: FunctionCall, kind: string, reason?: string) => ToolResult;
|
|
23
|
-
/** Explicit user/policy rejection. */
|
|
24
|
-
declare const denied: (call: FunctionCall, reason?: string) => ToolResult;
|
|
25
|
-
/** Implicit non-answer (follow-up, inactivity, abort). */
|
|
26
|
-
declare const cancelled: (call: FunctionCall, reason?: string) => ToolResult;
|
|
27
|
-
/** Tool's own execution failed (parse error, schema, runtime crash). */
|
|
28
|
-
declare const executionError: (call: FunctionCall, reason: string) => ToolResult;
|
|
29
|
-
declare const toFunctionCallOutput: (r: ToolResult) => FunctionCallOutput;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { isFailure as a, toFunctionCallOutput as c, executionError as i, cancelled as n, isValue as o, denied as r, rejected as s, ToolResult as t };
|
|
32
|
-
//# sourceMappingURL=Outcome-GiaNvt7i.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Outcome-GiaNvt7i.d.mts","names":[],"sources":["../src/tool/Outcome.ts"],"mappings":";;;KAqBY,UAAA;EAAA,SAEG,IAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA;AAAA;EAAA,SAGA,IAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;AAAA;AAAA,cAGF,OAAA,GAAW,CAAA,EAAG,UAAA,KAAa,CAAA,IAAK,OAAA,CAAQ,UAAA;EAAc,IAAA;AAAA;AAAA,cAGtD,SAAA,GAAa,CAAA,EAAG,UAAA,KAAa,CAAA,IAAK,OAAA,CAAQ,UAAA;EAAc,IAAA;AAAA;AAAA,cAOxD,QAAA,GACX,IAAA,EAAM,YAAA,EACN,IAAA,UACA,MAAA,cACC,UAAA;;cASU,MAAA,GAAU,IAAA,EAAM,YAAA,EAAc,MAAA,cAAkB,UAAA;;cAIhD,SAAA,GAAa,IAAA,EAAM,YAAA,EAAc,MAAA,cAAkB,UAAA;;cAInD,cAAA,GAAkB,IAAA,EAAM,YAAA,EAAc,MAAA,aAAiB,UAAA;AAAA,cAOvD,oBAAA,GAAwB,CAAA,EAAG,UAAA,KAAa,kBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredFormat-B5ueioNr.d.mts","names":[],"sources":["../src/structured-format/StructuredFormat.ts"],"mappings":";;;;;;;;;;;;;;;KAaY,gBAAA,qBAAqC,gBAAA,UAA0B,MAAA,IACzE,oBAAA,UAA8B,MAAA;;;;;;UAOf,gBAAA;EAAA,SACN,IAAA;EAAA,SACA,WAAA;EAAA,SACA,MAAA,EAAQ,gBAAA,CAAiB,CAAA;EAXxB;;;;EAAA,SAgBD,MAAA;AAAA;;UAIM,WAAA;EAAA,SACN,IAAA,EAAM,aAAA;EAAA,SACN,OAAA;AAAA;AAAA,cACV,0BAAA;;;;;AAfD;;cAyBa,qBAAA,SAA8B,0BAAA;EAAA,SAChC,GAAA;EAAA,SACA,MAAA,EAAQ,aAAA,CAAc,WAAA;AAAA;AAAA,cAC5B,mBAAA;;;;;;AAhBL;cAsBa,cAAA,SAAuB,mBAAA;EAAA,SACzB,GAAA;EAAA,SACA,KAAA;AAAA;;;;AArBV;;cAiCY,gBAAA,aAA8B,MAAA,CAAO,KAAA,wBAChD,MAAA,EAAQ,CAAA,EACR,OAAA;EAAA,SACW,IAAA;EAAA,SACA,WAAA;EAAA,SACA,MAAA;AAAA,MAEV,gBAAA,CAAiB,CAAA;;;;;;cAyCP,MAAA,MACP,MAAA,EAAQ,gBAAA,CAAiB,CAAA,OAC5B,GAAA,cAAe,MAAA,CAAO,MAAA,CAAO,CAAA,EAAG,qBAAA;;;;;;cAoBtB,SAAA,MACP,MAAA,EAAQ,gBAAA,CAAiB,CAAA,OAC5B,GAAA,aAAc,MAAA,CAAO,MAAA,CAAO,CAAA,EAAG,cAAA,GAAiB,qBAAA;;;;;cAatC,eAAA,MACP,MAAA,EAAQ,gBAAA,CAAiB,CAAA,aAE3B,IAAA,EAAM,MAAA,CAAO,MAAA,SAAe,CAAA,EAAG,CAAA,MAC9B,MAAA,CAAO,MAAA,CAAO,CAAA,EAAG,CAAA,GAAI,cAAA,GAAiB,qBAAA,EAAuB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tool-5wxOCuOh.d.mts","names":[],"sources":["../src/tool/Tool.ts"],"mappings":";;;;;;;;;cAE0E,cAAA;;;;;;cAG7D,SAAA,SAAkB,cAAA;;;;;;;;;;KAmBnB,eAAA,oBAAmC,gBAAA,UAA0B,KAAA,IACvE,oBAAA,UAA8B,KAAA;;;AAvB0C;;;cA8B7D,gBAAA,aAA8B,MAAA,CAAO,KAAA,wBAChD,MAAA,EAAQ,CAAA,KACP,CAAA,GAAI,eAAA,CAAgB,CAAA;AAAA,UAIN,IAAA;EAAA,SACN,IAAA,EAAM,IAAA;EAAA,SACN,WAAA;EAAA,SACA,WAAA,EAAa,eAAA,CAAgB,KAAA;EAAA,SAC7B,GAAA,GAAM,KAAA,EAAO,KAAA,KAAU,MAAA,CAAO,MAAA,CAAO,MAAA,WAAiB,CAAA;;;;;;;WAOtD,MAAA;AAAA;;;;;;UAQM,cAAA;EAAA,SACN,IAAA;EAAA,SACA,WAAA;EAAA,SACA,WAAA,EAAa,MAAA;EAAA,SACb,MAAA;AAAA;AAAA,cAGE,IAAA,kDACX,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,CAAA,MAC/B,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,CAAA;AAAA,UAWZ,aAAA;EAAA,SACN,KAAA;EAAA,SACA,IAAA,EAAM,IAAA;EAAA,SACN,WAAA;EAAA,SACA,WAAA,EAAa,eAAA,CAAgB,KAAA;EAAA,SAC7B,GAAA,GAAM,KAAA,EAAO,KAAA,KAAU,MAAA,CAAO,MAAA,CAAO,KAAA,WAAgB,CAAA;EAAA,SACrD,QAAA,GAAW,MAAA,EAAQ,aAAA,CAAc,KAAA,MAAW,MAAA;EAAA,SAC5C,MAAA;AAAA;AAAA,cAGE,SAAA,yDACX,IAAA,EAAM,IAAA,CAAK,aAAA,CAAc,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,CAAA,gBACpD,aAAA,CAAc,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,CAAA;AAAA,KAEjC,gBAAA,GAAmB,aAAA;AAAA,KACnB,YAAA,GAAe,IAAA;AAAA,KACf,WAAA,GAAc,gBAAA,GAAmB,YAAA;AAAA,cAEhC,eAAA,GAAmB,CAAA,EAAG,WAAA,KAAc,CAAA,IAAK,gBAAA;;;;;;cAQzC,aAAA,GACX,KAAA,EAAO,aAAA,CAAc,WAAA,MACpB,aAAA,CAAc,cAAA;;;;;;cAkBJ,OAAA,0CACX,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,CAAA,GAChC,IAAA,EAAM,YAAA,KACL,MAAA,CAAO,MAAA,CAAO,kBAAA,EAAoB,SAAA,EAAW,CAAA"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { t as ToolResult } from "./Outcome-GiaNvt7i.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/tool/ToolEvent.d.ts
|
|
4
|
-
type ToolEvent = {
|
|
5
|
-
readonly _tag: "ApprovalRequested";
|
|
6
|
-
readonly call_id: string;
|
|
7
|
-
readonly tool: string;
|
|
8
|
-
readonly arguments: string;
|
|
9
|
-
} | {
|
|
10
|
-
readonly _tag: "Intermediate";
|
|
11
|
-
readonly call_id: string;
|
|
12
|
-
readonly tool: string;
|
|
13
|
-
readonly data: unknown;
|
|
14
|
-
} | {
|
|
15
|
-
readonly _tag: "Output";
|
|
16
|
-
readonly result: ToolResult;
|
|
17
|
-
};
|
|
18
|
-
declare const isApprovalRequested: (e: ToolEvent) => e is Extract<ToolEvent, {
|
|
19
|
-
_tag: "ApprovalRequested";
|
|
20
|
-
}>;
|
|
21
|
-
declare const isIntermediate: (e: ToolEvent) => e is Extract<ToolEvent, {
|
|
22
|
-
_tag: "Intermediate";
|
|
23
|
-
}>;
|
|
24
|
-
declare const isOutput: (e: ToolEvent) => e is Extract<ToolEvent, {
|
|
25
|
-
_tag: "Output";
|
|
26
|
-
}>;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { isOutput as i, isApprovalRequested as n, isIntermediate as r, ToolEvent as t };
|
|
29
|
-
//# sourceMappingURL=ToolEvent-wTMgb2GO.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolEvent-wTMgb2GO.d.mts","names":[],"sources":["../src/tool/ToolEvent.ts"],"mappings":";;;KAYY,SAAA;EAAA,SAEG,IAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA;EAAA,SACA,SAAA;AAAA;EAAA,SAGA,IAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA;AAAA;EAAA,SAEA,IAAA;EAAA,SAAyB,MAAA,EAAQ,UAAA;AAAA;AAAA,cAEnC,mBAAA,GACX,CAAA,EAAG,SAAA,KACF,CAAA,IAAK,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;AAAA,cAEhB,cAAA,GACX,CAAA,EAAG,SAAA,KACF,CAAA,IAAK,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;AAAA,cAEhB,QAAA,GAAY,CAAA,EAAG,SAAA,KAAY,CAAA,IAAK,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Turn-Bi83du4I.d.mts","names":[],"sources":["../src/domain/Turn.ts"],"mappings":";;;;;;;;;;;;;;;cAmBa,IAAA,EAAI,MAAA,CAAA,MAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKL,IAAA,UAAc,IAAA,CAAK,IAAA;;;;;;;KAQnB,SAAA;EAAA,SACG,IAAA;EAAA,SAA6B,IAAA;AAAA;EAAA,SAE7B,IAAA;EAAA,SACA,IAAA;;;;;;;;WAQA,IAAA;AAAA;;;;;;;;;WASA,IAAA;EAAA,SAAgC,IAAA;AAAA;EAAA,SAChC,IAAA;EAAA,SAAkC,OAAA;EAAA,SAA0B,IAAA;AAAA;EAAA,SAC5D,IAAA;EAAA,SAAuC,OAAA;EAAA,SAA0B,KAAA;AAAA;;;;;;;;;;WASjE,IAAA;EAAA,SAA+B,KAAA,EAAO,KAAA;AAAA;EAAA,SACtC,IAAA;EAAA,SAAgC,IAAA,EAAM,IAAA;AAAA;;;;;;;KAQzC,gBAAA,GAAmB,SAAA,GAAY,kBAAA;AAAA,cAE9B,cAAA,GAAkB,CAAA,EAAG,SAAA,KAAY,CAAA,IAAK,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;AAAA,cAG3D,aAAA,GAAiB,IAAA,EAAM,IAAA,KAAO,aAAA,CAAc,YAAA;AAAA,cAG5C,UAAA,GAAc,IAAA,EAAM,IAAA,KAAO,aAAA,CAAc,SAAA;AAAA,cAGzC,iBAAA,GAAqB,IAAA,EAAM,IAAA,KAAO,aAAA,CAAc,OAAA;;;;;;cAQhD,UAAA;EAAA,SAAmC,OAAA,EAAS,aAAA,CAAc,IAAA;AAAA,GACrE,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,IAAA,EACN,KAAA,GAAO,aAAA,CAAc,IAAA,MACpB,CAAA;;;;;;cAcU,UAAA,SACX,IAAA,EAAM,MAAA,CAAO,MAAA,CAAO,SAAA,EAAW,CAAA,EAAG,CAAA,MACjC,MAAA,CAAO,MAAA,SAAe,CAAA,EAAG,CAAA;AAAA,cAKzB,oBAAA;;;;;;;;cAWU,eAAA,SAAwB,oBAAA;EAAA,SAC1B,IAAA,EAAM,IAAA;AAAA;;;;;;;;;;;cAyBJ,YAAA,MACX,IAAA,EAAM,IAAA,EACN,MAAA,EAAQ,gBAAA,CAAkC,CAAA,MACzC,MAAA,CAAO,MAAA,CACR,CAAA,EACA,eAAA,GAAkB,cAAA,GAAkC,qBAAA"}
|
package/dist/match/Match.d.mts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Match } from "effect";
|
|
2
|
-
|
|
3
|
-
//#region src/match/Match.d.ts
|
|
4
|
-
declare namespace Match_d_exports {
|
|
5
|
-
export { matchType };
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Dispatch on the `type` discriminator of a tagged union. Equivalent to
|
|
9
|
-
* `Match.discriminator("type")`, exposed as a named helper because the
|
|
10
|
-
* `type` field is the framework's convention for `Item`, `TurnEvent`,
|
|
11
|
-
* `ContentBlock`, and most provider wire types.
|
|
12
|
-
*/
|
|
13
|
-
declare const matchType: <R, P extends Match.Types.Tags<"type", R> & string, Ret, Fn extends (_: Extract<R, Record<"type", P>>) => Ret>(...pattern: [first: P, ...values: P[], f: Fn]) => <I, F, A, Pr>(self: Match.Matcher<I, F, R, A, Pr, Ret>) => Match.Matcher<I, Match.Types.AddWithout<F, Extract<R, Record<"type", P>>>, Match.Types.ApplyFilters<I, Match.Types.AddWithout<F, Extract<R, Record<"type", P>>>>, A | ReturnType<Fn>, Pr, Ret>;
|
|
14
|
-
//#endregion
|
|
15
|
-
export { matchType, Match_d_exports as t };
|
|
16
|
-
//# sourceMappingURL=Match.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Match.d.mts","names":[],"sources":["../../src/match/Match.ts"],"mappings":";;;;;;;;;;AAQA;;cAAa,SAAA,gBAAS,KAAA,CAAA,KAAA,CAAA,IAAA,SAAA,CAAA,6BAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,SAAA,CAAA,OAAA,GAAA,KAAA,OAAA,GAAA,KAAA,EAAA,CAAA,KAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,oBAAA,IAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,GAAA,MAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,SAAA,CAAA,KAAA,KAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,SAAA,CAAA,MAAA,CAAA,GAAA,UAAA,CAAA,EAAA,GAAA,EAAA,EAAA,GAAA"}
|
package/dist/match/Match.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "../chunk-CfYAbeIz.mjs";
|
|
2
|
-
import { Match } from "effect";
|
|
3
|
-
//#region src/match/Match.ts
|
|
4
|
-
var Match_exports = /* @__PURE__ */ __exportAll({ matchType: () => matchType });
|
|
5
|
-
/**
|
|
6
|
-
* Dispatch on the `type` discriminator of a tagged union. Equivalent to
|
|
7
|
-
* `Match.discriminator("type")`, exposed as a named helper because the
|
|
8
|
-
* `type` field is the framework's convention for `Item`, `TurnEvent`,
|
|
9
|
-
* `ContentBlock`, and most provider wire types.
|
|
10
|
-
*/
|
|
11
|
-
const matchType = Match.discriminator("type");
|
|
12
|
-
//#endregion
|
|
13
|
-
export { matchType, Match_exports as t };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=Match.mjs.map
|
package/dist/match/Match.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Match.mjs","names":[],"sources":["../../src/match/Match.ts"],"sourcesContent":["import { Match } from \"effect\"\n\n/**\n * Dispatch on the `type` discriminator of a tagged union. Equivalent to\n * `Match.discriminator(\"type\")`, exposed as a named helper because the\n * `type` field is the framework's convention for `Item`, `TurnEvent`,\n * `ContentBlock`, and most provider wire types.\n */\nexport const matchType = Match.discriminator(\"type\")\n"],"mappings":";;;;;;;;;;AAQA,MAAa,YAAY,MAAM,cAAc,OAAO"}
|
package/src/match/Match.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Match } from "effect"
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Dispatch on the `type` discriminator of a tagged union. Equivalent to
|
|
5
|
-
* `Match.discriminator("type")`, exposed as a named helper because the
|
|
6
|
-
* `type` field is the framework's convention for `Item`, `TurnEvent`,
|
|
7
|
-
* `ContentBlock`, and most provider wire types.
|
|
8
|
-
*/
|
|
9
|
-
export const matchType = Match.discriminator("type")
|