@ekairos/events 1.22.34-beta.development.0 → 1.22.35
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/README.md +58 -83
- package/dist/codex.d.ts +11 -2
- package/dist/codex.js +16 -8
- package/dist/context.action-calls.d.ts +48 -0
- package/dist/context.action-calls.js +123 -0
- package/dist/context.action.d.ts +55 -0
- package/dist/context.action.js +25 -0
- package/dist/context.builder.d.ts +71 -43
- package/dist/context.builder.js +123 -28
- package/dist/context.config.d.ts +2 -1
- package/dist/context.config.js +8 -3
- package/dist/context.contract.d.ts +2 -4
- package/dist/context.contract.js +3 -9
- package/dist/context.d.ts +3 -2
- package/dist/context.engine.d.ts +75 -46
- package/dist/context.engine.js +538 -302
- package/dist/context.events.js +28 -87
- package/dist/context.js +1 -0
- package/dist/context.part-identity.d.ts +40 -0
- package/dist/context.part-identity.js +270 -0
- package/dist/context.parts.d.ts +389 -164
- package/dist/context.parts.js +343 -218
- package/dist/context.registry.d.ts +1 -1
- package/dist/context.runtime.d.ts +21 -0
- package/dist/context.runtime.js +39 -0
- package/dist/context.step-stream.d.ts +16 -2
- package/dist/context.step-stream.js +58 -16
- package/dist/context.store.d.ts +63 -10
- package/dist/context.stream.d.ts +14 -4
- package/dist/context.stream.js +31 -3
- package/dist/domain.d.ts +1 -0
- package/dist/domain.js +1 -0
- package/dist/index.d.ts +13 -10
- package/dist/index.js +7 -6
- package/dist/react.context-event-parts.d.ts +18 -0
- package/dist/react.context-event-parts.js +509 -0
- package/dist/react.d.ts +7 -42
- package/dist/react.js +4 -87
- package/dist/react.step-stream.d.ts +39 -0
- package/dist/react.step-stream.js +625 -0
- package/dist/react.types.d.ts +121 -0
- package/dist/react.types.js +2 -0
- package/dist/react.use-context.d.ts +7 -0
- package/dist/react.use-context.js +867 -0
- package/dist/reactors/ai-sdk.chunk-map.d.ts +1 -0
- package/dist/reactors/ai-sdk.chunk-map.js +56 -5
- package/dist/reactors/ai-sdk.reactor.d.ts +8 -5
- package/dist/reactors/ai-sdk.reactor.js +10 -9
- package/dist/reactors/ai-sdk.step.d.ts +6 -6
- package/dist/reactors/ai-sdk.step.js +32 -24
- package/dist/reactors/scripted.reactor.d.ts +7 -4
- package/dist/reactors/types.d.ts +23 -8
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.js +9 -0
- package/dist/runtime.step.js +2 -2
- package/dist/schema.d.ts +268 -2
- package/dist/schema.js +5 -9
- package/dist/steps/do-context-stream-step.d.ts +2 -2
- package/dist/steps/do-context-stream-step.js +6 -8
- package/dist/steps/durable.steps.d.ts +28 -0
- package/dist/steps/durable.steps.js +34 -0
- package/dist/steps/store.steps.d.ts +121 -39
- package/dist/steps/store.steps.js +266 -111
- package/dist/steps/stream.steps.d.ts +36 -3
- package/dist/steps/stream.steps.js +137 -14
- package/dist/steps/trace.steps.d.ts +4 -2
- package/dist/steps/trace.steps.js +26 -8
- package/dist/stores/instant.store.d.ts +15 -11
- package/dist/stores/instant.store.js +155 -6
- package/dist/tools-to-model-tools.d.ts +39 -3
- package/dist/tools-to-model-tools.js +63 -6
- package/package.json +20 -6
- package/dist/context.toolcalls.d.ts +0 -60
- package/dist/context.toolcalls.js +0 -117
package/dist/context.engine.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ModelMessage, UIMessageChunk } from "ai";
|
|
2
|
+
import type { DomainLike } from "@ekairos/domain";
|
|
2
3
|
import type { ContextEnvironment } from "./context.config.js";
|
|
3
|
-
import type {
|
|
4
|
+
import type { ContextTool } from "./context.action.js";
|
|
5
|
+
import type { ContextRuntime, ContextRuntimeHandleForDomain, ContextRuntimeForDomain } from "./context.runtime.js";
|
|
6
|
+
import { eventsDomain } from "./schema.js";
|
|
7
|
+
import type { ContextExecution, ContextItem, ContextIdentifier, ContextResource, StoredContext } from "./context.store.js";
|
|
4
8
|
import type { ContextSkillPackage } from "./context.skill.js";
|
|
5
9
|
import { type ContextReactor } from "./context.reactor.js";
|
|
6
10
|
import { getClientResumeHookUrl, toolApprovalHookToken, toolApprovalWebhookToken } from "./context.hooks.js";
|
|
7
|
-
export interface ContextOptions<Context = any, Env extends ContextEnvironment = ContextEnvironment> {
|
|
11
|
+
export interface ContextOptions<Context = any, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain> {
|
|
8
12
|
onContextCreated?: (args: {
|
|
9
13
|
env: Env;
|
|
14
|
+
runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>;
|
|
10
15
|
context: StoredContext<Context>;
|
|
11
16
|
}) => void | Promise<void>;
|
|
12
17
|
onContextUpdated?: (args: {
|
|
13
18
|
env: Env;
|
|
19
|
+
runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>;
|
|
14
20
|
context: StoredContext<Context>;
|
|
15
21
|
}) => void | Promise<void>;
|
|
16
22
|
onEventCreated?: (event: ContextItem) => void | Promise<void>;
|
|
@@ -22,7 +28,7 @@ type ContextBenchmarkRecorder = {
|
|
|
22
28
|
add?(name: string, value: number): void;
|
|
23
29
|
getCurrentStage?(): string | undefined;
|
|
24
30
|
};
|
|
25
|
-
export declare function runContextReactionDirect<Context, Env extends ContextEnvironment = ContextEnvironment>(context: ContextEngine<Context, Env>, triggerEvent: ContextItem, params: ContextReactParams<Env>): Promise<ContextReactResult<Context>>;
|
|
31
|
+
export declare function runContextReactionDirect<Context, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>>(context: ContextEngine<Context, Env, RequiredDomain>, triggerEvent: ContextItem, params: ContextReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context>>;
|
|
26
32
|
export interface ContextStreamOptions {
|
|
27
33
|
/**
|
|
28
34
|
* Maximum loop iterations (LLM call → tool execution → repeat).
|
|
@@ -44,14 +50,6 @@ export interface ContextStreamOptions {
|
|
|
44
50
|
* Default: true.
|
|
45
51
|
*/
|
|
46
52
|
sendFinish?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* If true, the story loop runs silently (no UI streaming output).
|
|
49
|
-
*
|
|
50
|
-
* Persistence (contexts/events/executions) still happens normally.
|
|
51
|
-
*
|
|
52
|
-
* Default: false.
|
|
53
|
-
*/
|
|
54
|
-
silent?: boolean;
|
|
55
53
|
/**
|
|
56
54
|
* Optional writable stream used by direct/non-durable execution.
|
|
57
55
|
*
|
|
@@ -67,8 +65,8 @@ export interface ContextStreamOptions {
|
|
|
67
65
|
* be a `"use-step"` function (so it can be serialized by reference).
|
|
68
66
|
*/
|
|
69
67
|
export type ContextModelInit = string | (() => Promise<any>);
|
|
70
|
-
export type ContextReactParams<Env extends ContextEnvironment = ContextEnvironment> = {
|
|
71
|
-
|
|
68
|
+
export type ContextReactParams<Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = {
|
|
69
|
+
runtime: ContextRuntimeForDomain<Runtime, RequiredDomain>;
|
|
72
70
|
/**
|
|
73
71
|
* Context selector (exclusive: `{ id }` OR `{ key }`).
|
|
74
72
|
* - `{ id }` resolves a concrete context id.
|
|
@@ -87,24 +85,61 @@ export type ContextReactParams<Env extends ContextEnvironment = ContextEnvironme
|
|
|
87
85
|
trigger: ContextItem;
|
|
88
86
|
reaction: ContextItem;
|
|
89
87
|
execution: ContextExecution;
|
|
88
|
+
returnValueHookToken?: string | null;
|
|
90
89
|
};
|
|
90
|
+
__initialContent?: unknown;
|
|
91
91
|
__benchmark?: ContextBenchmarkRecorder;
|
|
92
92
|
};
|
|
93
|
-
export type
|
|
93
|
+
export type ContextDurableReactParams<Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = Omit<ContextReactParams<Env, RequiredDomain, Runtime>, "durable"> & {
|
|
94
|
+
durable?: true | undefined;
|
|
95
|
+
};
|
|
96
|
+
export type ContextDirectReactParams<Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = Omit<ContextReactParams<Env, RequiredDomain, Runtime>, "durable"> & {
|
|
97
|
+
durable: false;
|
|
98
|
+
};
|
|
99
|
+
export type ContextReactBase<Context = any> = {
|
|
94
100
|
context: StoredContext<Context>;
|
|
95
101
|
trigger: ContextItem;
|
|
96
102
|
reaction: ContextItem;
|
|
97
103
|
execution: ContextExecution;
|
|
98
104
|
};
|
|
99
|
-
export type
|
|
105
|
+
export type ContextReactFinalResult<Context = any> = ContextReactBase<Context>;
|
|
106
|
+
export type ContextDirectRun<Context = any> = Promise<ContextReactFinalResult<Context>>;
|
|
107
|
+
export type ContextWorkflowRun<Context = any> = {
|
|
108
|
+
runId: string;
|
|
109
|
+
status: Promise<"pending" | "running" | "completed" | "failed" | "cancelled">;
|
|
110
|
+
returnValue: Promise<ContextReactFinalResult<Context>>;
|
|
111
|
+
returnValueHook?: {
|
|
112
|
+
token: string;
|
|
113
|
+
parentWorkflowRunId: string;
|
|
114
|
+
} | null;
|
|
115
|
+
};
|
|
116
|
+
export type ContextReactRun<Context = any> = ContextWorkflowRun<Context> | ContextDirectRun<Context>;
|
|
117
|
+
export type ContextReactResult<Context = any, Run extends ContextReactRun<Context> = ContextReactRun<Context>> = ContextReactBase<Context> & {
|
|
118
|
+
run?: Run;
|
|
119
|
+
};
|
|
120
|
+
export type ContextDurableWorkflowPayload<Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = {
|
|
100
121
|
contextKey: string;
|
|
101
|
-
|
|
122
|
+
runtime: ContextRuntimeForDomain<Runtime, RequiredDomain>;
|
|
102
123
|
context?: ContextIdentifier | null;
|
|
103
124
|
triggerEvent: ContextItem;
|
|
104
125
|
options?: Omit<ContextStreamOptions, "writable">;
|
|
105
|
-
bootstrap: NonNullable<ContextReactParams<Env>["__bootstrap"]>;
|
|
126
|
+
bootstrap: NonNullable<ContextReactParams<Env, RequiredDomain, Runtime>["__bootstrap"]>;
|
|
127
|
+
};
|
|
128
|
+
export type ContextDurableWorkflowFunction<Context = any, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = (payload: ContextDurableWorkflowPayload<Env, RequiredDomain, Runtime>) => Promise<ContextReactFinalResult<Context>>;
|
|
129
|
+
export type ContextToolExecuteContext<Context = any, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain, Runtime extends ContextRuntime<Env> = ContextRuntime<Env>> = {
|
|
130
|
+
runtime: ContextRuntimeForDomain<Runtime, RequiredDomain>;
|
|
131
|
+
context: StoredContext<Context>;
|
|
132
|
+
contextIdentifier: ContextIdentifier;
|
|
133
|
+
toolCallId: string;
|
|
134
|
+
messages: ModelMessage[];
|
|
135
|
+
eventId: string;
|
|
136
|
+
executionId: string;
|
|
137
|
+
triggerEventId: string;
|
|
138
|
+
contextId: string;
|
|
139
|
+
stepId: string;
|
|
140
|
+
iteration: number;
|
|
141
|
+
contextStepStream?: WritableStream<string>;
|
|
106
142
|
};
|
|
107
|
-
export type ContextDurableWorkflowFunction<Context = any, Env extends ContextEnvironment = ContextEnvironment> = (payload: ContextDurableWorkflowPayload<Env>) => Promise<ContextReactResult<Context>>;
|
|
108
143
|
export { toolApprovalHookToken, toolApprovalWebhookToken, getClientResumeHookUrl };
|
|
109
144
|
/**
|
|
110
145
|
* Context-level tool type.
|
|
@@ -114,13 +149,6 @@ export { toolApprovalHookToken, toolApprovalWebhookToken, getClientResumeHookUrl
|
|
|
114
149
|
*
|
|
115
150
|
* Default behavior when omitted: `auto === true`.
|
|
116
151
|
*/
|
|
117
|
-
export type ContextTool = Tool & {
|
|
118
|
-
/**
|
|
119
|
-
* If `false`, this action is not intended for automatic execution by the engine.
|
|
120
|
-
* (Validation/enforcement can be added by callers; default is `true`.)
|
|
121
|
-
*/
|
|
122
|
-
auto?: boolean;
|
|
123
|
-
};
|
|
124
152
|
/**
|
|
125
153
|
* ## Context loop continuation signal
|
|
126
154
|
*
|
|
@@ -132,8 +160,9 @@ export type ContextTool = Tool & {
|
|
|
132
160
|
* (No imports required in callers.)
|
|
133
161
|
*/
|
|
134
162
|
export type ShouldContinue = boolean;
|
|
135
|
-
export type ContextShouldContinueArgs<Context = any, Env extends ContextEnvironment = ContextEnvironment> = {
|
|
163
|
+
export type ContextShouldContinueArgs<Context = any, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain> = {
|
|
136
164
|
env: Env;
|
|
165
|
+
runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>;
|
|
137
166
|
context: StoredContext<Context>;
|
|
138
167
|
/**
|
|
139
168
|
* The persisted reaction event **so far** for the current streaming run.
|
|
@@ -162,14 +191,17 @@ export type ContextShouldContinueArgs<Context = any, Env extends ContextEnvironm
|
|
|
162
191
|
errorText?: string;
|
|
163
192
|
}>;
|
|
164
193
|
};
|
|
165
|
-
export declare abstract class ContextEngine<Context, Env extends ContextEnvironment = ContextEnvironment> {
|
|
166
|
-
protected readonly opts: ContextOptions<Context, Env>;
|
|
194
|
+
export declare abstract class ContextEngine<Context, Env extends ContextEnvironment = ContextEnvironment, RequiredDomain extends DomainLike = typeof eventsDomain> {
|
|
195
|
+
protected readonly opts: ContextOptions<Context, Env, RequiredDomain>;
|
|
167
196
|
private readonly reactor;
|
|
168
|
-
constructor(opts?: ContextOptions<Context, Env>, reactor?: ContextReactor<Context, Env>);
|
|
169
|
-
protected abstract initialize(context: StoredContext<Context>, env: Env): Promise<Context> | Context;
|
|
170
|
-
protected abstract buildSystemPrompt(context: StoredContext<Context>, env: Env): Promise<string> | string;
|
|
171
|
-
protected
|
|
172
|
-
protected
|
|
197
|
+
constructor(opts?: ContextOptions<Context, Env, RequiredDomain>, reactor?: ContextReactor<Context, Env, RequiredDomain>);
|
|
198
|
+
protected abstract initialize(context: StoredContext<Context>, env: Env, runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<Context> | Context;
|
|
199
|
+
protected abstract buildSystemPrompt(context: StoredContext<Context>, env: Env, runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<string> | string;
|
|
200
|
+
protected describeContext(_content: Context, _context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<string | null>;
|
|
201
|
+
protected defineGoal(_content: Context, _context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<string | null>;
|
|
202
|
+
protected defineResources(_content: Context, _context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<ContextResource[]>;
|
|
203
|
+
protected abstract buildTools(context: StoredContext<Context>, env: Env, runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<Record<string, ContextTool<Context, Env, RequiredDomain>>> | Record<string, ContextTool<Context, Env, RequiredDomain>>;
|
|
204
|
+
protected buildSkills(_context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<ContextSkillPackage[]>;
|
|
173
205
|
/**
|
|
174
206
|
* First-class event expansion stage (runs on every iteration of the durable loop).
|
|
175
207
|
*
|
|
@@ -187,9 +219,9 @@ export declare abstract class ContextEngine<Context, Env extends ContextEnvironm
|
|
|
187
219
|
* the builder) so results are durable and replay-safe.
|
|
188
220
|
* - If it’s pure/deterministic, it can run in workflow context.
|
|
189
221
|
*/
|
|
190
|
-
protected expandEvents(events: ContextItem[], _context: StoredContext<Context>, _env: Env): Promise<ContextItem[]>;
|
|
191
|
-
protected getModel(_context: StoredContext<Context>, _env: Env): ContextModelInit;
|
|
192
|
-
protected getReactor(_context: StoredContext<Context>, _env: Env): ContextReactor<Context, Env>;
|
|
222
|
+
protected expandEvents(events: ContextItem[], _context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): Promise<ContextItem[]>;
|
|
223
|
+
protected getModel(_context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): ContextModelInit;
|
|
224
|
+
protected getReactor(_context: StoredContext<Context>, _env: Env, _runtime: ContextRuntimeHandleForDomain<Env, RequiredDomain>): ContextReactor<Context, Env, RequiredDomain>;
|
|
193
225
|
/**
|
|
194
226
|
* Context stop/continue hook.
|
|
195
227
|
*
|
|
@@ -198,19 +230,16 @@ export declare abstract class ContextEngine<Context, Env extends ContextEnvironm
|
|
|
198
230
|
*
|
|
199
231
|
* Default: `true` (continue).
|
|
200
232
|
*/
|
|
201
|
-
protected shouldContinue(_args: ContextShouldContinueArgs<Context, Env>): Promise<ShouldContinue>;
|
|
202
|
-
react(triggerEvent: ContextItem, params:
|
|
233
|
+
protected shouldContinue(_args: ContextShouldContinueArgs<Context, Env, RequiredDomain>): Promise<ShouldContinue>;
|
|
234
|
+
react<Runtime extends ContextRuntime<Env>>(triggerEvent: ContextItem, params: ContextDurableReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context, ContextWorkflowRun<Context>>>;
|
|
235
|
+
react<Runtime extends ContextRuntime<Env>>(triggerEvent: ContextItem, params: ContextDirectReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context, ContextDirectRun<Context>>>;
|
|
236
|
+
react<Runtime extends ContextRuntime<Env>>(triggerEvent: ContextItem, params: ContextReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context>>;
|
|
203
237
|
private static prepareExecutionShell;
|
|
204
238
|
private static startDurable;
|
|
205
|
-
static runDirect<Context, Env extends ContextEnvironment
|
|
206
|
-
context: StoredContext<Context>;
|
|
207
|
-
trigger: ContextItem;
|
|
208
|
-
reaction: ContextItem;
|
|
209
|
-
execution: ContextExecution;
|
|
210
|
-
}>;
|
|
239
|
+
static runDirect<Context, Env extends ContextEnvironment, RequiredDomain extends DomainLike, Runtime extends ContextRuntime<Env>>(story: ContextEngine<Context, Env, RequiredDomain>, triggerEvent: ContextItem, params: ContextReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context, ContextDirectRun<Context>>>;
|
|
211
240
|
/**
|
|
212
241
|
* @deprecated Use `react()` instead. Kept for backwards compatibility.
|
|
213
242
|
*/
|
|
214
|
-
stream(triggerEvent: ContextItem, params: ContextReactParams<Env>): Promise<ContextReactResult<Context
|
|
243
|
+
stream<Runtime extends ContextRuntime<Env>>(triggerEvent: ContextItem, params: ContextReactParams<Env, RequiredDomain, Runtime>): Promise<ContextReactResult<Context, ContextWorkflowRun<Context>>>;
|
|
215
244
|
private callOnEnd;
|
|
216
245
|
}
|