liminal 0.5.5 → 0.5.7
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/Agent.ts +18 -9
- package/CHANGELOG.md +14 -0
- package/Context.ts +36 -28
- package/EventBase.ts +2 -11
- package/Fiber.ts +46 -0
- package/Handler.ts +6 -0
- package/L/L.ts +0 -1
- package/L/_infer.ts +14 -20
- package/L/_message.ts +5 -2
- package/L/branch.ts +10 -18
- package/L/emit.ts +6 -8
- package/L/model.ts +10 -4
- package/L/rune.ts +2 -1
- package/LEvent.ts +15 -1
- package/MessageRegistry.ts +21 -0
- package/{state/ModelRegistry.ts → ModelRegistry.ts} +19 -12
- package/Rune.ts +3 -1
- package/Runic.ts +11 -3
- package/dist/Agent.d.ts +11 -3
- package/dist/Agent.js +10 -8
- package/dist/Agent.js.map +1 -1
- package/dist/Context.d.ts +11 -9
- package/dist/Context.js +29 -25
- package/dist/Context.js.map +1 -1
- package/dist/EventBase.js +2 -11
- package/dist/EventBase.js.map +1 -1
- package/dist/Fiber.d.ts +12 -0
- package/dist/Fiber.js +44 -0
- package/dist/Fiber.js.map +1 -0
- package/dist/Handler.d.ts +4 -1
- package/dist/Handler.js +2 -1
- package/dist/Handler.js.map +1 -1
- package/dist/L/L.d.ts +0 -1
- package/dist/L/L.js +0 -1
- package/dist/L/L.js.map +1 -1
- package/dist/L/_infer.js +15 -17
- package/dist/L/_infer.js.map +1 -1
- package/dist/L/_message.js +5 -2
- package/dist/L/_message.js.map +1 -1
- package/dist/L/branch.js +10 -18
- package/dist/L/branch.js.map +1 -1
- package/dist/L/emit.js +6 -8
- package/dist/L/emit.js.map +1 -1
- package/dist/L/model.d.ts +2 -1
- package/dist/L/model.js +9 -3
- package/dist/L/model.js.map +1 -1
- package/dist/L/rune.d.ts +2 -1
- package/dist/L/rune.js +1 -0
- package/dist/L/rune.js.map +1 -1
- package/dist/LEvent.d.ts +12 -1
- package/dist/LEvent.js +7 -0
- package/dist/LEvent.js.map +1 -1
- package/dist/MessageRegistry.d.ts +9 -0
- package/dist/MessageRegistry.js +15 -0
- package/dist/MessageRegistry.js.map +1 -0
- package/dist/{state/ModelRegistry.d.ts → ModelRegistry.d.ts} +4 -2
- package/dist/{state/ModelRegistry.js → ModelRegistry.js} +12 -6
- package/dist/ModelRegistry.js.map +1 -0
- package/dist/Rune.d.ts +2 -1
- package/dist/Rune.js.map +1 -1
- package/dist/Runic.d.ts +3 -3
- package/dist/Runic.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +4 -3
- package/package.json +2 -2
- package/Globals.ts +0 -10
- package/L/fork.ts +0 -20
- package/L/namespace.ts +0 -11
- package/dist/Globals.d.ts +0 -6
- package/dist/Globals.js +0 -2
- package/dist/Globals.js.map +0 -1
- package/dist/L/fork.d.ts +0 -1
- package/dist/L/fork.js +0 -20
- package/dist/L/fork.js.map +0 -1
- package/dist/L/namespace.d.ts +0 -1
- package/dist/L/namespace.js +0 -12
- package/dist/L/namespace.js.map +0 -1
- package/dist/run.d.ts +0 -4
- package/dist/run.js +0 -35
- package/dist/run.js.map +0 -1
- package/dist/state/Fiber.d.ts +0 -9
- package/dist/state/Fiber.js +0 -14
- package/dist/state/Fiber.js.map +0 -1
- package/dist/state/Globals.d.ts +0 -9
- package/dist/state/Globals.js +0 -10
- package/dist/state/Globals.js.map +0 -1
- package/dist/state/MessageRegistry.d.ts +0 -7
- package/dist/state/MessageRegistry.js +0 -14
- package/dist/state/MessageRegistry.js.map +0 -1
- package/dist/state/ModelConfig.d.ts +0 -31
- package/dist/state/ModelConfig.js +0 -17
- package/dist/state/ModelConfig.js.map +0 -1
- package/dist/state/ModelRegistry.js.map +0 -1
- package/dist/state/StateMap.d.ts +0 -1
- package/dist/state/StateMap.js +0 -2
- package/dist/state/StateMap.js.map +0 -1
- package/run.ts +0 -37
- package/state/Fiber.ts +0 -13
- package/state/Globals.ts +0 -12
- package/state/MessageRegistry.ts +0 -17
- package/state/ModelConfig.ts +0 -47
- package/state/StateMap.ts +0 -0
package/dist/state/Globals.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -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"}
|
package/dist/state/StateMap.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/state/StateMap.js
DELETED
|
@@ -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
|
-
}
|
package/state/MessageRegistry.ts
DELETED
|
@@ -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
|
-
}
|
package/state/ModelConfig.ts
DELETED
|
@@ -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
|