@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 +41 -7
- package/dist/output-schema-codec.d.ts +7 -0
- package/dist/output-schema-codec.d.ts.map +1 -0
- package/dist/output-schema-codec.js +320 -0
- package/dist/output-schema-codec.js.map +1 -0
- package/dist/turn-manager.d.ts +1 -1
- package/dist/turn-manager.d.ts.map +1 -1
- package/dist/turn-manager.js +103 -16
- package/dist/turn-manager.js.map +1 -1
- package/package.json +4 -4
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`
|
|
16
|
-
`@excitedjs/dreamux
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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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"}
|
package/dist/turn-manager.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|
package/dist/turn-manager.js
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
266
|
+
if (this.pendingTurns.has(turnId))
|
|
233
267
|
return;
|
|
234
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
package/dist/turn-manager.js.map
CHANGED
|
@@ -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.
|
|
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
|
|
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.
|
|
36
|
-
"@excitedjs/dreamux-utils": "0.4.0-beta.
|
|
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
|
},
|