liminal 0.5.5 → 0.5.6

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 (106) hide show
  1. package/Agent.ts +19 -9
  2. package/CHANGELOG.md +6 -0
  3. package/Context.ts +36 -28
  4. package/Fiber.ts +54 -0
  5. package/Handler.ts +6 -0
  6. package/L/L.ts +0 -1
  7. package/L/_infer.ts +14 -20
  8. package/L/_message.ts +5 -2
  9. package/L/branch.ts +14 -18
  10. package/L/emit.ts +9 -7
  11. package/L/model.ts +10 -4
  12. package/L/rune.ts +2 -1
  13. package/LEvent.ts +15 -1
  14. package/MessageRegistry.ts +21 -0
  15. package/{state/ModelRegistry.ts → ModelRegistry.ts} +19 -12
  16. package/Rune.ts +3 -1
  17. package/Runic.ts +11 -3
  18. package/RuntimeEvent.ts +6 -0
  19. package/dist/Agent.d.ts +11 -3
  20. package/dist/Agent.js +10 -8
  21. package/dist/Agent.js.map +1 -1
  22. package/dist/Context.d.ts +11 -9
  23. package/dist/Context.js +29 -25
  24. package/dist/Context.js.map +1 -1
  25. package/dist/Fiber.d.ts +12 -0
  26. package/dist/Fiber.js +41 -0
  27. package/dist/Fiber.js.map +1 -0
  28. package/dist/Handler.d.ts +4 -1
  29. package/dist/Handler.js +2 -1
  30. package/dist/Handler.js.map +1 -1
  31. package/dist/L/L.d.ts +0 -1
  32. package/dist/L/L.js +0 -1
  33. package/dist/L/L.js.map +1 -1
  34. package/dist/L/_infer.js +15 -17
  35. package/dist/L/_infer.js.map +1 -1
  36. package/dist/L/_message.js +5 -2
  37. package/dist/L/_message.js.map +1 -1
  38. package/dist/L/branch.js +12 -18
  39. package/dist/L/branch.js.map +1 -1
  40. package/dist/L/emit.js +9 -7
  41. package/dist/L/emit.js.map +1 -1
  42. package/dist/L/model.d.ts +2 -1
  43. package/dist/L/model.js +9 -3
  44. package/dist/L/model.js.map +1 -1
  45. package/dist/L/rune.d.ts +2 -1
  46. package/dist/L/rune.js +1 -0
  47. package/dist/L/rune.js.map +1 -1
  48. package/dist/LEvent.d.ts +12 -1
  49. package/dist/LEvent.js +7 -0
  50. package/dist/LEvent.js.map +1 -1
  51. package/dist/MessageRegistry.d.ts +9 -0
  52. package/dist/MessageRegistry.js +15 -0
  53. package/dist/MessageRegistry.js.map +1 -0
  54. package/dist/{state/ModelRegistry.d.ts → ModelRegistry.d.ts} +4 -2
  55. package/dist/{state/ModelRegistry.js → ModelRegistry.js} +12 -6
  56. package/dist/ModelRegistry.js.map +1 -0
  57. package/dist/Rune.d.ts +2 -1
  58. package/dist/Rune.js.map +1 -1
  59. package/dist/Runic.d.ts +3 -3
  60. package/dist/Runic.js.map +1 -1
  61. package/dist/RuntimeEvent.d.ts +5 -0
  62. package/dist/RuntimeEvent.js +2 -0
  63. package/dist/RuntimeEvent.js.map +1 -0
  64. package/dist/index.d.ts +4 -3
  65. package/dist/index.js +4 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/index.ts +4 -3
  69. package/package.json +1 -1
  70. package/Globals.ts +0 -10
  71. package/L/fork.ts +0 -20
  72. package/L/namespace.ts +0 -11
  73. package/dist/Globals.d.ts +0 -6
  74. package/dist/Globals.js +0 -2
  75. package/dist/Globals.js.map +0 -1
  76. package/dist/L/fork.d.ts +0 -1
  77. package/dist/L/fork.js +0 -20
  78. package/dist/L/fork.js.map +0 -1
  79. package/dist/L/namespace.d.ts +0 -1
  80. package/dist/L/namespace.js +0 -12
  81. package/dist/L/namespace.js.map +0 -1
  82. package/dist/run.d.ts +0 -4
  83. package/dist/run.js +0 -35
  84. package/dist/run.js.map +0 -1
  85. package/dist/state/Fiber.d.ts +0 -9
  86. package/dist/state/Fiber.js +0 -14
  87. package/dist/state/Fiber.js.map +0 -1
  88. package/dist/state/Globals.d.ts +0 -9
  89. package/dist/state/Globals.js +0 -10
  90. package/dist/state/Globals.js.map +0 -1
  91. package/dist/state/MessageRegistry.d.ts +0 -7
  92. package/dist/state/MessageRegistry.js +0 -14
  93. package/dist/state/MessageRegistry.js.map +0 -1
  94. package/dist/state/ModelConfig.d.ts +0 -31
  95. package/dist/state/ModelConfig.js +0 -17
  96. package/dist/state/ModelConfig.js.map +0 -1
  97. package/dist/state/ModelRegistry.js.map +0 -1
  98. package/dist/state/StateMap.d.ts +0 -1
  99. package/dist/state/StateMap.js +0 -2
  100. package/dist/state/StateMap.js.map +0 -1
  101. package/run.ts +0 -37
  102. package/state/Fiber.ts +0 -13
  103. package/state/Globals.ts +0 -12
  104. package/state/MessageRegistry.ts +0 -17
  105. package/state/ModelConfig.ts +0 -47
  106. package/state/StateMap.ts +0 -0
