rivetplane 0.4.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -1
- package/dist/acp-attach.js +26 -4
- package/dist/acp-attach.js.map +1 -1
- package/dist/claude-code-discovery.js +123 -7
- package/dist/claude-code-discovery.js.map +1 -1
- package/dist/cli.js +48 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.js +92 -13
- package/dist/client.js.map +1 -1
- package/dist/codex-app-server.js +153 -8
- package/dist/codex-app-server.js.map +1 -1
- package/dist/codex-rollout-discovery.js +121 -7
- package/dist/codex-rollout-discovery.js.map +1 -1
- package/dist/hook-bridge-install.js +133 -0
- package/dist/hook-bridge-install.js.map +1 -0
- package/dist/hook-bridge.js +79 -0
- package/dist/hook-bridge.js.map +1 -0
- package/dist/hook-discovery.js +115 -0
- package/dist/hook-discovery.js.map +1 -0
- package/dist/hook-ingestion.js +507 -0
- package/dist/hook-ingestion.js.map +1 -0
- package/dist/hook-install.js +348 -0
- package/dist/hook-install.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/launch-command.js +51 -0
- package/dist/launch-command.js.map +1 -0
- package/dist/local-api.js +44 -3
- package/dist/local-api.js.map +1 -1
- package/dist/opencode-export-discovery.js +16 -4
- package/dist/opencode-export-discovery.js.map +1 -1
- package/dist/opencode-manager.js +126 -7
- package/dist/opencode-manager.js.map +1 -1
- package/dist/pending-normalization.js +29 -0
- package/dist/pending-normalization.js.map +1 -0
- package/dist/registry.js +6 -2
- package/dist/registry.js.map +1 -1
- package/dist/relay.js +184 -14
- package/dist/relay.js.map +1 -1
- package/dist/session-manager.js +3 -1
- package/dist/session-manager.js.map +1 -1
- package/dist/usage.js +131 -0
- package/dist/usage.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -8,6 +8,8 @@ import { OpenCodeExportDiscovery } from "./opencode-export-discovery.js";
|
|
|
8
8
|
import { CodexRolloutDiscovery } from "./codex-rollout-discovery.js";
|
|
9
9
|
import { CodexAppServerManager } from "./codex-app-server.js";
|
|
10
10
|
import { ClaudeCodeDiscovery } from "./claude-code-discovery.js";
|
|
11
|
+
import { HookIngestor } from "./hook-ingestion.js";
|
|
12
|
+
import { UsageCollector } from "./usage.js";
|
|
11
13
|
export class HarnessControlClient {
|
|
12
14
|
options;
|
|
13
15
|
manager;
|
|
@@ -18,15 +20,22 @@ export class HarnessControlClient {
|
|
|
18
20
|
codex_rollouts;
|
|
19
21
|
codex_app_server;
|
|
20
22
|
claude_code;
|
|
23
|
+
hooks;
|
|
24
|
+
usage;
|
|
21
25
|
constructor(options = {}) {
|
|
22
26
|
this.options = options;
|
|
23
27
|
const machineId = options.credentials?.machine_id ?? `local-${randomUUID()}`;
|
|
24
|
-
this.
|
|
28
|
+
this.usage = new UsageCollector(machineId, { ...(options.usage_checkpoint_path ? { checkpoint_path: options.usage_checkpoint_path } : {}) });
|
|
29
|
+
this.manager = new SessionManager(machineId, { usage: this.usage, ...(options.discovery_directory ? { directory: options.discovery_directory } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}) });
|
|
30
|
+
this.hooks = new HookIngestor(machineId, this.manager.registry);
|
|
31
|
+
this.hooks.setUsage(this.usage);
|
|
25
32
|
if (typeof options.opencode_url === "string" || options.opencode_managed)
|
|
26
|
-
this.opencode = new OpenCodeManager(machineId, this.manager.registry, { ...(typeof options.opencode_url === "string" ? { url: options.opencode_url } : {}), ...(options.opencode_directory ? { directory: options.opencode_directory } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}) });
|
|
33
|
+
this.opencode = new OpenCodeManager(machineId, this.manager.registry, { usage: this.usage, ...(typeof options.opencode_url === "string" ? { url: options.opencode_url } : {}), ...(options.opencode_directory ? { directory: options.opencode_directory } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}) });
|
|
34
|
+
this.hooks.setAuthoritativeTarget((harness, id) => harness === "opencode" && Boolean(this.opencode?.target(id)) || harness === "codex" && Boolean(this.codex_app_server?.target(id)));
|
|
27
35
|
const exportEnabled = options.opencode_export ?? (!options.opencode_managed && typeof options.opencode_url !== "string");
|
|
28
36
|
if (options.opencode_url !== false && exportEnabled)
|
|
29
37
|
this.opencode_exports = new OpenCodeExportDiscovery(machineId, this.manager.registry, {
|
|
38
|
+
usage: this.usage,
|
|
30
39
|
...(options.opencode_directory ? { directory: options.opencode_directory } : {}), ...(options.opencode_executable ? { executable: options.opencode_executable } : {}),
|
|
31
40
|
...(options.opencode_checkpoint_path ? { checkpoint_path: options.opencode_checkpoint_path } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}),
|
|
32
41
|
...(options.opencode_max_sessions_per_project ? { max_sessions_per_project: options.opencode_max_sessions_per_project } : {}),
|
|
@@ -41,17 +50,33 @@ export class HarnessControlClient {
|
|
|
41
50
|
});
|
|
42
51
|
if (options.codex_managed || options.codex_endpoint)
|
|
43
52
|
this.codex_app_server = new CodexAppServerManager(machineId, this.manager.registry, {
|
|
53
|
+
usage: this.usage,
|
|
44
54
|
managed: options.codex_managed ?? false, ...(options.codex_endpoint ? { endpoint: options.codex_endpoint } : {}), ...(options.codex_token ? { token: options.codex_token } : {}),
|
|
45
|
-
...(options.codex_directory ? { directory: options.codex_directory } : {}), ...(options.codex_executable ? { executable: options.codex_executable } : {}),
|
|
55
|
+
...(options.codex_directory ? { directory: options.codex_directory } : {}), ...(options.codex_executable ? { executable: options.codex_executable } : {}),
|
|
56
|
+
...(options.codex_socket_path ? { socket_path: options.codex_socket_path } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}),
|
|
46
57
|
});
|
|
47
58
|
if (options.claude_code !== false)
|
|
48
59
|
this.claude_code = new ClaudeCodeDiscovery(machineId, this.manager.registry, {
|
|
60
|
+
usage: this.usage,
|
|
49
61
|
...(options.claude_executable ? { executable: options.claude_executable } : {}), ...(options.claude_config_dir ? { config_dir: options.claude_config_dir } : {}),
|
|
50
62
|
...(options.claude_checkpoint_path ? { checkpoint_path: options.claude_checkpoint_path } : {}), ...(options.discovery_interval_ms ? { interval_ms: options.discovery_interval_ms } : {}),
|
|
51
63
|
});
|
|
52
|
-
|
|
64
|
+
// A standalone TUI and the auto-started OpenCode serve adapter can expose
|
|
65
|
+
// the same database-backed session. Only the live hook owns that TUI's
|
|
66
|
+
// exact question Deferred, so prefer it over the compatibility adapter.
|
|
67
|
+
// Managed OpenCode remains authoritative because it suppresses duplicate
|
|
68
|
+
// hook targets via setAuthoritativeTarget above.
|
|
69
|
+
const target = (id) => selectCommandTarget(id, [
|
|
70
|
+
(value) => this.manager.target(value),
|
|
71
|
+
(value) => this.codex_app_server?.target(value),
|
|
72
|
+
(value) => this.hooks.target(value),
|
|
73
|
+
(value) => this.opencode?.target(value),
|
|
74
|
+
(value) => this.opencode_exports?.target(value),
|
|
75
|
+
(value) => this.codex_rollouts?.target(value),
|
|
76
|
+
(value) => this.claude_code?.target(value),
|
|
77
|
+
]);
|
|
53
78
|
this.local_api = new LocalApi(this.manager.registry, { port: options.local_port ?? 41737, target,
|
|
54
|
-
harnesses: () => this.harnesses(), discovery_directory: this.manager.discovery.directory });
|
|
79
|
+
harnesses: () => this.harnesses(), discovery_directory: this.manager.discovery.directory, hooks: this.hooks, ...(options.hook_discovery_path ? { hook_discovery_path: options.hook_discovery_path } : {}) });
|
|
55
80
|
if (options.credentials && options.relay !== false)
|
|
56
81
|
this.relay = new OutboundRelay(options.credentials, this.manager.registry, target, {
|
|
57
82
|
createSession: async (command) => {
|
|
@@ -61,20 +86,74 @@ export class HarnessControlClient {
|
|
|
61
86
|
return this.codex_app_server.createSession(command);
|
|
62
87
|
throw new Error("Harness cannot create sessions");
|
|
63
88
|
},
|
|
64
|
-
capabilities: () =>
|
|
89
|
+
capabilities: () => this.capabilityReports(),
|
|
90
|
+
usage: this.usage,
|
|
65
91
|
});
|
|
92
|
+
this.relay?.on("warning", (error) => this.manager.registry.emit("warning", error));
|
|
66
93
|
this.manager.registry.on("warning", (error) => this.manager.registry.emit("log", `Warning: ${error instanceof Error ? error.message : String(error)}`));
|
|
67
94
|
}
|
|
68
|
-
async start() { const local_port = await this.local_api.start(); await Promise.all([this.manager.start(), this.opencode?.start(), this.opencode_exports?.start(), this.claude_code?.start(), this.codex_rollouts?.start(), this.codex_app_server?.start()]); this.relay?.start(); return { local_port }; }
|
|
69
|
-
async stop() { this.relay?.stop(); this.opencode?.stop(); this.opencode_exports?.stop(); this.claude_code?.stop(); this.codex_rollouts?.stop(); await this.codex_app_server?.stop(); this.manager.stop(); await this.local_api.stop(); }
|
|
95
|
+
async start() { await this.usage.start(); const local_port = await this.local_api.start(); await Promise.all([this.manager.start(), this.opencode?.start(), this.opencode_exports?.start(), this.claude_code?.start(), this.codex_rollouts?.start(), this.codex_app_server?.start()]); this.relay?.start(); return { local_port }; }
|
|
96
|
+
async stop() { this.relay?.stop(); this.opencode?.stop(); this.opencode_exports?.stop(); this.claude_code?.stop(); this.codex_rollouts?.stop(); await this.codex_app_server?.stop(); this.manager.stop(); await this.local_api.stop(); await this.usage.flush(); }
|
|
97
|
+
capabilityReports() {
|
|
98
|
+
return preferCapabilities([
|
|
99
|
+
this.opencode?.capabilities(), this.codex_app_server?.capabilities(), ...this.hooks.capabilities(),
|
|
100
|
+
this.opencode_exports?.capabilities(), this.codex_rollouts?.capabilities(), this.claude_code?.capabilities(),
|
|
101
|
+
].filter((value) => Boolean(value)));
|
|
102
|
+
}
|
|
70
103
|
harnesses() {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
104
|
+
return aggregateHarnessStatuses([...this.manager.harnesses(), ...(this.opencode?.harnesses() ?? []), ...(this.opencode_exports?.harnesses() ?? []), ...(this.claude_code?.harnesses() ?? []), ...(this.codex_rollouts?.harnesses() ?? []), ...(this.codex_app_server?.harnesses() ?? []), ...this.hooks.harnesses()]);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export function selectCommandTarget(id, sources) {
|
|
108
|
+
for (const source of sources) {
|
|
109
|
+
const target = source(id);
|
|
110
|
+
if (target)
|
|
111
|
+
return target;
|
|
112
|
+
}
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
function capabilityRank(item) {
|
|
116
|
+
const capabilities = item.capabilities;
|
|
117
|
+
if (!capabilities)
|
|
118
|
+
return 0;
|
|
119
|
+
if (capabilities.live_attachment?.supported)
|
|
120
|
+
return 3;
|
|
121
|
+
if (capabilities.discovery.mode === "read_write")
|
|
122
|
+
return 2;
|
|
123
|
+
return 1;
|
|
124
|
+
}
|
|
125
|
+
export function aggregateHarnessStatuses(items) {
|
|
126
|
+
const result = new Map();
|
|
127
|
+
for (const item of items) {
|
|
128
|
+
let aggregate = result.get(item.harness_type);
|
|
129
|
+
if (!aggregate) {
|
|
130
|
+
aggregate = { status: { harness_type: item.harness_type, discovered_sessions: 0, attached_sessions: 0 }, discovered_ids: new Set(), attached_ids: new Set(), anonymous_discovered: 0, anonymous_attached: 0, capability_rank: -1 };
|
|
131
|
+
result.set(item.harness_type, aggregate);
|
|
132
|
+
}
|
|
133
|
+
if (item.discovered_session_ids)
|
|
134
|
+
for (const id of item.discovered_session_ids)
|
|
135
|
+
aggregate.discovered_ids.add(id);
|
|
136
|
+
else
|
|
137
|
+
aggregate.anonymous_discovered += item.discovered_sessions;
|
|
138
|
+
if (item.attached_session_ids)
|
|
139
|
+
for (const id of item.attached_session_ids)
|
|
140
|
+
aggregate.attached_ids.add(id);
|
|
141
|
+
else
|
|
142
|
+
aggregate.anonymous_attached += item.attached_sessions;
|
|
143
|
+
const rank = capabilityRank(item);
|
|
144
|
+
if (rank > aggregate.capability_rank) {
|
|
145
|
+
aggregate.capability_rank = rank;
|
|
146
|
+
aggregate.status = { harness_type: item.harness_type, discovered_sessions: 0, attached_sessions: 0, ...(item.version ? { version: item.version } : {}), ...(item.capabilities ? { capabilities: item.capabilities } : {}) };
|
|
75
147
|
}
|
|
76
|
-
return [...result.values()];
|
|
77
148
|
}
|
|
149
|
+
return [...result.values()].map((aggregate) => ({ ...aggregate.status, discovered_sessions: aggregate.discovered_ids.size + aggregate.anonymous_discovered, attached_sessions: aggregate.attached_ids.size + aggregate.anonymous_attached }));
|
|
150
|
+
}
|
|
151
|
+
export function preferCapabilities(reports) {
|
|
152
|
+
const selected = new Map();
|
|
153
|
+
for (const report of reports)
|
|
154
|
+
if (!selected.has(report.harness_type))
|
|
155
|
+
selected.set(report.harness_type, report);
|
|
156
|
+
return [...selected.values()].map((report) => structuredClone(report));
|
|
78
157
|
}
|
|
79
158
|
export function localCredentials(server_url) {
|
|
80
159
|
const machine_id = `local-${randomUUID()}`;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/codex-app-server.js
CHANGED
|
@@ -5,10 +5,81 @@ import { homedir } from "node:os";
|
|
|
5
5
|
import { dirname, join } from "node:path";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
7
|
import WebSocket from "ws";
|
|
8
|
+
import { normalizeApprovalInput } from "./pending-normalization.js";
|
|
8
9
|
import { SessionRegistry } from "./registry.js";
|
|
10
|
+
export function codexThreadUsage(params, model) {
|
|
11
|
+
const threadId = string(params.threadId);
|
|
12
|
+
const turnId = string(params.turnId);
|
|
13
|
+
const usage = object(params.tokenUsage);
|
|
14
|
+
const total = object(usage?.total);
|
|
15
|
+
if (!threadId || !usage || !total)
|
|
16
|
+
return undefined;
|
|
17
|
+
const input = number(total.inputTokens);
|
|
18
|
+
const output = number(total.outputTokens);
|
|
19
|
+
const reasoning = number(total.reasoningOutputTokens);
|
|
20
|
+
const cache = number(total.cachedInputTokens);
|
|
21
|
+
const cacheWrite = number(total.cacheWriteInputTokens);
|
|
22
|
+
const all = number(total.totalTokens);
|
|
23
|
+
const window = number(usage.modelContextWindow);
|
|
24
|
+
return {
|
|
25
|
+
session_id: threadId, ...(turnId ? { turn_id: turnId } : {}), harness: "codex", provider: "openai", ...(model ? { model } : {}),
|
|
26
|
+
source: "codex-app-server:thread/tokenUsage/updated", source_counter_mode: "cumulative", counter_key: `codex:thread:${threadId}`,
|
|
27
|
+
tokens: { input, output, reasoning, cache_read: cache, cache_write: cacheWrite, total: all },
|
|
28
|
+
...(window !== undefined ? { context: { window_size: window, ...(all !== undefined ? { used_tokens: all } : {}) } } : {}), cost: { status: "unavailable" },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function codexRateLimits(value) {
|
|
32
|
+
const roots = [];
|
|
33
|
+
const legacy = object(value.rateLimits) ?? value;
|
|
34
|
+
roots.push({ prefix: string(legacy.limitName) ?? string(legacy.limitId) ?? "", value: legacy });
|
|
35
|
+
const byId = object(value.rateLimitsByLimitId);
|
|
36
|
+
if (byId)
|
|
37
|
+
for (const [id, item] of Object.entries(byId)) {
|
|
38
|
+
const parsed = object(item);
|
|
39
|
+
if (parsed && parsed !== legacy)
|
|
40
|
+
roots.push({ prefix: string(parsed.limitName) ?? id, value: parsed });
|
|
41
|
+
}
|
|
42
|
+
const result = [];
|
|
43
|
+
for (const root of roots) {
|
|
44
|
+
for (const name of ["primary", "secondary"]) {
|
|
45
|
+
const item = object(root.value[name]);
|
|
46
|
+
if (!item)
|
|
47
|
+
continue;
|
|
48
|
+
const used = number(item.usedPercent);
|
|
49
|
+
const reset = number(item.resetsAt);
|
|
50
|
+
result.push({ name: root.prefix ? `${root.prefix}:${name}` : name, ...(used !== undefined ? { used_percent: used } : {}), ...(reset !== undefined ? { resets_at: new Date(reset * 1_000).toISOString() } : {}) });
|
|
51
|
+
}
|
|
52
|
+
const credits = object(root.value.credits);
|
|
53
|
+
const balance = numeric(credits?.balance);
|
|
54
|
+
if (credits && (balance !== undefined || credits.unlimited === true))
|
|
55
|
+
result.push({ name: root.prefix ? `${root.prefix}:credits` : "credits", ...(balance !== undefined ? { remaining: balance } : {}) });
|
|
56
|
+
const spend = object(root.value.individualLimit);
|
|
57
|
+
const limit = numeric(spend?.limit);
|
|
58
|
+
const used = numeric(spend?.used);
|
|
59
|
+
const reset = number(spend?.resetsAt);
|
|
60
|
+
if (spend)
|
|
61
|
+
result.push({ name: root.prefix ? `${root.prefix}:spend` : "spend", ...(limit !== undefined ? { limit } : {}), ...(limit !== undefined && used !== undefined ? { remaining: Math.max(0, limit - used) } : {}), ...(reset !== undefined ? { resets_at: new Date(reset * 1_000).toISOString() } : {}) });
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
export function codexAccountUsage(value) {
|
|
66
|
+
const thread = object(value.threadUsage);
|
|
67
|
+
const groups = array(thread?.groups).map(object).filter((item) => Boolean(item));
|
|
68
|
+
const sessionId = string(thread?.threadId) ?? null;
|
|
69
|
+
// account/usage/read overlaps thread/tokenUsage/updated. Use it only for
|
|
70
|
+
// estimated cost so additive token totals cannot count a turn twice.
|
|
71
|
+
const usd = numeric(thread?.estimatedUsageUsdMicros);
|
|
72
|
+
const credits = numeric(thread?.estimatedUsageCreditsMicros);
|
|
73
|
+
const models = [...new Set(groups.flatMap((group) => string(group.model) ? [string(group.model)] : []))];
|
|
74
|
+
if (usd === undefined && credits === undefined)
|
|
75
|
+
return undefined;
|
|
76
|
+
return { session_id: sessionId, harness: "codex", provider: "openai", ...(models.length === 1 ? { model: models[0] } : {}), source: "codex-app-server:account/usage/read", source_counter_mode: "cumulative", counter_key: `codex:account-usage:${sessionId ?? "account"}`,
|
|
77
|
+
tokens: {}, cost: usd !== undefined ? { status: "estimated", amount: usd / 1_000_000, currency: "USD" } : credits !== undefined ? { status: "estimated", amount: credits / 1_000_000, currency: "CREDITS" } : { status: "unavailable" } };
|
|
78
|
+
}
|
|
9
79
|
function object(value) { return value !== null && typeof value === "object" && !Array.isArray(value) ? value : undefined; }
|
|
10
80
|
function string(value) { return typeof value === "string" ? value : undefined; }
|
|
11
81
|
function number(value) { return typeof value === "number" && Number.isFinite(value) ? value : undefined; }
|
|
82
|
+
function numeric(value) { const parsed = typeof value === "string" && value.trim() ? Number(value) : value; return typeof parsed === "number" && Number.isFinite(parsed) && parsed >= 0 ? parsed : undefined; }
|
|
12
83
|
function array(value) { return Array.isArray(value) ? value : []; }
|
|
13
84
|
function isoSeconds(value) { return new Date((number(value) ?? Date.now() / 1_000) * 1_000).toISOString(); }
|
|
14
85
|
function summary(value, limit = 2_000) { const text = typeof value === "string" ? value : JSON.stringify(value) ?? ""; return text.length <= limit ? text : `${text.slice(0, limit - 3)}...`; }
|
|
@@ -86,6 +157,7 @@ export class CodexAppServerManager {
|
|
|
86
157
|
#default_model;
|
|
87
158
|
#pollFailures = 0;
|
|
88
159
|
#nextPollAt = 0;
|
|
160
|
+
#accountUsageAt = 0;
|
|
89
161
|
#stopped = false;
|
|
90
162
|
constructor(machine_id, registry, options = {}) {
|
|
91
163
|
this.machine_id = machine_id;
|
|
@@ -114,7 +186,11 @@ export class CodexAppServerManager {
|
|
|
114
186
|
await unlink(this.#token_path).catch(() => undefined);
|
|
115
187
|
}
|
|
116
188
|
target(id) { return this.#online && this.#threads.has(id) ? new CodexTarget(this, id) : undefined; }
|
|
117
|
-
harnesses() {
|
|
189
|
+
harnesses() {
|
|
190
|
+
const ids = [...this.#threads.keys()];
|
|
191
|
+
const attached = this.#online ? [...this.#threads].filter(([, state]) => state.loaded).map(([id]) => id) : [];
|
|
192
|
+
return this.#endpoint ? [{ harness_type: "codex", discovered_sessions: ids.length, attached_sessions: attached.length, discovered_session_ids: ids, attached_session_ids: attached, capabilities: this.health() }] : [];
|
|
193
|
+
}
|
|
118
194
|
health() {
|
|
119
195
|
const support = (value, reason) => value ? { supported: true, mode: "read_write" } : { supported: false, mode: "unsupported", reason };
|
|
120
196
|
const offline = "The Codex app-server transport is not connected.";
|
|
@@ -138,6 +214,9 @@ export class CodexAppServerManager {
|
|
|
138
214
|
const state = this.#threads.get(id);
|
|
139
215
|
state.loaded = true;
|
|
140
216
|
state.retain_until = (this.options.now?.() ?? Date.now()) + (this.options.new_thread_grace_ms ?? 60_000);
|
|
217
|
+
this.#markControlled(id);
|
|
218
|
+
if (command.title)
|
|
219
|
+
await this.setThreadName(id, command.title);
|
|
141
220
|
return id;
|
|
142
221
|
}
|
|
143
222
|
async poll() {
|
|
@@ -151,6 +230,10 @@ export class CodexAppServerManager {
|
|
|
151
230
|
if (!this.#socket || this.#socket.readyState !== WebSocket.OPEN)
|
|
152
231
|
await this.#connect();
|
|
153
232
|
await this.#listThreads();
|
|
233
|
+
if (now - this.#accountUsageAt >= 60_000) {
|
|
234
|
+
await this.#accountUsage();
|
|
235
|
+
this.#accountUsageAt = now;
|
|
236
|
+
}
|
|
154
237
|
this.#pollFailures = 0;
|
|
155
238
|
this.#nextPollAt = 0;
|
|
156
239
|
}
|
|
@@ -172,6 +255,7 @@ export class CodexAppServerManager {
|
|
|
172
255
|
if (!state.loaded) {
|
|
173
256
|
await this.#request("thread/resume", { threadId });
|
|
174
257
|
state.loaded = true;
|
|
258
|
+
this.#markControlled(threadId);
|
|
175
259
|
}
|
|
176
260
|
const result = object(await this.#request("turn/start", { threadId, clientUserMessageId: randomUUID(), input: [{ type: "text", text, text_elements: [] }] }));
|
|
177
261
|
const turn = object(result?.turn);
|
|
@@ -186,6 +270,13 @@ export class CodexAppServerManager {
|
|
|
186
270
|
await this.#request("turn/interrupt", { threadId, turnId: state.turn_id });
|
|
187
271
|
this.#operations.interrupt = true;
|
|
188
272
|
}
|
|
273
|
+
async setThreadName(threadId, name) {
|
|
274
|
+
this.#requireThread(threadId);
|
|
275
|
+
await this.#request("thread/name/set", { threadId, name });
|
|
276
|
+
const current = this.registry.get(threadId);
|
|
277
|
+
if (current)
|
|
278
|
+
this.registry.upsert({ ...current, title: name });
|
|
279
|
+
}
|
|
189
280
|
async setCollaborationMode(threadId, mode) {
|
|
190
281
|
this.#requireThread(threadId);
|
|
191
282
|
const model = this.#default_model ?? this.#models[0]?.model_id;
|
|
@@ -348,7 +439,7 @@ export class CodexAppServerManager {
|
|
|
348
439
|
if (state.missing_polls < (this.options.missing_poll_limit ?? 3))
|
|
349
440
|
continue;
|
|
350
441
|
this.#threads.delete(id);
|
|
351
|
-
if (object(current?.metadata)?.codex_control
|
|
442
|
+
if (String(object(current?.metadata)?.codex_control).startsWith("app-server"))
|
|
352
443
|
this.registry.remove(id);
|
|
353
444
|
}
|
|
354
445
|
const now = this.options.now?.() ?? Date.now();
|
|
@@ -382,8 +473,8 @@ export class CodexAppServerManager {
|
|
|
382
473
|
this.#threads.set(id, state);
|
|
383
474
|
const status = current?.pending?.type === "approval" ? "waiting_approval" : current?.pending?.type === "question" ? "waiting_input" : threadStatus(thread.status);
|
|
384
475
|
this.registry.upsert({ id, machine_id: this.machine_id, harness_type: "codex", cwd: string(thread.cwd) ?? this.directory, status, created_at: isoSeconds(thread.createdAt), last_activity_at: isoSeconds(thread.updatedAt), pending: current?.pending ?? null,
|
|
385
|
-
title: string(thread.name) ?? string(thread.preview), read_only:
|
|
386
|
-
metadata: { codex_control: "app-server", live_process_attached:
|
|
476
|
+
title: string(thread.name) ?? string(thread.preview), read_only: !state.loaded, ...(string(thread.modelProvider) ? { model: { provider_id: string(thread.modelProvider), model_id: "unknown" } } : {}),
|
|
477
|
+
metadata: { codex_control: state.loaded ? "app-server" : "app-server-history", live_process_attached: state.loaded, transport: this.#transport, cli_version: string(thread.cliVersion) ?? this.#version, source: thread.source } });
|
|
387
478
|
}
|
|
388
479
|
async #readThread(threadId) {
|
|
389
480
|
const response = object(await this.#request("thread/read", { threadId, includeTurns: true }));
|
|
@@ -453,8 +544,12 @@ export class CodexAppServerManager {
|
|
|
453
544
|
this.#send({ id: rpcId, error: { code: -32602, message: "Unknown thread" } });
|
|
454
545
|
return;
|
|
455
546
|
}
|
|
547
|
+
this.#markControlled(threadId);
|
|
456
548
|
const id = String(rpcId);
|
|
457
|
-
const
|
|
549
|
+
const details = normalizeApprovalInput({ command: params.command, description: params.reason });
|
|
550
|
+
const pending = { type: "approval", id, session_id: threadId, tool_name: method.includes("commandExecution") ? "commandExecution" : "fileChange", tool_input_summary: details.summary,
|
|
551
|
+
...(details.command ? { command: details.command } : {}), ...(details.description ? { description: details.description } : {}),
|
|
552
|
+
source: "codex-app-server", response_mode: "remote", requested_at: new Date(number(params.startedAtMs) ?? Date.now()).toISOString() };
|
|
458
553
|
this.#pending.set(id, { rpc_id: rpcId, method, params });
|
|
459
554
|
this.registry.setPending(threadId, pending);
|
|
460
555
|
this.registry.append(threadId, "permission_request", { approval_id: id, tool_name: pending.tool_name, tool_input_summary: pending.tool_input_summary }, { id: `codex-request-${requestKey(rpcId)}` });
|
|
@@ -467,11 +562,12 @@ export class CodexAppServerManager {
|
|
|
467
562
|
this.#send({ id: rpcId, error: { code: -32602, message: "Unknown thread" } });
|
|
468
563
|
return;
|
|
469
564
|
}
|
|
565
|
+
this.#markControlled(threadId);
|
|
470
566
|
const questions = array(params.questions).map(object).filter((item) => Boolean(item));
|
|
471
567
|
const id = String(rpcId);
|
|
472
568
|
const pending = { type: "question", id, session_id: threadId, prompt: questions.map((item) => string(item.question) ?? "").join("\n"), header: questions.map((item) => string(item.header) ?? "").join(" / "),
|
|
473
569
|
options: questions.flatMap((item) => questionOptions(item.options).map((option) => option.label)), option_details: questions.flatMap((item) => questionOptions(item.options)),
|
|
474
|
-
questions: questions.map((item) => ({ prompt: string(item.question) ?? "", header: string(item.header) ?? "", options: questionOptions(item.options), custom: item.isOther === true })), tool_call_id: string(params.itemId), requested_at: new Date().toISOString() };
|
|
570
|
+
questions: questions.map((item) => ({ prompt: string(item.question) ?? "", header: string(item.header) ?? "", options: questionOptions(item.options), custom: item.isOther === true })), tool_call_id: string(params.itemId), source: "codex-app-server", response_mode: "remote", requested_at: new Date().toISOString() };
|
|
475
571
|
this.#pending.set(id, { rpc_id: rpcId, method, params });
|
|
476
572
|
this.registry.setPending(threadId, pending);
|
|
477
573
|
this.registry.setStatus(threadId, "waiting_input");
|
|
@@ -481,6 +577,23 @@ export class CodexAppServerManager {
|
|
|
481
577
|
this.#diagnostic(method);
|
|
482
578
|
}
|
|
483
579
|
#notification(method, params) {
|
|
580
|
+
// This official process-level notification has no session state for Rivetplane.
|
|
581
|
+
if (method === "remoteControl/status/changed")
|
|
582
|
+
return;
|
|
583
|
+
if (method === "thread/tokenUsage/updated") {
|
|
584
|
+
const threadId = string(params.threadId);
|
|
585
|
+
const model = threadId ? this.registry.get(threadId)?.model?.model_id : undefined;
|
|
586
|
+
const sample = codexThreadUsage(params, model);
|
|
587
|
+
if (sample)
|
|
588
|
+
this.options.usage?.ingest(sample);
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
if (method === "account/rateLimits/updated") {
|
|
592
|
+
const quota = codexRateLimits(params);
|
|
593
|
+
if (quota.length)
|
|
594
|
+
this.options.usage?.ingest({ session_id: null, harness: "codex", provider: "openai", source: "codex-app-server:account/rateLimits/updated", source_counter_mode: "cumulative", counter_key: "codex:account:rate-limits", tokens: {}, cost: { status: "unavailable" }, quota });
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
484
597
|
const threadId = string(params.threadId);
|
|
485
598
|
if (method === "turn/started" && threadId) {
|
|
486
599
|
const turn = object(params.turn);
|
|
@@ -519,8 +632,15 @@ export class CodexAppServerManager {
|
|
|
519
632
|
}
|
|
520
633
|
if (["thread/started", "thread/status/changed", "thread/name/updated"].includes(method)) {
|
|
521
634
|
const thread = object(params.thread);
|
|
522
|
-
|
|
635
|
+
const id = string(thread?.id);
|
|
636
|
+
if (thread && id) {
|
|
637
|
+
if (method === "thread/started") {
|
|
638
|
+
const state = this.#threads.get(id) ?? { loaded: true };
|
|
639
|
+
state.loaded = true;
|
|
640
|
+
this.#threads.set(id, state);
|
|
641
|
+
}
|
|
523
642
|
this.#syncThread(thread);
|
|
643
|
+
}
|
|
524
644
|
return;
|
|
525
645
|
}
|
|
526
646
|
if (method === "error" || method === "warning") {
|
|
@@ -553,6 +673,29 @@ export class CodexAppServerManager {
|
|
|
553
673
|
this.registry.append(threadId, "tool_result", { tool_call_id: id, output_summary: summary(item.aggregatedOutput ?? item.result ?? item.error), is_error: string(item.status) !== "completed" }, { id: `codex-item-${id}-result`, ts });
|
|
554
674
|
}
|
|
555
675
|
}
|
|
676
|
+
async #accountUsage() {
|
|
677
|
+
try {
|
|
678
|
+
const response = object(await this.#request("account/usage/read", {}));
|
|
679
|
+
const sample = response && codexAccountUsage(response);
|
|
680
|
+
if (sample)
|
|
681
|
+
this.options.usage?.ingest(sample);
|
|
682
|
+
}
|
|
683
|
+
catch { /* Version-dependent. */ }
|
|
684
|
+
await mapLimit([...this.#threads.keys()].slice(0, 12), this.options.concurrency ?? 2, async (threadId) => { try {
|
|
685
|
+
const response = object(await this.#request("account/usage/read", { threadId }));
|
|
686
|
+
const sample = response && codexAccountUsage(response);
|
|
687
|
+
if (sample)
|
|
688
|
+
this.options.usage?.ingest(sample);
|
|
689
|
+
}
|
|
690
|
+
catch { /* Version-dependent. */ } });
|
|
691
|
+
try {
|
|
692
|
+
const response = object(await this.#request("account/rateLimits/read", {}));
|
|
693
|
+
const quota = response ? codexRateLimits(response) : [];
|
|
694
|
+
if (quota.length)
|
|
695
|
+
this.options.usage?.ingest({ session_id: null, harness: "codex", provider: "openai", source: "codex-app-server:account/rateLimits/read", source_counter_mode: "cumulative", counter_key: "codex:account:rate-limits", tokens: {}, cost: { status: "unavailable" }, quota });
|
|
696
|
+
}
|
|
697
|
+
catch { /* Version-dependent. */ }
|
|
698
|
+
}
|
|
556
699
|
#request(method, params) {
|
|
557
700
|
const id = this.#request_id++;
|
|
558
701
|
return new Promise((resolve, reject) => {
|
|
@@ -577,9 +720,11 @@ export class CodexAppServerManager {
|
|
|
577
720
|
request.reject(error);
|
|
578
721
|
} this.#requests.clear(); this.#pending.clear(); for (const id of this.#threads.keys()) {
|
|
579
722
|
const current = this.registry.get(id);
|
|
580
|
-
if (object(current?.metadata)?.codex_control
|
|
723
|
+
if (String(object(current?.metadata)?.codex_control).startsWith("app-server"))
|
|
581
724
|
this.registry.remove(id);
|
|
582
725
|
} this.#threads.clear(); }
|
|
726
|
+
#markControlled(id) { const state = this.#threads.get(id); const current = this.registry.get(id); if (!state || !current)
|
|
727
|
+
return; state.loaded = true; this.registry.upsert({ ...current, read_only: false, metadata: { ...object(current.metadata), codex_control: "app-server", live_process_attached: true } }); }
|
|
583
728
|
#requireThread(id) { const state = this.#threads.get(id); if (!state)
|
|
584
729
|
throw new Error(`Codex thread ${id} is not attached`); return state; }
|
|
585
730
|
#disableMethod(method) { if (method === "turn/start")
|