@ekairos/openai-reactor 1.22.15-beta.feature-thread-unify.0 → 1.22.16-beta.development.0
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 +15 -29
- package/dist/codex.reactor.d.ts +104 -15
- package/dist/codex.reactor.d.ts.map +1 -1
- package/dist/codex.reactor.js +1799 -21
- package/dist/codex.reactor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/shared.d.ts +7 -3
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +378 -26
- package/dist/shared.js.map +1 -1
- package/package.json +22 -6
package/README.md
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
# @ekairos/openai-reactor
|
|
2
2
|
|
|
3
|
-
Codex reactor for `@ekairos/
|
|
3
|
+
Codex/OpenAI reactor package for `@ekairos/events`.
|
|
4
4
|
|
|
5
5
|
## Exports
|
|
6
6
|
|
|
7
|
-
- `createCodexReactor(
|
|
8
|
-
|
|
7
|
+
- `createCodexReactor(...)`
|
|
8
|
+
- `mapCodexChunkType(...)`
|
|
9
|
+
- `defaultMapCodexChunk(...)`
|
|
9
10
|
|
|
10
|
-
##
|
|
11
|
+
## Usage
|
|
11
12
|
|
|
12
13
|
```ts
|
|
13
|
-
import { createThread } from "@ekairos/thread";
|
|
14
14
|
import { createCodexReactor } from "@ekairos/openai-reactor";
|
|
15
15
|
|
|
16
16
|
const reactor = createCodexReactor({
|
|
17
|
-
resolveConfig: async (
|
|
17
|
+
resolveConfig: async () => {
|
|
18
18
|
"use step";
|
|
19
|
-
return {
|
|
20
|
-
appServerUrl: env.appServerUrl,
|
|
21
|
-
repoPath: env.repoPath,
|
|
22
|
-
threadId: env.threadId,
|
|
23
|
-
mode: "local",
|
|
24
|
-
};
|
|
19
|
+
return { mode: "local" };
|
|
25
20
|
},
|
|
26
|
-
executeTurn: async (
|
|
21
|
+
executeTurn: async () => {
|
|
27
22
|
"use step";
|
|
28
|
-
// call codex app server / stream
|
|
29
23
|
return {
|
|
30
|
-
|
|
24
|
+
providerContextId: "context_1",
|
|
31
25
|
turnId: "turn_1",
|
|
32
26
|
assistantText: "Done.",
|
|
33
27
|
reasoningText: "",
|
|
@@ -36,20 +30,12 @@ const reactor = createCodexReactor({
|
|
|
36
30
|
};
|
|
37
31
|
},
|
|
38
32
|
});
|
|
39
|
-
|
|
40
|
-
const codingThread = createThread<any>("code.agent")
|
|
41
|
-
.context((stored) => stored.content ?? {})
|
|
42
|
-
.narrative(() => "Ekairos coding thread")
|
|
43
|
-
.actions(() => ({}))
|
|
44
|
-
.reactor(reactor)
|
|
45
|
-
.shouldContinue(() => false)
|
|
46
|
-
.build();
|
|
47
33
|
```
|
|
48
34
|
|
|
49
|
-
##
|
|
35
|
+
## Tests
|
|
50
36
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
37
|
+
```bash
|
|
38
|
+
pnpm --filter @ekairos/openai-reactor test
|
|
39
|
+
pnpm --filter @ekairos/openai-reactor test:reactor
|
|
40
|
+
pnpm --filter @ekairos/openai-reactor test:reactor:instant
|
|
41
|
+
```
|
package/dist/codex.reactor.d.ts
CHANGED
|
@@ -1,67 +1,156 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type {
|
|
1
|
+
import { type ContextSkillPackage, type ContextItem, type ContextReactor, type ContextReactorParams, type ContextStreamChunkType } from "@ekairos/events";
|
|
2
|
+
import type { ContextEnvironment } from "@ekairos/events/runtime";
|
|
3
3
|
import { type AnyRecord } from "./shared.js";
|
|
4
4
|
export type CodexConfig = {
|
|
5
5
|
appServerUrl: string;
|
|
6
6
|
repoPath: string;
|
|
7
|
-
|
|
7
|
+
providerContextId?: string;
|
|
8
8
|
mode?: "local" | "remote" | "sandbox";
|
|
9
9
|
model?: string;
|
|
10
10
|
approvalPolicy?: string;
|
|
11
11
|
sandboxPolicy?: Record<string, unknown>;
|
|
12
|
+
sandbox?: CodexSandboxConfig;
|
|
13
|
+
};
|
|
14
|
+
type CodexActionSpec = {
|
|
15
|
+
type?: "function";
|
|
16
|
+
description?: string;
|
|
17
|
+
inputSchema?: unknown;
|
|
18
|
+
};
|
|
19
|
+
export type CodexSandboxConfig = {
|
|
20
|
+
sandboxId?: string;
|
|
21
|
+
provider?: "sprites" | "vercel";
|
|
22
|
+
runtime?: string;
|
|
23
|
+
purpose?: string;
|
|
24
|
+
spriteName?: string;
|
|
25
|
+
ports?: number[];
|
|
26
|
+
vercel?: Record<string, unknown>;
|
|
27
|
+
codexHome?: string;
|
|
28
|
+
authJsonPath?: string;
|
|
29
|
+
credentialsJsonPath?: string;
|
|
30
|
+
configTomlPath?: string;
|
|
31
|
+
bridgePort?: number;
|
|
32
|
+
appPort?: number;
|
|
33
|
+
createApp?: boolean;
|
|
34
|
+
installApp?: boolean;
|
|
35
|
+
startApp?: boolean;
|
|
36
|
+
checkpoint?: boolean;
|
|
37
|
+
debugExposeBridge?: boolean;
|
|
12
38
|
};
|
|
13
39
|
export type CodexTurnResult = {
|
|
14
|
-
|
|
40
|
+
providerContextId: string;
|
|
15
41
|
turnId: string;
|
|
16
42
|
assistantText: string;
|
|
17
43
|
reasoningText?: string;
|
|
18
44
|
diff?: string;
|
|
19
45
|
toolParts?: unknown[];
|
|
20
46
|
metadata?: Record<string, unknown>;
|
|
47
|
+
usage?: Record<string, unknown>;
|
|
21
48
|
};
|
|
22
|
-
export type CodexExecuteTurnArgs<Context, Config extends CodexConfig = CodexConfig, Env extends
|
|
49
|
+
export type CodexExecuteTurnArgs<Context, Config extends CodexConfig = CodexConfig, Env extends ContextEnvironment = ContextEnvironment> = {
|
|
23
50
|
env: Env;
|
|
51
|
+
runtime?: unknown;
|
|
24
52
|
context: AnyRecord;
|
|
25
|
-
triggerEvent:
|
|
53
|
+
triggerEvent: ContextItem;
|
|
26
54
|
contextId: string;
|
|
27
55
|
eventId: string;
|
|
28
56
|
executionId: string;
|
|
29
57
|
stepId: string;
|
|
30
58
|
iteration: number;
|
|
31
59
|
instruction: string;
|
|
60
|
+
systemPrompt?: string;
|
|
32
61
|
config: Config;
|
|
33
|
-
|
|
62
|
+
actions: Record<string, unknown>;
|
|
63
|
+
actionSpecs: Record<string, CodexActionSpec>;
|
|
64
|
+
skills: ContextSkillPackage[];
|
|
65
|
+
storedContext?: unknown;
|
|
66
|
+
contextIdentifier?: unknown;
|
|
67
|
+
contextStepStream?: WritableStream<string>;
|
|
68
|
+
writable?: WritableStream<unknown>;
|
|
34
69
|
silent: boolean;
|
|
70
|
+
emitChunk: (providerChunk: unknown) => Promise<void>;
|
|
71
|
+
};
|
|
72
|
+
export type CodexAppServerTurnStepArgs<Config extends CodexConfig = CodexConfig> = {
|
|
73
|
+
config: Config;
|
|
74
|
+
env?: ContextEnvironment;
|
|
75
|
+
runtime?: unknown;
|
|
76
|
+
instruction: string;
|
|
77
|
+
systemPrompt?: string;
|
|
78
|
+
contextId: string;
|
|
79
|
+
eventId: string;
|
|
80
|
+
executionId: string;
|
|
81
|
+
stepId: string;
|
|
82
|
+
iteration?: number;
|
|
83
|
+
context?: AnyRecord;
|
|
84
|
+
actions?: Record<string, unknown>;
|
|
85
|
+
actionSpecs?: Record<string, CodexActionSpec>;
|
|
86
|
+
storedContext?: unknown;
|
|
87
|
+
contextIdentifier?: unknown;
|
|
88
|
+
contextStepStream?: WritableStream<string>;
|
|
89
|
+
writable?: WritableStream<unknown>;
|
|
90
|
+
silent: boolean;
|
|
91
|
+
};
|
|
92
|
+
export type CodexChunkMappingResult = {
|
|
93
|
+
chunkType: ContextStreamChunkType;
|
|
94
|
+
providerChunkType?: string;
|
|
95
|
+
actionRef?: string;
|
|
96
|
+
data?: unknown;
|
|
97
|
+
raw?: unknown;
|
|
98
|
+
skip?: boolean;
|
|
99
|
+
};
|
|
100
|
+
export type CodexMappedChunk = {
|
|
101
|
+
at: string;
|
|
102
|
+
sequence: number;
|
|
103
|
+
chunkType: ContextStreamChunkType;
|
|
104
|
+
providerChunkType?: string;
|
|
105
|
+
actionRef?: string;
|
|
106
|
+
data?: unknown;
|
|
107
|
+
raw?: unknown;
|
|
108
|
+
};
|
|
109
|
+
export type CodexStreamTrace = {
|
|
110
|
+
totalChunks: number;
|
|
111
|
+
chunkTypes: Record<string, number>;
|
|
112
|
+
providerChunkTypes: Record<string, number>;
|
|
113
|
+
chunks?: CodexMappedChunk[];
|
|
35
114
|
};
|
|
36
|
-
export type CreateCodexReactorOptions<Context, Config extends CodexConfig = CodexConfig, Env extends
|
|
115
|
+
export type CreateCodexReactorOptions<Context, Config extends CodexConfig = CodexConfig, Env extends ContextEnvironment = ContextEnvironment> = {
|
|
37
116
|
toolName?: string;
|
|
38
117
|
includeReasoningPart?: boolean;
|
|
39
118
|
buildInstruction?: (params: {
|
|
40
119
|
env: Env;
|
|
41
120
|
context: AnyRecord;
|
|
42
|
-
triggerEvent:
|
|
121
|
+
triggerEvent: ContextItem;
|
|
43
122
|
}) => string | Promise<string>;
|
|
44
123
|
resolveConfig: (params: {
|
|
45
124
|
env: Env;
|
|
46
125
|
context: AnyRecord;
|
|
47
|
-
triggerEvent:
|
|
126
|
+
triggerEvent: ContextItem;
|
|
48
127
|
contextId: string;
|
|
49
128
|
eventId: string;
|
|
50
129
|
executionId: string;
|
|
51
130
|
stepId: string;
|
|
52
131
|
iteration: number;
|
|
53
132
|
}) => Promise<Config>;
|
|
54
|
-
executeTurn
|
|
133
|
+
executeTurn?: (args: CodexExecuteTurnArgs<Context, Config, Env>) => Promise<CodexTurnResult>;
|
|
134
|
+
mapChunk?: (providerChunk: unknown) => CodexChunkMappingResult | null;
|
|
135
|
+
includeStreamTraceInOutput?: boolean;
|
|
136
|
+
includeRawProviderChunksInOutput?: boolean;
|
|
137
|
+
maxPersistedStreamChunks?: number;
|
|
138
|
+
onMappedChunk?: (chunk: CodexMappedChunk, params: ContextReactorParams<Context, Env>) => Promise<void> | void;
|
|
55
139
|
};
|
|
140
|
+
export declare function mapCodexChunkType(providerChunkType: string): ContextStreamChunkType;
|
|
141
|
+
export declare function mapCodexAppServerNotification(providerChunk: unknown): CodexChunkMappingResult | null;
|
|
142
|
+
export declare function defaultMapCodexChunk(providerChunk: unknown): CodexChunkMappingResult;
|
|
143
|
+
export declare function executeCodexAppServerTurnStep<Config extends CodexConfig = CodexConfig>(args: CodexAppServerTurnStepArgs<Config>): Promise<CodexTurnResult>;
|
|
56
144
|
/**
|
|
57
|
-
* Codex App Server reactor for @ekairos/
|
|
145
|
+
* Codex App Server reactor for @ekairos/events.
|
|
58
146
|
*
|
|
59
|
-
* This maps one
|
|
60
|
-
* assistant event compatible with the
|
|
147
|
+
* This maps one Context loop iteration to one Codex turn and returns a persisted
|
|
148
|
+
* assistant event compatible with the Context engine.
|
|
61
149
|
*
|
|
62
150
|
* Workflow compatibility:
|
|
63
151
|
* - `resolveConfig` and `executeTurn` should be implemented with `"use step"`
|
|
64
152
|
* wrappers when they perform I/O.
|
|
65
153
|
*/
|
|
66
|
-
export declare function createCodexReactor<Context, Config extends CodexConfig = CodexConfig, Env extends
|
|
154
|
+
export declare function createCodexReactor<Context, Config extends CodexConfig = CodexConfig, Env extends ContextEnvironment = ContextEnvironment>(options: CreateCodexReactorOptions<Context, Config, Env>): ContextReactor<Context, Env>;
|
|
155
|
+
export {};
|
|
67
156
|
//# sourceMappingURL=codex.reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.reactor.d.ts","sourceRoot":"","sources":["../src/codex.reactor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"codex.reactor.d.ts","sourceRoot":"","sources":["../src/codex.reactor.ts"],"names":[],"mappings":"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"}
|