liminal 0.6.0 → 0.7.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # liminal
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d6fe173: Remove approach to passing handlers to strands.
8
+
3
9
  ## 0.6.0
4
10
 
5
11
  ### Minor Changes
package/Context.ts CHANGED
@@ -1,13 +1,10 @@
1
- import type { AiInput, AiToolkit } from "@effect/ai"
2
- import { Context, Effect, Ref } from "effect"
3
- import { LEvent } from "./LEvent.ts"
1
+ import * as AiInput from "@effect/ai/AiInput"
2
+ import * as AiToolkit from "@effect/ai/AiToolkit"
3
+ import * as Context from "effect/Context"
4
+ import * as Ref from "effect/Ref"
4
5
 
5
6
  export class MessagesRef extends Context.Tag("liminal/Messages")<MessagesRef, Ref.Ref<Array<AiInput.Message>>>() {}
6
7
 
7
8
  export class System extends Context.Tag("liminal/System")<System, string | undefined>() {}
8
9
 
9
- export class Handler
10
- extends Context.Tag("liminal/Handler")<Handler, ((event: LEvent) => Effect.Effect<any, any, any>) | undefined>()
11
- {}
12
-
13
10
  export class Toolkit extends Context.Tag("liminal/Tools")<Toolkit, AiToolkit.AiToolkit<any> | undefined>() {}
package/assistant.ts CHANGED
@@ -1,17 +1,18 @@
1
- import { AiInput, AiLanguageModel } from "@effect/ai"
2
1
  import type { AiError } from "@effect/ai/AiError"
3
- import { Effect, Option, Ref, type Schema } from "effect"
4
- import { _emit } from "./_emit.ts"
5
- import { Handler, MessagesRef, System, Toolkit } from "./Context.ts"
6
- import { InferenceRequested, Inferred } from "./LEvent.ts"
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 Option from "effect/Option"
6
+ import * as Ref from "effect/Ref"
7
+ import type * as Schema from "effect/Schema"
8
+ import { MessagesRef, System, Toolkit } from "./Context.ts"
7
9
 
8
10
  export const assistant: {
9
- (): Effect.Effect<string, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System | Handler>
11
+ (): Effect.Effect<string, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System>
10
12
  <O, I>(
11
13
  schema: Schema.Schema<O, I, never>,
12
- ): Effect.Effect<O, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System | Handler>
14
+ ): Effect.Effect<O, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System>
13
15
  } = Effect.fn(function*(schema?: Schema.Schema<any>) {
14
- yield* _emit(new InferenceRequested())
15
16
  const model = yield* AiLanguageModel.AiLanguageModel
16
17
  const messagesRef = yield* MessagesRef
17
18
  const toolkitOption = yield* Effect.serviceOption(Toolkit)
@@ -23,7 +24,6 @@ export const assistant: {
23
24
  schema,
24
25
  prompt,
25
26
  })
26
- yield* _emit(new Inferred({ response }))
27
27
  const { value, text } = response
28
28
  yield* appendMessage(text)
29
29
  return value
@@ -37,7 +37,6 @@ export const assistant: {
37
37
  : {}
38
38
  : {},
39
39
  })
40
- yield* _emit(new Inferred({ response }))
41
40
  const { text } = response
42
41
  yield* appendMessage(text)
43
42
  return text
package/dist/Context.d.ts CHANGED
@@ -1,15 +1,13 @@
1
- import type { AiInput, AiToolkit } from "@effect/ai";
2
- import { Context, Effect, Ref } from "effect";
3
- import { LEvent } from "./LEvent.ts";
1
+ import * as AiInput from "@effect/ai/AiInput";
2
+ import * as AiToolkit from "@effect/ai/AiToolkit";
3
+ import * as Context from "effect/Context";
4
+ import * as Ref from "effect/Ref";
4
5
  declare const MessagesRef_base: Context.TagClass<MessagesRef, "liminal/Messages", Ref.Ref<(AiInput.UserMessage | AiInput.AssistantMessage | AiInput.ToolMessage)[]>>;
5
6
  export declare class MessagesRef extends MessagesRef_base {
6
7
  }
7
8
  declare const System_base: Context.TagClass<System, "liminal/System", string | undefined>;
