liminal 0.6.0 → 0.8.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/L.ts +74 -4
- package/Strand.ts +46 -0
- package/dist/L.d.ts +17 -4
- package/dist/L.js +53 -4
- package/dist/L.js.map +1 -1
- package/dist/Strand.d.ts +25 -0
- package/dist/Strand.js +24 -0
- package/dist/Strand.js.map +1 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -3
- package/package.json +6 -4
- package/Context.ts +0 -13
- package/LEvent.ts +0 -28
- package/_emit.ts +0 -16
- package/assistant.ts +0 -53
- package/dist/Context.d.ts +0 -16
- package/dist/Context.js +0 -11
- package/dist/Context.js.map +0 -1
- package/dist/LEvent.d.ts +0 -35
- package/dist/LEvent.js +0 -18
- package/dist/LEvent.js.map +0 -1
- package/dist/_emit.d.ts +0 -2
- package/dist/_emit.js +0 -16
- package/dist/_emit.js.map +0 -1
- package/dist/assistant.d.ts +0 -8
- package/dist/assistant.js +0 -46
- package/dist/assistant.js.map +0 -1
- package/dist/messages.d.ts +0 -4
- package/dist/messages.js +0 -4
- package/dist/messages.js.map +0 -1
- package/dist/set.d.ts +0 -4
- package/dist/set.js +0 -9
- package/dist/set.js.map +0 -1
- package/dist/strand.d.ts +0 -16
- package/dist/strand.js +0 -16
- package/dist/strand.js.map +0 -1
- package/dist/user.d.ts +0 -6
- package/dist/user.js +0 -18
- package/dist/user.js.map +0 -1
- package/messages.ts +0 -5
- package/set.ts +0 -10
- package/strand.ts +0 -38
- package/user.ts +0 -24
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# liminal
|
|
2
2
|
|
|
3
|
+
## 0.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- bf980fb: Major redesign of the Liminal API to be more effect-idiomatic.
|
|
8
|
+
|
|
9
|
+
## 0.7.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- d6fe173: Remove approach to passing handlers to strands.
|
|
14
|
+
|
|
3
15
|
## 0.6.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/L.ts
CHANGED
|
@@ -1,4 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as AiError from "@effect/ai/AiError"
|
|
2
|
+
import * as AiInput from "@effect/ai/AiInput"
|
|
3
|
+
import * as AiLanguageModel from "@effect/ai/AiLanguageModel"
|
|
4
|
+
import * as AiToolkit from "@effect/ai/AiToolkit"
|
|
5
|
+
import * as Effect from "effect/Effect"
|
|
6
|
+
import * as Schema from "effect/Schema"
|
|
7
|
+
import * as Strand from "./Strand.ts"
|
|
8
|
+
import { isTemplateStringsArray } from "./util/isTemplateStringsArray.ts"
|
|
9
|
+
|
|
10
|
+
export const user: {
|
|
11
|
+
(template: TemplateStringsArray, ...substitutions: Array<unknown>): Effect.Effect<void, never, Strand.Strand>
|
|
12
|
+
(message: string): Effect.Effect<void, never, Strand.Strand>
|
|
13
|
+
(a0: TemplateStringsArray | string, ...aRest: Array<unknown>): Effect.Effect<void, never, Strand.Strand>
|
|
14
|
+
} = Effect.fnUntraced(function*(a0, ...aRest) {
|
|
15
|
+
const { messages, onMessage } = yield* Strand.Strand
|
|
16
|
+
const text = isTemplateStringsArray(a0) ? String.raw({ raw: a0 }, ...aRest) : a0
|
|
17
|
+
const message = new AiInput.UserMessage({
|
|
18
|
+
parts: [new AiInput.TextPart({ text })],
|
|
19
|
+
})
|
|
20
|
+
yield* onMessage(message)
|
|
21
|
+
messages.push(message)
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
export const messages: Effect.Effect<Array<AiInput.Message>, never, Strand.Strand> = Effect.map(
|
|
25
|
+
Strand.Strand,
|
|
26
|
+
({ messages }) => messages,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
export const setMessages: (
|
|
30
|
+
messages: Iterable<AiInput.Message>,
|
|
31
|
+
) => Effect.Effect<Array<AiInput.Message>, never, Strand.Strand> = Effect.fnUntraced(
|
|
32
|
+
function*(messages: Iterable<AiInput.Message>) {
|
|
33
|
+
const strand = yield* Strand.Strand
|
|
34
|
+
const { messages: prev } = strand
|
|
35
|
+
strand.messages = [...messages]
|
|
36
|
+
return prev
|
|
37
|
+
},
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
export const assistant: {
|
|
41
|
+
(): Effect.Effect<string, AiError.AiError, AiLanguageModel.AiLanguageModel | Strand.Strand>
|
|
42
|
+
<O, I>(
|
|
43
|
+
schema: Schema.Schema<O, I, never>,
|
|
44
|
+
): Effect.Effect<O, AiError.AiError, AiLanguageModel.AiLanguageModel | Strand.Strand>
|
|
45
|
+
} = Effect.fn(function*(schema?: Schema.Schema<any>) {
|
|
46
|
+
const model = yield* AiLanguageModel.AiLanguageModel
|
|
47
|
+
const { system, messages, tools, onMessage } = yield* Strand.Strand
|
|
48
|
+
if (schema) {
|
|
49
|
+
const response = yield* model.generateObject({
|
|
50
|
+
system,
|
|
51
|
+
schema,
|
|
52
|
+
prompt: messages,
|
|
53
|
+
})
|
|
54
|
+
const { value, text } = response
|
|
55
|
+
yield* appendMessage(text)
|
|
56
|
+
return value
|
|
57
|
+
}
|
|
58
|
+
const response = yield* model.generateText({
|
|
59
|
+
system,
|
|
60
|
+
prompt: messages,
|
|
61
|
+
toolkit: AiToolkit.make(...tools ?? []) as never,
|
|
62
|
+
})
|
|
63
|
+
const { text } = response
|
|
64
|
+
yield* appendMessage(text)
|
|
65
|
+
return text
|
|
66
|
+
|
|
67
|
+
function* appendMessage(text: string) {
|
|
68
|
+
const message = new AiInput.AssistantMessage({
|
|
69
|
+
parts: [new AiInput.TextPart({ text })],
|
|
70
|
+
})
|
|
71
|
+
yield* onMessage(message)
|
|
72
|
+
messages.push(message)
|
|
73
|
+
}
|
|
74
|
+
})
|
package/Strand.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as AiInput from "@effect/ai/AiInput"
|
|
2
|
+
import * as AiTool from "@effect/ai/AiTool"
|
|
3
|
+
import * as Context from "effect/Context"
|
|
4
|
+
import * as Effect from "effect/Effect"
|
|
5
|
+
import * as Layer from "effect/Layer"
|
|
6
|
+
import * as Option from "effect/Option"
|
|
7
|
+
|
|
8
|
+
export interface StrandConfig<E, R> {
|
|
9
|
+
/** The system prompt. */
|
|
10
|
+
system?: string | undefined
|
|
11
|
+
/** The initial list of AI input messages. */
|
|
12
|
+
messages?: Array<AiInput.Message> | undefined
|
|
13
|
+
/** Handler to be execute when messages are appended. */
|
|
14
|
+
onMessage?: (message: AiInput.Message) => Effect.Effect<void, E, R>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class Strand extends Context.Tag("liminal/Strand")<Strand, {
|
|
18
|
+
system?: string | undefined
|
|
19
|
+
messages: Array<AiInput.Message>
|
|
20
|
+
tools?: Array<AiTool.AiTool<any>>
|
|
21
|
+
onMessage: (message: AiInput.Message) => Effect.Effect<void>
|
|
22
|
+
}>() {}
|
|
23
|
+
|
|
24
|
+
/** Create an isolated clone of the current conversation to provide for an effect. */
|
|
25
|
+
export const make: <E = never, R = never>(
|
|
26
|
+
config?: StrandConfig<E, R>,
|
|
27
|
+
) => Effect.Effect<Strand["Type"], E, R> = (config) =>
|
|
28
|
+
Effect.map(
|
|
29
|
+
Effect.serviceOption(Strand),
|
|
30
|
+
Option.match({
|
|
31
|
+
onSome: ({ system, messages, tools, onMessage }) => ({
|
|
32
|
+
system: config ? config?.system : system,
|
|
33
|
+
messages: [...config ? config?.messages ?? [] : messages],
|
|
34
|
+
tools: [...tools ?? []],
|
|
35
|
+
onMessage: onMessage ?? (() => Effect.succeed(undefined)),
|
|
36
|
+
}),
|
|
37
|
+
onNone: () => ({
|
|
38
|
+
system: config?.system,
|
|
39
|
+
messages: config?.messages ?? [],
|
|
40
|
+
onMessage: (config?.onMessage ?? (() => Effect.succeed(undefined))) as never,
|
|
41
|
+
}),
|
|
42
|
+
}),
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
export const layer: <E = never, R = never>(config?: StrandConfig<E, R>) => Layer.Layer<Strand, E, R> = (config) =>
|
|
46
|
+
Layer.effect(Strand, make(config))
|
package/dist/L.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as AiError from "@effect/ai/AiError";
|
|
2
|
+
import * as AiInput from "@effect/ai/AiInput";
|
|
3
|
+
import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Schema from "effect/Schema";
|
|
6
|
+
import * as Strand from "./Strand.ts";
|
|
7
|
+
export declare const user: {
|
|
8
|
+
(template: TemplateStringsArray, ...substitutions: Array<unknown>): Effect.Effect<void, never, Strand.Strand>;
|
|
9
|
+
(message: string): Effect.Effect<void, never, Strand.Strand>;
|
|
10
|
+
(a0: TemplateStringsArray | string, ...aRest: Array<unknown>): Effect.Effect<void, never, Strand.Strand>;
|
|
11
|
+
};
|
|
12
|
+
export declare const messages: Effect.Effect<Array<AiInput.Message>, never, Strand.Strand>;
|
|
13
|
+
export declare const setMessages: (messages: Iterable<AiInput.Message>) => Effect.Effect<Array<AiInput.Message>, never, Strand.Strand>;
|
|
14
|
+
export declare const assistant: {
|
|
15
|
+
(): Effect.Effect<string, AiError.AiError, AiLanguageModel.AiLanguageModel | Strand.Strand>;
|
|
16
|
+
<O, I>(schema: Schema.Schema<O, I, never>): Effect.Effect<O, AiError.AiError, AiLanguageModel.AiLanguageModel | Strand.Strand>;
|
|
17
|
+
};
|
package/dist/L.js
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as AiError from "@effect/ai/AiError";
|
|
2
|
+
import * as AiInput from "@effect/ai/AiInput";
|
|
3
|
+
import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
|
|
4
|
+
import * as AiToolkit from "@effect/ai/AiToolkit";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import * as Strand from "./Strand.js";
|
|
8
|
+
import { isTemplateStringsArray } from "./util/isTemplateStringsArray.js";
|
|
9
|
+
export const user = Effect.fnUntraced(function* (a0, ...aRest) {
|
|
10
|
+
const { messages, onMessage } = yield* Strand.Strand;
|
|
11
|
+
const text = isTemplateStringsArray(a0) ? String.raw({ raw: a0 }, ...aRest) : a0;
|
|
12
|
+
const message = new AiInput.UserMessage({
|
|
13
|
+
parts: [new AiInput.TextPart({ text })],
|
|
14
|
+
});
|
|
15
|
+
yield* onMessage(message);
|
|
16
|
+
messages.push(message);
|
|
17
|
+
});
|
|
18
|
+
export const messages = Effect.map(Strand.Strand, ({ messages }) => messages);
|
|
19
|
+
export const setMessages = Effect.fnUntraced(function* (messages) {
|
|
20
|
+
const strand = yield* Strand.Strand;
|
|
21
|
+
const { messages: prev } = strand;
|
|
22
|
+
strand.messages = [...messages];
|
|
23
|
+
return prev;
|
|
24
|
+
});
|
|
25
|
+
export const assistant = Effect.fn(function* (schema) {
|
|
26
|
+
const model = yield* AiLanguageModel.AiLanguageModel;
|
|
27
|
+
const { system, messages, tools, onMessage } = yield* Strand.Strand;
|
|
28
|
+
if (schema) {
|
|
29
|
+
const response = yield* model.generateObject({
|
|
30
|
+
system,
|
|
31
|
+
schema,
|
|
32
|
+
prompt: messages,
|
|
33
|
+
});
|
|
34
|
+
const { value, text } = response;
|
|
35
|
+
yield* appendMessage(text);
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
const response = yield* model.generateText({
|
|
39
|
+
system,
|
|
40
|
+
prompt: messages,
|
|
41
|
+
toolkit: AiToolkit.make(...tools ?? []),
|
|
42
|
+
});
|
|
43
|
+
const { text } = response;
|
|
44
|
+
yield* appendMessage(text);
|
|
45
|
+
return text;
|
|
46
|
+
function* appendMessage(text) {
|
|
47
|
+
const message = new AiInput.AssistantMessage({
|
|
48
|
+
parts: [new AiInput.TextPart({ text })],
|
|
49
|
+
});
|
|
50
|
+
yield* onMessage(message);
|
|
51
|
+
messages.push(message);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
5
54
|
//# sourceMappingURL=L.js.map
|
package/dist/L.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"L.js","sourceRoot":"","sources":["../L.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"L.js","sourceRoot":"","sources":["../L.ts"],"names":[],"mappings":"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"}
|
package/dist/Strand.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as AiInput from "@effect/ai/AiInput";
|
|
2
|
+
import * as AiTool from "@effect/ai/AiTool";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
export interface StrandConfig<E, R> {
|
|
7
|
+
/** The system prompt. */
|
|
8
|
+
system?: string | undefined;
|
|
9
|
+
/** The initial list of AI input messages. */
|
|
10
|
+
messages?: Array<AiInput.Message> | undefined;
|
|
11
|
+
/** Handler to be execute when messages are appended. */
|
|
12
|
+
onMessage?: (message: AiInput.Message) => Effect.Effect<void, E, R>;
|
|
13
|
+
}
|
|
14
|
+
declare const Strand_base: Context.TagClass<Strand, "liminal/Strand", {
|
|
15
|
+
system?: string | undefined;
|
|
16
|
+
messages: Array<AiInput.Message>;
|
|
17
|
+
tools?: Array<AiTool.AiTool<any>>;
|
|
18
|
+
onMessage: (message: AiInput.Message) => Effect.Effect<void>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare class Strand extends Strand_base {
|
|
21
|
+
}
|
|
22
|
+
/** Create an isolated clone of the current conversation to provide for an effect. */
|
|
23
|
+
export declare const make: <E = never, R = never>(config?: StrandConfig<E, R>) => Effect.Effect<Strand["Type"], E, R>;
|
|
24
|
+
export declare const layer: <E = never, R = never>(config?: StrandConfig<E, R>) => Layer.Layer<Strand, E, R>;
|
|
25
|
+
export {};
|
package/dist/Strand.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as AiInput from "@effect/ai/AiInput";
|
|
2
|
+
import * as AiTool from "@effect/ai/AiTool";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import * as Option from "effect/Option";
|
|
7
|
+
export class Strand extends Context.Tag("liminal/Strand")() {
|
|
8
|
+
}
|
|
9
|
+
/** Create an isolated clone of the current conversation to provide for an effect. */
|
|
10
|
+
export const make = (config) => Effect.map(Effect.serviceOption(Strand), Option.match({
|
|
11
|
+
onSome: ({ system, messages, tools, onMessage }) => ({
|
|
12
|
+
system: config ? config?.system : system,
|
|
13
|
+
messages: [...config ? config?.messages ?? [] : messages],
|
|
14
|
+
tools: [...tools ?? []],
|
|
15
|
+
onMessage: onMessage ?? (() => Effect.succeed(undefined)),
|
|
16
|
+
}),
|
|
17
|
+
onNone: () => ({
|
|
18
|
+
system: config?.system,
|
|
19
|
+
messages: config?.messages ?? [],
|
|
20
|
+
onMessage: (config?.onMessage ?? (() => Effect.succeed(undefined))),
|
|
21
|
+
}),
|
|
22
|
+
}));
|
|
23
|
+
export const layer = (config) => Layer.effect(Strand, make(config));
|
|
24
|
+
//# sourceMappingURL=Strand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Strand.js","sourceRoot":"","sources":["../Strand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,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;AAWvC,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAKrD;CAAG;AAEP,qFAAqF;AACrF,MAAM,CAAC,MAAM,IAAI,GAE0B,CAAC,MAAM,EAAE,EAAE,CACpD,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAC5B,MAAM,CAAC,KAAK,CAAC;IACX,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM;QACxC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvB,SAAS,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC1D,CAAC;IACF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE;QAChC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAU;KAC7E,CAAC;CACH,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,KAAK,GAAqF,CAAC,MAAM,EAAE,EAAE,CAChH,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|