@ckanner/flywheel 0.32.0 → 0.33.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/CHANGELOG.md +17 -1
- package/README.md +11 -2
- package/README.zh-CN.md +6 -1
- package/THIRD_PARTY_NOTICES.md +42 -0
- package/bin/runtime.js +25 -31
- package/cordis.patch.yml +5 -0
- package/dist/bridge.mjs +421 -0
- package/dist/claude-code-pro-bridge.mjs +82 -0
- package/dist/claude-code-pro-worker.mjs +5 -0
- package/dist/client.js +4078 -0
- package/dist/codex-pro-bridge.mjs +75 -0
- package/dist/codex-pro-worker.mjs +5 -0
- package/dist/console-read.mjs +51 -0
- package/dist/control.mjs +218 -0
- package/dist/index.mjs +185 -0
- package/dist/installation.mjs +56 -0
- package/dist/machine-worker.mjs +241 -0
- package/dist/policy.mjs +91 -0
- package/dist/prewarm.mjs +136 -0
- package/dist/protocol.mjs +260 -0
- package/dist/task-association.mjs +127 -0
- package/dist/worker.mjs +52 -0
- package/dist/workspaces.mjs +42 -0
- package/docs/README.md +1 -1
- package/docs/README.zh-CN.md +1 -1
- package/docs/design.md +8 -5
- package/docs/en/configuration.md +1 -1
- package/docs/en/contributing.md +5 -6
- package/docs/en/flow-console.md +1 -1
- package/docs/en/getting-started.md +13 -3
- package/docs/en/releasing.md +132 -174
- package/docs/validation/2026-11-13-release-0.32.0.md +78 -0
- package/docs/validation/2026-11-13-release-0.32.1.md +83 -0
- package/docs/validation/2026-11-14-single-package.md +60 -0
- package/docs/validation/README.md +3 -0
- package/docs/zh-CN/configuration.md +1 -1
- package/docs/zh-CN/contributing.md +4 -5
- package/docs/zh-CN/flow-console.md +1 -1
- package/docs/zh-CN/getting-started.md +10 -4
- package/docs/zh-CN/releasing.md +97 -81
- package/native/darwin-amd64/flywheel +0 -0
- package/native/darwin-arm64/flywheel +0 -0
- package/native/linux-amd64/flywheel +0 -0
- package/native/linux-arm64/flywheel +0 -0
- package/native/manifest.json +22 -0
- package/node_modules/dsh-subagent-codex-pro/CHANGELOG.md +403 -0
- package/node_modules/dsh-subagent-codex-pro/LICENSE +21 -0
- package/node_modules/dsh-subagent-codex-pro/README.md +557 -0
- package/node_modules/dsh-subagent-codex-pro/cordis.patch.yml +30 -0
- package/node_modules/dsh-subagent-codex-pro/docs/README.zh.md +355 -0
- package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle-validation.md +65 -0
- package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.md +144 -0
- package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.zh.md +98 -0
- package/node_modules/dsh-subagent-codex-pro/docs/machine.md +194 -0
- package/node_modules/dsh-subagent-codex-pro/docs/orchestration.zh.md +86 -0
- package/node_modules/dsh-subagent-codex-pro/lib/codex-exec.js +68 -0
- package/node_modules/dsh-subagent-codex-pro/lib/codex-exec.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js +15 -0
- package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/index.js +830 -0
- package/node_modules/dsh-subagent-codex-pro/lib/index.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/jobs.js +35 -0
- package/node_modules/dsh-subagent-codex-pro/lib/jobs.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/jsonrpc.js +229 -0
- package/node_modules/dsh-subagent-codex-pro/lib/jsonrpc.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js +101 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js +122 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-recovery.js +167 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-recovery.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js +141 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js +128 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine.js +104 -0
- package/node_modules/dsh-subagent-codex-pro/lib/machine.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js +156 -0
- package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/run.js +842 -0
- package/node_modules/dsh-subagent-codex-pro/lib/run.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/structured.js +329 -0
- package/node_modules/dsh-subagent-codex-pro/lib/structured.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/tool.js +295 -0
- package/node_modules/dsh-subagent-codex-pro/lib/tool.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/codex-exec.d.ts +88 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/codex-exec.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts +179 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts +266 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts +34 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/jsonrpc.d.ts +113 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/jsonrpc.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-cli.d.ts +3 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-cli.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-local.d.ts +4 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-local.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-recovery.d.ts +53 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-recovery.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervision.d.ts +8 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervision.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervisor.d.ts +2 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervisor.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts +70 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/process-guardian.d.ts +22 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/process-guardian.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts +386 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/structured.d.ts +35 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/structured.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts +107 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/usage.d.ts +131 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/usage.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts +321 -0
- package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/usage.js +356 -0
- package/node_modules/dsh-subagent-codex-pro/lib/usage.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/lib/wire.js +986 -0
- package/node_modules/dsh-subagent-codex-pro/lib/wire.js.map +1 -0
- package/node_modules/dsh-subagent-codex-pro/package.json +76 -0
- package/npm/install.js +59 -6
- package/package.json +74 -12
- package/plugins/dsh/LICENSE +21 -0
- package/plugins/dsh/PROTOCOL.md +607 -0
- package/plugins/dsh/README.en.md +4 -0
- package/plugins/dsh/README.md +342 -0
- package/plugins/dsh/README.zh-CN.md +279 -0
- package/plugins/dsh/THIRD_PARTY_NOTICES.md +42 -0
- package/plugins/dsh/vendor/README.md +17 -0
- package/plugins/dsh/vendor/codex-pro.json +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Job settlement for one background delegation.
|
|
3
|
+
*
|
|
4
|
+
* The jobs contract is specific and unforgiving: a producer's `done` must
|
|
5
|
+
* resolve to a `JobOutcome` — `{ status, detail?, result? }` — and it must never
|
|
6
|
+
* reject. Returning the delegation's text directly leaves a bare string where the
|
|
7
|
+
* registry expects that record, which then fails validation on *every* read of
|
|
8
|
+
* the job, so `job_output` **and** `job_list` both report "value is not lossless
|
|
9
|
+
* JSON" and the model can never collect its own result.
|
|
10
|
+
*
|
|
11
|
+
* @module dsh-subagent-codex-pro/jobs
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Wrap one delegation as a job outcome.
|
|
15
|
+
*
|
|
16
|
+
* Never rejects: the contract requires a settlement record even when the work
|
|
17
|
+
* failed, so a rejection becomes `status: 'failed'` with the reason in `detail`.
|
|
18
|
+
*
|
|
19
|
+
* @param delegation - the running delegation's promise, already carrying the
|
|
20
|
+
* thread marker the runner appended.
|
|
21
|
+
* @returns the outcome record the jobs registry accepts.
|
|
22
|
+
*/
|
|
23
|
+
export async function settleJob(delegation) {
|
|
24
|
+
try {
|
|
25
|
+
const { text } = await delegation;
|
|
26
|
+
return { status: 'completed', result: text };
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return {
|
|
30
|
+
status: 'failed',
|
|
31
|
+
detail: error instanceof Error ? error.message : String(error),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAqF;IAErF,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAA;QACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newline-delimited JSON-RPC 2.0 over a child process's stdio.
|
|
3
|
+
*
|
|
4
|
+
* The official Codex provider gets this from
|
|
5
|
+
* `@deepseek-ai/dsh-sdk-protocol`'s `JsonRpcLineTransport`. This plugin keeps
|
|
6
|
+
* zero runtime dependencies, so the transport lives here — and it is a small,
|
|
7
|
+
* well-understood piece: frame by line, correlate by id, surface every failure
|
|
8
|
+
* instead of leaving a caller pending forever.
|
|
9
|
+
*
|
|
10
|
+
* Framing: one JSON object per line, `\n`-terminated, on both directions. A
|
|
11
|
+
* partial line is buffered; a malformed line is reported and skipped, because a
|
|
12
|
+
* protocol peer that emits one bad frame should not take the session down.
|
|
13
|
+
*
|
|
14
|
+
* @module dsh-subagent-codex-pro/jsonrpc
|
|
15
|
+
*/
|
|
16
|
+
/** A JSON-RPC peer speaking one object per line. */
|
|
17
|
+
export class LineTransport {
|
|
18
|
+
#nextId = 1;
|
|
19
|
+
#pending = new Map();
|
|
20
|
+
#buffer = '';
|
|
21
|
+
#disposed;
|
|
22
|
+
// Explicit fields rather than constructor parameter properties: Node's native
|
|
23
|
+
// TypeScript support strips types only, and rejects that syntax, so a source
|
|
24
|
+
// file the tests import must avoid it.
|
|
25
|
+
#toPeer;
|
|
26
|
+
#fromPeer;
|
|
27
|
+
#hooks;
|
|
28
|
+
constructor(toPeer, fromPeer, hooks = {}) {
|
|
29
|
+
this.#toPeer = toPeer;
|
|
30
|
+
this.#fromPeer = fromPeer;
|
|
31
|
+
this.#hooks = hooks;
|
|
32
|
+
fromPeer.on('data', (chunk) => {
|
|
33
|
+
this.#ingest(typeof chunk === 'string' ? chunk : chunk.toString('utf8'));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Replace the message hooks.
|
|
38
|
+
*
|
|
39
|
+
* The wire installs its handlers after construction, which keeps the transport
|
|
40
|
+
* independent of the product methods layered on top of it.
|
|
41
|
+
*
|
|
42
|
+
* @param hooks - the handlers to install.
|
|
43
|
+
*/
|
|
44
|
+
setHooks(hooks) {
|
|
45
|
+
this.#hooks = hooks;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Wait until everything written so far has left this process.
|
|
49
|
+
*
|
|
50
|
+
* Writes go to the peer's stream synchronously, so there is nothing to drain;
|
|
51
|
+
* the method exists because the protocol's handshake uses it as an explicit
|
|
52
|
+
* write barrier between `initialized` and `thread/start`.
|
|
53
|
+
*
|
|
54
|
+
* @returns a promise that is already settled.
|
|
55
|
+
*/
|
|
56
|
+
flush() {
|
|
57
|
+
return Promise.resolve();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Send one request and await its response.
|
|
61
|
+
*
|
|
62
|
+
* @param method - the JSON-RPC method.
|
|
63
|
+
* @param params - its params.
|
|
64
|
+
* @param options - optional caller cancellation and a response deadline.
|
|
65
|
+
* @returns the peer's `result`.
|
|
66
|
+
*/
|
|
67
|
+
request(method, params, options = {}) {
|
|
68
|
+
if (this.#disposed !== undefined)
|
|
69
|
+
return Promise.reject(this.#disposed);
|
|
70
|
+
const id = this.#nextId;
|
|
71
|
+
this.#nextId += 1;
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
// Every path — response, timeout, abort, dispose — settles through here
|
|
74
|
+
// exactly once. It must call the Promise's own `resolve`/`reject`, never a
|
|
75
|
+
// stored wrapper: a wrapper that calls back into this function deletes the
|
|
76
|
+
// pending entry and then does nothing, so the caller stays pending forever
|
|
77
|
+
// while `pendingCount` reads zero.
|
|
78
|
+
let settled = false;
|
|
79
|
+
const finish = (error, value) => {
|
|
80
|
+
// Idempotence lives here, not in the pending map: `dispose` removes every
|
|
81
|
+
// entry before settling it, so a map lookup would silently skip the very
|
|
82
|
+
// requests it is trying to fail, and their callers would wait forever.
|
|
83
|
+
if (settled)
|
|
84
|
+
return;
|
|
85
|
+
settled = true;
|
|
86
|
+
this.#pending.delete(id);
|
|
87
|
+
if (entry.timer !== undefined)
|
|
88
|
+
clearTimeout(entry.timer);
|
|
89
|
+
entry.abort?.();
|
|
90
|
+
if (error === undefined)
|
|
91
|
+
resolve(value);
|
|
92
|
+
else
|
|
93
|
+
reject(error);
|
|
94
|
+
};
|
|
95
|
+
const entry = {
|
|
96
|
+
finish,
|
|
97
|
+
timer: undefined,
|
|
98
|
+
abort: undefined,
|
|
99
|
+
};
|
|
100
|
+
this.#pending.set(id, entry);
|
|
101
|
+
if (options.timeoutMs !== undefined) {
|
|
102
|
+
entry.timer = setTimeout(() => {
|
|
103
|
+
entry.finish(new Error(`jsonrpc: "${method}" timed out after ${String(options.timeoutMs)} ms`));
|
|
104
|
+
}, options.timeoutMs);
|
|
105
|
+
entry.timer.unref?.();
|
|
106
|
+
}
|
|
107
|
+
const signal = options.signal;
|
|
108
|
+
if (signal !== undefined) {
|
|
109
|
+
const onAbort = () => { entry.finish(abortFailure(method, signal)); };
|
|
110
|
+
if (signal.aborted) {
|
|
111
|
+
onAbort();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
115
|
+
entry.abort = () => { signal.removeEventListener('abort', onAbort); };
|
|
116
|
+
}
|
|
117
|
+
this.#write({ jsonrpc: '2.0', id, method, params });
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Send one notification; nothing is awaited.
|
|
122
|
+
*
|
|
123
|
+
* @param method - the JSON-RPC method.
|
|
124
|
+
* @param params - its params.
|
|
125
|
+
*/
|
|
126
|
+
notify(method, params) {
|
|
127
|
+
if (this.#disposed !== undefined)
|
|
128
|
+
return;
|
|
129
|
+
this.#write(params === undefined ? { jsonrpc: '2.0', method } : { jsonrpc: '2.0', method, params });
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Fail every in-flight request and stop reading.
|
|
133
|
+
*
|
|
134
|
+
* @param reason - why the transport is going away.
|
|
135
|
+
*/
|
|
136
|
+
dispose(reason = new Error('jsonrpc: transport disposed')) {
|
|
137
|
+
if (this.#disposed !== undefined)
|
|
138
|
+
return;
|
|
139
|
+
this.#disposed = reason;
|
|
140
|
+
const pending = [...this.#pending.values()];
|
|
141
|
+
this.#pending.clear();
|
|
142
|
+
for (const entry of pending) {
|
|
143
|
+
entry.finish(reason);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/** How many requests are still awaiting a response. */
|
|
147
|
+
get pendingCount() {
|
|
148
|
+
return this.#pending.size;
|
|
149
|
+
}
|
|
150
|
+
/** Write one message, reporting a broken pipe rather than throwing into a caller. */
|
|
151
|
+
#write(message) {
|
|
152
|
+
try {
|
|
153
|
+
this.#toPeer.write(`${JSON.stringify(message)}\n`);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
const failure = error instanceof Error ? error : new Error(String(error));
|
|
157
|
+
this.#hooks.onProblem?.(failure);
|
|
158
|
+
this.dispose(new Error(`jsonrpc: write failed: ${failure.message}`));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/** Split one read chunk into lines and handle each complete one. */
|
|
162
|
+
#ingest(chunk) {
|
|
163
|
+
this.#buffer += chunk;
|
|
164
|
+
for (;;) {
|
|
165
|
+
const newline = this.#buffer.indexOf('\n');
|
|
166
|
+
if (newline < 0)
|
|
167
|
+
break;
|
|
168
|
+
const line = this.#buffer.slice(0, newline).trim();
|
|
169
|
+
this.#buffer = this.#buffer.slice(newline + 1);
|
|
170
|
+
if (line === '')
|
|
171
|
+
continue;
|
|
172
|
+
let message;
|
|
173
|
+
try {
|
|
174
|
+
message = JSON.parse(line);
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
// One malformed frame is the peer's problem, not the session's.
|
|
178
|
+
this.#hooks.onProblem?.(new Error(`jsonrpc: ignoring an undecodable line (${String(error)}): ${line.slice(0, 200)}`));
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
this.#handle(message);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** Route one decoded message to its response, request, or notification path. */
|
|
185
|
+
#handle(message) {
|
|
186
|
+
if (message.id !== undefined && message.method === undefined) {
|
|
187
|
+
const entry = this.#pending.get(message.id);
|
|
188
|
+
if (entry === undefined)
|
|
189
|
+
return;
|
|
190
|
+
if (message.error !== undefined) {
|
|
191
|
+
const detail = message.error.data === undefined ? '' : `: ${JSON.stringify(message.error.data).slice(0, 400)}`;
|
|
192
|
+
entry.finish(new Error(`${message.error.message ?? 'jsonrpc error'} (code ${String(message.error.code ?? '?')})${detail}`));
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
entry.finish(undefined, message.result);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (message.method === undefined)
|
|
199
|
+
return;
|
|
200
|
+
if (message.id !== undefined) {
|
|
201
|
+
// A request from the peer: it wants an answer.
|
|
202
|
+
const id = message.id;
|
|
203
|
+
void Promise.resolve()
|
|
204
|
+
.then(() => this.#hooks.onRequest?.(message.method, message.params))
|
|
205
|
+
.then((result) => { this.#write({ jsonrpc: '2.0', id, result: result ?? null }); }, (error) => {
|
|
206
|
+
this.#write({
|
|
207
|
+
jsonrpc: '2.0',
|
|
208
|
+
id,
|
|
209
|
+
error: { code: -32_000, message: error instanceof Error ? error.message : String(error) },
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
this.#hooks.onNotification?.(message.method, message.params);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Describe an aborted request.
|
|
219
|
+
*
|
|
220
|
+
* @param method - the method that was cancelled.
|
|
221
|
+
* @param signal - the signal that fired.
|
|
222
|
+
* @returns the failure to reject with.
|
|
223
|
+
*/
|
|
224
|
+
function abortFailure(method, signal) {
|
|
225
|
+
const reason = signal.reason;
|
|
226
|
+
const detail = reason instanceof Error ? `: ${reason.message}` : reason === undefined ? '' : `: ${String(reason)}`;
|
|
227
|
+
return new Error(`jsonrpc: "${method}" was aborted${detail}`);
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=jsonrpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../src/jsonrpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/** One request on stdin, one versioned receipt on stdout. No DSH parent required. */
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { MachineInputError, parseMachineRequest, runMachine, MACHINE_LIFECYCLE_CAPABILITIES } from "./machine.js";
|
|
5
|
+
const MAX_INPUT_BYTES = 1024 * 1024;
|
|
6
|
+
// A consumer may close the read end before the receipt is written. EPIPE is a
|
|
7
|
+
// consumer choice, not a crash; exit non-zero so the outer owner sees the lost
|
|
8
|
+
// receipt without an unhandled stack. Other stdout errors remain fatal.
|
|
9
|
+
process.stdout.on('error', (error) => {
|
|
10
|
+
if (error.code === 'EPIPE')
|
|
11
|
+
process.exit(1);
|
|
12
|
+
throw error;
|
|
13
|
+
});
|
|
14
|
+
const argv = process.argv.slice(2);
|
|
15
|
+
const controller = new AbortController();
|
|
16
|
+
let cancelledBy;
|
|
17
|
+
const cancel = (signal) => {
|
|
18
|
+
cancelledBy ??= signal;
|
|
19
|
+
controller.abort();
|
|
20
|
+
};
|
|
21
|
+
const term = () => cancel('SIGTERM');
|
|
22
|
+
const interrupt = () => cancel('SIGINT');
|
|
23
|
+
async function input() {
|
|
24
|
+
let bytes = 0;
|
|
25
|
+
const chunks = [];
|
|
26
|
+
const stopInput = () => { process.stdin.destroy(new Error('input cancelled')); };
|
|
27
|
+
controller.signal.addEventListener('abort', stopInput, { once: true });
|
|
28
|
+
try {
|
|
29
|
+
if (controller.signal.aborted)
|
|
30
|
+
throw new MachineInputError('input cancelled');
|
|
31
|
+
for await (const chunk of process.stdin) {
|
|
32
|
+
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk));
|
|
33
|
+
bytes += buffer.length;
|
|
34
|
+
if (bytes > MAX_INPUT_BYTES)
|
|
35
|
+
throw new MachineInputError('stdin exceeds the 1 MiB request limit');
|
|
36
|
+
chunks.push(buffer);
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
return JSON.parse(Buffer.concat(chunks).toString('utf8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
throw new MachineInputError('stdin must contain one JSON request');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
controller.signal.removeEventListener('abort', stopInput);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async function main() {
|
|
50
|
+
if (argv.length === 1 && ['--help', '-h'].includes(argv[0] ?? '')) {
|
|
51
|
+
process.stdout.write('Usage: codex-pro-machine [--json] < request.json\n'
|
|
52
|
+
+ 'Read one protocol=1 request and emit one JSON receipt. SIGINT/SIGTERM cancel and await cleanup.\n'
|
|
53
|
+
+ 'Use --capabilities for the offline protocol declaration.\n');
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
if (argv.length === 1 && argv[0] === '--version') {
|
|
57
|
+
const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
58
|
+
process.stdout.write(pkg.version + '\n');
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
if (argv.length === 1 && argv[0] === '--capabilities') {
|
|
62
|
+
process.stdout.write(JSON.stringify({
|
|
63
|
+
protocol: 1, type: 'capabilities', package: 'dsh-subagent-codex-pro',
|
|
64
|
+
platform: process.platform, supported: process.platform !== 'win32',
|
|
65
|
+
permissions: ['read-only', 'workspace-write', 'dangerously-bypass-approvals-and-sandbox'],
|
|
66
|
+
input: 'single-json-document', maxInputBytes: MAX_INPUT_BYTES,
|
|
67
|
+
cancellation: ['SIGINT', 'SIGTERM'], ownership: 'supervised-group',
|
|
68
|
+
effortEvidence: 'accepted-request-only', cost: 'unknown', inferenceRequests: 0,
|
|
69
|
+
// The single-document CLI stays terminal-only; typed ACKs use the JS API.
|
|
70
|
+
javascriptLifecycle: MACHINE_LIFECYCLE_CAPABILITIES,
|
|
71
|
+
}) + '\n');
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
if (argv.length > 1 || (argv.length === 1 && argv[0] !== '--json')) {
|
|
75
|
+
throw new MachineInputError('unsupported command argument; use --help');
|
|
76
|
+
}
|
|
77
|
+
const request = parseMachineRequest(await input());
|
|
78
|
+
const receipt = await runMachine(request, { signal: controller.signal });
|
|
79
|
+
process.stdout.write(JSON.stringify(receipt) + '\n');
|
|
80
|
+
return receipt.ok ? 0 : 1;
|
|
81
|
+
}
|
|
82
|
+
process.on('SIGTERM', term);
|
|
83
|
+
process.on('SIGINT', interrupt);
|
|
84
|
+
try {
|
|
85
|
+
process.exitCode = await main();
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
process.stdout.write(JSON.stringify({
|
|
89
|
+
protocol: 1, type: 'error', requestId: null,
|
|
90
|
+
error: { code: error instanceof MachineInputError ? error.code : 'INPUT_ERROR',
|
|
91
|
+
message: error instanceof MachineInputError ? error.message : 'machine request could not be read' },
|
|
92
|
+
}) + '\n');
|
|
93
|
+
process.exitCode = 2;
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
if (cancelledBy !== undefined)
|
|
97
|
+
process.exitCode = cancelledBy === 'SIGTERM' ? 143 : 130;
|
|
98
|
+
process.off('SIGTERM', term);
|
|
99
|
+
process.off('SIGINT', interrupt);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=machine-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-cli.js","sourceRoot":"","sources":["../src/machine-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/** Private one-run implementation, supervised by the public machine API. */
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { CodexRunFailure, DEFAULT_RUN_TIMEOUT_MS, startCodexRun } from "./run.js";
|
|
4
|
+
import { parseMachineRequest } from "./machine.js";
|
|
5
|
+
/** Bound a diagnostic without retaining arbitrary server output. */
|
|
6
|
+
function boundedDiagnostic(value) {
|
|
7
|
+
return value.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/gu, '?').slice(0, 4096);
|
|
8
|
+
}
|
|
9
|
+
/** Include the cause of a startup failure, which carries the actionable reason. */
|
|
10
|
+
function failureDiagnostic(error) {
|
|
11
|
+
if (error === undefined)
|
|
12
|
+
return 'codex-pro: run could not be initialized';
|
|
13
|
+
const cause = error.cause;
|
|
14
|
+
const causeMessage = cause instanceof Error ? cause.message : typeof cause === 'string' ? cause : undefined;
|
|
15
|
+
const base = error.message;
|
|
16
|
+
const detail = causeMessage === undefined || base.includes(causeMessage)
|
|
17
|
+
? base
|
|
18
|
+
: base + ': ' + causeMessage;
|
|
19
|
+
return boundedDiagnostic(detail);
|
|
20
|
+
}
|
|
21
|
+
/** Private supervisor entry; callers use runMachine so caller death cannot lose cleanup persistence. */
|
|
22
|
+
export async function runMachineLocal(value, options = {}, id = randomUUID(), persistReceipt) {
|
|
23
|
+
const request = parseMachineRequest(value);
|
|
24
|
+
let sequence = 0;
|
|
25
|
+
let dispatch = 'not-dispatched';
|
|
26
|
+
let last;
|
|
27
|
+
const emit = async (event, patch = {}) => {
|
|
28
|
+
if (options.onLifecycle === undefined)
|
|
29
|
+
return;
|
|
30
|
+
sequence += 1;
|
|
31
|
+
const lifecycle = { threadId: null, turnId: null,
|
|
32
|
+
persistent: request.threadMode === 'persistent' || request.threadId !== undefined,
|
|
33
|
+
configuration: null, dispatch, outcome: 'unknown', cleanupConfirmed: false, ...last, ...patch,
|
|
34
|
+
// Identity/order never come from an inherited or caller-provided snapshot.
|
|
35
|
+
lifecycleVersion: 1, type: 'lifecycle', requestId: request.requestId, runId: id, sequence, event };
|
|
36
|
+
last = lifecycle;
|
|
37
|
+
await options.onLifecycle(lifecycle);
|
|
38
|
+
};
|
|
39
|
+
const finish = async (receipt) => {
|
|
40
|
+
// Native facts are final here. Persist them BEFORE a terminal notification
|
|
41
|
+
// can be lost; delivery failure must not turn a known outcome into cancellation.
|
|
42
|
+
persistReceipt?.(receipt);
|
|
43
|
+
const run = receipt.outcome ?? receipt.failure;
|
|
44
|
+
const execution = run?.execution;
|
|
45
|
+
const terminal = receipt.ok ? 'completed' : execution?.cancelled === true ? 'cancelled'
|
|
46
|
+
: dispatch === 'not-dispatched' ? 'failed' : 'unknown';
|
|
47
|
+
const facts = {
|
|
48
|
+
threadId: execution?.threadId ?? last?.threadId ?? null, turnId: execution?.turnId ?? last?.turnId ?? null,
|
|
49
|
+
configuration: (run?.configuration ?? last?.configuration ?? null),
|
|
50
|
+
dispatch, outcome: terminal, cleanupConfirmed: run?.cleanup?.confirmed === true,
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
await emit('terminal', facts);
|
|
54
|
+
}
|
|
55
|
+
catch { /* The original receipt was already made durable. */ }
|
|
56
|
+
if (facts.cleanupConfirmed === true) {
|
|
57
|
+
try {
|
|
58
|
+
await emit('cleanup-confirmed', facts);
|
|
59
|
+
}
|
|
60
|
+
catch { /* A failed final ACK is not new model execution. */ }
|
|
61
|
+
}
|
|
62
|
+
return receipt;
|
|
63
|
+
};
|
|
64
|
+
const requested = {
|
|
65
|
+
cwd: request.cwd, model: request.model, effort: request.effort,
|
|
66
|
+
permissionMode: request.permissionMode, threadId: request.threadId ?? null,
|
|
67
|
+
};
|
|
68
|
+
const spec = {
|
|
69
|
+
runId: id,
|
|
70
|
+
cwd: request.cwd,
|
|
71
|
+
command: request.command ?? 'codex',
|
|
72
|
+
model: request.model,
|
|
73
|
+
effort: request.effort,
|
|
74
|
+
permissionMode: request.permissionMode,
|
|
75
|
+
runTimeoutMs: request.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS,
|
|
76
|
+
threadMode: request.threadMode ?? (request.threadId === undefined ? 'ephemeral' : 'persistent'),
|
|
77
|
+
...(request.threadId === undefined ? {} : { resumeThreadId: request.threadId }),
|
|
78
|
+
...(request.maxOutputBytes === undefined ? {} : { maxOutputBytes: request.maxOutputBytes }),
|
|
79
|
+
...(request.images === undefined ? {} : { images: request.images }),
|
|
80
|
+
...(request.outputSchema === undefined ? {} : { outputSchema: request.outputSchema }),
|
|
81
|
+
...(options.env === undefined ? {} : { env: options.env }),
|
|
82
|
+
...(options.onProgress === undefined ? {} : { onProgress: options.onProgress }),
|
|
83
|
+
...(options.onLifecycle === undefined ? {} : { onLifecycle: async (event) => {
|
|
84
|
+
if (event.event === 'dispatch-possible')
|
|
85
|
+
dispatch = 'possible';
|
|
86
|
+
if (event.event === 'turn-accepted')
|
|
87
|
+
dispatch = 'accepted';
|
|
88
|
+
await emit(event.event, { threadId: event.threadId, turnId: event.turnId,
|
|
89
|
+
configuration: event.configuration, dispatch });
|
|
90
|
+
} }),
|
|
91
|
+
};
|
|
92
|
+
let receipt;
|
|
93
|
+
try {
|
|
94
|
+
const run = await startCodexRun([{ type: 'text', text: request.prompt }], spec, options.signal ?? new AbortController().signal);
|
|
95
|
+
const outcome = await run.result;
|
|
96
|
+
receipt = {
|
|
97
|
+
protocol: 1, type: 'result', requestId: request.requestId, runId: run.id,
|
|
98
|
+
ok: outcome.stopReason === 'completed' && outcome.cleanup.confirmed,
|
|
99
|
+
requested, outcome, failure: null, costUSD: null, costStatus: 'unknown',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
const failure = error instanceof CodexRunFailure ? error : undefined;
|
|
104
|
+
receipt = {
|
|
105
|
+
protocol: 1, type: 'result', requestId: request.requestId,
|
|
106
|
+
runId: failure?.execution?.runId ?? id, ok: false, requested, outcome: null,
|
|
107
|
+
failure: {
|
|
108
|
+
stage: failure?.facts.stage ?? 'initialize', category: failure?.facts.category ?? 'runtime',
|
|
109
|
+
diagnostic: failureDiagnostic(failure),
|
|
110
|
+
execution: failure?.execution ?? null,
|
|
111
|
+
configuration: failure?.configuration ?? null,
|
|
112
|
+
usage: failure?.usage ?? null,
|
|
113
|
+
rateLimits: failure?.rateLimits ?? null,
|
|
114
|
+
turnConfiguration: failure?.turnConfiguration ?? null,
|
|
115
|
+
cleanup: failure?.cleanup ?? null,
|
|
116
|
+
},
|
|
117
|
+
costUSD: null, costStatus: 'unknown',
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
return finish(receipt);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=machine-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-local.js","sourceRoot":"","sources":["../src/machine-local.ts"],"names":[],"mappings":"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"}
|