liminal 0.5.4 → 0.5.5

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 (96) hide show
  1. package/Agent.ts +12 -14
  2. package/CHANGELOG.md +6 -0
  3. package/Context.ts +44 -0
  4. package/EventBase.ts +21 -8
  5. package/L/L.ts +0 -2
  6. package/L/_infer.ts +4 -5
  7. package/L/_message.ts +2 -3
  8. package/L/branch.ts +12 -26
  9. package/L/emit.ts +9 -3
  10. package/L/model.ts +2 -3
  11. package/L/rune.ts +1 -2
  12. package/LEvent.ts +10 -20
  13. package/Rune.ts +1 -3
  14. package/dist/Agent.d.ts +2 -6
  15. package/dist/Agent.js +9 -8
  16. package/dist/Agent.js.map +1 -1
  17. package/dist/Context.d.ts +10 -0
  18. package/dist/Context.js +37 -0
  19. package/dist/Context.js.map +1 -0
  20. package/dist/EventBase.d.ts +7 -4
  21. package/dist/EventBase.js +17 -11
  22. package/dist/EventBase.js.map +1 -1
  23. package/dist/L/L.d.ts +0 -2
  24. package/dist/L/L.js +0 -2
  25. package/dist/L/L.js.map +1 -1
  26. package/dist/L/_infer.js +4 -5
  27. package/dist/L/_infer.js.map +1 -1
  28. package/dist/L/_message.js +2 -3
  29. package/dist/L/_message.js.map +1 -1
  30. package/dist/L/branch.js +12 -25
  31. package/dist/L/branch.js.map +1 -1
  32. package/dist/L/emit.js +9 -3
  33. package/dist/L/emit.js.map +1 -1
  34. package/dist/L/model.js +2 -3
  35. package/dist/L/model.js.map +1 -1
  36. package/dist/L/rune.d.ts +1 -2
  37. package/dist/L/rune.js.map +1 -1
  38. package/dist/LEvent.d.ts +43 -9
  39. package/dist/LEvent.js +10 -16
  40. package/dist/LEvent.js.map +1 -1
  41. package/dist/Rune.d.ts +1 -2
  42. package/dist/Rune.js.map +1 -1
  43. package/dist/index.d.ts +0 -2
  44. package/dist/index.js +0 -2
  45. package/dist/index.js.map +1 -1
  46. package/dist/run.d.ts +3 -2
  47. package/dist/run.js +16 -16
  48. package/dist/run.js.map +1 -1
  49. package/dist/state/Fiber.d.ts +9 -0
  50. package/dist/state/Fiber.js +14 -0
  51. package/dist/state/Fiber.js.map +1 -0
  52. package/dist/state/Globals.d.ts +9 -0
  53. package/dist/state/Globals.js +10 -0
  54. package/dist/state/Globals.js.map +1 -0
  55. package/dist/state/MessageRegistry.d.ts +0 -1
  56. package/dist/state/MessageRegistry.js +0 -3
  57. package/dist/state/MessageRegistry.js.map +1 -1
  58. package/dist/state/ModelConfig.d.ts +1 -19
  59. package/dist/state/ModelConfig.js +13 -14
  60. package/dist/state/ModelConfig.js.map +1 -1
  61. package/dist/state/ModelRegistry.d.ts +0 -1
  62. package/dist/state/ModelRegistry.js +0 -7
  63. package/dist/state/ModelRegistry.js.map +1 -1
  64. package/dist/state/StateMap.d.ts +1 -8
  65. package/dist/state/StateMap.js +1 -17
  66. package/dist/state/StateMap.js.map +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/index.ts +0 -2
  69. package/package.json +1 -1
  70. package/run.ts +18 -20
  71. package/state/Fiber.ts +13 -0
  72. package/state/Globals.ts +12 -0
  73. package/state/MessageRegistry.ts +0 -4
  74. package/state/ModelConfig.ts +13 -15
  75. package/state/ModelRegistry.ts +0 -8
  76. package/state/StateMap.ts +0 -24
  77. package/Fiber.ts +0 -67
  78. package/L/all.ts +0 -11
  79. package/L/join.ts +0 -9
  80. package/L/self.ts +0 -13
  81. package/dist/Fiber.d.ts +0 -24
  82. package/dist/Fiber.js +0 -37
  83. package/dist/Fiber.js.map +0 -1
  84. package/dist/L/all.d.ts +0 -7
  85. package/dist/L/all.js +0 -5
  86. package/dist/L/all.js.map +0 -1
  87. package/dist/L/join.d.ts +0 -5
  88. package/dist/L/join.js +0 -5
  89. package/dist/L/join.js.map +0 -1
  90. package/dist/L/self.d.ts +0 -6
  91. package/dist/L/self.js +0 -7
  92. package/dist/L/self.js.map +0 -1
  93. package/dist/state/Context.d.ts +0 -8
  94. package/dist/state/Context.js +0 -17
  95. package/dist/state/Context.js.map +0 -1
  96. package/state/Context.ts +0 -19
