greprag 5.49.12 → 5.49.14
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/dist/codex-steering.js +10 -1
- package/dist/codex-steering.js.map +1 -1
- package/dist/commands/checkpoint-helpers.js +3 -1
- package/dist/commands/checkpoint-helpers.js.map +1 -1
- package/dist/commands/codex-app-server-client.d.ts +46 -0
- package/dist/commands/codex-app-server-client.js +122 -0
- package/dist/commands/codex-app-server-client.js.map +1 -0
- package/dist/commands/codex-app-server.js +33 -89
- package/dist/commands/codex-app-server.js.map +1 -1
- package/dist/commands/codex-delivery.d.ts +33 -0
- package/dist/commands/codex-delivery.js +187 -0
- package/dist/commands/codex-delivery.js.map +1 -0
- package/dist/commands/codex-doctor.js +29 -1
- package/dist/commands/codex-doctor.js.map +1 -1
- package/dist/commands/codex-supervisor.d.ts +5 -0
- package/dist/commands/codex-supervisor.js +94 -15
- package/dist/commands/codex-supervisor.js.map +1 -1
- package/dist/commands/codex-wake-test.d.ts +27 -0
- package/dist/commands/codex-wake-test.js +135 -0
- package/dist/commands/codex-wake-test.js.map +1 -0
- package/dist/commands/codex.js +45 -19
- package/dist/commands/codex.js.map +1 -1
- package/dist/commands/fix.js +3 -2
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/inbox-primer-reminder.d.ts +1 -1
- package/dist/commands/inbox-primer-reminder.js +8 -2
- package/dist/commands/inbox-primer-reminder.js.map +1 -1
- package/dist/commands/opencode-interrupt.d.ts +15 -0
- package/dist/commands/opencode-interrupt.js +37 -0
- package/dist/commands/opencode-interrupt.js.map +1 -0
- package/dist/commands/reminder-types.d.ts +2 -0
- package/dist/hook.js +19 -12
- package/dist/hook.js.map +1 -1
- package/dist/index.js +11 -9
- package/dist/index.js.map +1 -1
- package/dist/opencode-plugin.bundle.js +416 -6
- package/dist/opencode-plugin.js +34 -0
- package/dist/opencode-plugin.js.map +1 -1
- package/dist/session-id.d.ts +7 -6
- package/dist/session-id.js +8 -6
- package/dist/session-id.js.map +1 -1
- package/package.json +1 -1
- package/skill/greprag/SKILL.md +1 -1
- package/skill/greprag/docs/setup.md +12 -7
- package/skill/templates/chip-bootloader.md +107 -0
- package/skill/templates/chip-spawn.md +15 -2
- package/dist/commands/procedure.d.ts +0 -15
- package/dist/commands/procedure.js +0 -167
- package/dist/commands/procedure.js.map +0 -1
- package/dist/procedure.d.ts +0 -88
- package/dist/procedure.js +0 -269
- package/dist/procedure.js.map +0 -1
package/dist/codex-steering.js
CHANGED
|
@@ -108,7 +108,11 @@ function formatReplyHint(message) {
|
|
|
108
108
|
return null;
|
|
109
109
|
}
|
|
110
110
|
function formatCodexInboxSteering(messages, session8) {
|
|
111
|
-
const unread = messages.filter(m =>
|
|
111
|
+
const unread = messages.filter(m => {
|
|
112
|
+
if (!m || typeof m.body !== 'string' || !m.body.trim())
|
|
113
|
+
return false;
|
|
114
|
+
return (0, session_id_1.truncateSessionId)(m.from?.session_id || undefined) !== session8;
|
|
115
|
+
});
|
|
112
116
|
if (unread.length === 0)
|
|
113
117
|
return null;
|
|
114
118
|
const parts = [
|
|
@@ -152,6 +156,11 @@ async function buildCodexInboxSteering(input, cfg, opts = {}) {
|
|
|
152
156
|
const url = new URL(`${cfg.apiUrl.replace(/\/+$/, '')}/v1/inbox`);
|
|
153
157
|
url.searchParams.set('project_id', anchor.projectId);
|
|
154
158
|
url.searchParams.set('session_id', session8);
|
|
159
|
+
// Codex hooks are an injection attempt, not proof the model saw the message.
|
|
160
|
+
// Read unread rows without burning them; a later explicit `greprag inbox`
|
|
161
|
+
// should still be able to surface and mark the message read.
|
|
162
|
+
url.searchParams.set('peek', '1');
|
|
163
|
+
url.searchParams.set('unread_only', '1');
|
|
155
164
|
try {
|
|
156
165
|
const res = await fetch(url, {
|
|
157
166
|
headers: { 'Authorization': `Bearer ${cfg.apiKey}` },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-steering.js","sourceRoot":"","sources":["../src/codex-steering.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGA,
|
|
1
|
+
{"version":3,"file":"codex-steering.js","sourceRoot":"","sources":["../src/codex-steering.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,8 +169,10 @@ async function resolveProject(args, apiUrl, apiKey) {
|
|
|
169
169
|
}
|
|
170
170
|
function readSessionEnv() {
|
|
171
171
|
// Claude Code sets CLAUDE_CODE_SESSION_ID (CLAUDE_SESSION_ID is not set on
|
|
172
|
-
// desktop 2.1.x);
|
|
172
|
+
// desktop 2.1.x); Codex sets CODEX_THREAD_ID in hook/session contexts.
|
|
173
|
+
// Keep the legacy name + the manual override behind platform-native ids.
|
|
173
174
|
return process.env.CLAUDE_CODE_SESSION_ID
|
|
175
|
+
|| process.env.CODEX_THREAD_ID
|
|
174
176
|
|| process.env.CLAUDE_SESSION_ID
|
|
175
177
|
|| process.env.GREPRAG_SESSION_ID
|
|
176
178
|
|| null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-helpers.js","sourceRoot":"","sources":["../../src/commands/checkpoint-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,kCAiBC;AAED,8BAQC;AAED,gDAGC;AAID,0BAgBC;AAED,wBAIC;AAED,4BAQC;AAED,8BAOC;AAID,0BAIC;AASD,wCAuBC;AAED,
|
|
1
|
+
{"version":3,"file":"checkpoint-helpers.js","sourceRoot":"","sources":["../../src/commands/checkpoint-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type CodexAppServerTransport = 'proxy' | 'stdio';
|
|
2
|
+
export interface RpcErrorShape {
|
|
3
|
+
code?: number;
|
|
4
|
+
message?: string;
|
|
5
|
+
data?: unknown;
|
|
6
|
+
}
|
|
7
|
+
export declare class CodexAppServerError extends Error {
|
|
8
|
+
code?: number | undefined;
|
|
9
|
+
data?: unknown | undefined;
|
|
10
|
+
constructor(message: string, code?: number | undefined, data?: unknown | undefined);
|
|
11
|
+
}
|
|
12
|
+
export interface CodexAppServerLike {
|
|
13
|
+
stderr?: string;
|
|
14
|
+
notifications?: Array<{
|
|
15
|
+
method: string;
|
|
16
|
+
params?: unknown;
|
|
17
|
+
}>;
|
|
18
|
+
initialize(): Promise<Record<string, unknown>>;
|
|
19
|
+
request(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
20
|
+
notify(method: string, params?: Record<string, unknown>): void;
|
|
21
|
+
close(): void;
|
|
22
|
+
}
|
|
23
|
+
export interface CodexAppServerClientOptions {
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
transport?: CodexAppServerTransport;
|
|
26
|
+
}
|
|
27
|
+
export declare class CodexAppServerClient implements CodexAppServerLike {
|
|
28
|
+
private opts;
|
|
29
|
+
private child;
|
|
30
|
+
private nextId;
|
|
31
|
+
private buf;
|
|
32
|
+
private pending;
|
|
33
|
+
notifications: Array<{
|
|
34
|
+
method: string;
|
|
35
|
+
params?: unknown;
|
|
36
|
+
}>;
|
|
37
|
+
stderr: string;
|
|
38
|
+
constructor(opts?: CodexAppServerClientOptions);
|
|
39
|
+
initialize(): Promise<Record<string, unknown>>;
|
|
40
|
+
close(): void;
|
|
41
|
+
request(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
42
|
+
notify(method: string, params?: Record<string, unknown>): void;
|
|
43
|
+
private readStdout;
|
|
44
|
+
private handleLine;
|
|
45
|
+
private rejectAll;
|
|
46
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexAppServerClient = exports.CodexAppServerError = void 0;
|
|
4
|
+
const proc_1 = require("../proc");
|
|
5
|
+
class CodexAppServerError extends Error {
|
|
6
|
+
constructor(message, code, data) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.code = code;
|
|
9
|
+
this.data = data;
|
|
10
|
+
this.name = 'CodexAppServerError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.CodexAppServerError = CodexAppServerError;
|
|
14
|
+
class CodexAppServerClient {
|
|
15
|
+
constructor(opts = {}) {
|
|
16
|
+
this.opts = opts;
|
|
17
|
+
this.nextId = 1;
|
|
18
|
+
this.buf = '';
|
|
19
|
+
this.pending = new Map();
|
|
20
|
+
this.notifications = [];
|
|
21
|
+
this.stderr = '';
|
|
22
|
+
const transport = opts.transport || 'stdio';
|
|
23
|
+
const args = transport === 'proxy'
|
|
24
|
+
? ['app-server', 'proxy']
|
|
25
|
+
: ['app-server', '--stdio'];
|
|
26
|
+
this.child = (0, proc_1.safeSpawn)('codex', args, {
|
|
27
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
28
|
+
shell: process.platform === 'win32',
|
|
29
|
+
windowsHide: true,
|
|
30
|
+
});
|
|
31
|
+
this.child.stdout.on('data', d => this.readStdout(d.toString()));
|
|
32
|
+
this.child.stderr.on('data', d => { this.stderr += d.toString(); });
|
|
33
|
+
this.child.on('error', err => this.rejectAll(err));
|
|
34
|
+
this.child.on('close', code => this.rejectAll(new Error(`codex app-server exited ${code ?? 'unknown'}`)));
|
|
35
|
+
}
|
|
36
|
+
async initialize() {
|
|
37
|
+
const result = await this.request('initialize', {
|
|
38
|
+
clientInfo: { name: 'greprag', title: 'GrepRAG', version: '0.0.0' },
|
|
39
|
+
capabilities: { experimentalApi: true },
|
|
40
|
+
});
|
|
41
|
+
this.notify('initialized', {});
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
close() {
|
|
45
|
+
for (const entry of this.pending.values())
|
|
46
|
+
clearTimeout(entry.timer);
|
|
47
|
+
this.pending.clear();
|
|
48
|
+
if (!this.child.killed)
|
|
49
|
+
this.child.kill();
|
|
50
|
+
}
|
|
51
|
+
async request(method, params = {}) {
|
|
52
|
+
const id = this.nextId++;
|
|
53
|
+
const promise = new Promise((resolve, reject) => {
|
|
54
|
+
const timer = setTimeout(() => {
|
|
55
|
+
this.pending.delete(id);
|
|
56
|
+
reject(new Error(`app-server request timed out: ${method}`));
|
|
57
|
+
}, this.opts.timeoutMs || 10_000);
|
|
58
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
59
|
+
});
|
|
60
|
+
try {
|
|
61
|
+
this.child.stdin.write(JSON.stringify({ id, method, params }) + '\n');
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
const entry = this.pending.get(id);
|
|
65
|
+
if (entry) {
|
|
66
|
+
clearTimeout(entry.timer);
|
|
67
|
+
this.pending.delete(id);
|
|
68
|
+
entry.reject(err);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return promise;
|
|
72
|
+
}
|
|
73
|
+
notify(method, params = {}) {
|
|
74
|
+
this.child.stdin.write(JSON.stringify({ method, params }) + '\n');
|
|
75
|
+
}
|
|
76
|
+
readStdout(chunk) {
|
|
77
|
+
this.buf += chunk;
|
|
78
|
+
let idx;
|
|
79
|
+
while ((idx = this.buf.indexOf('\n')) >= 0) {
|
|
80
|
+
const line = this.buf.slice(0, idx).trim();
|
|
81
|
+
this.buf = this.buf.slice(idx + 1);
|
|
82
|
+
if (!line)
|
|
83
|
+
continue;
|
|
84
|
+
this.handleLine(line);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
handleLine(line) {
|
|
88
|
+
let msg;
|
|
89
|
+
try {
|
|
90
|
+
msg = JSON.parse(line);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (typeof msg.id === 'number') {
|
|
96
|
+
const entry = this.pending.get(msg.id);
|
|
97
|
+
if (!entry)
|
|
98
|
+
return;
|
|
99
|
+
this.pending.delete(msg.id);
|
|
100
|
+
clearTimeout(entry.timer);
|
|
101
|
+
if (msg.error) {
|
|
102
|
+
const message = msg.error.message || `app-server error ${msg.error.code ?? ''}`.trim();
|
|
103
|
+
entry.reject(new CodexAppServerError(message, msg.error.code, msg.error.data));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
entry.resolve(msg.result);
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (msg.method)
|
|
111
|
+
this.notifications.push({ method: msg.method, params: msg.params });
|
|
112
|
+
}
|
|
113
|
+
rejectAll(err) {
|
|
114
|
+
for (const [id, entry] of this.pending.entries()) {
|
|
115
|
+
clearTimeout(entry.timer);
|
|
116
|
+
entry.reject(err);
|
|
117
|
+
this.pending.delete(id);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.CodexAppServerClient = CodexAppServerClient;
|
|
122
|
+
//# sourceMappingURL=codex-app-server-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-app-server-client.js","sourceRoot":"","sources":["../../src/commands/codex-app-server-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runCodexAppServer = runCodexAppServer;
|
|
4
|
-
const proc_1 = require("../proc");
|
|
5
4
|
const session_id_1 = require("../session-id");
|
|
6
|
-
|
|
7
|
-
constructor(timeoutMs) {
|
|
8
|
-
this.timeoutMs = timeoutMs;
|
|
9
|
-
this.nextId = 1;
|
|
10
|
-
this.buf = '';
|
|
11
|
-
this.pending = new Map();
|
|
12
|
-
this.notifications = [];
|
|
13
|
-
this.stderr = '';
|
|
14
|
-
this.child = (0, proc_1.safeSpawn)('codex', ['app-server', '--stdio'], {
|
|
15
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
16
|
-
shell: process.platform === 'win32',
|
|
17
|
-
windowsHide: true,
|
|
18
|
-
});
|
|
19
|
-
this.child.stdout.on('data', d => this.readStdout(d.toString()));
|
|
20
|
-
this.child.stderr.on('data', d => { this.stderr += d.toString(); });
|
|
21
|
-
this.child.on('error', err => this.rejectAll(err));
|
|
22
|
-
this.child.on('close', code => this.rejectAll(new Error(`codex app-server exited ${code ?? 'unknown'}`)));
|
|
23
|
-
}
|
|
24
|
-
close() {
|
|
25
|
-
for (const entry of this.pending.values())
|
|
26
|
-
clearTimeout(entry.timer);
|
|
27
|
-
this.pending.clear();
|
|
28
|
-
this.child.kill();
|
|
29
|
-
}
|
|
30
|
-
async request(method, params) {
|
|
31
|
-
const id = this.nextId++;
|
|
32
|
-
const promise = new Promise((resolve, reject) => {
|
|
33
|
-
const timer = setTimeout(() => {
|
|
34
|
-
this.pending.delete(id);
|
|
35
|
-
reject(new Error(`app-server request timed out: ${method}`));
|
|
36
|
-
}, this.timeoutMs);
|
|
37
|
-
this.pending.set(id, { resolve, reject, timer });
|
|
38
|
-
});
|
|
39
|
-
this.child.stdin.write(JSON.stringify({ id, method, params }) + '\n');
|
|
40
|
-
return promise;
|
|
41
|
-
}
|
|
42
|
-
readStdout(chunk) {
|
|
43
|
-
this.buf += chunk;
|
|
44
|
-
let idx;
|
|
45
|
-
while ((idx = this.buf.indexOf('\n')) >= 0) {
|
|
46
|
-
const line = this.buf.slice(0, idx).trim();
|
|
47
|
-
this.buf = this.buf.slice(idx + 1);
|
|
48
|
-
if (!line)
|
|
49
|
-
continue;
|
|
50
|
-
this.handleLine(line);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
handleLine(line) {
|
|
54
|
-
let msg;
|
|
55
|
-
try {
|
|
56
|
-
msg = JSON.parse(line);
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (typeof msg.id === 'number') {
|
|
62
|
-
const entry = this.pending.get(msg.id);
|
|
63
|
-
if (!entry)
|
|
64
|
-
return;
|
|
65
|
-
this.pending.delete(msg.id);
|
|
66
|
-
clearTimeout(entry.timer);
|
|
67
|
-
if (msg.error) {
|
|
68
|
-
entry.reject(new Error(msg.error.message || `app-server error ${msg.error.code ?? ''}`.trim()));
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
entry.resolve(msg.result);
|
|
72
|
-
}
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
if (msg.method)
|
|
76
|
-
this.notifications.push({ method: msg.method, params: msg.params });
|
|
77
|
-
}
|
|
78
|
-
rejectAll(err) {
|
|
79
|
-
for (const [id, entry] of this.pending.entries()) {
|
|
80
|
-
clearTimeout(entry.timer);
|
|
81
|
-
entry.reject(err);
|
|
82
|
-
this.pending.delete(id);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
5
|
+
const codex_app_server_client_1 = require("./codex-app-server-client");
|
|
86
6
|
function numFlag(args, flag, fallback) {
|
|
87
7
|
const idx = args.indexOf(flag);
|
|
88
8
|
if (idx < 0 || idx + 1 >= args.length)
|
|
@@ -94,6 +14,15 @@ function strFlag(args, flag) {
|
|
|
94
14
|
const idx = args.indexOf(flag);
|
|
95
15
|
return idx >= 0 && idx + 1 < args.length ? args[idx + 1] : undefined;
|
|
96
16
|
}
|
|
17
|
+
function transportFlag(args) {
|
|
18
|
+
const raw = strFlag(args, '--transport');
|
|
19
|
+
return raw === 'proxy' ? 'proxy' : 'stdio';
|
|
20
|
+
}
|
|
21
|
+
function errorDetail(err, stderr) {
|
|
22
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
23
|
+
const extra = (stderr || '').trim().replace(/\s+/g, ' ');
|
|
24
|
+
return extra ? `${message}: ${extra}` : message;
|
|
25
|
+
}
|
|
97
26
|
function findThread(threads, needle) {
|
|
98
27
|
if (!needle)
|
|
99
28
|
return null;
|
|
@@ -111,10 +40,10 @@ async function runCodexAppServer(args) {
|
|
|
111
40
|
if (!sub || sub === '--help' || sub === '-h' || sub === 'help') {
|
|
112
41
|
console.log(`greprag codex app-server — inspect Codex app-server readiness.
|
|
113
42
|
|
|
114
|
-
greprag codex app-server probe [--thread <id>] [--limit <n>] [--timeout-ms <n>] [--json]
|
|
43
|
+
greprag codex app-server probe [--thread <id>] [--limit <n>] [--transport stdio|proxy] [--timeout-ms <n>] [--json]
|
|
115
44
|
|
|
116
|
-
Read-only probe.
|
|
117
|
-
|
|
45
|
+
Read-only probe. Initializes the protocol, lists recent threads, checks loaded
|
|
46
|
+
threads, and optionally reads native goal state for one thread.`);
|
|
118
47
|
return;
|
|
119
48
|
}
|
|
120
49
|
if (sub !== 'probe') {
|
|
@@ -127,17 +56,16 @@ lists recent threads, and optionally reads native goal state for one thread.`);
|
|
|
127
56
|
limit: numFlag(subArgs, '--limit', 5),
|
|
128
57
|
thread: strFlag(subArgs, '--thread'),
|
|
129
58
|
timeoutMs: numFlag(subArgs, '--timeout-ms', 10_000),
|
|
59
|
+
transport: transportFlag(subArgs),
|
|
130
60
|
};
|
|
131
|
-
const client = new
|
|
61
|
+
const client = new codex_app_server_client_1.CodexAppServerClient({ timeoutMs: opts.timeoutMs, transport: opts.transport });
|
|
132
62
|
try {
|
|
133
|
-
const init = await client.
|
|
134
|
-
clientInfo: { name: 'greprag', version: '0.0.0' },
|
|
135
|
-
capabilities: { experimentalApi: true },
|
|
136
|
-
});
|
|
63
|
+
const init = await client.initialize();
|
|
137
64
|
const list = await client.request('thread/list', {
|
|
138
65
|
limit: opts.limit,
|
|
139
66
|
useStateDbOnly: true,
|
|
140
67
|
});
|
|
68
|
+
const loaded = await client.request('thread/loaded/list', { limit: opts.limit });
|
|
141
69
|
const threads = list.data || [];
|
|
142
70
|
const selected = findThread(threads, opts.thread);
|
|
143
71
|
let goal = null;
|
|
@@ -149,7 +77,9 @@ lists recent threads, and optionally reads native goal state for one thread.`);
|
|
|
149
77
|
userAgent: init.userAgent || null,
|
|
150
78
|
codexHome: init.codexHome || null,
|
|
151
79
|
platform: init.platformOs || init.platformFamily || null,
|
|
80
|
+
transport: opts.transport,
|
|
152
81
|
notifications: client.notifications.map(n => n.method),
|
|
82
|
+
loadedThreads: loaded.data || [],
|
|
153
83
|
threads,
|
|
154
84
|
selectedThread: selected,
|
|
155
85
|
goal,
|
|
@@ -163,6 +93,8 @@ lists recent threads, and optionally reads native goal state for one thread.`);
|
|
|
163
93
|
console.log(` User agent: ${report.userAgent || '(unknown)'}`);
|
|
164
94
|
console.log(` Codex home: ${report.codexHome || '(unknown)'}`);
|
|
165
95
|
console.log(` Platform: ${report.platform || '(unknown)'}`);
|
|
96
|
+
console.log(` Transport: ${report.transport}`);
|
|
97
|
+
console.log(` Loaded: ${report.loadedThreads.length}`);
|
|
166
98
|
console.log(` Threads: ${threads.length}`);
|
|
167
99
|
for (const thread of threads)
|
|
168
100
|
console.log(renderThread(thread));
|
|
@@ -172,6 +104,18 @@ lists recent threads, and optionally reads native goal state for one thread.`);
|
|
|
172
104
|
console.log(JSON.stringify(goal, null, 2));
|
|
173
105
|
}
|
|
174
106
|
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
const report = {
|
|
109
|
+
ok: false,
|
|
110
|
+
transport: opts.transport,
|
|
111
|
+
error: errorDetail(err, client.stderr),
|
|
112
|
+
};
|
|
113
|
+
if (opts.json)
|
|
114
|
+
console.log(JSON.stringify(report, null, 2));
|
|
115
|
+
else
|
|
116
|
+
console.error(`Codex app-server probe failed: ${report.error}`);
|
|
117
|
+
process.exitCode = 1;
|
|
118
|
+
}
|
|
175
119
|
finally {
|
|
176
120
|
client.close();
|
|
177
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../../src/commands/codex-app-server.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../../src/commands/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CodexAppServerLike, type CodexAppServerTransport } from './codex-app-server-client';
|
|
2
|
+
export type CodexDeliveryMode = 'auto' | 'exec' | 'app-server';
|
|
3
|
+
export interface CodexTurn {
|
|
4
|
+
id: string;
|
|
5
|
+
status?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DeliveryAttempt {
|
|
8
|
+
method: string;
|
|
9
|
+
ok: boolean;
|
|
10
|
+
detail?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DeliveryResult {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
method: string;
|
|
15
|
+
attempts: DeliveryAttempt[];
|
|
16
|
+
exitCode?: number;
|
|
17
|
+
reason?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface DeliveryOptions {
|
|
20
|
+
appServerTimeoutMs?: number;
|
|
21
|
+
codexSession: string;
|
|
22
|
+
cwd?: string;
|
|
23
|
+
mode?: CodexDeliveryMode;
|
|
24
|
+
prompt: string;
|
|
25
|
+
messageId?: string;
|
|
26
|
+
transport?: CodexAppServerTransport;
|
|
27
|
+
}
|
|
28
|
+
export declare function findActiveTurn(turns: CodexTurn[]): CodexTurn | null;
|
|
29
|
+
export declare function resumeCodexExec(codexSession: string, prompt: string, cwd?: string): Promise<number>;
|
|
30
|
+
export declare function deliverViaLoadedAppServer(client: CodexAppServerLike, opts: DeliveryOptions): Promise<DeliveryResult>;
|
|
31
|
+
export declare function deliverCodexPrompt(opts: DeliveryOptions): Promise<DeliveryResult>;
|
|
32
|
+
export declare function parseDeliveryMode(value?: string): CodexDeliveryMode;
|
|
33
|
+
export declare function parseTransport(value?: string): CodexAppServerTransport | undefined;
|