8
9
  export declare class System extends System_base {
9
10
  }
10
- declare const Handler_base: Context.TagClass<Handler, "liminal/Handler", ((event: LEvent) => Effect.Effect<any, any, any>) | undefined>;
11
- export declare class Handler extends Handler_base {
12
- }
13
11
  declare const Toolkit_base: Context.TagClass<Toolkit, "liminal/Tools", AiToolkit.AiToolkit<any> | undefined>;
14
12
  export declare class Toolkit extends Toolkit_base {
15
13
  }
package/dist/Context.js CHANGED
@@ -1,11 +1,11 @@
1
- import { Context, Effect, Ref } from "effect";
2
- import { LEvent } from "./LEvent.js";
1
+ import * as AiInput from "@effect/ai/AiInput";
2
+ import * as AiToolkit from "@effect/ai/AiToolkit";
3
+ import * as Context from "effect/Context";
4
+ import * as Ref from "effect/Ref";
3
5
  export class MessagesRef extends Context.Tag("liminal/Messages")() {
4
6
  }
5
7
  export class System extends Context.Tag("liminal/System")() {
6
8
  }
7
- export class Handler extends Context.Tag("liminal/Handler")() {
8
- }
9
9
  export class Toolkit extends Context.Tag("liminal/Tools")() {
10
10
  }
11
11
  //# sourceMappingURL=Context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAgD;CAAG;AAEnH,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAA8B;CAAG;AAE1F,MAAM,OAAO,OACX,SAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAA0E;CAChH;AAEF,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAiD;CAAG"}
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../Context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAgD;CAAG;AAEnH,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAA8B;CAAG;AAE1F,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAiD;CAAG"}
@@ -1,8 +1,9 @@
1
- import { AiLanguageModel } from "@effect/ai";
2
1
  import type { AiError } from "@effect/ai/AiError";
3
- import { Effect, type Schema } from "effect";
4
- import { Handler, MessagesRef, System } from "./Context.ts";
2
+ import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
3
+ import * as Effect from "effect/Effect";
4
+ import type * as Schema from "effect/Schema";
5
+ import { MessagesRef, System } from "./Context.ts";
5
6
  export declare const assistant: {
6
- (): Effect.Effect<string, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System | Handler>;
7
- <O, I>(schema: Schema.Schema<O, I, never>): Effect.Effect<O, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System | Handler>;
7
+ (): Effect.Effect<string, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System>;
8
+ <O, I>(schema: Schema.Schema<O, I, never>): Effect.Effect<O, AiError, AiLanguageModel.AiLanguageModel | MessagesRef | System>;
8
9
  };