@@ -1,14 +0,0 @@
1
- // TODO: marks and tags
2
- export class MessageRegistry {
3
- static make(messageRegistry) {
4
- return new MessageRegistry(messageRegistry?.messages ? [...messageRegistry?.messages] : undefined);
5
- }
6
- messages;
7
- constructor(messages = []) {
8
- this.messages = Array.from(messages);
9
- }
10
- append(message) {
11
- this.messages.push(message);
12
- }
13
- }
14
- //# sourceMappingURL=MessageRegistry.js.map
@@ -1 +0,0 @@
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,31 +0,0 @@
1
- export declare class ModelConfig {
2
- static make(config?: ModelConfig): ModelConfig;
3
- /** Seed used for deterministic sampling. */
4
- seed?: number;
5
- /** Logit bias modifies the likelihood of specific tokens appearing. */
6
- logitBias?: Record<string, number>;
7
- /** Sampling configuration. */
8
- sampling?: SamplerConfig;
9
- }
10
- export interface SamplerConfig {
11
- /** The maximum number of tokens to generate. */
12
- maxTokens?: number;
13
- /** Temperature controls randomness in generation (0.0-2.0). */
14
- temperature?: number;
15
- /** Cumulative probability cutoff for nucleus sampling (0.0-1.0). */
16
- topP?: number;
17
- /** The number of tokens to consider in top-k sampling. */
18
- topk?: number;
19
- /** Stop sequences is the list of sequences to stop generation. */
20
- stopSequences?: Array<string>;
21
- /** Penalty configuration. */
22
- penalty?: PenaltyConfig;
23
- }
24
- export interface PenaltyConfig {
25
- /** Presence penalty adjusts the likelihood of token repetition (-2.0 to 2.0). */
26
- presence?: number;
27
- /** Frequency penalty penalizes tokens based on their frequency (-2.0 to 2.0). */
28
- frequency?: number;
29
- /** Repetition penalty range defines how many tokens back repetition penalties apply. */
30
- repetitionRange?: number;
31
- }
@@ -1,17 +0,0 @@
1
- export class ModelConfig {
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();
15
- }
16
- }
17
- //# sourceMappingURL=ModelConfig.js.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=StateMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StateMap.js","sourceRoot":"","sources":["../../state/StateMap.ts"],"names":[],"mappings":""}
package/run.ts DELETED
@@ -1,37 +0,0 @@
1
- import { Context } from "./Context.ts"
2
- import type { Rune } from "./Rune.ts"
3
- import { Runic } from "./Runic.ts"
4
- import { Fiber } from "./state/Fiber.ts"
5
-
6
- export function run<T>(runic: Runic<Rune, T>, context?: Context): Promise<T> {
7
- const { promise, resolve, reject } = Promise.withResolvers<T>()
8
- const { signal } = Context.getAssert(Fiber.make)
9
- if (signal.aborted) {
10
- reject(signal.reason)
11
- return promise
12
- } else {
13
- signal.addEventListener("abort", () => {
14
- reject(signal?.reason)
15
- })
16
- }
17
-
18
- queueMicrotask(() =>
19
- Context.storage.run(context ?? Context.unwrap(), async () => {
20
- const iterator = Runic.unwrap(runic)
21
- let nextArg: any
22
- try {
23
- let current = await iterator.next()
24
- while (!current.done) {
25
- const rune = current.value
26
- nextArg = await rune()
27
- current = await iterator.next(nextArg)
28
- }
29
- const { value } = current
30
- resolve(value)
31
- } catch (reason: unknown) {
32
- reject(reason)
33
- }
34
- })
35
- )
36
- return promise
37
- }
package/state/Fiber.ts DELETED
@@ -1,13 +0,0 @@
1
- export class Fiber {
2
- static fiberCount = 0
3
-
4
- static make(): Fiber {
5
- return new Fiber()
6
- }
7
-
8
- readonly index: number = Fiber.fiberCount++
9
- readonly controller: AbortController = new AbortController()
10
- readonly signal: AbortSignal = this.controller.signal
11
-
12
- constructor(readonly parent?: Fiber) {}
13
- }
package/state/Globals.ts DELETED
@@ -1,12 +0,0 @@
1
- export class Globals<E = any> {
2
- static make(globals?: Globals): Globals {
3
- return new Globals(globals?.handler ?? (() => {}))
4
- }
5
-
6
- constructor(readonly handler?: (event: E, fiberInfo: FiberInfo) => void) {}
7
- }
8
-
9
- export interface FiberInfo {
10
- fiber: number
11
- timestamp: number
12
- }
@@ -1,17 +0,0 @@
1
- import type { Message } from "../Message.ts"
2
-
3
- // TODO: marks and tags
4
- export class MessageRegistry {
5
- static make(messageRegistry?: MessageRegistry) {
6
- return new MessageRegistry(messageRegistry?.messages ? [...messageRegistry?.messages] : undefined)
7
- }
8
-
9
- messages: Array<Message>
10
- constructor(messages: Iterable<Message> = []) {
11
- this.messages = Array.from(messages)
12
- }
13
-
14
- append(message: Message) {
15
- this.messages.push(message)
16
- }
17
- }
@@ -1,47 +0,0 @@
1
- export class ModelConfig {
2
- static make(config?: ModelConfig) {
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()
15
- }
16
-
17
- /** Seed used for deterministic sampling. */
18
- declare seed?: number
19
- /** Logit bias modifies the likelihood of specific tokens appearing. */
20
- declare logitBias?: Record<string, number>
21
- /** Sampling configuration. */
22
- declare sampling?: SamplerConfig
23
- }
24
-
25
- export interface SamplerConfig {
26
- /** The maximum number of tokens to generate. */
27
- maxTokens?: number
28
- /** Temperature controls randomness in generation (0.0-2.0). */
29
- temperature?: number
30
- /** Cumulative probability cutoff for nucleus sampling (0.0-1.0). */
31
- topP?: number
32
- /** The number of tokens to consider in top-k sampling. */
33
- topk?: number
34
- /** Stop sequences is the list of sequences to stop generation. */
35
- stopSequences?: Array<string>
36
- /** Penalty configuration. */
37
- penalty?: PenaltyConfig
38
- }
39
-
40
- export interface PenaltyConfig {
41
- /** Presence penalty adjusts the likelihood of token repetition (-2.0 to 2.0). */
42
- presence?: number
43
- /** Frequency penalty penalizes tokens based on their frequency (-2.0 to 2.0). */
44
- frequency?: number
45
- /** Repetition penalty range defines how many tokens back repetition penalties apply. */
46
- repetitionRange?: number
47
- }
package/state/StateMap.ts DELETED
File without changes