package/dist/L/branch.js CHANGED
@@ -1,41 +1,28 @@
1
+ import { Context } from "../Context.js";
1
2
  import { run } from "../run.js";
2
3
  import {} from "../Rune.js";
3
- import { context } from "../state/Context.js";
4
+ import { Fiber } from "../state/Fiber.js";
4
5
  import { rune } from "./rune.js";
5
- import { self } from "./self.js";
6
6
  export function* branch(value) {
7
- const parent = yield* self;
8
- const { globals } = parent;
7
+ const parent = Context.get(Fiber.make);
9
8
  if (Array.isArray(value)) {
10
9
  const runners = value.map((runic) => {
11
- const state = context.get();
12
- const fiberConfig = {
13
- T: null,
14
- globals,
15
- state,
16
- };
17
- return () => run(runic, fiberConfig);
10
+ const context = Context.make(Context.unwrap());
11
+ context.set(Fiber.make, new Fiber(parent));
12
+ return () => run(runic, context);
18
13
  });
19
14
  return yield* rune(() => Promise.all(runners.map((runner) => runner())));
20
15
  }
21
16
  else if (typeof value === "object") {
22
17
  const runners = Object.entries(value).map(([key, runic]) => {
23
- const state = context.get();
24
- const fiberConfig = {
25
- T: null,
26
- globals,
27
- state,
28
- };
29
- return async () => [key, await run(runic, fiberConfig)];
18
+ const context = Context.make(Context.unwrap());
19
+ context.set(Fiber.make, new Fiber(parent));
20
+ return async () => [key, await run(runic, context)];
30
21
  });
31
22
  return yield* rune(() => Promise.all(runners.map((runner) => runner())).then(Object.fromEntries));
32
23
  }
33
- const state = context.get();
34
- const fiberConfig = {
35
- T: null,
36
- globals,
37
- state,
38
- };
39
- return yield* rune(() => run(typeof value === "function" ? value() : value, fiberConfig));
24
+ const context = Context.make(Context.unwrap());
25
+ context.set(Fiber.make, new Fiber(parent));
26
+ return yield* rune(() => run(typeof value === "function" ? value() : value, context));
40
27
  }
41
28
  //# sourceMappingURL=branch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../L/branch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAa,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAWhC,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,KAAsD;IAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAA;IAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YAC3B,MAAM,WAAW,GAAgB;gBAC/B,CAAC,EAAE,IAAK;gBACR,OAAO;gBACP,KAAK;aACN,CAAA;YACD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YAC3B,MAAM,WAAW,GAAgB;gBAC/B,CAAC,EAAE,IAAK;gBACR,OAAO;gBACP,KAAK;aACN,CAAA;YACD,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IACnG,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,WAAW,GAAgB;QAC/B,CAAC,EAAE,IAAK;QACR,OAAO;QACP,KAAK;KACN,CAAA;IACD,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;AAC3F,CAAC"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../L/branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAa,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAWhC,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,KAAsD;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1C,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACzD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1C,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IACnG,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1C,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACvF,CAAC"}
