@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 CHANGED
@@ -1,33 +1,27 @@
1
1
  # @ekairos/openai-reactor
2
2
 
3
- Codex reactor for `@ekairos/thread`.
3
+ Codex/OpenAI reactor package for `@ekairos/events`.
4
4
 
5
5
  ## Exports
6
6
 
7
- - `createCodexReactor(options)`
8
- Codex App Server reactor for direct Thread execution (no tool indirection).
7
+ - `createCodexReactor(...)`
8
+ - `mapCodexChunkType(...)`
9
+ - `defaultMapCodexChunk(...)`
9
10
 
10
- ## Codex Reactor Example
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 ({ env, contextId }) => {
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 ({ config, instruction, writable }) => {
21
+ executeTurn: async () => {
27
22
  "use step";
28
- // call codex app server / stream
29
23
  return {
30
- threadId: config.threadId ?? "thread_1",
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
- ## Workflow Compatibility
35
+ ## Tests
50
36
 
51
- `resolveConfig` and `executeTurn` should be implemented as workflow-safe step functions when they perform I/O.
52
-
53
- ## AI SDK generic reactor
54
-
55
- `createAiSdkReactor(...)` is provider-agnostic and lives in `@ekairos/thread`.
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
+ ```
@@ -1,67 +1,156 @@
1
- import { type ThreadItem, type ThreadReactor } from "@ekairos/thread";
2
- import type { ThreadEnvironment } from "@ekairos/thread/runtime";
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
- threadId?: string;
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
- threadId: string;
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 ThreadEnvironment = ThreadEnvironment> = {
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: ThreadItem;
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
- writable: WritableStream<unknown>;
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 ThreadEnvironment = ThreadEnvironment> = {
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: ThreadItem;
121
+ triggerEvent: ContextItem;
43
122
  }) => string | Promise<string>;
44
123
  resolveConfig: (params: {
45
124
  env: Env;
46
125
  context: AnyRecord;
47
- triggerEvent: ThreadItem;
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: (args: CodexExecuteTurnArgs<Context, Config, Env>) => Promise<CodexTurnResult>;
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/thread.
145
+ * Codex App Server reactor for @ekairos/events.
58
146
  *
59
- * This maps one Thread loop iteration to one Codex turn and returns a persisted
60
- * assistant event compatible with the Thread engine.
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 ThreadEnvironment = ThreadEnvironment>(options: CreateCodexReactorOptions<Context, Config, Env>): ThreadReactor<Context, Env>;
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":"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"}
1
+ {"version":3,"file":"codex.reactor.d.ts","sourceRoot":"","sources":["../src/codex.reactor.ts"],"names":[],"mappings":"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"}