liminal 0.5.11 → 0.5.13

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.
Files changed (175) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/Config.ts +13 -0
  3. package/Context.ts +24 -32
  4. package/Definition.ts +32 -0
  5. package/EventBase.ts +1 -1
  6. package/Handler.ts +3 -5
  7. package/L/L.ts +5 -2
  8. package/L/all.ts +35 -0
  9. package/L/assistant.ts +5 -6
  10. package/L/catch.ts +16 -18
  11. package/L/context.ts +12 -0
  12. package/L/continuation.ts +13 -0
  13. package/L/emit.ts +10 -8
  14. package/L/infer.ts +22 -27
  15. package/L/message.ts +5 -9
  16. package/L/model.ts +6 -8
  17. package/L/reflect.ts +12 -0
  18. package/L/run.ts +29 -0
  19. package/L/strand.ts +14 -95
  20. package/L/stream.ts +11 -24
  21. package/L/system.ts +13 -8
  22. package/L/user.ts +13 -8
  23. package/LEvent.ts +9 -17
  24. package/LiminalAssertionError.ts +19 -0
  25. package/Model.ts +5 -3
  26. package/ModelRegistry.ts +1 -7
  27. package/Rune.test.ts +5 -0
  28. package/Rune.ts +24 -12
  29. package/Schema.ts +185 -0
  30. package/Strand.ts +253 -0
  31. package/Tool.ts +8 -16
  32. package/TypeAdapter.ts +3 -0
  33. package/dist/Config.d.ts +12 -0
  34. package/dist/Config.js +2 -0
  35. package/dist/Config.js.map +1 -0
  36. package/dist/Context.d.ts +11 -10
  37. package/dist/Context.js +15 -26
  38. package/dist/Context.js.map +1 -1
  39. package/dist/Definition.d.ts +10 -0
  40. package/dist/Definition.js +18 -0
  41. package/dist/Definition.js.map +1 -0
  42. package/dist/EventBase.js +1 -1
  43. package/dist/EventBase.js.map +1 -1
  44. package/dist/Handler.d.ts +3 -4
  45. package/dist/Handler.js +1 -2
  46. package/dist/Handler.js.map +1 -1
  47. package/dist/L/L.d.ts +5 -2
  48. package/dist/L/L.js +5 -2
  49. package/dist/L/L.js.map +1 -1
  50. package/dist/L/all.d.ts +10 -0
  51. package/dist/L/all.js +20 -0
  52. package/dist/L/all.js.map +1 -0
  53. package/dist/L/assistant.d.ts +2 -2
  54. package/dist/L/assistant.js +4 -5
  55. package/dist/L/assistant.js.map +1 -1
  56. package/dist/L/catch.d.ts +3 -2
  57. package/dist/L/catch.js +12 -15
  58. package/dist/L/catch.js.map +1 -1
  59. package/dist/L/context.d.ts +2 -0
  60. package/dist/L/context.js +12 -0
  61. package/dist/L/context.js.map +1 -0
  62. package/dist/L/continuation.d.ts +3 -0
  63. package/dist/L/continuation.js +12 -0
  64. package/dist/L/continuation.js.map +1 -0
  65. package/dist/L/emit.d.ts +3 -5
  66. package/dist/L/emit.js +8 -3
  67. package/dist/L/emit.js.map +1 -1
  68. package/dist/L/infer.d.ts +2 -5
  69. package/dist/L/infer.js +21 -22
  70. package/dist/L/infer.js.map +1 -1
  71. package/dist/L/message.d.ts +2 -4
  72. package/dist/L/message.js +4 -6
  73. package/dist/L/message.js.map +1 -1
  74. package/dist/L/model.d.ts +2 -4
  75. package/dist/L/model.js +4 -5
  76. package/dist/L/model.js.map +1 -1
  77. package/dist/L/reflect.d.ts +4 -0
  78. package/dist/L/reflect.js +10 -0
  79. package/dist/L/reflect.js.map +1 -0
  80. package/dist/L/run.d.ts +15 -0
  81. package/dist/L/run.js +16 -0
  82. package/dist/L/run.js.map +1 -0
  83. package/dist/L/strand.d.ts +4 -25
  84. package/dist/L/strand.js +8 -65
  85. package/dist/L/strand.js.map +1 -1
  86. package/dist/L/stream.d.ts +2 -4
  87. package/dist/L/stream.js +8 -19
  88. package/dist/L/stream.js.map +1 -1
  89. package/dist/L/system.d.ts +2 -4
  90. package/dist/L/system.js +4 -3
  91. package/dist/L/system.js.map +1 -1
  92. package/dist/L/user.d.ts +2 -4
  93. package/dist/L/user.js +4 -3
  94. package/dist/L/user.js.map +1 -1
  95. package/dist/LEvent.d.ts +13 -41
  96. package/dist/LEvent.js +4 -15
  97. package/dist/LEvent.js.map +1 -1
  98. package/dist/LiminalAssertionError.d.ts +8 -0
  99. package/dist/LiminalAssertionError.js +20 -0
  100. package/dist/LiminalAssertionError.js.map +1 -0
  101. package/dist/Model.d.ts +4 -2
  102. package/dist/Model.js +1 -1
  103. package/dist/Model.js.map +1 -1
  104. package/dist/ModelRegistry.d.ts +0 -2
  105. package/dist/ModelRegistry.js +0 -2
  106. package/dist/ModelRegistry.js.map +1 -1
  107. package/dist/Rune.d.ts +19 -7
  108. package/dist/Rune.js +8 -4
  109. package/dist/Rune.js.map +1 -1
  110. package/dist/Rune.test.d.ts +1 -0
  111. package/dist/Rune.test.js +5 -0
  112. package/dist/Rune.test.js.map +1 -0
  113. package/dist/Schema.d.ts +46 -0
  114. package/dist/Schema.js +130 -0
  115. package/dist/Schema.js.map +1 -0
  116. package/dist/Strand.d.ts +57 -0
  117. package/dist/Strand.js +177 -0
  118. package/dist/Strand.js.map +1 -0
  119. package/dist/Tool.d.ts +6 -5
  120. package/dist/Tool.js +3 -4
  121. package/dist/Tool.js.map +1 -1
  122. package/dist/TypeAdapter.d.ts +1 -0
  123. package/dist/TypeAdapter.js +3 -0
  124. package/dist/TypeAdapter.js.map +1 -0
  125. package/dist/errors.d.ts +9 -0
  126. package/dist/errors.js +11 -0
  127. package/dist/errors.js.map +1 -0
  128. package/dist/index.d.ts +6 -4
  129. package/dist/index.js +6 -4
  130. package/dist/index.js.map +1 -1
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/dist/util/EnsureNarrow.d.ts +1 -0
  133. package/dist/util/EnsureNarrow.js +2 -0
  134. package/dist/util/EnsureNarrow.js.map +1 -0
  135. package/dist/util/JSONValue.d.ts +8 -0
  136. package/dist/util/JSONValue.js +20 -0
  137. package/dist/util/JSONValue.js.map +1 -0
  138. package/dist/util/attachCustomInspect.d.ts +1 -0
  139. package/dist/util/attachCustomInspect.js +11 -0
  140. package/dist/util/attachCustomInspect.js.map +1 -0
  141. package/dist/util/isTemplateStringsArray.d.ts +1 -0
  142. package/dist/util/isTemplateStringsArray.js +4 -0
  143. package/dist/util/isTemplateStringsArray.js.map +1 -0
  144. package/errors.ts +12 -0
  145. package/index.ts +6 -4
  146. package/package.json +3 -13
  147. package/tsconfig.json +1 -5
  148. package/util/EnsureNarrow.ts +1 -0
  149. package/util/JSONValue.ts +20 -0
  150. package/util/attachCustomInspect.ts +14 -0
  151. package/util/isTemplateStringsArray.ts +3 -0
  152. package/Fiber.ts +0 -126
  153. package/L/_common.ts +0 -6
  154. package/L/rune.ts +0 -12
  155. package/MessageRegistry.ts +0 -22
  156. package/Runic.ts +0 -30
  157. package/ToolRegistry.ts +0 -10
  158. package/dist/Fiber.d.ts +0 -36
  159. package/dist/Fiber.js +0 -97
  160. package/dist/Fiber.js.map +0 -1
  161. package/dist/L/_common.d.ts +0 -4
  162. package/dist/L/_common.js +0 -7
  163. package/dist/L/_common.js.map +0 -1
  164. package/dist/L/rune.d.ts +0 -3
  165. package/dist/L/rune.js +0 -9
  166. package/dist/L/rune.js.map +0 -1
  167. package/dist/MessageRegistry.d.ts +0 -9
  168. package/dist/MessageRegistry.js +0 -15
  169. package/dist/MessageRegistry.js.map +0 -1
  170. package/dist/Runic.d.ts +0 -9
  171. package/dist/Runic.js +0 -18
  172. package/dist/Runic.js.map +0 -1
  173. package/dist/ToolRegistry.d.ts +0 -6
  174. package/dist/ToolRegistry.js +0 -8
  175. package/dist/ToolRegistry.js.map +0 -1