package/dist/L/emit.js CHANGED
@@ -1,6 +1,12 @@
1
- import { handler } from "../Fiber.js";
2
- import { rune } from "./rune.js";
1
+ import { Context } from "../Context.js";
2
+ import { Fiber } from "../state/Fiber.js";
3
+ import { Globals } from "../state/Globals.js";
3
4
  export function* emit(event) {
4
- yield* rune((fiberConfig) => handler(fiberConfig, event))();
5
+ const globals = Context.getAssert(Globals.make);
6
+ const fiber = Context.getAssert(Fiber.make);
7
+ globals.handler?.(event, {
8
+ fiber: fiber.index,
9
+ timestamp: Date.now(),
10
+ });
5
11
  }
6
12
  //# sourceMappingURL=emit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../L/emit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAU,KAAsB;IACnD,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAK,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../L/emit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAI7C,MAAM,SAAS,CAAC,CAAC,IAAI,CAAU,KAAsB;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;QACvB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC"}
package/dist/L/model.js CHANGED
@@ -1,8 +1,7 @@
1
- import { context } from "../state/Context.js";
1
+ import { Context } from "../Context.js";
2
2
  import { ModelRegistry } from "../state/ModelRegistry.js";
3
3
  export function* model(model) {
4
- const state = context.get();
5
- const modelRegistry = state.getOrInit(ModelRegistry.make);
4
+ const modelRegistry = Context.getOrInit(ModelRegistry.make);
6
5
  modelRegistry.register(model);
7
6
  }
8
7
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../L/model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAIzD,MAAM,SAAS,CAAC,CAAC,KAAK,CAAC,KAAY;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../L/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAIzD,MAAM,SAAS,CAAC,CAAC,KAAK,CAAC,KAAY;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
package/dist/L/rune.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import type { FiberConfig } from "../Fiber.ts";
2
1
  import { type Rune } from "../Rune.ts";
3
2
  export interface rune<T> extends Iterable<Rune<never>, T> {
4
3
  <E>(): Generator<Rune<E>, T>;
5
4
  }
