@excitedjs/agent-runtime-codex 0.3.5-beta.157 → 0.3.5-beta.158

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
@@ -12,13 +12,14 @@ completion delivery, and Codex doctor diagnostics.
12
12
 
13
13
  ## Boundary
14
14
 
15
- This package depends on `@excitedjs/dreamux-types` **only**. It never imports
16
- `@excitedjs/dreamux` core. Everything host-specific per-dispatcher paths, the
17
- volatile rendezvous-socket root, the durable state sink, the process `PATH`
18
- seeded from the host package bins, and bundled-skill installation is supplied
19
- by the Dreamux host through the neutral `AgentRuntimeCreateContext` and the
20
- provider factory options. The package owns only Codex-engine mechanics and its
21
- own `~/.codex` home/config paths.
15
+ This package depends only on the neutral `@excitedjs/dreamux-types` contracts
16
+ and shared `@excitedjs/dreamux-utils`; it never imports `@excitedjs/dreamux`
17
+ core. Everything host-specific per-dispatcher paths, the volatile
18
+ rendezvous-socket root, the durable state sink, the process `PATH` seeded from
19
+ the host package bins, and bundled-skill installation — is supplied by the
20
+ Dreamux host through the neutral `AgentRuntimeCreateContext` and provider
21
+ factory options. The package owns only Codex-engine mechanics and its own
22
+ `~/.codex` home/config paths.
22
23
 
23
24
  The host resolves `builtin:codex` to this package and wraps it with a
24
25
  core-owned adapter that maps its private dispatcher objects onto the neutral
@@ -42,3 +43,36 @@ import { createCodexAgentRuntimeProvider } from '@excitedjs/agent-runtime-codex'
42
43
  The factory accepts the neutral create context plus optional host hooks
43
44
  (socket allocator, base process env, workspace skill preparation, and test
44
45
  factories for the Codex process / WS client / home doctor).
