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/L/self.ts DELETED
@@ -1,13 +0,0 @@
1
- import type { FiberConfig } from "../Fiber.ts"
2
- import type { Rune } from "../Rune.ts"
3
- import { rune } from "./rune.ts"
4
-
5
- export interface self {
6
- [Symbol.iterator](): Generator<Rune<never>, FiberConfig>
7
- }
8
-
9
- export const self: self = {
10
- *[Symbol.iterator]() {
11
- return yield* rune((fiberConfig) => fiberConfig)
12
- },
13
- }
package/dist/Fiber.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import type { Globals } from "./Globals.ts";
2
- import type { Rune } from "./Rune.ts";
3
- import { Runic } from "./Runic.ts";
4
- import type { StateMap } from "./state/StateMap.ts";
5
- export interface Fiber<out T = any> {
6
- T: T;
7
- runic: Runic<Rune, T>;
8
- globals: Globals;
9
- parent: Fiber<any> | undefined;
10
- fiberId: number;
11
- handler<E>(event: E): void;
12
- run(): Promise<T>;
13
- }
14
- export interface FiberInfo {
15
- fiber: number;
16
- timestamp: number;
17
- }
18
- export interface FiberConfig<T = any> {
19
- T: T;
20
- signal?: AbortSignal | undefined;
21
- globals: Globals;
22
- state?: StateMap | undefined;
23
- }
24
- export declare function handler<E>(fiberConfig: FiberConfig, event: E): void;
package/dist/Fiber.js DELETED
@@ -1,37 +0,0 @@
1
- import { assert } from "liminal-util";
2
- import { FiberCreated, FiberResolved, FiberStarted } from "./LEvent.js";
3
- import { Runic } from "./Runic.js";
4
- let nextFiberId = 0;
5
- export function handler(fiberConfig, event) {
6
- fiberConfig.globals.handler(event, {
7
- // fiber: fiberConfig.fiberId,
8
- timestamp: Date.now(),
9
- });
10
- }
11
- // export interface FiberConfig<T> {
12
- // parent?: Fiber<any>
13
- // globals: Globals
14
- // runic: Runic<Rune, T>
15
- // signal?: AbortSignal | undefined
16
- // }
17
- // export function Fiber<T>(config: FiberConfig<T>): Fiber<T> {
18
- // const fiber = {
19
- // runic: config.runic,
20
- // globals: config.globals,
21
- // parent: config.parent,
22
- // fiberId: nextFiberId++,
23
- // handler,
24
- // run,
25
- // } satisfies Omit<Fiber<T>, "T"> as Fiber<T>
26
- // fiber.handler(new FiberCreated())
27
- // return fiber
28
- // async function run(this: Fiber<T>): Promise<T> {
29
- // fiber.handler(new FiberStarted())
30
- // const iterator = Runic.unwrap(this.runic)
31
- // const result = await iterator.next()
32
- // assert(result.done)
33
- // fiber.handler(new FiberResolved(result.value))
34
- // return result.value
35
- // }
36
- // }
37
- //# 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,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAkBlC,IAAI,WAAW,GAAG,CAAC,CAAA;AASnB,MAAM,UAAU,OAAO,CAAI,WAAwB,EAAE,KAAQ;IAC3D,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;QACjC,8BAA8B;QAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC;AAED,oCAAoC;AACpC,wBAAwB;AACxB,qBAAqB;AACrB,0BAA0B;AAC1B,qCAAqC;AACrC,IAAI;AAEJ,+DAA+D;AAC/D,oBAAoB;AACpB,2BAA2B;AAC3B,+BAA+B;AAC/B,6BAA6B;AAC7B,8BAA8B;AAC9B,eAAe;AACf,WAAW;AACX,gDAAgD;AAEhD,sCAAsC;AACtC,iBAAiB;AAEjB,qDAAqD;AACrD,wCAAwC;AACxC,gDAAgD;AAChD,2CAA2C;AAC3C,0BAA0B;AAC1B,qDAAqD;AACrD,0BAA0B;AAC1B,MAAM;AACN,IAAI"}
package/dist/L/all.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface all<A extends Array<any>> extends Generator<Rune<never>, Fiber<A>> {
4
- }
5
- export declare function all<XA extends Array<Fiber>>(...fibers: XA): all<{
6
- [I in keyof XA]: XA[I]["T"];
7
- }>;
package/dist/L/all.js DELETED
@@ -1,5 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export function* all(...fibers) {
3
- return (yield* rune((_fiber) => Promise.all(fibers.map((fiber) => fiber.run()))));
4
- }
5
- //# sourceMappingURL=all.js.map
package/dist/L/all.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../L/all.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,MAAM,SAAS,CAAC,CAAC,GAAG,CAClB,GAAG,MAAU;IAEb,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAU,CAAA;AAC5F,CAAC"}
package/dist/L/join.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface join<X extends Fiber> extends Generator<Rune<never>, X["T"]> {
4
- }
5
- export declare function join<X extends Fiber>(fiber: X): join<X>;
package/dist/L/join.js DELETED
@@ -1,5 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export function* join(fiber) {
3
- return yield* rune((_fiber) => fiber.run());
4
- }
5
- //# sourceMappingURL=join.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../../L/join.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAkB,KAAQ;IAC7C,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC"}
package/dist/L/self.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { FiberConfig } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface self {
4
- [Symbol.iterator](): Generator<Rune<never>, FiberConfig>;
5
- }
6
- export declare const self: self;
package/dist/L/self.js DELETED
@@ -1,7 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export const self = {
3
- *[Symbol.iterator]() {
4
- return yield* rune((fiberConfig) => fiberConfig);
5
- },
6
- };
7
- //# sourceMappingURL=self.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../L/self.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAMhC,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;CACF,CAAA"}
@@ -1,8 +0,0 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- import { StateMap } from "./StateMap";
3
- declare class Context extends AsyncLocalStorage<StateMap> {
4
- get(): StateMap;
5
- fork<T>(f: () => Promise<T>): Promise<T>;
6
- }
7
- export declare const context: Context;
8
- export {};
@@ -1,17 +0,0 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- import { StateMap } from "./StateMap";
3
- class Context extends AsyncLocalStorage {
4
- get() {
5
- let state = this.getStore();
6
- if (!state) {
7
- state = new StateMap();
8
- this.enterWith(state);
9
- }
10
- return state;
11
- }
12
- fork(f) {
13
- return this.run(this.get(), f);
14
- }
15
- }
16
- export const context = new Context();
17
- //# sourceMappingURL=Context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../state/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,OAAQ,SAAQ,iBAA2B;IAC/C,GAAG;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAI,CAAmB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA"}
package/state/Context.ts DELETED
@@ -1,19 +0,0 @@
1
- import { AsyncLocalStorage } from "node:async_hooks"
2
- import { StateMap } from "./StateMap"
3
-
4
- class Context extends AsyncLocalStorage<StateMap> {
5
- get(): StateMap {
6
- let state = this.getStore()
7
- if (!state) {
8
- state = new StateMap()
9
- this.enterWith(state)
10
- }
11
- return state
12
- }
13
-
14
- fork<T>(f: () => Promise<T>): Promise<T> {
15
- return this.run(this.get(), f)
16
- }
17
- }
18
-
19
- export const context = new Context()