6
- export declare function rune<R>(source: (fiberConfig: FiberConfig) => R): rune<Awaited<R>>;
5
+ export declare function rune<R>(source: () => R): rune<Awaited<R>>;
@@ -1 +1 @@
1
- {"version":3,"file":"rune.js","sourceRoot":"","sources":["../../L/rune.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAA;AAM/C,MAAM,UAAU,IAAI,CAAI,MAAuC;IAC7D,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC;QACP,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAW,EAAE,CAAC,CAAA;IAChE,CAAC,EACD;QACE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChB,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAW,EAAE,CAAC,CAAA;QAChE,CAAC;KACF,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"rune.js","sourceRoot":"","sources":["../../L/rune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAA;AAM/C,MAAM,UAAU,IAAI,CAAI,MAAe;IACrC,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC;QACP,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAW,EAAE,CAAC,CAAA;IAChE,CAAC,EACD;QACE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChB,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAW,EAAE,CAAC,CAAA;QAChE,CAAC;KACF,CACF,CAAA;AACH,CAAC"}
package/dist/LEvent.d.ts CHANGED
@@ -1,31 +1,65 @@
1
1
  import type { SchemaObject } from "liminal-schema";
2
- import { EventBase } from "./EventBase.ts";
3
2
  import type { Message } from "./Message.ts";
4
3
  export type LEvent = InferenceRequested | Inferred | MessageAppended | FiberCreated | FiberStarted | FiberResolved;
5
4
  export declare const LEventTag: unique symbol;
6
5
  export type LEventTag = typeof LEventTag;
7
- export declare class InferenceRequested extends EventBase<LEventTag, "inference_requested"> {
6
+ declare const InferenceRequested_base: {
7
+ new (): {
8
+ readonly brand: typeof LEventTag;
9
+ readonly type: "inference_requested";
10
+ };
11
+ };
12
+ export declare class InferenceRequested extends InferenceRequested_base {
8
13
  readonly requestId: number;
9
14
  schema?: SchemaObject;
10
15
  constructor(requestId: number, schema?: SchemaObject | undefined);
11
16
  }
12
- export declare class Inferred extends EventBase<LEventTag, "inferred"> {
17
+ declare const Inferred_base: {
18
+ new (): {
19
+ readonly brand: typeof LEventTag;
20
+ readonly type: "inferred";
21
+ };
22
+ };
23
+ export declare class Inferred extends Inferred_base {
13
24
  readonly requestId: number;
14
25
  readonly inference: string;
15
26
  constructor(requestId: number, inference: string);
16
27
  }
17
- export declare class MessageAppended extends EventBase<LEventTag, "message_appended"> {
28
+ declare const MessageAppended_base: {
29
+ new (): {
30
+ readonly brand: typeof LEventTag;
31
+ readonly type: "message_appended";
32
+ };
33
+ };
34
+ export declare class MessageAppended extends MessageAppended_base {
18
35
  readonly message: Message;
19
36
  constructor(message: Message);
20
37
  }
21
- export declare class FiberCreated extends EventBase<LEventTag, "fiber_created"> {
22
- constructor();
38
+ declare const FiberCreated_base: {
39
+ new (): {
40
+ readonly brand: typeof LEventTag;
41
+ readonly type: "fiber_created";
42
+ };
43
+ };
44
+ export declare class FiberCreated extends FiberCreated_base {
23
45
  }
24
- export declare class FiberStarted extends EventBase<LEventTag, "fiber_started"> {
25
- constructor();
46
+ declare const FiberStarted_base: {
47
+ new (): {
48
+ readonly brand: typeof LEventTag;
49
+ readonly type: "fiber_started";
50
+ };
51
+ };
52
+ export declare class FiberStarted extends FiberStarted_base {
26
53
  }
27
- export declare class FiberResolved extends EventBase<LEventTag, "fiber_resolved"> {
54
+ declare const FiberResolved_base: {
55
+ new (): {
56
+ readonly brand: typeof LEventTag;
57
+ readonly type: "fiber_resolved";
58
+ };
59
+ };
60
+ export declare class FiberResolved extends FiberResolved_base {
28
61
  readonly value: any;
29
62
  constructor(value: any);
30
63
  }
31
64
  export declare function isLEvent(value: unknown): value is LEvent;
65
+ export {};
package/dist/LEvent.js CHANGED
@@ -1,45 +1,39 @@
1
1
  import { EventBase } from "./EventBase.js";
2
2
  export const LEventTag = Symbol.for("liminal/LEvent");
3
- export class InferenceRequested extends EventBase {
3
+ export class InferenceRequested extends EventBase(LEventTag, "inference_requested") {
4
4
  requestId;
5
5
  constructor(requestId, schema) {
6
- super(LEventTag, "inference_requested");
6
+ super();
7
7
  this.requestId = requestId;
8
8
  if (schema) {
9
9
  this.schema = schema;
10
10
  }
11
11
  }
12
12
  }
13
- export class Inferred extends EventBase {
13
+ export class Inferred extends EventBase(LEventTag, "inferred") {
14
14
  requestId;
15
15
  inference;
16
16
  constructor(requestId, inference) {
17
- super(LEventTag, "inferred");
17
+ super();
18
18
  this.requestId = requestId;
19
19
  this.inference = inference;
20
20
  }
21
21
  }
22
- export class MessageAppended extends EventBase {
22
+ export class MessageAppended extends EventBase(LEventTag, "message_appended") {
23
23
  message;
24
24
  constructor(message) {
25
- super(LEventTag, "message_appended");
25
+ super();
26
26
  this.message = message;
27
27
  }
28
28
  }
29
- export class FiberCreated extends EventBase {
30
- constructor() {
31
- super(LEventTag, "fiber_created");
32
- }
29
+ export class FiberCreated extends EventBase(LEventTag, "fiber_created") {
33
30
  }
34
- export class FiberStarted extends EventBase {
35
- constructor() {
36
- super(LEventTag, "fiber_started");
37
- }
31
+ export class FiberStarted extends EventBase(LEventTag, "fiber_started") {
38
32
  }
39
- export class FiberResolved extends EventBase {
33
+ export class FiberResolved extends EventBase(LEventTag, "fiber_resolved") {
40
34
  value;
41
35
  constructor(value) {
42
- super(LEventTag, "fiber_resolved");
36
+ super();
43
37
  this.value = value;
44
38
  }
45
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LEvent.js","sourceRoot":"","sources":["../LEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAGpE,MAAM,OAAO,kBAAmB,SAAQ,SAA2C;IAGtE;IADX,YACW,SAAiB,EAC1B,MAAiC;QAEjC,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;QAH9B,cAAS,GAAT,SAAS,CAAQ;QAI1B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,SAAgC;IAEjD;IACA;IAFX,YACW,SAAiB,EACjB,SAAiB;QAE1B,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAHnB,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAQ;IAG5B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAwC;IACtD;IAArB,YAAqB,OAAgB;QACnC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QADjB,YAAO,GAAP,OAAO,CAAS;IAErC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAqC;IACrE;QACE,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAqC;IACrE;QACE,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAsC;IAClD;IAArB,YAAqB,KAAU;QAC7B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QADf,UAAK,GAAL,KAAK,CAAK;IAE/B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,CAAA;AAC1E,CAAC"}
1
+ {"version":3,"file":"LEvent.js","sourceRoot":"","sources":["../LEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAGpE,MAAM,OAAO,kBAAmB,SAAQ,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAGtE;IADX,YACW,SAAiB,EAC1B,MAAiC;QAEjC,KAAK,EAAE,CAAA;QAHE,cAAS,GAAT,SAAS,CAAQ;QAI1B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAEjD;IACA;IAFX,YACW,SAAiB,EACjB,SAAiB;QAE1B,KAAK,EAAE,CAAA;QAHE,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAQ;IAG5B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACtD;IAArB,YAAqB,OAAgB;QACnC,KAAK,EAAE,CAAA;QADY,YAAO,GAAP,OAAO,CAAS;IAErC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;CAAG;AAC1E,MAAM,OAAO,YAAa,SAAQ,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;CAAG;AAC1E,MAAM,OAAO,aAAc,SAAQ,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAClD;IAArB,YAAqB,KAAU;QAC7B,KAAK,EAAE,CAAA;QADY,UAAK,GAAL,KAAK,CAAK;IAE/B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,CAAA;AAC1E,CAAC"}
package/dist/Rune.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import type { FiberConfig } from "./Fiber.ts";
2
1
  export interface Rune<out E = any> {
3
- (fiber: FiberConfig): any;
2
+ (): any;
4
3
  [RuneKey]: E;
5
4
  }
6
5
  export declare namespace Rune {
package/dist/Rune.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Rune.js","sourceRoot":"","sources":["../Rune.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,OAAO,GAAkB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAGhE,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"Rune.js","sourceRoot":"","sources":["../Rune.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,OAAO,GAAkB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAGhE,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAA;AACxE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- export * as _util from "liminal-util";
2
1
  export * from "./Agent.ts";
3
2
  export * from "./EventBase.ts";
4
- export * from "./Fiber.ts";
5
3
  export * as L from "./L/L.ts";
6
4
  export * from "./LEvent.ts";
7
5
  export * from "./Message.ts";
package/dist/index.js CHANGED
@@ -1,7 +1,5 @@
1
- export * as _util from "liminal-util";
2
1
  export * from "./Agent.js";
3
2
  export * from "./EventBase.js";
4
- export * from "./Fiber.js";
5
3
  export * as L from "./L/L.js";
6
4
  export * from "./LEvent.js";
7
5
  export * from "./Message.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
package/dist/run.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import type { FiberConfig } from "./Fiber.ts";
1
+ import { Context } from "./Context.ts";
2
+ import type { Rune } from "./Rune.ts";
2
3
  import { Runic } from "./Runic.ts";
3
- export declare function run<X extends Runic>(runic: X, config: FiberConfig<Runic.T<X>>): Promise<Runic.T<X>>;
4
+ export declare function run<T>(runic: Runic<Rune, T>, context?: Context): Promise<T>;
package/dist/run.js CHANGED
@@ -1,26 +1,26 @@
1
+ import { Context } from "./Context.js";
1
2
  import { Runic } from "./Runic.js";
2
- import { context } from "./state/Context.js";
3
- export async function run(runic, config) {
3
+ import { Fiber } from "./state/Fiber.js";
4
+ export function run(runic, context) {
4
5
  const { promise, resolve, reject } = Promise.withResolvers();
5
- if (config.signal) {
6
- if (config.signal.aborted) {
7
- reject(config.signal.reason);
8
- return await promise;
9
- }
10
- else {
11
- config.signal.addEventListener("abort", () => {
12
- reject(config.signal?.reason);
13
- });
14
- }
6
+ const { signal } = Context.getAssert(Fiber.make);
7
+ if (signal.aborted) {
8
+ reject(signal.reason);
9
+ return promise;
10
+ }
11
+ else {
12
+ signal.addEventListener("abort", () => {
13
+ reject(signal?.reason);
14
+ });
15
15
  }
16
- queueMicrotask(() => context.fork(async () => {
16
+ queueMicrotask(() => Context.storage.run(context ?? Context.unwrap(), async () => {
17
17
  const iterator = Runic.unwrap(runic);
18
18
  let nextArg;
19
19
  try {
20
- let current = await iterator.next(config);
20
+ let current = await iterator.next();
21
21
  while (!current.done) {
22
22
  const rune = current.value;
23
- nextArg = await rune(config);
23
+ nextArg = await rune();
24
24
  current = await iterator.next(nextArg);
25
25
  }
26
26
  const { value } = current;
@@ -30,6 +30,6 @@ export async function run(runic, config) {
30
30
  reject(reason);
31
31
  }
32
32
  }));
33
- return await promise;
33
+ return promise;
34
34
  }
35
35
  //# sourceMappingURL=run.js.map
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,KAAQ,EACR,MAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAc,CAAA;IACxE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5B,OAAO,MAAM,OAAO,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,cAAc,CAAC,GAAG,EAAE,CAClB,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,OAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;gBAC1B,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC5B,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,MAAM,OAAO,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,MAAM,UAAU,GAAG,CAAI,KAAqB,EAAE,OAAiB;IAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAK,CAAA;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrB,OAAO,OAAO,CAAA;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,CAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,OAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACnC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;gBAC1B,OAAO,GAAG,MAAM,IAAI,EAAE,CAAA;gBACtB,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare class Fiber {
2
+ readonly parent?: Fiber | undefined;
3
+ static fiberCount: number;
4
+ static make(): Fiber;
5
+ readonly index: number;
6
+ readonly controller: AbortController;
7
+ readonly signal: AbortSignal;
8
+ constructor(parent?: Fiber | undefined);
9
+ }
@@ -0,0 +1,14 @@
1
+ export class Fiber {
2
+ parent;
3
+ static fiberCount = 0;
4
+ static make() {
5
+ return new Fiber();
6
+ }
7
+ index = Fiber.fiberCount++;
8
+ controller = new AbortController();
9
+ signal = this.controller.signal;
10
+ constructor(parent) {
11
+ this.parent = parent;
12
+ }
13
+ }
14
+ //# sourceMappingURL=Fiber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fiber.js","sourceRoot":"","sources":["../../state/Fiber.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAWK;IAVrB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAA;IAErB,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,KAAK,EAAE,CAAA;IACpB,CAAC;IAEQ,KAAK,GAAW,KAAK,CAAC,UAAU,EAAE,CAAA;IAClC,UAAU,GAAoB,IAAI,eAAe,EAAE,CAAA;IACnD,MAAM,GAAgB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IAErD,YAAqB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare class Globals<E = any> {
2
+ readonly handler?: ((event: E, fiberInfo: FiberInfo) => void) | undefined;
3
+ static make(globals?: Globals): Globals;
4
+ constructor(handler?: ((event: E, fiberInfo: FiberInfo) => void) | undefined);
5
+ }
6
+ export interface FiberInfo {
7
+ fiber: number;
8
+ timestamp: number;
9
+ }
@@ -0,0 +1,10 @@
1
+ export class Globals {
2
+ handler;
3
+ static make(globals) {
4
+ return new Globals(globals?.handler ?? (() => { }));
5
+ }
6
+ constructor(handler) {
7
+ this.handler = handler;
8
+ }
9
+ }
10
+ //# sourceMappingURL=Globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Globals.js","sourceRoot":"","sources":["../../state/Globals.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAKG;IAJrB,MAAM,CAAC,IAAI,CAAC,OAAiB;QAC3B,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,YAAqB,OAAkD;QAAlD,YAAO,GAAP,OAAO,CAA2C;IAAG,CAAC;CAC5E"}
@@ -3,6 +3,5 @@ export declare class MessageRegistry {
3
3
  static make(messageRegistry?: MessageRegistry): MessageRegistry;
4
4
  messages: Array<Message>;
5
5
  constructor(messages?: Iterable<Message>);
6
- clone(): MessageRegistry;
7
6
  append(message: Message): void;
8
7
  }
@@ -7,9 +7,6 @@ export class MessageRegistry {
7
7
  constructor(messages = []) {
8
8
  this.messages = Array.from(messages);
9
9
  }
10
- clone() {
11
- return new MessageRegistry([...this.messages]);
12
- }
13
10
  append(message) {
14
11
  this.messages.push(message);
15
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageRegistry.js","sourceRoot":"","sources":["../../state/MessageRegistry.ts"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,IAAI,CAAC,eAAiC;QAC3C,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpG,CAAC;IAED,QAAQ,CAAgB;IACxB,YAAY,WAA8B,EAAE;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"MessageRegistry.js","sourceRoot":"","sources":["../../state/MessageRegistry.ts"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,IAAI,CAAC,eAAiC;QAC3C,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpG,CAAC;IAED,QAAQ,CAAgB;IACxB,YAAY,WAA8B,EAAE;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -1,29 +1,11 @@
1
1
  export declare class ModelConfig {
2
- static from(config: Partial<ModelConfig>): ModelConfig & Partial<ModelConfig>;
2
+ static make(config?: ModelConfig): ModelConfig;
3
3
  /** Seed used for deterministic sampling. */
4
4
  seed?: number;
5
5
  /** Logit bias modifies the likelihood of specific tokens appearing. */
6
6
  logitBias?: Record<string, number>;
7
7
  /** Sampling configuration. */
8
8
  sampling?: SamplerConfig;
9
- /** Creates a copy of the configuration. */
10
- clone(): ModelConfig & this & {
11
- logitBias: {
12
- [x: string]: number;
13
- };
14
- sampling: {
15
- stopSequences: string[];
16
- penalty: {
17
- presence?: number;
18
- frequency?: number;
19
- repetitionRange?: number;
20
- };
21
- maxTokens?: number;
22
- temperature?: number;
23
- topP?: number;
24
- topk?: number;
25
- };
26
- };
27
9
  }
28
10
  export interface SamplerConfig {
29
11
  /** The maximum number of tokens to generate. */
@@ -1,18 +1,17 @@
1
1
  export class ModelConfig {
2
- static from(config) {
3
- return Object.assign(new ModelConfig(), config);
4
- }
5
- /** Creates a copy of the configuration. */
6
- clone() {
7
- return Object.assign(new ModelConfig(), {
8
- ...this,
9
- logitBias: { ...this.logitBias },
10
- sampling: {
11
- ...this.sampling,
12
- stopSequences: [...(this.sampling?.stopSequences ?? [])],
13
- penalty: { ...this.sampling?.penalty },
14
- },
15
- });
2
+ static make(config) {
3
+ if (config) {
4
+ return Object.assign(new ModelConfig(), {
5
+ ...this,
6
+ logitBias: { ...config.logitBias },
7
+ sampling: {
8
+ ...config.sampling,
9
+ stopSequences: [...(config.sampling?.stopSequences ?? [])],
10
+ penalty: { ...config.sampling?.penalty },
11
+ },
12
+ });
13
+ }
14
+ return new ModelConfig();
16
15
  }
17
16
  }
18
17
  //# sourceMappingURL=ModelConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelConfig.js","sourceRoot":"","sources":["../../state/ModelConfig.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,IAAI,CAAC,MAA4B;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;IASD,2CAA2C;IAC3C,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE;YACtC,GAAG,IAAI;YACP,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;gBACxD,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;aACvC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ModelConfig.js","sourceRoot":"","sources":["../../state/ModelConfig.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,IAAI,CAAC,MAAoB;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE;gBACtC,GAAG,IAAI;gBACP,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE;gBAClC,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB,aAAa,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;oBAC1D,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;iBACzC;aACF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,WAAW,EAAE,CAAA;IAC1B,CAAC;CAQF"}
@@ -4,7 +4,6 @@ export declare class ModelRegistry {
4
4
  static make(modelRegistry?: ModelRegistry): ModelRegistry;
5
5
  head?: ModelRegistryNode | undefined;
6
6
  tail?: ModelRegistryNode | undefined;
7
- clone(): ModelRegistry;
8
7
  peek(): Model | undefined;
9
8
  register(value: Model): ModelRegistryNode;
10
9
  remove(node: ModelRegistryNode): void;
@@ -9,13 +9,6 @@ export class ModelRegistry {
9
9
  }
10
10
  return instance;
11
11
  }
12
- clone() {
13
- const clone = new ModelRegistry();
14
- for (let node = this?.head; node; node = node.next) {
15
- clone.register(node.model);
16
- }
17
- return clone;
18
- }
19
12
  peek() {
20
13
  return this.tail?.model;
21
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelRegistry.js","sourceRoot":"","sources":["../../state/ModelRegistry.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,IAAI,CAAC,aAA6B;QACvC,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAKD,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAA;QACjC,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAA;IACzB,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,MAAM,IAAI,GAAsB;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK;SACb,CAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"ModelRegistry.js","sourceRoot":"","sources":["../../state/ModelRegistry.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,IAAI,CAAC,aAA6B;QACvC,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAKD,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAA;IACzB,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,MAAM,IAAI,GAAsB;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK;SACb,CAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACnC,CAAC;CACF"}
@@ -1,8 +1 @@
1
- export declare class StateMap extends Map<StateFactory, Cloneable> {
2
- clone(): StateMap;
3
- getOrInit<T extends Cloneable>(factory: StateFactory<T>): T;
4
- }
5
- export type StateFactory<T = any> = (instance?: T) => T;
6
- export interface Cloneable {
7
- clone(): this;
8
- }
1
+ export {};
@@ -1,18 +1,2 @@
1
- export class StateMap extends Map {
2
- clone() {
3
- const clone = new StateMap();
4
- for (const [key, value] of this.entries()) {
5
- clone.set(key, value.clone());
6
- }
7
- return clone;
8
- }
9
- getOrInit(factory) {
10
- let instance = this.get(factory);
11
- if (!instance) {
12
- instance = factory();
13
- this.set(factory, instance);
14
- }
15
- return instance;
16
- }
17
- }
1
+ export {};
18
2
  //# sourceMappingURL=StateMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateMap.js","sourceRoot":"","sources":["../../state/StateMap.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,GAA4B;IACxD,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,CAAsB,OAAwB;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,OAAO,EAAE,CAAA;YACpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,QAAiB,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"StateMap.js","sourceRoot":"","sources":["../../state/StateMap.ts"],"names":[],"mappings":""}