liminal 0.15.0 → 0.17.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/CHANGELOG.md +12 -0
- package/Digest.ts +30 -0
- package/Envelope.ts +16 -0
- package/F/F.ts +1 -0
- package/{L.ts → L/L.ts} +9 -4
- package/L/append.ts +14 -0
- package/{assistant.ts → L/assistant.ts} +10 -9
- package/{assistantSchema.ts → L/assistantSchema.ts} +8 -7
- package/{assistantStream.ts → L/assistantStream.ts} +8 -11
- package/L/branch.ts +20 -0
- package/L/clear.ts +14 -0
- package/L/disable.ts +13 -0
- package/L/enable.ts +24 -0
- package/L/events.ts +11 -0
- package/L/json.ts +12 -0
- package/L/line.ts +22 -0
- package/{handle.ts → L/listen.ts} +6 -5
- package/L/messages.ts +10 -0
- package/L/prev.ts +4 -0
- package/L/provide.ts +10 -0
- package/L/self.ts +5 -0
- package/L/send.ts +56 -0
- package/L/system.ts +25 -0
- package/L/thread.ts +16 -0
- package/L/toolkit.ts +14 -0
- package/{user.test.ts → L/user.test.ts} +5 -2
- package/L/user.ts +32 -0
- package/LEvent.ts +23 -13
- package/Thread.ts +67 -0
- package/dist/Digest.d.ts +17 -0
- package/dist/Digest.js +7 -0
- package/dist/Digest.js.map +1 -0
- package/dist/Envelope.d.ts +13 -0
- package/dist/Envelope.js +2 -0
- package/dist/Envelope.js.map +1 -0
- package/dist/F/F.d.ts +1 -0
- package/dist/F/F.js +2 -0
- package/dist/F/F.js.map +1 -0
- package/dist/{L.d.ts → L/L.d.ts} +9 -4
- package/dist/{L.js → L/L.js} +9 -4
- package/dist/L/L.js.map +1 -0
- package/dist/{append.d.ts → L/append.d.ts} +3 -3
- package/dist/L/append.js +10 -0
- package/dist/L/append.js.map +1 -0
- package/dist/{assistant.d.ts → L/assistant.d.ts} +3 -3
- package/dist/{assistant.js → L/assistant.js} +8 -8
- package/dist/L/assistant.js.map +1 -0
- package/dist/{assistantSchema.d.ts → L/assistantSchema.d.ts} +4 -4
- package/dist/{assistantSchema.js → L/assistantSchema.js} +5 -5
- package/dist/L/assistantSchema.js.map +1 -0
- package/dist/{assistantStream.d.ts → L/assistantStream.d.ts} +3 -3
- package/dist/{assistantStream.js → L/assistantStream.js} +6 -6
- package/dist/L/assistantStream.js.map +1 -0
- package/dist/L/branch.d.ts +3 -0
- package/dist/L/branch.js +19 -0
- package/dist/L/branch.js.map +1 -0
- package/dist/{clear.d.ts → L/clear.d.ts} +3 -3
- package/dist/L/clear.js +12 -0
- package/dist/L/clear.js.map +1 -0
- package/dist/{disable.d.ts → L/disable.d.ts} +2 -2
- package/dist/L/disable.js +10 -0
- package/dist/L/disable.js.map +1 -0
- package/dist/{enable.d.ts → L/enable.d.ts} +2 -2
- package/dist/L/enable.js +13 -0
- package/dist/L/enable.js.map +1 -0
- package/dist/L/events.d.ts +5 -0
- package/dist/L/events.js +6 -0
- package/dist/L/events.js.map +1 -0
- package/dist/L/json.d.ts +5 -0
- package/dist/L/json.js +8 -0
- package/dist/L/json.js.map +1 -0
- package/dist/L/line.d.ts +5 -0
- package/dist/L/line.js +11 -0
- package/dist/L/line.js.map +1 -0
- package/dist/{handle.d.ts → L/listen.d.ts} +4 -4
- package/dist/{handle.js → L/listen.js} +4 -4
- package/dist/L/listen.js.map +1 -0
- package/dist/{messages.d.ts → L/messages.d.ts} +2 -2
- package/dist/L/messages.js +5 -0
- package/dist/L/messages.js.map +1 -0
- package/dist/L/prev.d.ts +5 -0
- package/dist/L/prev.js +5 -0
- package/dist/L/prev.js.map +1 -0
- package/dist/L/provide.d.ts +3 -0
- package/dist/L/provide.js +4 -0
- package/dist/L/provide.js.map +1 -0
- package/dist/L/self.d.ts +3 -0
- package/dist/L/self.js +4 -0
- package/dist/L/self.js.map +1 -0
- package/dist/L/send.d.ts +6 -0
- package/dist/L/send.js +34 -0
- package/dist/L/send.js.map +1 -0
- package/dist/L/system.d.ts +5 -0
- package/dist/L/system.js +14 -0
- package/dist/L/system.js.map +1 -0
- package/dist/L/thread.d.ts +3 -0
- package/dist/L/thread.js +15 -0
- package/dist/L/thread.js.map +1 -0
- package/dist/L/toolkit.d.ts +4 -0
- package/dist/L/toolkit.js +9 -0
- package/dist/L/toolkit.js.map +1 -0
- package/dist/L/user.d.ts +6 -0
- package/dist/{user.js → L/user.js} +3 -3
- package/dist/L/user.js.map +1 -0
- package/dist/L/user.test.js.map +1 -0
- package/dist/LEvent.d.ts +143 -15
- package/dist/LEvent.js +12 -9
- package/dist/LEvent.js.map +1 -1
- package/dist/Thread.d.ts +52 -0
- package/dist/Thread.js +32 -0
- package/dist/Thread.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/patterns/Debate.d.ts +1 -0
- package/dist/patterns/Debate.js +3 -0
- package/dist/patterns/Debate.js.map +1 -0
- package/dist/patterns/Model.d.ts +6 -0
- package/dist/patterns/{coalesce_models.js → Model.js} +5 -6
- package/dist/patterns/Model.js.map +1 -0
- package/dist/patterns/Route.d.ts +3 -0
- package/dist/patterns/Route.js +14 -0
- package/dist/patterns/Route.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/JsonValue.js.map +1 -1
- package/dist/util/NeverTool.d.ts +3 -0
- package/dist/util/NeverTool.js +3 -0
- package/dist/util/NeverTool.js.map +1 -0
- package/dist/util/Taggable.d.ts +5 -5
- package/dist/util/Taggable.js +10 -15
- package/dist/util/Taggable.js.map +1 -1
- package/dist/util/extract.d.ts +3 -0
- package/dist/util/extract.js +2 -0
- package/dist/util/extract.js.map +1 -0
- package/dist/util/messageCodec.d.ts +98 -0
- package/dist/util/messageCodec.js +5 -0
- package/dist/util/messageCodec.js.map +1 -0
- package/dist/util/{fixRaw.js → normalizeRaw.js} +1 -1
- package/dist/util/normalizeRaw.js.map +1 -0
- package/dist/util/prefix.d.ts +1 -0
- package/dist/util/prefix.js +2 -0
- package/dist/util/prefix.js.map +1 -0
- package/dist/util/raw.d.ts +6 -0
- package/dist/util/raw.js +5 -0
- package/dist/util/raw.js.map +1 -0
- package/index.ts +6 -3
- package/package.json +22 -9
- package/patterns/Debate.ts +2 -0
- package/patterns/{coalesce_models.ts → Model.ts} +6 -7
- package/patterns/{match_gist.ts → Route.ts} +11 -9
- package/util/JsonValue.ts +2 -2
- package/util/NeverTool.ts +10 -0
- package/util/Taggable.ts +27 -34
- package/util/extract.ts +7 -0
- package/util/messageCodec.ts +5 -0
- package/util/prefix.ts +1 -0
- package/util/raw.ts +27 -0
- package/LPretty.ts +0 -41
- package/Strand.ts +0 -49
- package/append.ts +0 -13
- package/branch.ts +0 -26
- package/clear.ts +0 -15
- package/disable.ts +0 -8
- package/dist/L.js.map +0 -1
- package/dist/LPretty.d.ts +0 -4
- package/dist/LPretty.js +0 -37
- package/dist/LPretty.js.map +0 -1
- package/dist/Strand.d.ts +0 -36
- package/dist/Strand.js +0 -18
- package/dist/Strand.js.map +0 -1
- package/dist/append.js +0 -10
- package/dist/append.js.map +0 -1
- package/dist/assistant.js.map +0 -1
- package/dist/assistantSchema.js.map +0 -1
- package/dist/assistantStream.js.map +0 -1
- package/dist/branch.d.ts +0 -4
- package/dist/branch.js +0 -18
- package/dist/branch.js.map +0 -1
- package/dist/clear.js +0 -14
- package/dist/clear.js.map +0 -1
- package/dist/disable.js +0 -7
- package/dist/disable.js.map +0 -1
- package/dist/enable.js +0 -6
- package/dist/enable.js.map +0 -1
- package/dist/events.d.ts +0 -5
- package/dist/events.js +0 -6
- package/dist/events.js.map +0 -1
- package/dist/handle.js.map +0 -1
- package/dist/messages.js +0 -5
- package/dist/messages.js.map +0 -1
- package/dist/patterns/coalesce_models.d.ts +0 -6
- package/dist/patterns/coalesce_models.js.map +0 -1
- package/dist/patterns/match_gist.d.ts +0 -3
- package/dist/patterns/match_gist.js +0 -16
- package/dist/patterns/match_gist.js.map +0 -1
- package/dist/sequence.d.ts +0 -2
- package/dist/sequence.js +0 -5
- package/dist/sequence.js.map +0 -1
- package/dist/strand_.d.ts +0 -4
- package/dist/strand_.js +0 -8
- package/dist/strand_.js.map +0 -1
- package/dist/system.d.ts +0 -5
- package/dist/system.js +0 -12
- package/dist/system.js.map +0 -1
- package/dist/user.d.ts +0 -4
- package/dist/user.js.map +0 -1
- package/dist/user.test.js.map +0 -1
- package/dist/userJson.d.ts +0 -6
- package/dist/userJson.js +0 -9
- package/dist/userJson.js.map +0 -1
- package/dist/util/Sequence.d.ts +0 -2
- package/dist/util/Sequence.js +0 -2
- package/dist/util/Sequence.js.map +0 -1
- package/dist/util/fixRaw.js.map +0 -1
- package/enable.ts +0 -15
- package/events.ts +0 -10
- package/messages.ts +0 -9
- package/sequence.ts +0 -9
- package/strand_.ts +0 -11
- package/system.ts +0 -12
- package/user.ts +0 -21
- package/userJson.ts +0 -14
- package/util/Sequence.ts +0 -11
- /package/dist/{user.test.d.ts → L/user.test.d.ts} +0 -0
- /package/dist/util/{fixRaw.d.ts → normalizeRaw.d.ts} +0 -0
- /package/util/{fixRaw.ts → normalizeRaw.ts} +0 -0
package/append.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Message } from "@effect/ai/AiInput"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import { MessagesAppended } from "./LEvent.ts"
|
|
4
|
-
import { Strand } from "./Strand.ts"
|
|
5
|
-
|
|
6
|
-
/** Append messages to the current strand's message list. */
|
|
7
|
-
export const append: (
|
|
8
|
-
...messages: Array<Message>
|
|
9
|
-
) => Effect.Effect<void, never, Strand> = Effect.fnUntraced(function*(...messages) {
|
|
10
|
-
const strand = yield* Strand
|
|
11
|
-
strand.messages.push(...messages)
|
|
12
|
-
yield* strand.events.publish(MessagesAppended.make({ messages }))
|
|
13
|
-
})
|
package/branch.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect"
|
|
2
|
-
import { flow, identity } from "effect/Function"
|
|
3
|
-
import * as Option from "effect/Option"
|
|
4
|
-
import * as PubSub from "effect/PubSub"
|
|
5
|
-
import type { LEvent } from "./LEvent.ts"
|
|
6
|
-
import { sequence } from "./sequence.ts"
|
|
7
|
-
import { Strand } from "./Strand.ts"
|
|
8
|
-
import type { Sequence } from "./util/Sequence.ts"
|
|
9
|
-
|
|
10
|
-
/** Isolate the effect with a new strand in context. */
|
|
11
|
-
export const branch: Sequence<never, Strand> = flow(
|
|
12
|
-
sequence,
|
|
13
|
-
Effect.provideServiceEffect(
|
|
14
|
-
Strand,
|
|
15
|
-
Effect.gen(function*() {
|
|
16
|
-
const parent = yield* Strand
|
|
17
|
-
return Strand.of({
|
|
18
|
-
parent: Option.some(parent),
|
|
19
|
-
system: Option.map(parent.system, identity),
|
|
20
|
-
events: yield* PubSub.unbounded<LEvent>(),
|
|
21
|
-
messages: parent.messages.slice(),
|
|
22
|
-
tools: new Set(parent.tools),
|
|
23
|
-
})
|
|
24
|
-
}),
|
|
25
|
-
),
|
|
26
|
-
)
|
package/clear.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Message } from "@effect/ai/AiInput"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import { MessagesCleared } from "./LEvent.ts"
|
|
4
|
-
import { Strand } from "./Strand.ts"
|
|
5
|
-
|
|
6
|
-
/** Clear the strand's conversation. */
|
|
7
|
-
export const clear: Effect.Effect<Array<Message>, never, Strand> = Effect.gen(function*() {
|
|
8
|
-
const strand = yield* Strand
|
|
9
|
-
const { messages, events } = strand
|
|
10
|
-
strand.messages = []
|
|
11
|
-
yield* events.publish(MessagesCleared.make({
|
|
12
|
-
cleared: messages,
|
|
13
|
-
}))
|
|
14
|
-
return messages
|
|
15
|
-
})
|
package/disable.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as AiTool from "@effect/ai/AiTool"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import { Strand } from "./Strand"
|
|
4
|
-
|
|
5
|
-
export const disable: (tool: AiTool.Any) => Effect.Effect<void, never, Strand> = (tool) =>
|
|
6
|
-
Effect.map(Strand, ({ tools }) => {
|
|
7
|
-
tools.delete(tool as never)
|
|
8
|
-
})
|
package/dist/L.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"L.js","sourceRoot":"","sources":["../L.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
|
package/dist/LPretty.d.ts
DELETED
package/dist/LPretty.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
const GRAY = "\x1b[90m";
|
|
2
|
-
const RESET = "\x1b[0m";
|
|
3
|
-
const BOLD = "\x1b[1m";
|
|
4
|
-
const GRAY_BG = "\x1b[47m";
|
|
5
|
-
export const event = (event) => {
|
|
6
|
-
let text = `${GRAY}${event._tag}${RESET}`;
|
|
7
|
-
switch (event._tag) {
|
|
8
|
-
case "MessagesAppended": {
|
|
9
|
-
text += event.messages.map(message).join("\n");
|
|
10
|
-
break;
|
|
11
|
-
}
|
|
12
|
-
case "MessagesCleared": {
|
|
13
|
-
text += `\n${event.cleared.length} messages cleared.`;
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return text;
|
|
18
|
-
};
|
|
19
|
-
export const message = ({ _tag, parts }) => {
|
|
20
|
-
let value = "";
|
|
21
|
-
for (const part of parts) {
|
|
22
|
-
value += `\n${BOLD}${_tag}\n${GRAY_BG}`;
|
|
23
|
-
switch (part._tag) {
|
|
24
|
-
case "TextPart": {
|
|
25
|
-
value += `${part.text}`;
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
default: {
|
|
29
|
-
value += `${JSON.stringify(part, null, 2)}`;
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
value += RESET;
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=LPretty.js.map
|
package/dist/LPretty.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LPretty.js","sourceRoot":"","sources":["../LPretty.ts"],"names":[],"mappings":"AAGA,MAAM,IAAI,GAAG,UAAU,CAAA;AACvB,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,IAAI,GAAG,SAAS,CAAA;AACtB,MAAM,OAAO,GAAG,UAAU,CAAA;AAE1B,MAAM,CAAC,MAAM,KAAK,GAA6C,CAAC,KAAK,EAAE,EAAE;IACvE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAA;IACzC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9C,MAAK;QACP,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,oBAAoB,CAAA;YACrD,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAW,EAAU,EAAE;IAC1D,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,OAAO,EAAE,CAAA;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBACvB,MAAK;YACP,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;gBAC3C,MAAK;YACP,CAAC;QACH,CAAC;QACD,KAAK,IAAI,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/dist/Strand.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Message } from "@effect/ai/AiInput";
|
|
2
|
-
import type * as AiTool from "@effect/ai/AiTool";
|
|
3
|
-
import * as Context from "effect/Context";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
|
-
import * as PubSub from "effect/PubSub";
|
|
7
|
-
import type { Schema } from "effect/Schema";
|
|
8
|
-
import type { LEvent } from "./LEvent.ts";
|
|
9
|
-
export declare namespace Strand {
|
|
10
|
-
interface Service {
|
|
11
|
-
/** The parent strand. */
|
|
12
|
-
readonly parent: Option.Option<Service>;
|
|
13
|
-
/** The pubsub with which the current strand's events are emitted. */
|
|
14
|
-
readonly events: PubSub.PubSub<LEvent>;
|
|
15
|
-
/** The current system prompt to be passed along to the model. */
|
|
16
|
-
system: Option.Option<string>;
|
|
17
|
-
/** The list of messages that the model uses to infer the next message. */
|
|
18
|
-
messages: Array<Message>;
|
|
19
|
-
/** The tools available to the model. */
|
|
20
|
-
tools: Set<AiTool.AiTool<string, AiTool.AnyStructSchema, Schema.Any, Schema.Any, never>>;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
declare const Strand_base: Context.TagClass<Strand, "liminal/Strand", Strand.Service>;
|
|
24
|
-
/** A context tag that denotes the boundary of a conversation isolate. */
|
|
25
|
-
export declare class Strand extends Strand_base {
|
|
26
|
-
static layer: <T extends AiTool.Any = never>(init?: {
|
|
27
|
-
system?: string | undefined;
|
|
28
|
-
messages?: Array<Message> | undefined;
|
|
29
|
-
tools?: Set<T> | undefined;
|
|
30
|
-
}) => Layer.Layer<Strand, [
|
|
31
|
-
T
|
|
32
|
-
] extends [AiTool.Any] ? AiTool.Failure<T> : never, [
|
|
33
|
-
T
|
|
34
|
-
] extends [AiTool.Any] ? AiTool.Context<T> : never>;
|
|
35
|
-
}
|
|
36
|
-
export {};
|
package/dist/Strand.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Option from "effect/Option";
|
|
5
|
-
import * as PubSub from "effect/PubSub";
|
|
6
|
-
/** A context tag that denotes the boundary of a conversation isolate. */
|
|
7
|
-
export class Strand extends Context.Tag("liminal/Strand")() {
|
|
8
|
-
static layer = ({ system, messages, tools } = {}) => Layer.effect(Strand, Effect.gen(function* () {
|
|
9
|
-
return Strand.of({
|
|
10
|
-
parent: yield* Effect.serviceOption(Strand),
|
|
11
|
-
events: yield* PubSub.unbounded(),
|
|
12
|
-
system: Option.fromNullable(system),
|
|
13
|
-
messages: [...messages ?? []],
|
|
14
|
-
tools: new Set(tools ?? []),
|
|
15
|
-
});
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=Strand.js.map
|
package/dist/Strand.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Strand.js","sourceRoot":"","sources":["../Strand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAmBvC,yEAAyE;AACzE,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAA0B;IACjF,MAAM,CAAC,KAAK,GAQR,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CACvC,KAAK,CAAC,MAAM,CACV,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,OAAO,MAAM,CAAC,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3C,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAU;YACzC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,CAAC,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC7B,KAAK,EAAE,IAAI,GAAG,CAAC,KAAc,IAAI,EAAE,CAAC;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA"}
|
package/dist/append.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { MessagesAppended } from "./LEvent.js";
|
|
3
|
-
import { Strand } from "./Strand.js";
|
|
4
|
-
/** Append messages to the current strand's message list. */
|
|
5
|
-
export const append = Effect.fnUntraced(function* (...messages) {
|
|
6
|
-
const strand = yield* Strand;
|
|
7
|
-
strand.messages.push(...messages);
|
|
8
|
-
yield* strand.events.publish(MessagesAppended.make({ messages }));
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=append.js.map
|
package/dist/append.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"append.js","sourceRoot":"","sources":["../append.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,MAAM,GAEuB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,GAAG,QAAQ;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;IACjC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA"}
|
package/dist/assistant.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../assistant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAA6D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IACjD,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAChD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAU;KAC3C,CAAC,CAAA;IACF,uDAAuD;IACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAyB,CAAA;IACjE,CAAC;IACD,KAAK,CAAC,CAAC,MAAM,CACX,IAAI,gBAAgB,CAAC;QACnB,KAAK,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KAChC,CAAC,CACH,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantSchema.js","sourceRoot":"","sources":["../assistantSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAA;AAEjE,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAOxB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAM;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAA+B,CAAA;IACvF,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAEtE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAA;IAED,KAAK,CAAC,CAAC,MAAM,CACX,IAAI,gBAAgB,CAAC;QACnB,KAAK,EAAE;YACL,IAAI,QAAQ,CAAC;gBACX,IAAI,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;aACzC,CAAC;SACH;KACF,CAAC,CACH,CAAA;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAW,EAAE;IACrD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantStream.js","sourceRoot":"","sources":["../assistantStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,iGAAiG;AACjG,MAAM,CAAC,MAAM,eAAe,GAIxB,MAAM,CAAC,MAAM,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IACjD,OAAO,KAAK,CAAC,UAAU,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAClC,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
package/dist/branch.d.ts
DELETED
package/dist/branch.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { flow, identity } from "effect/Function";
|
|
3
|
-
import * as Option from "effect/Option";
|
|
4
|
-
import * as PubSub from "effect/PubSub";
|
|
5
|
-
import { sequence } from "./sequence.js";
|
|
6
|
-
import { Strand } from "./Strand.js";
|
|
7
|
-
/** Isolate the effect with a new strand in context. */
|
|
8
|
-
export const branch = flow(sequence, Effect.provideServiceEffect(Strand, Effect.gen(function* () {
|
|
9
|
-
const parent = yield* Strand;
|
|
10
|
-
return Strand.of({
|
|
11
|
-
parent: Option.some(parent),
|
|
12
|
-
system: Option.map(parent.system, identity),
|
|
13
|
-
events: yield* PubSub.unbounded(),
|
|
14
|
-
messages: parent.messages.slice(),
|
|
15
|
-
tools: new Set(parent.tools),
|
|
16
|
-
});
|
|
17
|
-
})));
|
|
18
|
-
//# sourceMappingURL=branch.js.map
|
package/dist/branch.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../branch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,uDAAuD;AACvD,MAAM,CAAC,MAAM,MAAM,GAA4B,IAAI,CACjD,QAAQ,EACR,MAAM,CAAC,oBAAoB,CACzB,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAC5B,OAAO,MAAM,CAAC,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3C,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAU;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE;QACjC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CACF,CAAA"}
|
package/dist/clear.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { MessagesCleared } from "./LEvent.js";
|
|
3
|
-
import { Strand } from "./Strand.js";
|
|
4
|
-
/** Clear the strand's conversation. */
|
|
5
|
-
export const clear = Effect.gen(function* () {
|
|
6
|
-
const strand = yield* Strand;
|
|
7
|
-
const { messages, events } = strand;
|
|
8
|
-
strand.messages = [];
|
|
9
|
-
yield* events.publish(MessagesCleared.make({
|
|
10
|
-
cleared: messages,
|
|
11
|
-
}));
|
|
12
|
-
return messages;
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=clear.js.map
|
package/dist/clear.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../clear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,uCAAuC;AACvC,MAAM,CAAC,MAAM,KAAK,GAAiD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAC5B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACnC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAA;IACpB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;QACzC,OAAO,EAAE,QAAQ;KAClB,CAAC,CAAC,CAAA;IACH,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
package/dist/disable.js
DELETED
package/dist/disable.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../disable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,OAAO,GAA6D,CAAC,IAAI,EAAE,EAAE,CACxF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/B,KAAK,CAAC,MAAM,CAAC,IAAa,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA"}
|
package/dist/enable.js
DELETED
package/dist/enable.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enable.js","sourceRoot":"","sources":["../enable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,MAAM,GAMoC,CAAC,OAAO,EAAE,EAAE,CACjE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/B,KAAK,CAAC,GAAG,CAAC,OAAgB,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA"}
|
package/dist/events.d.ts
DELETED
package/dist/events.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Stream from "effect/Stream";
|
|
3
|
-
import { Strand } from "./Strand.js";
|
|
4
|
-
/** A stream of events from the current strand. */
|
|
5
|
-
export const events = Strand.pipe(Effect.map(({ events }) => Stream.fromPubSub(events)), Stream.unwrap);
|
|
6
|
-
//# sourceMappingURL=events.js.map
|
package/dist/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,kDAAkD;AAClD,MAAM,CAAC,MAAM,MAAM,GAAyC,MAAM,CAAC,IAAI,CACrE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EACrD,MAAM,CAAC,MAAM,CACd,CAAA"}
|
package/dist/handle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../handle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAE0D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,CAAC;IACxG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAClC,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EACpB,MAAM,CAAC,IAAI,CACZ,CACF,CACF,CAAA;IACD,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA"}
|
package/dist/messages.js
DELETED
package/dist/messages.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAiD,MAAM,CAAC,GAAG,CAC9E,MAAM,EACN,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAC1C,CAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AiError } from "@effect/ai/AiError";
|
|
2
|
-
import type { AiLanguageModel } from "@effect/ai/AiLanguageModel";
|
|
3
|
-
import type { AiModel } from "@effect/ai/AiModel";
|
|
4
|
-
import * as Effect from "effect/Effect";
|
|
5
|
-
import type { Strand } from "../Strand.ts";
|
|
6
|
-
export declare const coalesceModels: <E, R, M extends Array<AiModel<any, any>>>(effect: Effect.Effect<any, E, R>, models: M) => Effect.Effect<string, AiError | E, Strand | AiLanguageModel | ([M[number]] extends [AiModel<any, infer R>] ? R : never)>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coalesce_models.js","sourceRoot":"","sources":["../../patterns/coalesce_models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,CAAC,MAAM,cAAc,GAOvB,MAAM,CAAC,EAAE,CACX,QAAQ,CAAC,EAAC,MAAM,EAAE,MAAM;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAEtF,CAAA;IACD,KAAK,CAAC,CAAC,IAAI,CAAA;;;;;QAKP,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;KACnE,CAAA;IACD,OAAO,KAAK,CAAC,CAAC,SAAS,CAAA;AACzB,CAAC,CACF,CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { Strand } from "../Strand.ts";
|
|
3
|
-
export declare const matchGist: <R extends Record<string, Effect.All.EffectAny>>(routes: R) => Effect.Effect<Effect.Effect.Success<R[keyof R]>, ([R[keyof R]] extends [never] ? never : Effect.Effect.Error<R[keyof R]>), ([R[keyof R]] extends [never] ? never : Effect.Effect.Context<R[keyof R]>) | Strand>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Schema from "effect/Schema";
|
|
3
|
-
import { assistantSchema } from "../assistantSchema.js";
|
|
4
|
-
import { branch } from "../branch.js";
|
|
5
|
-
import { Strand } from "../Strand.js";
|
|
6
|
-
import { user } from "../user.js";
|
|
7
|
-
export const matchGist = Effect.fnUntraced(function* (routes) {
|
|
8
|
-
const descriptions = Object.keys(routes);
|
|
9
|
-
const description = yield* branch(user `
|
|
10
|
-
Which of the following descriptions best matches the current conversation?
|
|
11
|
-
|
|
12
|
-
- ${descriptions.join("\n -")}
|
|
13
|
-
`, assistantSchema(Schema.Literal(...descriptions)));
|
|
14
|
-
return yield* routes[description];
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=match_gist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"match_gist.js","sourceRoot":"","sources":["../../patterns/match_gist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,CAAC,MAAM,SAAS,GAIlB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAM;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAC/B,IAAI,CAAA;;;UAGE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;KAC9B,EACD,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CACjD,CAAA;IACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAE,CAAA;AACpC,CAAC,CAAC,CAAA"}
|
package/dist/sequence.d.ts
DELETED
package/dist/sequence.js
DELETED
package/dist/sequence.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,MAAM,CAAC,MAAM,QAAQ,GAAa,CAAC,GAAG,KAAK,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;IAChB,WAAW,EAAE,CAAC;CACf,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAG,CAAU,CACnD,CAAA"}
|
package/dist/strand_.d.ts
DELETED
package/dist/strand_.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { flow } from "effect/Function";
|
|
3
|
-
import { sequence } from "./sequence.js";
|
|
4
|
-
import { Strand } from "./Strand.js";
|
|
5
|
-
import {} from "./util/Sequence.js";
|
|
6
|
-
/** Isolate the effect with a new strand in context. */
|
|
7
|
-
export const strand = flow(sequence, Effect.provide(Strand.layer()));
|
|
8
|
-
//# sourceMappingURL=strand_.js.map
|
package/dist/strand_.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strand_.js","sourceRoot":"","sources":["../strand_.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAiB,MAAM,oBAAoB,CAAA;AAElD,uDAAuD;AACvD,MAAM,CAAC,MAAM,MAAM,GAAqB,IAAI,CAC1C,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAC/B,CAAA"}
|
package/dist/system.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import * as Option from "effect/Option";
|
|
2
|
-
import { Strand } from "./Strand.ts";
|
|
3
|
-
import { type Taggable } from "./util/Taggable.ts";
|
|
4
|
-
/** Set the system instruction for the current strand. */
|
|
5
|
-
export declare const system: Taggable<Option.Option<string>, never, Strand>;
|
package/dist/system.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Option from "effect/Option";
|
|
3
|
-
import { Strand } from "./Strand.js";
|
|
4
|
-
import { normalize } from "./util/Taggable.js";
|
|
5
|
-
/** Set the system instruction for the current strand. */
|
|
6
|
-
export const system = Effect.fnUntraced(function* (a0, ...aRest) {
|
|
7
|
-
const conversation = yield* Strand;
|
|
8
|
-
const { system } = conversation;
|
|
9
|
-
conversation.system = a0 ? Option.some(yield* normalize(a0, aRest)) : Option.none();
|
|
10
|
-
return system;
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=system.js.map
|
package/dist/system.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAA;AAE7D,yDAAyD;AACzD,MAAM,CAAC,MAAM,MAAM,GAAmD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,EAAE,EAAE,GAAG,KAAK;IAC5G,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAClC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;IAC/B,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACnF,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA"}
|
package/dist/user.d.ts
DELETED
package/dist/user.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAA;AAE7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,IAAI,GAAkC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAClE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CACvB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI;IACF,CAAC,CAAC,MAAM,CACN,WAAW,CAAC,IAAI,CAAC;QACf,KAAK,EAAE;YACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CACH;IACD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAC9B,CACF,CAAA"}
|
package/dist/user.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.test.js","sourceRoot":"","sources":["../user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAC7B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,KAAK,CAAC,CAAC,IAAI,CAAA,GAAG,CAAA;IACd,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE;gBACL,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,GAAG;iBACV,CAAC;aACH;SACF,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE;gBACL,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,GAAG;iBACV,CAAC;aACH;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CACP,CAAC,CAAA"}
|
package/dist/userJson.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import type * as Schema from "effect/Schema";
|
|
3
|
-
import type * as Strand from "./Strand.ts";
|
|
4
|
-
import { type JsonValue } from "./util/JsonValue.ts";
|
|
5
|
-
/** Stringify and append some JSON as a user message to the conversation. */
|
|
6
|
-
export declare const userJson: <A, I extends JsonValue>(value: A, schema?: Schema.Schema<A, I>) => Effect.Effect<void, never, Strand.Strand>;
|
package/dist/userJson.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { user } from "./user.js";
|
|
3
|
-
import { encodeJsonc } from "./util/JsonValue.js";
|
|
4
|
-
/** Stringify and append some JSON as a user message to the conversation. */
|
|
5
|
-
export const userJson = Effect.fnUntraced(function* (value, schema) {
|
|
6
|
-
const encoded = schema ? encodeJsonc(schema)(value) : JSON.stringify(value, null, 2);
|
|
7
|
-
return yield* user `\`\`\`json${schema ? "c" : ""}${"\n"}${encoded}${"\n"}\`\`\``;
|
|
8
|
-
});
|
|
9
|
-
//# sourceMappingURL=userJson.js.map
|
package/dist/userJson.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"userJson.js","sourceRoot":"","sources":["../userJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAA;AAEjE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAG4B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,MAAM;IACxF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACpF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAA,aAAa,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,QAAQ,CAAA;AAClF,CAAC,CAAC,CAAA"}
|
package/dist/util/Sequence.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import type * as Effect from "effect/Effect";
|
|
2
|
-
export type Sequence<I = never, O = never> = <Arg extends Array<Effect.All.EffectAny>>(...steps: Arg) => Effect.Effect<Arg extends [] ? void : Arg extends [...infer _0, infer L extends Effect.All.EffectAny] ? Effect.Effect.Success<L> : never, Effect.Effect.Error<Arg[number]>, Exclude<Effect.Effect.Context<Arg[number]>, I> | O>;
|
package/dist/util/Sequence.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../util/Sequence.ts"],"names":[],"mappings":""}
|
package/dist/util/fixRaw.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixRaw.js","sourceRoot":"","sources":["../../util/fixRaw.ts"],"names":[],"mappings":"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"}
|
package/enable.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { AiTool, AnyStructSchema, Handler } from "@effect/ai/AiTool"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import type { Schema } from "effect/Schema"
|
|
4
|
-
import { Strand } from "./Strand.ts"
|
|
5
|
-
|
|
6
|
-
export const enable: <
|
|
7
|
-
K extends string,
|
|
8
|
-
E extends Schema.All,
|
|
9
|
-
R,
|
|
10
|
-
>(
|
|
11
|
-
toolkit: AiTool<K, AnyStructSchema, Schema.Any, E, R>,
|
|
12
|
-
) => Effect.Effect<void, E, Handler<K> | Strand | R> = (toolkit) =>
|
|
13
|
-
Effect.map(Strand, ({ tools }) => {
|
|
14
|
-
tools.add(toolkit as never)
|
|
15
|
-
})
|
package/events.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect"
|
|
2
|
-
import * as Stream from "effect/Stream"
|
|
3
|
-
import type { LEvent } from "./LEvent.ts"
|
|
4
|
-
import { Strand } from "./Strand.ts"
|
|
5
|
-
|
|
6
|
-
/** A stream of events from the current strand. */
|
|
7
|
-
export const events: Stream.Stream<LEvent, never, Strand> = Strand.pipe(
|
|
8
|
-
Effect.map(({ events }) => Stream.fromPubSub(events)),
|
|
9
|
-
Stream.unwrap,
|
|
10
|
-
)
|
package/messages.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Message } from "@effect/ai/AiInput"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import { Strand } from "./Strand.ts"
|
|
4
|
-
|
|
5
|
-
/** Get a copy of the current list of messages. */
|
|
6
|
-
export const messages: Effect.Effect<Array<Message>, never, Strand> = Effect.map(
|
|
7
|
-
Strand,
|
|
8
|
-
({ messages: [...messages] }) => messages,
|
|
9
|
-
)
|
package/sequence.ts
DELETED
package/strand_.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect"
|
|
2
|
-
import { flow } from "effect/Function"
|
|
3
|
-
import { sequence } from "./sequence.ts"
|
|
4
|
-
import { Strand } from "./Strand.ts"
|
|
5
|
-
import { type Sequence } from "./util/Sequence.ts"
|
|
6
|
-
|
|
7
|
-
/** Isolate the effect with a new strand in context. */
|
|
8
|
-
export const strand: Sequence<Strand> = flow(
|
|
9
|
-
sequence,
|
|
10
|
-
Effect.provide(Strand.layer()),
|
|
11
|
-
)
|
package/system.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect"
|
|
2
|
-
import * as Option from "effect/Option"
|
|
3
|
-
import { Strand } from "./Strand.ts"
|
|
4
|
-
import { normalize, type Taggable } from "./util/Taggable.ts"
|
|
5
|
-
|
|
6
|
-
/** Set the system instruction for the current strand. */
|
|
7
|
-
export const system: Taggable<Option.Option<string>, never, Strand> = Effect.fnUntraced(function*(a0, ...aRest) {
|
|
8
|
-
const conversation = yield* Strand
|
|
9
|
-
const { system } = conversation
|
|
10
|
-
conversation.system = a0 ? Option.some(yield* normalize(a0, aRest)) : Option.none()
|
|
11
|
-
return system
|
|
12
|
-
})
|
package/user.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TextPart, UserMessage } from "@effect/ai/AiInput"
|
|
2
|
-
import * as Effect from "effect/Effect"
|
|
3
|
-
import { append } from "./append.ts"
|
|
4
|
-
import type { Strand } from "./Strand.ts"
|
|
5
|
-
import { normalize, type Taggable } from "./util/Taggable.ts"
|
|
6
|
-
|
|
7
|
-
/** Append a user message to the conversation. */
|
|
8
|
-
export const user: Taggable<void, never, Strand> = (a0, ...aRest) =>
|
|
9
|
-
normalize(a0, aRest).pipe(
|
|
10
|
-
Effect.flatMap((text) =>
|
|
11
|
-
text
|
|
12
|
-
? append(
|
|
13
|
-
UserMessage.make({
|
|
14
|
-
parts: [
|
|
15
|
-
TextPart.make({ text }),
|
|
16
|
-
],
|
|
17
|
-
}),
|
|
18
|
-
)
|
|
19
|
-
: Effect.succeed(undefined)
|
|
20
|
-
),
|
|
21
|
-
)
|
package/userJson.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect"
|
|
2
|
-
import type * as Schema from "effect/Schema"
|
|
3
|
-
import type * as Strand from "./Strand.ts"
|
|
4
|
-
import { user } from "./user.ts"
|
|
5
|
-
import { encodeJsonc, type JsonValue } from "./util/JsonValue.ts"
|
|
6
|
-
|
|
7
|
-
/** Stringify and append some JSON as a user message to the conversation. */
|
|
8
|
-
export const userJson: <A, I extends JsonValue>(
|
|
9
|
-
value: A,
|
|
10
|
-
schema?: Schema.Schema<A, I>,
|
|
11
|
-
) => Effect.Effect<void, never, Strand.Strand> = Effect.fnUntraced(function*(value, schema) {
|
|
12
|
-
const encoded = schema ? encodeJsonc(schema)(value) : JSON.stringify(value, null, 2)
|
|
13
|
-
return yield* user`\`\`\`json${schema ? "c" : ""}${"\n"}${encoded}${"\n"}\`\`\``
|
|
14
|
-
})
|