package/Fiber.ts DELETED
@@ -1,126 +0,0 @@
1
- import { attachCustomInspect } from "liminal-util"
2
- import { Context } from "./Context.ts"
3
- import { type Handler, HandlerContext } from "./Handler.ts"
4
- import { ToolRegistry, ToolRegistryContext } from "./index.ts"
5
- import { FiberCreated, FiberRejected, FiberResolved, FiberStarted } from "./LEvent.ts"
6
- import { MessageRegistry, MessageRegistryContext } from "./MessageRegistry.ts"
7
- import { ModelRegistry, ModelRegistryContext } from "./ModelRegistry.ts"
8
- import { type Rune, RuneKey } from "./Rune.ts"
9
- import { Runic } from "./Runic.ts"
10
-
11
- export interface FiberConfig {
12
- parent?: Fiber
13
- signal?: AbortSignal
14
- context: Context
15
- }
16
-
17
- export class Fiber<T = any> {
18
- static *[Symbol.iterator](): Generator<Rune<never>, Fiber> {
19
- return yield Object.assign((fiber: Fiber) => fiber, {
20
- [RuneKey]: true,
21
- debug: "current_fiber",
22
- } as never)
23
- }
24
-
25
- static nextIndex: number = 0
26
- readonly index: number = Fiber.nextIndex++
27
-
28
- readonly #context: Context
29
- readonly #runic: Runic<Rune, T>
30
- readonly #handler: Handler | undefined = HandlerContext.get()
31
- readonly #configSignal?: AbortSignal
32
-
33
- declare readonly parent?: Fiber
34
-
35
- status: FiberStatus<T> = { type: "untouched" }
36
- controller: AbortController = new AbortController()
37
-
38
- constructor(runic: Runic<Rune, T>, config: FiberConfig) {
39
- this.#runic = runic
40
- const { context, parent, signal } = config
41
- this.#context = context
42
- if (parent) this.parent = parent
43
- if (signal) this.#configSignal = signal
44
- this.handle(new FiberCreated())
45
- }
46
-
47
- handle(event: any) {
48
- this.#handler?.call(this, event)
49
- }
50
-
51
- resolution(): Promise<T> {
52
- switch (this.status.type) {
53
- case "untouched": {
54
- const { promise, resolve, reject } = Promise.withResolvers<T>()
55
- this.status = {
56
- type: "pending",
57
- self: this.controller.signal,
58
- promise,
59
- }
60
- this.handle(new FiberStarted())
61
- const iterator = Runic.unwrap(this.#runic)
62
- let nextArg: unknown
63
- this.#context.run(async () => {
64
- try {
65
- let current = await iterator.next()
66
- while (!current.done) {
67
- const rune = current.value
68
- nextArg = await rune(this)
69
- current = await iterator.next(nextArg)
70
- }
71
- const { value } = current
72
- this.status = {
73
- type: "resolved",
74
- value,
75
- }
76
- this.handle(new FiberResolved(value))
77
- this.controller.abort()
78
- resolve(value)
79
- } catch (exception) {
80
- this.status = {
81
- type: "rejected",
82
- exception,
83
- }
84
- this.handle(new FiberRejected(exception))
85
- this.controller.abort()
86
- reject(exception)
87
- }
88
- })
89
- return promise
90
- }
91
- case "pending": {
92
- return this.status.promise
93
- }
94
- case "resolved": {
95
- return Promise.resolve(this.status.value)
96
- }
97
- case "rejected": {
98
- return Promise.reject(this.status.exception)
99
- }
100
- case "aborted": {
101
- return Promise.reject(this.status.reason)
102
- }
103
- }
104
- }
105
-
106
- static {
107
- attachCustomInspect(this, ({ index, parent }) => ({ index, ...parent && { parent } }))
108
- }
109
- }
110
-
111
- export type FiberStatus<T> = {
112
- type: "untouched"
113
- } | {
114
- type: "pending"
115
- self: AbortSignal
116
- promise: Promise<T>
117
- } | {
118
- type: "aborted"
119
- reason: unknown
120
- } | {
121
- type: "resolved"
122
- value: T
123
- } | {
124
- type: "rejected"
125
- exception: unknown
126
- }
package/L/_common.ts DELETED
@@ -1,6 +0,0 @@
1
- export class RequestCounter {
2
- static count: number = 0
3
- static next(): number {
4
- return this.count++
5
- }
6
- }
package/L/rune.ts DELETED
@@ -1,12 +0,0 @@
1
- import { Fiber } from "../Fiber.ts"
2
- import { type Rune, RuneKey } from "../Rune.ts"
3
-
4
- export function* rune<R>(
5
- source: (fiber: Fiber) => R,
6
- debug?: string,
7
- ): Generator<Rune<never>, Awaited<R>> {
8
- return yield Object.assign(source, {
9
- [RuneKey]: true,
10
- debug,
11
- }) as never
12
- }
@@ -1,22 +0,0 @@
1
- import { ContextPart } from "./Context.ts"
2
- import type { Message } from "./Message.ts"
3
-
4
- export class MessageRegistry {
5
- messages: Array<Message>
6
- constructor(messages?: Array<Message>) {
7
- this.messages = messages ?? []
8
- }
9
-
10
- append(message: Message): void {
11
- this.messages.push(message)
12
- }
13
-
14
- clone(): MessageRegistry {
15
- return new MessageRegistry([...this.messages])
16
- }
17
- }
18
-
19
- export const MessageRegistryContext: ContextPart<MessageRegistry> = ContextPart(
20
- (parent) => parent?.clone() ?? new MessageRegistry(),
21
- "message_registry",
22
- )
package/Runic.ts DELETED
@@ -1,30 +0,0 @@
1
- import type { Rune } from "./Rune.ts"
2
-
3
- export type RuneIterator<Y extends Rune = Rune, T = any> = Iterator<Y, T> | AsyncIterator<Y, T>
4
- export type RuneIterable<Y extends Rune = Rune, T = any> = Iterable<Y, T> | AsyncIterable<Y, T>
5
- export type Runic<Y extends Rune = Rune, T = any> = RuneIterable<Y, T> | (() => RuneIterable<Y, T>)
6
-
7
- export namespace Runic {
8
- export type Y<X extends Runic> = X extends RuneIterable<infer Y> ? Y
9
- : X extends () => RuneIterable<infer Y> ? Y
10
- : X extends RuneIterator<infer Y> ? Y
11
- : never
12
-
13
- export type T<X extends Runic> = X extends RuneIterable<Rune, infer T> ? T
14
- : X extends () => RuneIterable<Rune, infer T> ? T
15
- : X extends RuneIterator<Rune, infer T> ? T
16
- : never
17
-
18
- export function unwrap<Y extends Rune, T>(runic: Runic<Y, T>): RuneIterator<Y, T> {
19
- if (Symbol.iterator in runic) {
20
- return runic[Symbol.iterator]()
21
- } else if (Symbol.asyncIterator in runic) {
22
- return runic[Symbol.asyncIterator]()
23
- }
24
- const iterable = runic()
25
- if (Symbol.iterator in iterable) {
26
- return iterable[Symbol.iterator]()
27
- }
28
- return iterable[Symbol.asyncIterator]()
29
- }
30
- }
package/ToolRegistry.ts DELETED
@@ -1,10 +0,0 @@
1
- import { ContextPart } from "liminal"
2
- import type { Tool } from "./Tool"
3
-
4
- export class ToolRegistry extends Set<Tool> {
5
- clone(): ToolRegistry {
6
- return new ToolRegistry([...this])
7
- }
8
- }
9
-
10
- export const ToolRegistryContext: ContextPart<ToolRegistry> = ContextPart(() => new ToolRegistry(), "tool_registry")
package/dist/Fiber.d.ts DELETED
@@ -1,36 +0,0 @@
1
- import { Context } from "./Context.ts";
2
- import { type Rune } from "./Rune.ts";
3
- import { Runic } from "./Runic.ts";
4
- export interface FiberConfig {
5
- parent?: Fiber;
6
- signal?: AbortSignal;
7
- context: Context;
8
- }
9
- export declare class Fiber<T = any> {
10
- #private;
11
- static [Symbol.iterator](): Generator<Rune<never>, Fiber>;
12
- static nextIndex: number;
13
- readonly index: number;
14
- readonly parent?: Fiber;
15
- status: FiberStatus<T>;
16
- controller: AbortController;
17
- constructor(runic: Runic<Rune, T>, config: FiberConfig);
18
- handle(event: any): void;
19
- resolution(): Promise<T>;
20
- }
21
- export type FiberStatus<T> = {
22
- type: "untouched";
23
- } | {
24
- type: "pending";
25
- self: AbortSignal;
26
- promise: Promise<T>;
27
- } | {
28
- type: "aborted";
29
- reason: unknown;
30
- } | {
31
- type: "resolved";
32
- value: T;
33
- } | {
34
- type: "rejected";
35
- exception: unknown;
36
- };
package/dist/Fiber.js DELETED
@@ -1,97 +0,0 @@
1
- import { attachCustomInspect } from "liminal-util";
2
- import { Context } from "./Context.js";
3
- import { HandlerContext } from "./Handler.js";
4
- import { ToolRegistry, ToolRegistryContext } from "./index.js";
5
- import { FiberCreated, FiberRejected, FiberResolved, FiberStarted } from "./LEvent.js";
6
- import { MessageRegistry, MessageRegistryContext } from "./MessageRegistry.js";
7
- import { ModelRegistry, ModelRegistryContext } from "./ModelRegistry.js";
8
- import { RuneKey } from "./Rune.js";
9
- import { Runic } from "./Runic.js";
10
- export class Fiber {
11
- static *[Symbol.iterator]() {
12
- return yield Object.assign((fiber) => fiber, {
13
- [RuneKey]: true,
14
- debug: "current_fiber",
15
- });
16
- }
17
- static nextIndex = 0;
18
- index = Fiber.nextIndex++;
19
- #context;
20
- #runic;
21
- #handler = HandlerContext.get();
22
- #configSignal;
23
- status = { type: "untouched" };
24
- controller = new AbortController();
25
- constructor(runic, config) {
26
- this.#runic = runic;
27
- const { context, parent, signal } = config;
28
- this.#context = context;
29
- if (parent)
30
- this.parent = parent;
31
- if (signal)
32
- this.#configSignal = signal;
33
- this.handle(new FiberCreated());
34
- }
35
- handle(event) {
36
- this.#handler?.call(this, event);
37
- }
38
- resolution() {
39
- switch (this.status.type) {
40
- case "untouched": {
41
- const { promise, resolve, reject } = Promise.withResolvers();
42
- this.status = {
43
- type: "pending",
44
- self: this.controller.signal,
45
- promise,
46
- };
47
- this.handle(new FiberStarted());
48
- const iterator = Runic.unwrap(this.#runic);
49
- let nextArg;
50
- this.#context.run(async () => {
51
- try {
52
- let current = await iterator.next();
53
- while (!current.done) {
54
- const rune = current.value;
55
- nextArg = await rune(this);
56
- current = await iterator.next(nextArg);
57
- }
58
- const { value } = current;
59
- this.status = {
60
- type: "resolved",
61
- value,
62
- };
63
- this.handle(new FiberResolved(value));
64
- this.controller.abort();
65
- resolve(value);
66
- }
67
- catch (exception) {
68
- this.status = {
69
- type: "rejected",
70
- exception,
71
- };
72
- this.handle(new FiberRejected(exception));
73
- this.controller.abort();
74
- reject(exception);
75
- }
76
- });
77
- return promise;
78
- }
79
- case "pending": {
80
- return this.status.promise;
81
- }
82
- case "resolved": {
83
- return Promise.resolve(this.status.value);
84
- }
85
- case "rejected": {
86
- return Promise.reject(this.status.exception);
87
- }
88
- case "aborted": {
89
- return Promise.reject(this.status.reason);
90
- }
91
- }
92
- }
93
- static {
94
- attachCustomInspect(this, ({ index, parent }) => ({ index, ...parent && { parent } }));
95
- }
96
- }
97
- //# sourceMappingURL=Fiber.js.map
package/dist/Fiber.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Fiber.js","sourceRoot":"","sources":["../Fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAgB,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAa,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQlC,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,EAAE;YAClD,CAAC,OAAO,CAAC,EAAE,IAAI;YACf,KAAK,EAAE,eAAe;SACd,CAAC,CAAA;IACb,CAAC;IAED,MAAM,CAAC,SAAS,GAAW,CAAC,CAAA;IACnB,KAAK,GAAW,KAAK,CAAC,SAAS,EAAE,CAAA;IAEjC,QAAQ,CAAS;IACjB,MAAM,CAAgB;IACtB,QAAQ,GAAwB,cAAc,CAAC,GAAG,EAAE,CAAA;IACpD,aAAa,CAAc;IAIpC,MAAM,GAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;IAC9C,UAAU,GAAoB,IAAI,eAAe,EAAE,CAAA;IAEnD,YAAY,KAAqB,EAAE,MAAmB;QACpD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAChC,IAAI,MAAM;YAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,KAAU;QACf,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,UAAU;QACR,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAK,CAAA;gBAC/D,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC5B,OAAO;iBACR,CAAA;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAA;gBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC1C,IAAI,OAAgB,CAAA;gBACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC3B,IAAI,CAAC;wBACH,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;wBACnC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BACrB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;4BAC1B,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;4BAC1B,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACxC,CAAC;wBACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;wBACzB,IAAI,CAAC,MAAM,GAAG;4BACZ,IAAI,EAAE,UAAU;4BAChB,KAAK;yBACN,CAAA;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;wBACrC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;wBACvB,OAAO,CAAC,KAAK,CAAC,CAAA;oBAChB,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,GAAG;4BACZ,IAAI,EAAE,UAAU;4BAChB,SAAS;yBACV,CAAA;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;wBACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;wBACvB,MAAM,CAAC,SAAS,CAAC,CAAA;oBACnB,CAAC;gBACH,CAAC,CAAC,CAAA;gBACF,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;YAC5B,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED;QACE,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare class RequestCounter {
2
- static count: number;
3
- static next(): number;
4
- }
package/dist/L/_common.js DELETED
@@ -1,7 +0,0 @@
1
- export class RequestCounter {
2
- static count = 0;
3
- static next() {
4
- return this.count++;
5
- }
6
- }
7
- //# sourceMappingURL=_common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_common.js","sourceRoot":"","sources":["../../L/_common.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,KAAK,GAAW,CAAC,CAAA;IACxB,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC"}
package/dist/L/rune.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { Fiber } from "../Fiber.ts";
2
- import { type Rune } from "../Rune.ts";
3
- export declare function rune<R>(source: (fiber: Fiber) => R, debug?: string): Generator<Rune<never>, Awaited<R>>;
package/dist/L/rune.js DELETED
@@ -1,9 +0,0 @@
1
- import { Fiber } from "../Fiber.js";
2
- import { RuneKey } from "../Rune.js";
3
- export function* rune(source, debug) {
4
- return yield Object.assign(source, {
5
- [RuneKey]: true,
6
- debug,
7
- });
8
- }
9
- //# sourceMappingURL=rune.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rune.js","sourceRoot":"","sources":["../../L/rune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,SAAS,CAAC,CAAC,IAAI,CACnB,MAA2B,EAC3B,KAAc;IAEd,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACjC,CAAC,OAAO,CAAC,EAAE,IAAI;QACf,KAAK;KACN,CAAU,CAAA;AACb,CAAC"}
@@ -1,9 +0,0 @@
1
- import { ContextPart } from "./Context.ts";
2
- import type { Message } from "./Message.ts";
3
- export declare class MessageRegistry {
4
- messages: Array<Message>;
5
- constructor(messages?: Array<Message>);
6
- append(message: Message): void;
7
- clone(): MessageRegistry;
8
- }
9
- export declare const MessageRegistryContext: ContextPart<MessageRegistry>;
@@ -1,15 +0,0 @@
1
- import { ContextPart } from "./Context.js";
2
- export class MessageRegistry {
3
- messages;
4
- constructor(messages) {
5
- this.messages = messages ?? [];
6
- }
7
- append(message) {
8
- this.messages.push(message);
9
- }
10
- clone() {
11
- return new MessageRegistry([...this.messages]);
12
- }
13
- }
14
- export const MessageRegistryContext = ContextPart((parent) => parent?.clone() ?? new MessageRegistry(), "message_registry");
15
- //# sourceMappingURL=MessageRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageRegistry.js","sourceRoot":"","sources":["../MessageRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C,MAAM,OAAO,eAAe;IAC1B,QAAQ,CAAgB;IACxB,YAAY,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK;QACH,OAAO,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAiC,WAAW,CAC7E,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,eAAe,EAAE,EACpD,kBAAkB,CACnB,CAAA"}
package/dist/Runic.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import type { Rune } from "./Rune.ts";
2
- export type RuneIterator<Y extends Rune = Rune, T = any> = Iterator<Y, T> | AsyncIterator<Y, T>;
3
- export type RuneIterable<Y extends Rune = Rune, T = any> = Iterable<Y, T> | AsyncIterable<Y, T>;
4
- export type Runic<Y extends Rune = Rune, T = any> = RuneIterable<Y, T> | (() => RuneIterable<Y, T>);
5
- export declare namespace Runic {
6
- type Y<X extends Runic> = X extends RuneIterable<infer Y> ? Y : X extends () => RuneIterable<infer Y> ? Y : X extends RuneIterator<infer Y> ? Y : never;
7
- type T<X extends Runic> = X extends RuneIterable<Rune, infer T> ? T : X extends () => RuneIterable<Rune, infer T> ? T : X extends RuneIterator<Rune, infer T> ? T : never;
8
- function unwrap<Y extends Rune, T>(runic: Runic<Y, T>): RuneIterator<Y, T>;
9
- }
package/dist/Runic.js DELETED
@@ -1,18 +0,0 @@
1
- export var Runic;
2
- (function (Runic) {
3
- function unwrap(runic) {
4
- if (Symbol.iterator in runic) {
5
- return runic[Symbol.iterator]();
6
- }
7
- else if (Symbol.asyncIterator in runic) {
8
- return runic[Symbol.asyncIterator]();
9
- }
10
- const iterable = runic();
11
- if (Symbol.iterator in iterable) {
12
- return iterable[Symbol.iterator]();
13
- }
14
- return iterable[Symbol.asyncIterator]();
15
- }
16
- Runic.unwrap = unwrap;
17
- })(Runic || (Runic = {}));
18
- //# sourceMappingURL=Runic.js.map
package/dist/Runic.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Runic.js","sourceRoot":"","sources":["../Runic.ts"],"names":[],"mappings":"AAMA,MAAM,KAAW,KAAK,CAuBrB;AAvBD,WAAiB,KAAK;IAWpB,SAAgB,MAAM,CAAoB,KAAkB;QAC1D,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;QACjC,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,IAAI,KAAK,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;QACtC,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;QACxB,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IACzC,CAAC;IAXe,YAAM,SAWrB,CAAA;AACH,CAAC,EAvBgB,KAAK,KAAL,KAAK,QAuBrB"}
@@ -1,6 +0,0 @@
1
- import { ContextPart } from "liminal";
2
- import type { Tool } from "./Tool";
3
- export declare class ToolRegistry extends Set<Tool> {
4
- clone(): ToolRegistry;
5
- }
6
- export declare const ToolRegistryContext: ContextPart<ToolRegistry>;
@@ -1,8 +0,0 @@
1
- import { ContextPart } from "liminal";
2
- export class ToolRegistry extends Set {
3
- clone() {
4
- return new ToolRegistry([...this]);
5
- }
6
- }
7
- export const ToolRegistryContext = ContextPart(() => new ToolRegistry(), "tool_registry");
8
- //# sourceMappingURL=ToolRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGrC,MAAM,OAAO,YAAa,SAAQ,GAAS;IACzC,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA8B,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE,EAAE,eAAe,CAAC,CAAA"}