46
+
47
+ ## Portable Structured Output
48
+
49
+ The neutral `AgentRuntimeTextInput.outputSchema` contract accepts ordinary
50
+ optional object properties. Codex strict structured output requires every
51
+ declared property to appear in `required`, so this package privately compiles a
52
+ narrow portable subset before `turn/start`:
53
+
54
+ - one closed root object (`additionalProperties: false`);
55
+ - nested closed objects and single-schema arrays;
56
+ - `string`, `number`, `integer`, `boolean`, `null`, and nullable
57
+ `[T, "null"]`;
58
+ - `description`, primitive-value `enum`, and numeric `minimum` / `maximum`.
59
+
60
+ Every wire property is required. An originally optional non-nullable property is
61
+ made nullable for Codex, then a `null` placeholder is removed from the completed
62
+ JSON before Dreamux observes the result. Required nullable values remain
63
+ present as `null`.
64
+
65
+ Open objects, optional fields that already accept `null`, tuples, non-null
66
+ unions, composition/reference keywords, unknown keywords, and other unsupported
67
+ constraints fail before `turn/start` with
68
+ `UnsupportedAgentRuntimeFeatureError(feature = "outputSchema")`. The adapter
69
+ does not drop constraints or fall back to unconstrained text.
70
+
71
+ Concurrent submissions may fold into one active Codex turn only when both are
72
+ structured with the same compiled wire schema and restoration plan, or both are
73
+ unstructured. Structured/unstructured mixing and incompatible schemas fail
74
+ before another `turn/start`.
75
+
76
+ See
77
+ [Provider Runtime](../../../.agents/domains/provider-runtime.md#codex-portable-output-schema)
78
+ for the complete current lifecycle and failure contract.
@@ -0,0 +1,7 @@
1
+ export interface CodexOutputSchemaCodec {
2
+ wireSchema: Record<string, unknown>;
3
+ fingerprint: string;
4
+ restore(text: string): string;
5
+ }
6
+ export declare function compileCodexOutputSchema(schema: Record<string, unknown>): CodexOutputSchemaCodec;
7
+ //# sourceMappingURL=output-schema-codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schema-codec.d.ts","sourceRoot":"","sources":["../src/output-schema-codec.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AA0BD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,sBAAsB,CA4BxB"}
@@ -0,0 +1,320 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { unsupportedFeatureError } from '@excitedjs/dreamux-utils';
3
+ const SUPPORTED_TYPES = new Set([
4
+ 'object',
5
+ 'array',
6
+ 'string',
7
+ 'number',
8
+ 'integer',
9
+ 'boolean',
10
+ 'null',
11
+ ]);
12
+ const COMMON_KEYWORDS = new Set(['type', 'description', 'enum']);
13
+ const OBJECT_KEYWORDS = new Set([
14
+ ...COMMON_KEYWORDS,
15
+ 'properties',
16
+ 'required',
17
+ 'additionalProperties',
18
+ ]);
19
+ const ARRAY_KEYWORDS = new Set([...COMMON_KEYWORDS, 'items']);
20
+ const NUMERIC_KEYWORDS = new Set([
21
+ ...COMMON_KEYWORDS,
22
+ 'minimum',
23
+ 'maximum',
24
+ ]);
25
+ export function compileCodexOutputSchema(schema) {
26
+ const root = schemaRecord(schema, '$');
27
+ const rootType = schemaType(root['type'], '$.type');
28
+ if (rootType.type !== 'object' || rootType.nullable) {
29
+ fail('$.type', 'root schema must have type "object"');
30
+ }
31
+ const compiled = compileSchema(schema, '$', false);
32
+ const fingerprint = createHash('sha256')
33
+ .update(canonicalJson({
34
+ wireSchema: compiled.wireSchema,
35
+ restorationPlan: compiled.plan,
36
+ }))
37
+ .digest('hex');
38
+ return {
39
+ wireSchema: compiled.wireSchema,
40
+ fingerprint,
41
+ restore(text) {
42
+ let parsed;
43
+ try {
44
+ parsed = JSON.parse(text);
45
+ }
46
+ catch (error) {
47
+ throw new Error(`codex outputSchema restoration at $: invalid JSON: ${errorMessage(error)}`);
48
+ }
49
+ return JSON.stringify(restoreValue(parsed, compiled.plan, '$'));
50
+ },
51
+ };
52
+ }
53
+ function compileSchema(value, path, optional) {
54
+ const schema = schemaRecord(value, path);
55
+ const { type, nullable } = schemaType(schema['type'], `${path}.type`);
56
+ const enumValues = schemaEnum(schema['enum'], `${path}.enum`);
57
+ if (enumValues !== undefined) {
58
+ validateEnumTypes(enumValues, type, nullable, `${path}.enum`);
59
+ }
60
+ const acceptsNull = type === 'null' ||
61
+ (nullable && (enumValues === undefined || enumValues.includes(null)));
62
+ if (optional && acceptsNull) {
63
+ fail(path, 'optional property already accepts null');
64
+ }
65
+ const allowed = type === 'object'
66
+ ? OBJECT_KEYWORDS
67
+ : type === 'array'
68
+ ? ARRAY_KEYWORDS
69
+ : type === 'number' || type === 'integer'
70
+ ? NUMERIC_KEYWORDS
71
+ : COMMON_KEYWORDS;
72
+ rejectUnknownKeywords(schema, allowed, path);
73
+ const wireSchema = {
74
+ type: type === 'null'
75
+ ? type
76
+ : optional || nullable
77
+ ? [type, 'null']
78
+ : type,
79
+ };
80
+ if (schema['description'] !== undefined) {
81
+ if (typeof schema['description'] !== 'string') {
82
+ fail(`${path}.description`, 'description must be a string');
83
+ }
84
+ wireSchema['description'] = schema['description'];
85
+ }
86
+ if (enumValues !== undefined) {
87
+ const wireEnum = optional && !enumValues.includes(null)
88
+ ? [...enumValues, null]
89
+ : enumValues;
90
+ wireSchema['enum'] = canonicalEnum(wireEnum);
91
+ }
92
+ if (type === 'object') {
93
+ return compileObject(schema, path, wireSchema, acceptsNull);
94
+ }
95
+ if (type === 'array') {
96
+ return compileArray(schema, path, wireSchema, acceptsNull);
97
+ }
98
+ if (type === 'number' || type === 'integer') {
99
+ compileNumericBounds(schema, path, wireSchema);
100
+ }
101
+ return { wireSchema, plan: { kind: 'value' }, acceptsNull };
102
+ }
103
+ function compileObject(schema, path, wireSchema, acceptsNull) {
104
+ if (schema['additionalProperties'] !== false) {
105
+ fail(`${path}.additionalProperties`, 'object schemas must set additionalProperties to false');
106
+ }
107
+ const properties = schemaRecord(schema['properties'], `${path}.properties`);
108
+ const required = requiredProperties(schema['required'], properties, `${path}.required`);
109
+ const propertyEntries = [];
110
+ const planEntries = [];
111
+ const names = Object.keys(properties).sort();
112
+ for (const name of names) {
113
+ const propertyPath = schemaPropertyPath(path, name);
114
+ const optional = !required.has(name);
115
+ const compiled = compileSchema(properties[name], propertyPath, optional);
116
+ propertyEntries.push([name, compiled.wireSchema]);
117
+ planEntries.push([
118
+ name,
119
+ { omitNull: optional && !compiled.acceptsNull, plan: compiled.plan },
120
+ ]);
121
+ }
122
+ wireSchema['properties'] = Object.fromEntries(propertyEntries);
123
+ wireSchema['required'] = names;
124
+ wireSchema['additionalProperties'] = false;
125
+ return {
126
+ wireSchema,
127
+ plan: {
128
+ kind: 'object',
129
+ acceptsNull,
130
+ properties: Object.fromEntries(planEntries),
131
+ },
132
+ acceptsNull,
133
+ };
134
+ }
135
+ function compileArray(schema, path, wireSchema, acceptsNull) {
136
+ if (Array.isArray(schema['items'])) {
137
+ fail(`${path}.items`, 'tuple arrays are not supported');
138
+ }
139
+ if (schema['items'] === undefined) {
140
+ fail(`${path}.items`, 'array schemas require one items schema');
141
+ }
142
+ const items = compileSchema(schema['items'], `${path}.items`, false);
143
+ wireSchema['items'] = items.wireSchema;
144
+ return {
145
+ wireSchema,
146
+ plan: { kind: 'array', acceptsNull, items: items.plan },
147
+ acceptsNull,
148
+ };
149
+ }
150
+ function compileNumericBounds(schema, path, wireSchema) {
151
+ for (const keyword of ['minimum', 'maximum']) {
152
+ const value = schema[keyword];
153
+ if (value === undefined)
154
+ continue;
155
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
156
+ fail(`${path}.${keyword}`, `${keyword} must be a finite number`);
157
+ }
158
+ wireSchema[keyword] = value;
159
+ }
160
+ if (typeof wireSchema['minimum'] === 'number' &&
161
+ typeof wireSchema['maximum'] === 'number' &&
162
+ wireSchema['minimum'] > wireSchema['maximum']) {
163
+ fail(path, 'minimum must not exceed maximum');
164
+ }
165
+ }
166
+ function schemaType(value, path) {
167
+ if (typeof value === 'string') {
168
+ if (!SUPPORTED_TYPES.has(value)) {
169
+ fail(path, `unsupported type ${JSON.stringify(value)}`);
170
+ }
171
+ return { type: value, nullable: value === 'null' };
172
+ }
173
+ if (!Array.isArray(value)) {
174
+ fail(path, 'type must be one supported type or [T, "null"]');
175
+ }
176
+ if (value.length !== 2 ||
177
+ new Set(value).size !== 2 ||
178
+ !value.includes('null')) {
179
+ fail(path, 'only nullable [T, "null"] unions are supported');
180
+ }
181
+ const nonNull = value.find((entry) => entry !== 'null');
182
+ if (typeof nonNull !== 'string' ||
183
+ !SUPPORTED_TYPES.has(nonNull)) {
184
+ fail(path, 'only nullable [T, "null"] unions are supported');
185
+ }
186
+ return { type: nonNull, nullable: true };
187
+ }
188
+ function schemaEnum(value, path) {
189
+ if (value === undefined)
190
+ return undefined;
191
+ if (!Array.isArray(value) || value.length === 0) {
192
+ fail(path, 'enum must be a non-empty array of primitive JSON values');
193
+ }
194
+ const values = value.map((entry, index) => {
195
+ if (entry === null ||
196
+ typeof entry === 'string' ||
197
+ typeof entry === 'boolean')
198
+ return entry;
199
+ if (typeof entry === 'number' && Number.isFinite(entry))
200
+ return entry;
201
+ fail(`${path}[${index}]`, 'enum entries must be primitive JSON values');
202
+ });
203
+ const canonical = values.map(canonicalJson);
204
+ if (new Set(canonical).size !== values.length) {
205
+ fail(path, 'enum values must be unique');
206
+ }
207
+ return values;
208
+ }
209
+ function validateEnumTypes(values, type, nullable, path) {
210
+ if (type === 'object' || type === 'array') {
211
+ fail(path, 'enum is supported only on primitive schemas');
212
+ }
213
+ for (const [index, value] of values.entries()) {
214
+ if (value === null && nullable)
215
+ continue;
216
+ const valid = type === 'null'
217
+ ? value === null
218
+ : type === 'integer'
219
+ ? typeof value === 'number' && Number.isInteger(value)
220
+ : typeof value === type;
221
+ if (!valid) {
222
+ fail(`${path}[${index}]`, `enum value does not match declared type ${JSON.stringify(type)}`);
223
+ }
224
+ }
225
+ }
226
+ function requiredProperties(value, properties, path) {
227
+ if (value === undefined)
228
+ return new Set();
229
+ if (!Array.isArray(value))
230
+ fail(path, 'required must be an array of strings');
231
+ const required = new Set();
232
+ for (const [index, entry] of value.entries()) {
233
+ if (typeof entry !== 'string') {
234
+ fail(`${path}[${index}]`, 'required entries must be strings');
235
+ }
236
+ if (!Object.hasOwn(properties, entry)) {
237
+ fail(`${path}[${index}]`, `unknown required property ${JSON.stringify(entry)}`);
238
+ }
239
+ if (required.has(entry)) {
240
+ fail(`${path}[${index}]`, `duplicate required property ${JSON.stringify(entry)}`);
241
+ }
242
+ required.add(entry);
243
+ }
244
+ return required;
245
+ }
246
+ function rejectUnknownKeywords(schema, allowed, path) {
247
+ for (const keyword of Object.keys(schema)) {
248
+ if (!allowed.has(keyword)) {
249
+ fail(`${path}.${keyword}`, `unsupported keyword ${JSON.stringify(keyword)}`);
250
+ }
251
+ }
252
+ }
253
+ function restoreValue(value, plan, path) {
254
+ if (plan.kind === 'value')
255
+ return value;
256
+ if (value === null && plan.acceptsNull)
257
+ return null;
258
+ if (plan.kind === 'array') {
259
+ if (!Array.isArray(value)) {
260
+ throw new Error(`codex outputSchema restoration at ${path}: expected array`);
261
+ }
262
+ return value.map((entry, index) => restoreValue(entry, plan.items, `${path}[${index}]`));
263
+ }
264
+ if (!isRecord(value)) {
265
+ throw new Error(`codex outputSchema restoration at ${path}: expected object`);
266
+ }
267
+ const restored = { ...value };
268
+ for (const [name, property] of Object.entries(plan.properties)) {
269
+ if (!Object.hasOwn(restored, name))
270
+ continue;
271
+ if (property.omitNull && restored[name] === null) {
272
+ delete restored[name];
273
+ continue;
274
+ }
275
+ restored[name] = restoreValue(restored[name], property.plan, valuePropertyPath(path, name));
276
+ }
277
+ return restored;
278
+ }
279
+ function canonicalEnum(values) {
280
+ return [...values].sort((left, right) => canonicalJson(left).localeCompare(canonicalJson(right)));
281
+ }
282
+ function canonicalJson(value) {
283
+ if (Array.isArray(value)) {
284
+ return `[${value.map(canonicalJson).join(',')}]`;
285
+ }
286
+ if (isRecord(value)) {
287
+ return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`).join(',')}}`;
288
+ }
289
+ return JSON.stringify(value);
290
+ }
291
+ function schemaRecord(value, path) {
292
+ if (!isRecord(value))
293
+ fail(path, 'schema must be a plain object');
294
+ return value;
295
+ }
296
+ function isRecord(value) {
297
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
298
+ return false;
299
+ }
300
+ const prototype = Object.getPrototypeOf(value);
301
+ return prototype === Object.prototype || prototype === null;
302
+ }
303
+ function schemaPropertyPath(path, name) {
304
+ return `${path}.properties${pathSegment(name)}`;
305
+ }
306
+ function valuePropertyPath(path, name) {
307
+ return `${path}${pathSegment(name)}`;
308
+ }
309
+ function pathSegment(name) {
310
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name)
311
+ ? `.${name}`
312
+ : `[${JSON.stringify(name)}]`;
313
+ }
314
+ function fail(path, reason) {
315
+ throw unsupportedFeatureError('outputSchema', `codex outputSchema at ${path}: ${reason}`);
316
+ }
317
+ function errorMessage(error) {
318
+ return error instanceof Error ? error.message : String(error);
319
+ }
320
+ //# sourceMappingURL=output-schema-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schema-codec.js","sourceRoot":"","sources":["../src/output-schema-codec.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare class TurnManager {
49
49
  * `stop()` each still-pending turn is settled as `stopped` so a teammate turn
