liminal 0.11.0 → 0.12.2
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 +18 -0
- package/L.ts +4 -3
- package/{pretty.ts → LPretty.ts} +3 -3
- package/Strand.ts +24 -4
- package/append.ts +1 -1
- package/assistant.ts +3 -1
- package/assistantStream.ts +25 -0
- package/branch.ts +3 -3
- package/clear.ts +1 -1
- package/disable.ts +5 -0
- package/dist/L.d.ts +4 -3
- package/dist/L.js +4 -3
- package/dist/L.js.map +1 -1
- package/dist/LPretty.d.ts +4 -0
- package/dist/{pretty.js → LPretty.js} +4 -4
- package/dist/LPretty.js.map +1 -0
- package/dist/Strand.d.ts +9 -3
- package/dist/Strand.js +11 -1
- package/dist/Strand.js.map +1 -1
- package/dist/append.d.ts +1 -1
- package/dist/append.js +0 -1
- package/dist/append.js.map +1 -1
- package/dist/assistant.js +3 -1
- package/dist/assistant.js.map +1 -1
- package/dist/assistantStream.d.ts +7 -0
- package/dist/assistantStream.js +17 -0
- package/dist/assistantStream.js.map +1 -0
- package/dist/branch.d.ts +1 -1
- package/dist/branch.js +2 -2
- package/dist/branch.js.map +1 -1
- package/dist/clear.d.ts +1 -1
- package/dist/clear.js +0 -1
- package/dist/clear.js.map +1 -1
- package/dist/disable.d.ts +4 -0
- package/dist/disable.js +3 -0
- package/dist/disable.js.map +1 -0
- package/dist/enable.d.ts +5 -0
- package/dist/enable.js +3 -0
- package/dist/enable.js.map +1 -0
- package/dist/events.d.ts +2 -2
- package/dist/events.js +2 -2
- package/dist/events.js.map +1 -1
- package/dist/handle.d.ts +7 -0
- package/dist/handle.js +14 -0
- package/dist/handle.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/sequence.d.ts +2 -0
- package/dist/{sequence_.js → sequence.js} +1 -1
- package/dist/sequence.js.map +1 -0
- package/dist/strand_.d.ts +1 -1
- package/dist/strand_.js +3 -13
- package/dist/strand_.js.map +1 -1
- package/dist/system.d.ts +3 -3
- package/dist/system.js +3 -2
- package/dist/system.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/user.d.ts +3 -4
- package/dist/user.js +8 -9
- package/dist/user.js.map +1 -1
- package/dist/user.test.js.map +1 -0
- package/dist/userJson.d.ts +4 -4
- package/dist/userJson.js +2 -4
- package/dist/userJson.js.map +1 -1
- package/dist/{internal → util}/JsonValue.d.ts +2 -0
- package/dist/util/JsonValue.js +82 -0
- package/dist/util/JsonValue.js.map +1 -0
- package/dist/util/Sequence.d.ts +2 -0
- package/dist/util/Sequence.js +2 -0
- package/dist/util/Sequence.js.map +1 -0
- package/dist/util/Taggable.d.ts +6 -0
- package/dist/util/Taggable.js +21 -0
- package/dist/util/Taggable.js.map +1 -0
- package/enable.ts +8 -0
- package/events.ts +5 -4
- package/handle.ts +25 -0
- package/index.ts +1 -1
- package/package.json +4 -4
- package/{sequence_.ts → sequence.ts} +1 -1
- package/strand_.ts +3 -17
- package/system.ts +8 -9
- package/user.test.ts +30 -0
- package/user.ts +15 -11
- package/userJson.ts +7 -7
- package/util/JsonValue.ts +97 -0
- package/util/Sequence.ts +9 -0
- package/util/Taggable.ts +47 -0
- package/Sequence.ts +0 -14
- package/dist/Sequence.d.ts +0 -2
- package/dist/Sequence.js +0 -2
- package/dist/Sequence.js.map +0 -1
- package/dist/internal/JsonValue.js +0 -2
- package/dist/internal/JsonValue.js.map +0 -1
- package/dist/internal/Taggable.d.ts +0 -11
- package/dist/internal/Taggable.js +0 -2
- package/dist/internal/Taggable.js.map +0 -1
- package/dist/pretty.d.ts +0 -2
- package/dist/pretty.js.map +0 -1
- package/dist/reduce.d.ts +0 -4
- package/dist/reduce.js +0 -20
- package/dist/reduce.js.map +0 -1
- package/dist/sequence_.d.ts +0 -2
- package/dist/sequence_.js.map +0 -1
- package/dist/todo.test.js +0 -3
- package/dist/todo.test.js.map +0 -1
- package/internal/JsonValue.ts +0 -5
- package/internal/Taggable.ts +0 -17
- package/reduce.ts +0 -32
- package/todo.test.ts +0 -3
- package/tsconfig.json +0 -18
- /package/dist/{todo.test.d.ts → user.test.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# liminal
|
|
2
2
|
|
|
3
|
+
## 0.12.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6df720c: Fix NPM publish.
|
|
8
|
+
|
|
9
|
+
## 0.12.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- a04ae8b: Introduce L.handle / rework strand event-handling mechanism.
|
|
14
|
+
|
|
15
|
+
## 0.11.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- feee30f: Testing provenance capture in changeset-driven publishes.
|
|
20
|
+
|
|
3
21
|
## 0.11.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/L.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export * from "./append.ts"
|
|
2
2
|
export * from "./assistant.ts"
|
|
3
|
+
export * from "./assistantStream.ts"
|
|
3
4
|
export * from "./assistantStruct.ts"
|
|
4
5
|
export * from "./branch.ts"
|
|
5
6
|
export * from "./clear.ts"
|
|
7
|
+
export * from "./enable.ts"
|
|
6
8
|
export * from "./events.ts"
|
|
9
|
+
export * from "./handle.ts"
|
|
7
10
|
export * from "./messages.ts"
|
|
8
|
-
export * from "./
|
|
9
|
-
export * from "./Sequence.ts"
|
|
10
|
-
export * from "./sequence_.ts"
|
|
11
|
+
export * from "./sequence.ts"
|
|
11
12
|
export * from "./strand_.ts"
|
|
12
13
|
export * from "./system.ts"
|
|
13
14
|
export * from "./user.ts"
|
package/{pretty.ts → LPretty.ts}
RENAMED
|
@@ -6,11 +6,11 @@ const RESET = "\x1b[0m"
|
|
|
6
6
|
const BOLD = "\x1b[1m"
|
|
7
7
|
const GRAY_BG = "\x1b[47m"
|
|
8
8
|
|
|
9
|
-
export const
|
|
9
|
+
export const event: (event: typeof LEvent["Type"]) => string = (event) => {
|
|
10
10
|
let text = `${GRAY}${event._tag}${RESET}`
|
|
11
11
|
switch (event._tag) {
|
|
12
12
|
case "MessagesAppended": {
|
|
13
|
-
text += event.messages.map(
|
|
13
|
+
text += event.messages.map(message).join("\n")
|
|
14
14
|
break
|
|
15
15
|
}
|
|
16
16
|
case "MessagesCleared": {
|
|
@@ -21,7 +21,7 @@ export const pretty: (event: typeof LEvent["Type"]) => string = (event) => {
|
|
|
21
21
|
return text
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const
|
|
24
|
+
export const message = ({ _tag, parts }: Message): string => {
|
|
25
25
|
let value = ""
|
|
26
26
|
for (const part of parts) {
|
|
27
27
|
value += `\n${BOLD}${_tag}\n${GRAY_BG}`
|
package/Strand.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Message } from "@effect/ai/AiInput"
|
|
2
|
-
import type
|
|
1
|
+
import type { Message } from "@effect/ai/AiInput"
|
|
2
|
+
import type * as AiToolkit from "@effect/ai/AiToolkit"
|
|
3
3
|
import * as Context from "effect/Context"
|
|
4
|
+
import * as Effect from "effect/Effect"
|
|
5
|
+
import * as Layer from "effect/Layer"
|
|
4
6
|
import * as Option from "effect/Option"
|
|
5
7
|
import * as PubSub from "effect/PubSub"
|
|
6
8
|
import type { LEvent } from "./LEvent.ts"
|
|
@@ -16,9 +18,27 @@ export declare namespace Strand {
|
|
|
16
18
|
/** The list of messages that the model uses to infer the next message. */
|
|
17
19
|
messages: Array<Message>
|
|
18
20
|
/** The tools available to the model. */
|
|
19
|
-
tools:
|
|
21
|
+
tools: Set<AiToolkit.Any>
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
/** A context tag that denotes the boundary of a conversation isolate. */
|
|
24
|
-
export class Strand extends Context.Tag("liminal/Strand")<Strand, Strand.Service>() {
|
|
26
|
+
export class Strand extends Context.Tag("liminal/Strand")<Strand, Strand.Service>() {
|
|
27
|
+
static layer: (init?: {
|
|
28
|
+
system?: string | undefined
|
|
29
|
+
messages?: Array<Message> | undefined
|
|
30
|
+
tools?: Set<AiToolkit.Any>
|
|
31
|
+
}) => Layer.Layer<Strand> = ({ system, messages, tools } = {}) =>
|
|
32
|
+
Layer.effect(
|
|
33
|
+
Strand,
|
|
34
|
+
Effect.gen(function*() {
|
|
35
|
+
return Strand.of({
|
|
36
|
+
parent: yield* Effect.serviceOption(Strand),
|
|
37
|
+
events: yield* PubSub.unbounded<LEvent>(),
|
|
38
|
+
system: Option.fromNullable(system),
|
|
39
|
+
messages: [...messages ?? []],
|
|
40
|
+
tools: new Set(tools ?? []),
|
|
41
|
+
})
|
|
42
|
+
}),
|
|
43
|
+
)
|
|
44
|
+
}
|
package/append.ts
CHANGED
package/assistant.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AiError } from "@effect/ai/AiError"
|
|
2
2
|
import { AssistantMessage, TextPart } from "@effect/ai/AiInput"
|
|
3
3
|
import { AiLanguageModel } from "@effect/ai/AiLanguageModel"
|
|
4
|
+
import * as AiToolkit from "@effect/ai/AiToolkit"
|
|
4
5
|
import * as Effect from "effect/Effect"
|
|
5
6
|
import * as Option from "effect/Option"
|
|
6
7
|
import { append } from "./append.ts"
|
|
@@ -9,10 +10,11 @@ import { Strand } from "./Strand.ts"
|
|
|
9
10
|
/** Infer an assistant message and append it to the conversation. */
|
|
10
11
|
export const assistant: Effect.Effect<string, AiError, AiLanguageModel | Strand> = Effect.gen(function*() {
|
|
11
12
|
const model = yield* AiLanguageModel
|
|
12
|
-
const { system, messages } = yield* Strand
|
|
13
|
+
const { system, messages, tools } = yield* Strand
|
|
13
14
|
const { text } = yield* model.generateText({
|
|
14
15
|
system: Option.getOrUndefined(system),
|
|
15
16
|
prompt: messages,
|
|
17
|
+
toolkit: AiToolkit.merge(...tools) as never,
|
|
16
18
|
})
|
|
17
19
|
yield* append(
|
|
18
20
|
new AssistantMessage({
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AiError } from "@effect/ai/AiError"
|
|
2
|
+
import { AiLanguageModel } from "@effect/ai/AiLanguageModel"
|
|
3
|
+
import type { AiResponse } from "@effect/ai/AiResponse"
|
|
4
|
+
import * as AiToolkit from "@effect/ai/AiToolkit"
|
|
5
|
+
import * as Effect from "effect/Effect"
|
|
6
|
+
import * as Option from "effect/Option"
|
|
7
|
+
import * as Stream from "effect/Stream"
|
|
8
|
+
import { Strand } from "./Strand"
|
|
9
|
+
|
|
10
|
+
/** Get a streamed inference from the assistant without appending it to the strand's messages. */
|
|
11
|
+
export const assistantStream: Stream.Stream<
|
|
12
|
+
AiResponse,
|
|
13
|
+
AiError,
|
|
14
|
+
AiLanguageModel | Strand
|
|
15
|
+
> = Stream.unwrap(
|
|
16
|
+
Effect.gen(function*() {
|
|
17
|
+
const model = yield* AiLanguageModel
|
|
18
|
+
const { system, messages, tools } = yield* Strand
|
|
19
|
+
return model.streamText({
|
|
20
|
+
system: Option.getOrUndefined(system),
|
|
21
|
+
prompt: messages,
|
|
22
|
+
toolkit: AiToolkit.merge(...tools) as never,
|
|
23
|
+
})
|
|
24
|
+
}),
|
|
25
|
+
)
|
package/branch.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { flow, identity } from "effect/Function"
|
|
|
3
3
|
import * as Option from "effect/Option"
|
|
4
4
|
import * as PubSub from "effect/PubSub"
|
|
5
5
|
import type { LEvent } from "./LEvent.ts"
|
|
6
|
-
import
|
|
7
|
-
import { sequence } from "./sequence_.ts"
|
|
6
|
+
import { sequence } from "./sequence.ts"
|
|
8
7
|
import { Strand } from "./Strand.ts"
|
|
8
|
+
import type { Sequence } from "./util/Sequence.ts"
|
|
9
9
|
|
|
10
10
|
/** Isolate the effect with a new strand in context. */
|
|
11
11
|
export const branch: Sequence<never, Strand> = flow(
|
|
@@ -19,7 +19,7 @@ export const branch: Sequence<never, Strand> = flow(
|
|
|
19
19
|
system: Option.map(parent.system, identity),
|
|
20
20
|
events: yield* PubSub.unbounded<LEvent>(),
|
|
21
21
|
messages: parent.messages.slice(),
|
|
22
|
-
tools: parent.tools
|
|
22
|
+
tools: new Set(parent.tools),
|
|
23
23
|
})
|
|
24
24
|
}),
|
|
25
25
|
),
|
package/clear.ts
CHANGED
package/disable.ts
ADDED
package/dist/L.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export * from "./append.ts";
|
|
2
2
|
export * from "./assistant.ts";
|
|
3
|
+
export * from "./assistantStream.ts";
|
|
3
4
|
export * from "./assistantStruct.ts";
|
|
4
5
|
export * from "./branch.ts";
|
|
5
6
|
export * from "./clear.ts";
|
|
7
|
+
export * from "./enable.ts";
|
|
6
8
|
export * from "./events.ts";
|
|
9
|
+
export * from "./handle.ts";
|
|
7
10
|
export * from "./messages.ts";
|
|
8
|
-
export * from "./
|
|
9
|
-
export * from "./Sequence.ts";
|
|
10
|
-
export * from "./sequence_.ts";
|
|
11
|
+
export * from "./sequence.ts";
|
|
11
12
|
export * from "./strand_.ts";
|
|
12
13
|
export * from "./system.ts";
|
|
13
14
|
export * from "./user.ts";
|
package/dist/L.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export * from "./append.js";
|
|
2
2
|
export * from "./assistant.js";
|
|
3
|
+
export * from "./assistantStream.js";
|
|
3
4
|
export * from "./assistantStruct.js";
|
|
4
5
|
export * from "./branch.js";
|
|
5
6
|
export * from "./clear.js";
|
|
7
|
+
export * from "./enable.js";
|
|
6
8
|
export * from "./events.js";
|
|
9
|
+
export * from "./handle.js";
|
|
7
10
|
export * from "./messages.js";
|
|
8
|
-
export * from "./
|
|
9
|
-
export * from "./Sequence.js";
|
|
10
|
-
export * from "./sequence_.js";
|
|
11
|
+
export * from "./sequence.js";
|
|
11
12
|
export * from "./strand_.js";
|
|
12
13
|
export * from "./system.js";
|
|
13
14
|
export * from "./user.js";
|
package/dist/L.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,
|
|
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"}
|
|
@@ -2,11 +2,11 @@ const GRAY = "\x1b[90m";
|
|
|
2
2
|
const RESET = "\x1b[0m";
|
|
3
3
|
const BOLD = "\x1b[1m";
|
|
4
4
|
const GRAY_BG = "\x1b[47m";
|
|
5
|
-
export const
|
|
5
|
+
export const event = (event) => {
|
|
6
6
|
let text = `${GRAY}${event._tag}${RESET}`;
|
|
7
7
|
switch (event._tag) {
|
|
8
8
|
case "MessagesAppended": {
|
|
9
|
-
text += event.messages.map(
|
|
9
|
+
text += event.messages.map(message).join("\n");
|
|
10
10
|
break;
|
|
11
11
|
}
|
|
12
12
|
case "MessagesCleared": {
|
|
@@ -16,7 +16,7 @@ export const pretty = (event) => {
|
|
|
16
16
|
}
|
|
17
17
|
return text;
|
|
18
18
|
};
|
|
19
|
-
const
|
|
19
|
+
export const message = ({ _tag, parts }) => {
|
|
20
20
|
let value = "";
|
|
21
21
|
for (const part of parts) {
|
|
22
22
|
value += `\n${BOLD}${_tag}\n${GRAY_BG}`;
|
|
@@ -34,4 +34,4 @@ const formatMessage = ({ _tag, parts }) => {
|
|
|
34
34
|
}
|
|
35
35
|
return value;
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=LPretty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Message } from "@effect/ai/AiInput";
|
|
2
|
-
import type
|
|
1
|
+
import type { Message } from "@effect/ai/AiInput";
|
|
2
|
+
import type * as AiToolkit from "@effect/ai/AiToolkit";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
4
5
|
import * as Option from "effect/Option";
|
|
5
6
|
import * as PubSub from "effect/PubSub";
|
|
6
7
|
import type { LEvent } from "./LEvent.ts";
|
|
@@ -15,11 +16,16 @@ export declare namespace Strand {
|
|
|
15
16
|
/** The list of messages that the model uses to infer the next message. */
|
|
16
17
|
messages: Array<Message>;
|
|
17
18
|
/** The tools available to the model. */
|
|
18
|
-
tools:
|
|
19
|
+
tools: Set<AiToolkit.Any>;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
declare const Strand_base: Context.TagClass<Strand, "liminal/Strand", Strand.Service>;
|
|
22
23
|
/** A context tag that denotes the boundary of a conversation isolate. */
|
|
23
24
|
export declare class Strand extends Strand_base {
|
|
25
|
+
static layer: (init?: {
|
|
26
|
+
system?: string | undefined;
|
|
27
|
+
messages?: Array<Message> | undefined;
|
|
28
|
+
tools?: Set<AiToolkit.Any>;
|
|
29
|
+
}) => Layer.Layer<Strand>;
|
|
24
30
|
}
|
|
25
31
|
export {};
|
package/dist/Strand.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { Message } from "@effect/ai/AiInput";
|
|
2
1
|
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
3
4
|
import * as Option from "effect/Option";
|
|
4
5
|
import * as PubSub from "effect/PubSub";
|
|
5
6
|
/** A context tag that denotes the boundary of a conversation isolate. */
|
|
6
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
|
+
}));
|
|
7
17
|
}
|
|
8
18
|
//# sourceMappingURL=Strand.js.map
|
package/dist/Strand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strand.js","sourceRoot":"","sources":["../Strand.ts"],"names":[],"mappings":"
|
|
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;AAkBvC,yEAAyE;AACzE,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAA0B;IACjF,MAAM,CAAC,KAAK,GAIgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/D,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,KAAK,IAAI,EAAE,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA"}
|
package/dist/append.d.ts
CHANGED
package/dist/append.js
CHANGED
package/dist/append.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"append.js","sourceRoot":"","sources":["../append.ts"],"names":[],"mappings":"
|
|
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
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AssistantMessage, TextPart } from "@effect/ai/AiInput";
|
|
2
2
|
import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
|
|
3
|
+
import * as AiToolkit from "@effect/ai/AiToolkit";
|
|
3
4
|
import * as Effect from "effect/Effect";
|
|
4
5
|
import * as Option from "effect/Option";
|
|
5
6
|
import { append } from "./append.js";
|
|
@@ -7,10 +8,11 @@ import { Strand } from "./Strand.js";
|
|
|
7
8
|
/** Infer an assistant message and append it to the conversation. */
|
|
8
9
|
export const assistant = Effect.gen(function* () {
|
|
9
10
|
const model = yield* AiLanguageModel;
|
|
10
|
-
const { system, messages } = yield* Strand;
|
|
11
|
+
const { system, messages, tools } = yield* Strand;
|
|
11
12
|
const { text } = yield* model.generateText({
|
|
12
13
|
system: Option.getOrUndefined(system),
|
|
13
14
|
prompt: messages,
|
|
15
|
+
toolkit: AiToolkit.merge(...tools),
|
|
14
16
|
});
|
|
15
17
|
yield* append(new AssistantMessage({
|
|
16
18
|
parts: [new TextPart({ text })],
|
package/dist/assistant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,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,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;
|
|
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,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAU;KAC5C,CAAC,CAAA;IACF,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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AiError } from "@effect/ai/AiError";
|
|
2
|
+
import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
|
|
3
|
+
import type { AiResponse } from "@effect/ai/AiResponse";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
5
|
+
import { Strand } from "./Strand";
|
|
6
|
+
/** Get a streamed inference from the assistant without appending it to the strand's messages. */
|
|
7
|
+
export declare const assistantStream: Stream.Stream<AiResponse, AiError, AiLanguageModel | Strand>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AiLanguageModel } from "@effect/ai/AiLanguageModel";
|
|
2
|
+
import * as AiToolkit from "@effect/ai/AiToolkit";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Option from "effect/Option";
|
|
5
|
+
import * as Stream from "effect/Stream";
|
|
6
|
+
import { Strand } from "./Strand";
|
|
7
|
+
/** Get a streamed inference from the assistant without appending it to the strand's messages. */
|
|
8
|
+
export const assistantStream = Stream.unwrap(Effect.gen(function* () {
|
|
9
|
+
const model = yield* AiLanguageModel;
|
|
10
|
+
const { system, messages, tools } = yield* Strand;
|
|
11
|
+
return model.streamText({
|
|
12
|
+
system: Option.getOrUndefined(system),
|
|
13
|
+
prompt: messages,
|
|
14
|
+
toolkit: AiToolkit.merge(...tools),
|
|
15
|
+
});
|
|
16
|
+
}));
|
|
17
|
+
//# sourceMappingURL=assistantStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,KAAK,CAAC,GAAG,KAAK,CAAU;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA"}
|
package/dist/branch.d.ts
CHANGED
package/dist/branch.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import { flow, identity } from "effect/Function";
|
|
3
3
|
import * as Option from "effect/Option";
|
|
4
4
|
import * as PubSub from "effect/PubSub";
|
|
5
|
-
import { sequence } from "./
|
|
5
|
+
import { sequence } from "./sequence.js";
|
|
6
6
|
import { Strand } from "./Strand.js";
|
|
7
7
|
/** Isolate the effect with a new strand in context. */
|
|
8
8
|
export const branch = flow(sequence, Effect.provideServiceEffect(Strand, Effect.gen(function* () {
|
|
@@ -12,7 +12,7 @@ export const branch = flow(sequence, Effect.provideServiceEffect(Strand, Effect.
|
|
|
12
12
|
system: Option.map(parent.system, identity),
|
|
13
13
|
events: yield* PubSub.unbounded(),
|
|
14
14
|
messages: parent.messages.slice(),
|
|
15
|
-
tools: parent.tools
|
|
15
|
+
tools: new Set(parent.tools),
|
|
16
16
|
});
|
|
17
17
|
})));
|
|
18
18
|
//# sourceMappingURL=branch.js.map
|
package/dist/branch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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.d.ts
CHANGED
package/dist/clear.js
CHANGED
package/dist/clear.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../clear.ts"],"names":[],"mappings":"
|
|
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
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../disable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA"}
|
package/dist/enable.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as AiTool from "@effect/ai/AiTool";
|
|
2
|
+
import type { AiToolkit } from "@effect/ai/AiToolkit";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import type { Strand } from "./Strand.ts";
|
|
5
|
+
export declare const enable: <Tools extends AiTool.Any>(toolkit: AiToolkit<Tools>) => Effect.Effect<never, never, AiTool.Handler<Tools["name"]> | Strand>;
|
package/dist/enable.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable.js","sourceRoot":"","sources":["../enable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA"}
|
package/dist/events.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Stream from "effect/Stream";
|
|
2
|
-
import type { LEvent } from "./LEvent";
|
|
2
|
+
import type { LEvent } from "./LEvent.ts";
|
|
3
3
|
import { Strand } from "./Strand.ts";
|
|
4
|
-
/**
|
|
4
|
+
/** A stream of events from the current strand. */
|
|
5
5
|
export declare const events: Stream.Stream<LEvent, never, Strand>;
|
package/dist/events.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Stream from "effect/Stream";
|
|
3
3
|
import { Strand } from "./Strand.js";
|
|
4
|
-
/**
|
|
5
|
-
export const events =
|
|
4
|
+
/** A stream of events from the current strand. */
|
|
5
|
+
export const events = Strand.pipe(Effect.map(({ events }) => Stream.fromPubSub(events)), Stream.unwrap);
|
|
6
6
|
//# sourceMappingURL=events.js.map
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type { RuntimeFiber } from "effect/Fiber";
|
|
3
|
+
import * as Scope from "effect/Scope";
|
|
4
|
+
import type { LEvent } from "./LEvent.ts";
|
|
5
|
+
import { Strand } from "./Strand.ts";
|
|
6
|
+
/** Attach an event handler to process the events of the current strand. */
|
|
7
|
+
export declare const handle: <A, E, R>(f: (event: LEvent) => Effect.Effect<A, E, R>) => Effect.Effect<RuntimeFiber<void, E>, never, Strand | R | Scope.Scope>;
|
package/dist/handle.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Scope from "effect/Scope";
|
|
3
|
+
import * as Stream from "effect/Stream";
|
|
4
|
+
import { Strand } from "./Strand.js";
|
|
5
|
+
/** Attach an event handler to process the events of the current strand. */
|
|
6
|
+
export const handle = Effect.fnUntraced(function* (f) {
|
|
7
|
+
const latch = yield* Effect.makeLatch(false);
|
|
8
|
+
const { events } = yield* Strand;
|
|
9
|
+
const dequeue = yield* events.subscribe;
|
|
10
|
+
const fiber = yield* latch.open.pipe(Effect.zipRight(Stream.fromQueue(dequeue).pipe(Stream.runForEach(f), Effect.fork)));
|
|
11
|
+
yield* latch.await;
|
|
12
|
+
return fiber;
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/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,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
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
CHANGED