package/dist/assistant.js CHANGED
@@ -1,10 +1,10 @@
1
- import { AiInput, AiLanguageModel } from "@effect/ai";
2
- import { Effect, Option, Ref } from "effect";
3
- import { _emit } from "./_emit.js";
4
- import { Handler, MessagesRef, System, Toolkit } from "./Context.js";
5
- import { InferenceRequested, Inferred } from "./LEvent.js";
1
+ import * as AiInput from "@effect/ai/AiInput";
2
+ import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Option from "effect/Option";
5
+ import * as Ref from "effect/Ref";
6
+ import { MessagesRef, System, Toolkit } from "./Context.js";
6
7
  export const assistant = Effect.fn(function* (schema) {
7
- yield* _emit(new InferenceRequested());
8
8
  const model = yield* AiLanguageModel.AiLanguageModel;
9
9
  const messagesRef = yield* MessagesRef;
10
10
  const toolkitOption = yield* Effect.serviceOption(Toolkit);
@@ -16,7 +16,6 @@ export const assistant = Effect.fn(function* (schema) {
16
16
  schema,
17
17
  prompt,
18
18
  });
19
- yield* _emit(new Inferred({ response }));
20
19
  const { value, text } = response;
21
20
  yield* appendMessage(text);
22
21
  return value;
@@ -30,7 +29,6 @@ export const assistant = Effect.fn(function* (schema) {
30
29
  : {}
31
30
  : {},
32
31
  });
33
- yield* _emit(new Inferred({ response }));
34
32
  const { text } = response;
35
33
  yield* appendMessage(text);
36
34
  return text;
@@ -1 +1 @@
1
- {"version":3,"file":"assistant.js","sourceRoot":"","sources":["../assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAe,MAAM,QAAQ,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,CAAC,MAAM,SAAS,GAKlB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,MAA2B;IACjD,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,CAAA;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IACtC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAC5B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3C,MAAM;YACN,MAAM;YACN,MAAM;SACP,CAAC,CAAA;QACF,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QACxC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;QAChC,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,MAAM;QACN,MAAM;QACN,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YAC7B,CAAC,CAAC,aAAa,CAAC,KAAK;gBACnB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE;KACP,CAAC,CAAA;IACF,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;IACzB,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAA;IAEX,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAY;QAClC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,GAAG,IAAI;YACP,IAAI,OAAO,CAAC,gBAAgB,CAAC;gBAC3B,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"assistant.js","sourceRoot":"","sources":["../assistant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3D,MAAM,CAAC,MAAM,SAAS,GAKlB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,MAA2B;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,CAAA;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IACtC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAA;IAC5B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3C,MAAM;YACN,MAAM;YACN,MAAM;SACP,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;QAChC,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,MAAM;QACN,MAAM;QACN,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YAC7B,CAAC,CAAC,aAAa,CAAC,KAAK;gBACnB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE;KACP,CAAC,CAAA;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;IACzB,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAA;IAEX,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAY;QAClC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,GAAG,IAAI;YACP,IAAI,OAAO,CAAC,gBAAgB,CAAC;gBAC3B,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./Context.ts";
2
2
  export * as L from "./L.ts";
3
- export * from "./LEvent.ts";
4
3
  export * from "./strand.ts";
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./Context.js";
2
2
  export * as L from "./L.js";
3
- export * from "./LEvent.js";
4
3
  export * from "./strand.js";
5
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { AiInput } from "@effect/ai";
2
- import { Effect } from "effect";
1
+ import type { Message } from "@effect/ai/AiInput";
2
+ import * as Effect from "effect/Effect";
3
3
  import { MessagesRef } from "./Context.ts";
4
- export declare const messages: Effect.Effect<Array<AiInput.Message>, never, MessagesRef>;
4
+ export declare const messages: Effect.Effect<Array<Message>, never, MessagesRef>;
package/dist/messages.js CHANGED
@@ -1,4 +1,5 @@
1
- import { Effect, Ref } from "effect";
1
+ import * as Effect from "effect/Effect";
2
+ import * as Ref from "effect/Ref";
2
3
  import { MessagesRef } from "./Context.js";
3
4
  export const messages = Effect.flatMap(MessagesRef, Ref.get);
4
5
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAA8D,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAsD,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA"}
package/dist/set.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { AiInput } from "@effect/ai";
2
- import { Effect } from "effect";
1
+ import * as Effect from "effect/Effect";
3
2
  import { MessagesRef } from "./Context.ts";
4
- export declare const set: (messages: Iterable<AiInput.UserMessage | AiInput.AssistantMessage | AiInput.ToolMessage>) => Effect.Effect<(AiInput.UserMessage | AiInput.AssistantMessage | AiInput.ToolMessage)[], never, MessagesRef>;
3
+ export declare const set: (messages: Iterable<import("@effect/ai/AiInput").UserMessage | import("@effect/ai/AiInput").AssistantMessage | import("@effect/ai/AiInput").ToolMessage>) => Effect.Effect<(import("@effect/ai/AiInput").UserMessage | import("@effect/ai/AiInput").AssistantMessage | import("@effect/ai/AiInput").ToolMessage)[], never, MessagesRef>;
package/dist/set.js CHANGED
@@ -1,4 +1,6 @@
1
- import { Effect, Ref } from "effect";
1
+ import { Message } from "@effect/ai/AiInput";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Ref from "effect/Ref";
2
4
  import { MessagesRef } from "./Context.js";
3
5
  export const set = Effect.fn(function* (messages) {
4
6
  const messagesRef = yield* MessagesRef;
package/dist/set.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,QAAmC;IACxE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;IAC1C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,QAA2B;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;IAC1C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAC,CAAA"}
package/dist/strand.d.ts CHANGED
@@ -1,16 +1,15 @@
1
- import type { AiInput, AiTool, AiToolkit } from "@effect/ai";
2
- import { Effect } from "effect";
3
- import { Handler, MessagesRef, System } from "./Context.ts";
4
- import { LEvent } from "./LEvent.ts";
5
- export interface StrandOptions<E, R, in out T extends AiTool.Any> {
1
+ import * as AiInput from "@effect/ai/AiInput";
2
+ import * as AiTool from "@effect/ai/AiTool";
3
+ import type * as AiToolkit from "@effect/ai/AiToolkit";
4
+ import * as Effect from "effect/Effect";
5
+ import { MessagesRef, System } from "./Context.ts";
6
+ export interface StrandOptions<in out Tool extends AiTool.Any> {
6
7
  /** The system prompt. */
7
8
  system?: string | undefined;
8
9
  /** The initial list of AI input messages. */
9
10
  messages?: Iterable<AiInput.Message> | undefined;
10
- /** The liminal event handler. */
11
- handler?: ((event: LEvent) => Effect.Effect<any, E, R>) | undefined;
12
11
  /** The tools to use for by strand. */
13
- tools?: AiToolkit.AiToolkit<T> | undefined;
12
+ toolkit?: AiToolkit.AiToolkit<Tool> | undefined;
14
13
  }
15
14
  /** Create an isolated clone of the current conversation to provide for an effect. */
16
- export declare const strand: <HE = never, HR = never, T extends AiTool.Any = never>(options?: StrandOptions<HE, HR, T>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | HE, Exclude<R, MessagesRef | System | Handler> | T>;
15
+ export declare const strand: <HE = never, T extends AiTool.Any = never>(options?: StrandOptions<T>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | HE, Exclude<R, MessagesRef | System> | T>;
package/dist/strand.js CHANGED
@@ -1,6 +1,9 @@
1
- import { Effect, Option, Ref } from "effect";
2
- import { Handler, MessagesRef, System, Toolkit } from "./Context.js";
3
- import { LEvent } from "./LEvent.js";
1
+ import * as AiInput from "@effect/ai/AiInput";
2
+ import * as AiTool from "@effect/ai/AiTool";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Option from "effect/Option";
5
+ import * as Ref from "effect/Ref";
6
+ import { MessagesRef, System, Toolkit } from "./Context.js";
4
7
  /** Create an isolated clone of the current conversation to provide for an effect. */
5
8
  export const strand = (options) => (effect) => Effect.gen(function* () {
6
9
  const messagesRef = options?.messages
@@ -11,6 +14,6 @@ export const strand = (options) => (effect) => Effect.gen(function* () {
11
14
  },
12
15
  onNone: () => Ref.make([]),
13
16
  });
14
- return yield* (effect.pipe(Effect.provideService(MessagesRef, messagesRef), Effect.provideService(System, options?.system), Effect.provideService(Handler, options?.handler), Effect.provideService(Toolkit, options?.tools)));
15
- }); // TODO
17
+ return yield* (effect.pipe(Effect.provideService(MessagesRef, messagesRef), Effect.provideService(System, options?.system), Effect.provideService(Toolkit, options?.toolkit)));
18
+ });
16
19
  //# sourceMappingURL=strand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strand.js","sourceRoot":"","sources":["../strand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAapC,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAI6D,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CACtG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,WAAW,GAAG,OAAO,EAAE,QAAQ;QACnC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YAC9D,CAAC,MAAM,CAAC,GAAG;gBACT,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAA4B,CAAC;SACrD,CAAC,CAAA;IACJ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACxB,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,EAC/C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAChD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAC/C,CAAC,CAAA;AACJ,CAAC,CAAU,CAAA,CAAC,OAAO"}
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;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAW3D,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAImD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,WAAW,GAAG,OAAO,EAAE,QAAQ;QACnC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YAC9D,CAAC,MAAM,CAAC,GAAG;gBACT,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAA4B,CAAC;SACrD,CAAC,CAAA;IACJ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACxB,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,EAC/C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACjD,CAAC,CAAA;AACJ,CAAC,CAAU,CAAA"}