50
50
  * interrupted by teardown is not lost.
51
51
  */
52
- private readonly pendingTurnIds;
52
+ private readonly pendingTurns;
53
53
  private idlePromise;
54
54
  private idleResolve;
55
55
  private readonly log;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAalC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,4EAA4E;IAC5E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,WAAW;IAmBV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAlBjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAuB;IAC3C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAElB,IAAI,EAAE,kBAAkB;IAYrD,MAAM,IAAI,OAAO;IAIjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiDhE,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkD7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;CAOjC"}
1
+ {"version":3,"file":"turn-manager.d.ts","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,4EAA4E;IAC5E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,WAAW;IAsBV,OAAO,CAAC,QAAQ,CAAC,IAAI;IArBjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAuB;IAC3C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;IACJ,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAElB,IAAI,EAAE,kBAAkB;IAYrD,MAAM,IAAI,OAAO;IAIjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwDhE,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmE7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAsDjB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;CAOjC"}
@@ -7,8 +7,9 @@
7
7
  * - one accepted inbound message becomes one Codex `turn/start` submission;
8
8
  * - Codex text output alone does not send anything to Feishu.
9
9
  */
10
- import { subscribeTurnCollection, submitTurnStart, } from './events.js';
11
- import { DEFAULT_MESSAGE_ID_DEDUPE_WINDOW } from '@excitedjs/dreamux-utils';
10
+ import { extractAssistantText, subscribeTurnCollection, submitTurnStart, } from './events.js';
11
+ import { compileCodexOutputSchema, } from './output-schema-codec.js';
12
+ import { DEFAULT_MESSAGE_ID_DEDUPE_WINDOW, unsupportedFeatureError, } from '@excitedjs/dreamux-utils';
12
13
  export class TurnManager {
13
14
  opts;
14
15
  seenMessageIds = new Set();
@@ -23,7 +24,7 @@ export class TurnManager {
23
24
  * `stop()` each still-pending turn is settled as `stopped` so a teammate turn
24
25
  * interrupted by teardown is not lost.
25
26
  */
26
- pendingTurnIds = new Set();
27
+ pendingTurns = new Map();
27
28
  idlePromise = null;
28
29
  idleResolve = null;
29
30
  log;
@@ -40,7 +41,7 @@ export class TurnManager {
40
41
  this.messageIdDedupeWindow = Math.max(0, opts.messageIdDedupeWindow ?? DEFAULT_MESSAGE_ID_DEDUPE_WINDOW);
41
42
  }
42
43
  isBusy() {
43
- return this.activeTurnSlot !== null || this.pendingTurnIds.size > 0;
44
+ return this.activeTurnSlot !== null || this.pendingTurns.size > 0;
44
45
  }
45
46
  waitIdle() {
46
47
  if (!this.isBusy())
@@ -70,7 +71,15 @@ export class TurnManager {
70
71
  this.log('error', error.message);
71
72
  return { status: 'failed', error };
72
73
  }
73
- const activeTurn = this.claimActiveTurnSlot(threadId);
74
+ let activeTurn;
75
+ try {
76
+ activeTurn = this.claimActiveTurnSlot(threadId, null);
77
+ }
78
+ catch (err) {
79
+ const error = asError(err);
80
+ this.log('error', error.message, error);
81
+ return { status: 'failed', error };
82
+ }
74
83
  activeTurn.slot.pendingSubmissions += 1;
75
84
  let res;
76
85
  try {
@@ -108,11 +117,30 @@ export class TurnManager {
108
117
  this.log('error', error.message);
109
118
  return { status: 'failed', error };
110
119
  }
111
- const activeTurn = this.claimActiveTurnSlot(threadId);
120
+ let codec = null;
121
+ if (input.outputSchema !== undefined) {
122
+ try {
123
+ codec = compileCodexOutputSchema(input.outputSchema);
124
+ }
125
+ catch (err) {
126
+ const error = asError(err);
127
+ this.log('error', error.message, error);
128
+ return { status: 'failed', error };
129
+ }
130
+ }
131
+ let activeTurn;
132
+ try {
133
+ activeTurn = this.claimActiveTurnSlot(threadId, codec);
134
+ }
135
+ catch (err) {
136
+ const error = asError(err);
137
+ this.log('error', error.message, error);
138
+ return { status: 'failed', error };
139
+ }
112
140
  activeTurn.slot.pendingSubmissions += 1;
113
141
  let res;
114
142
  try {
115
- res = await submitTurnStart(this.opts.client, threadId, input.text, this.opts.turnCwd ?? null, input.outputSchema);
143
+ res = await submitTurnStart(this.opts.client, threadId, input.text, this.opts.turnCwd ?? null, activeTurn.slot.codec?.wireSchema);
116
144
  }
117
145
  catch (err) {
118
146
  const error = err instanceof Error ? err : new Error(String(err));
@@ -136,27 +164,31 @@ export class TurnManager {
136
164
  this.stopped = true;
137
165
  const activeSlot = this.activeTurnSlot;
138
166
  this.activeTurnSlot = null;
167
+ if (activeSlot !== null)
168
+ activeSlot.codec = null;
139
169
  if (activeSlot !== null && activeSlot.turnId === null) {
140
170
  activeSlot.rejectTurnId(new Error('codex turn stopped before acceptance'));
141
171
  }
142
172
  // Any turn still in flight at teardown will never reach `turn/completed`
143
173
  // (the WS is closing). Settle each as `stopped` so an interrupted teammate
144
174
  // turn is delivered with a status rather than vanishing.
145
- for (const turnId of this.pendingTurnIds) {
175
+ for (const turnId of this.pendingTurns.keys()) {
146
176
  this.opts.onTurnSettled?.({
147
177
  turnId,
148
178
  status: 'stopped',
149
179
  result: { text: null },
150
180
  });
151
181
  }
152
- this.pendingTurnIds.clear();
182
+ this.pendingTurns.clear();
153
183
  this.activeTurnId = null;
154
184
  this.resolveIdleWaitersIfIdle();
155
185
  }
156
- claimActiveTurnSlot(threadId) {
186
+ claimActiveTurnSlot(threadId, codec) {
157
187
  const active = this.activeTurnSlot;
158
- if (active !== null)
188
+ if (active !== null) {
189
+ assertCompatibleCodec(active.codec, codec);
159
190
  return { slot: active, primary: false };
191
+ }
160
192
  let resolveTurnId;
161
193
  let rejectTurnId;
162
194
  const turnIdPromise = new Promise((resolve, reject) => {
@@ -169,6 +201,7 @@ export class TurnManager {
169
201
  turnIdPromise.catch(() => undefined);
170
202
  const slot = {
171
203
  collector: subscribeTurnCollection(this.opts.client, threadId),
204
+ codec,
172
205
  turnId: null,
173
206
  candidateTurnId: null,
174
207
  primaryFailed: false,
@@ -208,6 +241,7 @@ export class TurnManager {
208
241
  if (slot.primaryFailed && slot.pendingSubmissions === 0) {
209
242
  if (this.activeTurnSlot === slot)
210
243
  this.activeTurnSlot = null;
244
+ slot.codec = null;
211
245
  slot.rejectTurnId(error);
212
246
  this.resolveIdleWaitersIfIdle();
213
247
  }
@@ -229,26 +263,43 @@ export class TurnManager {
229
263
  * is delivered with a status instead of hanging until teardown.
230
264
  */
231
265
  trackTurn(turnId, collector, slot) {
232
- if (this.pendingTurnIds.has(turnId))
266
+ if (this.pendingTurns.has(turnId))
233
267
  return;
234
- this.pendingTurnIds.add(turnId);
268
+ this.pendingTurns.set(turnId, { codec: slot.codec });
235
269
  this.activeTurnId = turnId;
236
270
  void collector.awaitTurn(turnId).then((turn) => {
237
271
  // Only forward completion if this turn was still pending. If `stop()`
238
272
  // already settled it as `stopped`, the delete returns false and we drop
239
273
  // the late completion so a turn is never settled twice.
240
- if (this.pendingTurnIds.delete(turnId)) {
274
+ const pending = this.pendingTurns.get(turnId);
275
+ if (pending !== undefined && this.pendingTurns.delete(turnId)) {
241
276
  if (this.activeTurnSlot === slot)
242
277
  this.activeTurnSlot = null;
243
278
  if (this.activeTurnId === turnId)
244
279
  this.activeTurnId = null;
245
- this.opts.onTurnCompleted?.(turn);
280
+ let completedTurn;
281
+ try {
282
+ completedTurn = pending.codec === null
283
+ ? turn
284
+ : restoreCollectedTurn(turn, pending.codec);
285
+ }
286
+ catch (err) {
287
+ this.opts.onTurnSettled?.({
288
+ turnId,
289
+ status: 'failed',
290
+ result: { text: null },
291
+ error: asError(err),
292
+ });
293
+ this.resolveIdleWaitersIfIdle();
294
+ return;
295
+ }
296
+ this.opts.onTurnCompleted?.(completedTurn);
246
297
  this.resolveIdleWaitersIfIdle();
247
298
  }
248
299
  }, (err) => {
249
300
  // Same mutual-exclusion guard as the completed path: only settle as
250
301
  // `failed` if `stop()` did not already settle it as `stopped`.
251
- if (this.pendingTurnIds.delete(turnId)) {
302
+ if (this.pendingTurns.delete(turnId)) {
252
303
  if (this.activeTurnSlot === slot)
253
304
  this.activeTurnSlot = null;
254
305
  if (this.activeTurnId === turnId)
@@ -298,4 +349,40 @@ export class TurnManager {
298
349
  resolve?.();
299
350
  }
300
351
  }
352
+ function assertCompatibleCodec(active, candidate) {
353
+ if (active === null && candidate === null)
354
+ return;
355
+ if (active !== null && candidate !== null) {
356
+ if (active.fingerprint === candidate.fingerprint)
357
+ return;
358
+ throw unsupportedFeatureError('outputSchema', 'codex active turn has an incompatible outputSchema');
359
+ }
360
+ throw unsupportedFeatureError('outputSchema', active === null
361
+ ? 'codex cannot fold structured output into an active unstructured turn'
362
+ : 'codex cannot fold unstructured input into an active structured turn');
363
+ }
364
+ function restoreCollectedTurn(turn, codec) {
365
+ const text = extractAssistantText(turn);
366
+ if (text === null) {
367
+ throw new Error(`codex outputSchema restoration for turn ${turn.turnId}: ` +
368
+ 'completed turn has no assistant JSON text');
369
+ }
370
+ const restoredText = codec.restore(text);
371
+ let replaced = false;
372
+ const items = [...turn.items].reverse().map((item) => {
373
+ if (replaced || item.type !== 'agentMessage' || item.text !== text) {
374
+ return item;
375
+ }
376
+ replaced = true;
377
+ return { ...item, text: restoredText };
378
+ }).reverse();
379
+ if (!replaced) {
380
+ throw new Error(`codex outputSchema restoration for turn ${turn.turnId}: ` +
381
+ 'assistant JSON text was not found');
382
+ }
383
+ return { ...turn, items };
384
+ }
385
+ function asError(error) {
386
+ return error instanceof Error ? error : new Error(String(error));
387
+ }
301
388
  //# sourceMappingURL=turn-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-manager.js","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-manager.js","sourceRoot":"","sources":["../src/turn-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@excitedjs/agent-runtime-codex",
3
- "version": "0.3.5-beta.157",
4
- "description": "Built-in Codex Agent Runtime provider for Dreamux (alias builtin:codex). Implements the @excitedjs/dreamux-types AgentRuntimeProvider contract against the Codex app-server; depends on @excitedjs/dreamux-types only, never on @excitedjs/dreamux core (issue excitedjs/dreamux#209).",
3
+ "version": "0.3.5-beta.158",
4
+ "description": "Built-in Codex Agent Runtime provider for Dreamux (alias builtin:codex). Implements the @excitedjs/dreamux-types AgentRuntimeProvider contract against the Codex app-server; depends only on provider-neutral Dreamux contracts and utilities, never on @excitedjs/dreamux core (issue excitedjs/dreamux#209).",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -32,8 +32,8 @@
32
32
  "LICENSE"
33
33
  ],
34
34
  "dependencies": {
35
- "@excitedjs/dreamux-types": "0.8.0-beta.157",
36
- "@excitedjs/dreamux-utils": "0.4.0-beta.157",
35
+ "@excitedjs/dreamux-types": "0.8.0-beta.158",
36
+ "@excitedjs/dreamux-utils": "0.4.0-beta.158",
37
37
  "smol-toml": "^1.6.1",
38
38
  "ws": "^8.18.0"
39
39
  },