@dsiloed/silo-link 1.11.1 → 1.12.5

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.
Files changed (37) hide show
  1. package/README.md +53 -5
  2. package/dist/cable/subscription-manager.d.ts +2 -1
  3. package/dist/cable/subscription-manager.d.ts.map +1 -1
  4. package/dist/cable/subscription-manager.js +39 -15
  5. package/dist/cable/subscription-manager.js.map +1 -1
  6. package/dist/cli/commands.d.ts.map +1 -1
  7. package/dist/cli/commands.js +58 -2
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/core/bridge.d.ts.map +1 -1
  10. package/dist/core/bridge.js +24 -9
  11. package/dist/core/bridge.js.map +1 -1
  12. package/dist/core/codex-launcher.d.ts +89 -0
  13. package/dist/core/codex-launcher.d.ts.map +1 -0
  14. package/dist/core/codex-launcher.js +296 -0
  15. package/dist/core/codex-launcher.js.map +1 -0
  16. package/dist/core/launcher-factory.d.ts +1 -1
  17. package/dist/core/launcher-factory.d.ts.map +1 -1
  18. package/dist/core/launcher-factory.js +4 -4
  19. package/dist/core/launcher-factory.js.map +1 -1
  20. package/dist/core/report-usage.d.ts +51 -0
  21. package/dist/core/report-usage.d.ts.map +1 -0
  22. package/dist/core/report-usage.js +112 -0
  23. package/dist/core/report-usage.js.map +1 -0
  24. package/dist/core/session-manager.d.ts +9 -0
  25. package/dist/core/session-manager.d.ts.map +1 -1
  26. package/dist/core/session-manager.js +21 -5
  27. package/dist/core/session-manager.js.map +1 -1
  28. package/dist/core/transcript-usage.d.ts +36 -0
  29. package/dist/core/transcript-usage.d.ts.map +1 -1
  30. package/dist/core/transcript-usage.js +190 -0
  31. package/dist/core/transcript-usage.js.map +1 -1
  32. package/dist/mcp/tools/register-tools.d.ts.map +1 -1
  33. package/dist/mcp/tools/register-tools.js +8 -1
  34. package/dist/mcp/tools/register-tools.js.map +1 -1
  35. package/dist/types/index.d.ts +9 -2
  36. package/dist/types/index.d.ts.map +1 -1
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { SiloLinkConfig } from '../types/index.js';
2
+ import type { SessionManager } from './session-manager.js';
3
+ import type { MessageQueue } from './message-queue.js';
4
+ import type { DSiloedClient } from '../api/dsiloed-client.js';
5
+ import type { WorkspaceManager } from './workspace-manager.js';
6
+ import { BaseTmuxLauncher } from './base-tmux-launcher.js';
7
+ import { type UsageEntry } from './transcript-usage.js';
8
+ /**
9
+ * Codex CLI (OpenAI) implementation of the AgentLauncher interface.
10
+ *
11
+ * Mirrors GeminiLauncher's tmux-based lifecycle with Codex-specific bits:
12
+ * - Command: launched as `env CODEX_HOME=<per-env home> codex …` (see getCommand
13
+ * /getArgs) — codex has no --home flag, and tmux drops caller env on an existing
14
+ * server, so the `env` prefix is how CODEX_HOME reliably reaches the process.
15
+ * - Auto-approval: `--dangerously-bypass-approvals-and-sandbox` so a headless
16
+ * tmux session never wedges on an approval/sandbox prompt (override via
17
+ * config.codex_args).
18
+ * - MCP: `[mcp_servers.*]` STDIO servers bridged by `npx mcp-remote` (the SAME
19
+ * path Claude/Gemini use), written to `$CODEX_HOME/config.toml`. Codex's NATIVE
20
+ * streamable-HTTP client fails the initialize handshake against the remote
21
+ * model_api MCP server through nginx/TLS, so we bridge via mcp-remote instead.
22
+ * The dsiloed JWT rides inline in the `--header` arg. We point CODEX_HOME at a
23
+ * per-env dir (so each daemon identity owns its own MCP config, the same
24
+ * isolation Claude/Gemini get via staging cwd) and copy the user's `auth.json`
25
+ * into it so the codex login carries over.
26
+ * - Instructions file: `AGENTS.md` (codex's analogue of CLAUDE.md / GEMINI.md).
27
+ * - MCP tool names: codex prefixes as `<server>__<tool>` (e.g.
28
+ * `silolink__remote_register`, `silolink_server__conversation_chat_tool`).
29
+ * - Usage: parsed from the rollout under ~/.codex/sessions (see transcript-usage).
30
+ *
31
+ * Validated against codex-cli 0.141.0:
32
+ * ✓ `--dangerously-bypass-approvals-and-sandbox` ✓ `codex resume <id>`
33
+ * ✓ `[mcp_servers.*]` url + bearer_token_env_var ✓ CODEX_HOME respected
34
+ * ✓ `<server>__<tool>` MCP tool naming (default; non_prefixed_mcp_tool_names off)
35
+ * Flags/command stay overridable via config for forward-compat across versions;
36
+ * the base launcher's pane watcher surfaces `error: unknown option …` on drift.
37
+ */
38
+ export declare class CodexLauncher extends BaseTmuxLauncher {
39
+ constructor(config: SiloLinkConfig, sessionManager: SessionManager, dsiloedClient?: DSiloedClient, messageQueue?: MessageQueue, workspaceManager?: WorkspaceManager);
40
+ protected getCommand(): string;
41
+ protected getArgs(): string[];
42
+ protected codexFlags(): string[];
43
+ protected getReadyIndicator(): string[];
44
+ protected formatPrompt(prompt: string): string;
45
+ protected setupMcpConfig(cwd: string, toolAllowlist?: string[] | null): Promise<void>;
46
+ protected checkEnabled(): boolean;
47
+ protected getWorkingDirectory(): string;
48
+ protected isAutoRespawnConfigured(): boolean;
49
+ protected getIdleTimeoutMs(): number;
50
+ protected getIdleKillAfterMs(): number;
51
+ protected usesBracketedPaste(): boolean;
52
+ protected getSessionPrompt(): string | undefined;
53
+ protected getAgentEnv(): Record<string, string>;
54
+ protected getTmuxPrefix(): string;
55
+ protected getLogTag(): string;
56
+ protected getCostMetadataKey(): string;
57
+ protected extractTranscriptUsage(cwd: string): {
58
+ cli_type: string;
59
+ cost_basis: 'real' | 'imputed';
60
+ usage: UsageEntry[];
61
+ } | null;
62
+ protected buildLaunchPrompt(reason: string, conversationId: number | undefined, agentContext: string, workspaceContext: string): {
63
+ prompt: string;
64
+ extraArgs: string[];
65
+ };
66
+ /**
67
+ * Per-env CODEX_HOME. When a staging_path is configured (per-env identity
68
+ * isolation), nest the codex home under it so each daemon owns its own
69
+ * config.toml + JWT; otherwise fall back to the user's default ~/.codex
70
+ * (single-identity machines).
71
+ */
72
+ private codexHome;
73
+ /**
74
+ * Copy the user's codex auth (~/.codex/auth.json) into the per-env CODEX_HOME
75
+ * so the login carries over. No-op when not isolating (codexHome === ~/.codex)
76
+ * or when the source/target are the same. Failure-tolerant — codex will simply
77
+ * prompt for login if auth can't be copied.
78
+ */
79
+ private ensureCodexAuth;
80
+ /**
81
+ * Adapt a prompt originally written for Claude to codex conventions. Codex
82
+ * names MCP tools `<server>__<tool>`, so strip the Claude `mcp__` prefix:
83
+ * mcp__silolink__remote_* -> silolink__remote_*
84
+ * mcp__silolink_server__<tool> -> silolink_server__<tool>
85
+ * and point at codex's instructions file (AGENTS.md).
86
+ */
87
+ private adaptPromptForCodex;
88
+ }
89
+ //# sourceMappingURL=codex-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-launcher.d.ts","sourceRoot":"","sources":["../../src/core/codex-launcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;gBAE/C,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB;IAiBrC,SAAS,CAAC,UAAU,IAAI,MAAM;IAM9B,SAAS,CAAC,OAAO,IAAI,MAAM,EAAE;IAK7B,SAAS,CAAC,UAAU,IAAI,MAAM,EAAE;IAOhC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAIvC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;cAI9B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3F,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,mBAAmB,IAAI,MAAM;IAcvC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAMtC,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAIhD,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAW/C,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,SAAS,IAAI,MAAM;IAI7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAOtC,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,GAAG,IAAI;IAU/H,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;IA6C1C;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAK5B"}
@@ -0,0 +1,296 @@
1
+ import { existsSync, mkdirSync, writeFileSync, readFileSync, copyFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ import { BaseTmuxLauncher } from './base-tmux-launcher.js';
5
+ import { locateCodexTranscript, parseCodexTranscript, codexCostBasis, } from './transcript-usage.js';
6
+ /**
7
+ * Codex CLI (OpenAI) implementation of the AgentLauncher interface.
8
+ *
9
+ * Mirrors GeminiLauncher's tmux-based lifecycle with Codex-specific bits:
10
+ * - Command: launched as `env CODEX_HOME=<per-env home> codex …` (see getCommand
11
+ * /getArgs) — codex has no --home flag, and tmux drops caller env on an existing
12
+ * server, so the `env` prefix is how CODEX_HOME reliably reaches the process.
13
+ * - Auto-approval: `--dangerously-bypass-approvals-and-sandbox` so a headless
14
+ * tmux session never wedges on an approval/sandbox prompt (override via
15
+ * config.codex_args).
16
+ * - MCP: `[mcp_servers.*]` STDIO servers bridged by `npx mcp-remote` (the SAME
17
+ * path Claude/Gemini use), written to `$CODEX_HOME/config.toml`. Codex's NATIVE
18
+ * streamable-HTTP client fails the initialize handshake against the remote
19
+ * model_api MCP server through nginx/TLS, so we bridge via mcp-remote instead.
20
+ * The dsiloed JWT rides inline in the `--header` arg. We point CODEX_HOME at a
21
+ * per-env dir (so each daemon identity owns its own MCP config, the same
22
+ * isolation Claude/Gemini get via staging cwd) and copy the user's `auth.json`
23
+ * into it so the codex login carries over.
24
+ * - Instructions file: `AGENTS.md` (codex's analogue of CLAUDE.md / GEMINI.md).
25
+ * - MCP tool names: codex prefixes as `<server>__<tool>` (e.g.
26
+ * `silolink__remote_register`, `silolink_server__conversation_chat_tool`).
27
+ * - Usage: parsed from the rollout under ~/.codex/sessions (see transcript-usage).
28
+ *
29
+ * Validated against codex-cli 0.141.0:
30
+ * ✓ `--dangerously-bypass-approvals-and-sandbox` ✓ `codex resume <id>`
31
+ * ✓ `[mcp_servers.*]` url + bearer_token_env_var ✓ CODEX_HOME respected
32
+ * ✓ `<server>__<tool>` MCP tool naming (default; non_prefixed_mcp_tool_names off)
33
+ * Flags/command stay overridable via config for forward-compat across versions;
34
+ * the base launcher's pane watcher surfaces `error: unknown option …` on drift.
35
+ */
36
+ export class CodexLauncher extends BaseTmuxLauncher {
37
+ constructor(config, sessionManager, dsiloedClient, messageQueue, workspaceManager) {
38
+ super(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
39
+ }
40
+ // --- Abstract implementation ---
41
+ // We launch codex through `env CODEX_HOME=<per-env home> codex …` rather than
42
+ // bare `codex`. WHY: the base launcher passes getAgentEnv() on the tmux spawn,
43
+ // but `tmux new-session` on an ALREADY-RUNNING server (the daemon's case) gives
44
+ // new panes the server's global env, NOT the caller's — so CODEX_HOME never
45
+ // reached the codex process and it read the empty default ~/.codex, exposing no
46
+ // MCP tools. The `env` prefix sets CODEX_HOME on codex's own process regardless
47
+ // of tmux env propagation. (Claude/Gemini don't hit this — they read MCP from
48
+ // files in the cwd, not from an env-var-located home.) The dsiloed JWT is NOT
49
+ // passed here — it lives in config.toml's http_headers (per-env, on disk like
50
+ // the claude/gemini configs), so it's never exposed in `ps`/argv.
51
+ getCommand() {
52
+ return 'env';
53
+ }
54
+ // `env CODEX_HOME=<home> codex` — then buildLaunchPrompt()'s extraArgs append the
55
+ // resume subcommand (order-sensitive) + flags after the codex binary.
56
+ getArgs() {
57
+ return [`CODEX_HOME=${this.codexHome()}`, this.config.codex_command || 'codex'];
58
+ }
59
+ // codex-cli 0.141.0: validated flag (skips approvals + sandbox for headless run).
60
+ codexFlags() {
61
+ return this.config.codex_args ?? ['--dangerously-bypass-approvals-and-sandbox'];
62
+ }
63
+ // Best-effort match for the codex TUI's ready state. If a codex version prints
64
+ // none of these the base launcher still sends the prompt after its ready
65
+ // timeout, so a miss degrades to a small delay rather than a wedge.
66
+ getReadyIndicator() {
67
+ return ['Codex', 'codex', 'send a message', 'To get started', 'esc to interrupt', '▌'];
68
+ }
69
+ formatPrompt(prompt) {
70
+ return this.adaptPromptForCodex(prompt);
71
+ }
72
+ async setupMcpConfig(cwd, toolAllowlist) {
73
+ if (!this.config.jwt) {
74
+ throw new Error('No JWT in config. Run "silolink config" to log in.');
75
+ }
76
+ // The dsiloed MCP URL pointing at the same server SiloLink connects to.
77
+ let dsiloedUrl = `${this.config.host}/api/v1/mcp?categories=data,admin,conversation,utility`;
78
+ if (toolAllowlist && toolAllowlist.length > 0) {
79
+ const url = new URL(`${this.config.host}/api/v1/mcp`);
80
+ url.searchParams.set('tools', toolAllowlist.join(','));
81
+ dsiloedUrl = url.toString();
82
+ }
83
+ const codexHome = this.codexHome();
84
+ const configPath = join(codexHome, 'config.toml');
85
+ try {
86
+ mkdirSync(codexHome, { recursive: true });
87
+ this.ensureCodexAuth(codexHome);
88
+ // SiloLink OWNS this per-env config.toml — regenerate the MCP block each
89
+ // launch. Preserve any non-mcp_servers lines the user added, but drop prior
90
+ // [mcp_servers.*] tables so stale config can't linger.
91
+ //
92
+ // Both servers are configured as STDIO servers bridged by `npx mcp-remote`
93
+ // — the SAME proven path Claude/Gemini use. Codex's NATIVE streamable-HTTP
94
+ // client fails the initialize handshake against the remote model_api MCP
95
+ // server through nginx/TLS ("Transport channel closed, when send
96
+ // initialized notification"), so we go through mcp-remote instead. The JWT
97
+ // rides inline in the --header arg (as for claude/gemini).
98
+ const preserved = existsSync(configPath)
99
+ ? stripMcpServers(readFileSync(configPath, 'utf-8'))
100
+ : '';
101
+ const mcpToml = [
102
+ '# Managed by SiloLink — MCP servers (regenerated each launch). stdio via mcp-remote.',
103
+ '[mcp_servers.silolink]',
104
+ 'command = "npx"',
105
+ `args = ${tomlArray(['mcp-remote', `http://localhost:${this.config.mcp_port}/mcp`])}`,
106
+ '',
107
+ '[mcp_servers.silolink_server]',
108
+ 'command = "npx"',
109
+ `args = ${tomlArray(['mcp-remote', dsiloedUrl, '--header', `Authorization: Bearer ${this.config.jwt}`])}`,
110
+ '',
111
+ ].join('\n');
112
+ const body = preserved.trim() ? `${preserved.trimEnd()}\n\n${mcpToml}` : mcpToml;
113
+ writeFileSync(configPath, body);
114
+ console.log(`[CodexLauncher] Configured MCP servers in ${configPath} (CODEX_HOME=${codexHome}, host: ${this.config.host}, cwd: ${cwd})`);
115
+ }
116
+ catch (err) {
117
+ console.error(`[CodexLauncher] Failed to configure ${configPath}: ${err}`);
118
+ }
119
+ }
120
+ checkEnabled() {
121
+ return !!this.config.projects_path;
122
+ }
123
+ getWorkingDirectory() {
124
+ // Mirror Claude/Gemini: prefer the per-env staging dir as the default cwd.
125
+ const cwd = this.config.staging_path || this.config.projects_path || process.cwd();
126
+ if (this.config.staging_path && !existsSync(cwd)) {
127
+ try {
128
+ mkdirSync(cwd, { recursive: true });
129
+ console.log(`[CodexLauncher] Created staging dir ${cwd}`);
130
+ }
131
+ catch (err) {
132
+ console.warn(`[CodexLauncher] Failed to create staging dir ${cwd}: ${err}`);
133
+ }
134
+ }
135
+ return cwd;
136
+ }
137
+ isAutoRespawnConfigured() {
138
+ return !!this.config.codex_auto_respawn;
139
+ }
140
+ getIdleTimeoutMs() {
141
+ return this.config.codex_idle_timeout_ms || 30000;
142
+ }
143
+ getIdleKillAfterMs() {
144
+ return this.config.codex_idle_kill_after_ms ?? 0;
145
+ }
146
+ // Codex's TUI treats a multi-line paste as interactive input; send prompts in
147
+ // bracketed-paste mode like Gemini to avoid tripping shell/slash handling.
148
+ usesBracketedPaste() {
149
+ return true;
150
+ }
151
+ getSessionPrompt() {
152
+ return this.config.codex_session_prompt;
153
+ }
154
+ getAgentEnv() {
155
+ return {
156
+ SILOLINK_MCP_URL: `http://localhost:${this.config.mcp_port}/mcp`,
157
+ SILOLINK_AGENT_PROVIDER: 'codex',
158
+ // Also set CODEX_HOME here (belt-and-suspenders for the first-tmux-server
159
+ // case). The reliable path is the `env CODEX_HOME=…` prefix in getArgs(),
160
+ // since tmux doesn't propagate this to panes on an existing server.
161
+ CODEX_HOME: this.codexHome(),
162
+ };
163
+ }
164
+ getTmuxPrefix() {
165
+ return 'silolink-codex';
166
+ }
167
+ getLogTag() {
168
+ return '[CodexLauncher]';
169
+ }
170
+ getCostMetadataKey() {
171
+ return 'codex_session_cost_usd';
172
+ }
173
+ // Token-level usage from the codex rollout on disk, located by the launch cwd
174
+ // (-> matching session_meta) + the resumed session id. cost_basis reflects the
175
+ // live codex auth mode (API key = real $, ChatGPT sign-in = imputed).
176
+ extractTranscriptUsage(cwd) {
177
+ const transcriptPath = locateCodexTranscript(cwd, this.lastSessionId);
178
+ if (!transcriptPath)
179
+ return null;
180
+ const usage = parseCodexTranscript(readFileSync(transcriptPath, 'utf-8'));
181
+ if (usage.length === 0)
182
+ return null;
183
+ return { cli_type: 'codex', cost_basis: codexCostBasis(), usage };
184
+ }
185
+ buildLaunchPrompt(reason, conversationId, agentContext, workspaceContext) {
186
+ const flags = this.codexFlags();
187
+ // codex-cli 0.141.0: `codex resume <SESSION_ID>` (UUID) accepts the sandbox/
188
+ // approval flags after it. Disabled by default (codex_resume_enabled) — a
189
+ // fresh session reconstructs context via remote_load_context, also fine.
190
+ const canResume = this.config.codex_resume_enabled && this.lastSessionId &&
191
+ (reason === 'process-exit' || reason === 'inbound-message');
192
+ if (canResume) {
193
+ return {
194
+ prompt: 'Continue polling SiloLink for messages.' + workspaceContext,
195
+ extraArgs: ['resume', this.lastSessionId, ...flags],
196
+ };
197
+ }
198
+ if (reason === 'process-exit' || reason === 'inbound-message') {
199
+ const agentIdParam = this.pendingLlmAgentId ? `, "llm_agent_id": ${this.pendingLlmAgentId}` : '';
200
+ this.pendingLlmAgentId = null;
201
+ const registerParams = conversationId
202
+ ? `{ "conversation_id": ${conversationId}${agentIdParam} }`
203
+ : `{${agentIdParam ? agentIdParam.substring(2) : ''}}`;
204
+ const triggerLine = this.pendingTriggerMessage
205
+ ? `Pending user message (address after load_context): "${this.pendingTriggerMessage}"`
206
+ : '';
207
+ this.pendingTriggerMessage = null;
208
+ return {
209
+ prompt: [
210
+ `Fresh session (no resume). Call silolink__remote_register with ${registerParams}, then follow the SiloLink section in AGENTS.md (call silolink__remote_load_context once, then enter the poll loop).`,
211
+ triggerLine,
212
+ agentContext,
213
+ workspaceContext,
214
+ ].filter(Boolean).join('\n'),
215
+ extraArgs: [...flags],
216
+ };
217
+ }
218
+ return {
219
+ prompt: (this.config.codex_session_prompt || this.config.claude_session_prompt ||
220
+ 'Register with SiloLink and enter the poll loop.') + agentContext + workspaceContext,
221
+ extraArgs: [...flags],
222
+ };
223
+ }
224
+ // --- Codex-specific ---
225
+ /**
226
+ * Per-env CODEX_HOME. When a staging_path is configured (per-env identity
227
+ * isolation), nest the codex home under it so each daemon owns its own
228
+ * config.toml + JWT; otherwise fall back to the user's default ~/.codex
229
+ * (single-identity machines).
230
+ */
231
+ codexHome() {
232
+ if (this.config.staging_path)
233
+ return join(this.config.staging_path, '.codex-home');
234
+ return process.env.CODEX_HOME || join(homedir(), '.codex');
235
+ }
236
+ /**
237
+ * Copy the user's codex auth (~/.codex/auth.json) into the per-env CODEX_HOME
238
+ * so the login carries over. No-op when not isolating (codexHome === ~/.codex)
239
+ * or when the source/target are the same. Failure-tolerant — codex will simply
240
+ * prompt for login if auth can't be copied.
241
+ */
242
+ ensureCodexAuth(codexHome) {
243
+ const defaultHome = join(homedir(), '.codex');
244
+ if (codexHome === defaultHome)
245
+ return;
246
+ const src = join(defaultHome, 'auth.json');
247
+ const dest = join(codexHome, 'auth.json');
248
+ try {
249
+ if (existsSync(src) && !existsSync(dest)) {
250
+ copyFileSync(src, dest);
251
+ console.log(`[CodexLauncher] Copied codex auth into ${dest}`);
252
+ }
253
+ }
254
+ catch (err) {
255
+ console.warn(`[CodexLauncher] Could not copy codex auth to ${dest}: ${err}`);
256
+ }
257
+ }
258
+ /**
259
+ * Adapt a prompt originally written for Claude to codex conventions. Codex
260
+ * names MCP tools `<server>__<tool>`, so strip the Claude `mcp__` prefix:
261
+ * mcp__silolink__remote_* -> silolink__remote_*
262
+ * mcp__silolink_server__<tool> -> silolink_server__<tool>
263
+ * and point at codex's instructions file (AGENTS.md).
264
+ */
265
+ adaptPromptForCodex(prompt) {
266
+ return prompt
267
+ .replace(/mcp__silolink/g, 'silolink')
268
+ .replace(/CLAUDE\.md/g, 'AGENTS.md');
269
+ }
270
+ }
271
+ /** Render a JS string array as a TOML inline array of basic (double-quoted) strings. */
272
+ function tomlArray(items) {
273
+ const esc = (s) => `"${s.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
274
+ return `[${items.map(esc).join(', ')}]`;
275
+ }
276
+ /**
277
+ * Remove every `[mcp_servers.*]` table (header line through the line before the
278
+ * next top-level `[` table or EOF) from a config.toml body, leaving all other
279
+ * content intact. Lets SiloLink own the MCP block without clobbering unrelated
280
+ * user config. Best-effort line scanner (no full TOML parse).
281
+ */
282
+ function stripMcpServers(toml) {
283
+ const lines = toml.split('\n');
284
+ const out = [];
285
+ let skipping = false;
286
+ for (const line of lines) {
287
+ const header = line.trim();
288
+ if (header.startsWith('[')) {
289
+ skipping = header.startsWith('[mcp_servers.') || header === '[mcp_servers]';
290
+ }
291
+ if (!skipping)
292
+ out.push(line);
293
+ }
294
+ return out.join('\n');
295
+ }
296
+ //# sourceMappingURL=codex-launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-launcher.js","sourceRoot":"","sources":["../../src/core/codex-launcher.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { MessageQueue } from './message-queue.js';
4
4
  import type { DSiloedClient } from '../api/dsiloed-client.js';
5
5
  import type { WorkspaceManager } from './workspace-manager.js';
6
6
  import type { AgentLauncher } from './agent-launcher.js';
7
- export type AgentProvider = 'claude' | 'gemini' | 'openai';
7
+ export type AgentProvider = 'claude' | 'gemini' | 'openai' | 'codex';
8
8
  /**
9
9
  * Creates the appropriate AgentLauncher based on provider configuration.
10
10
  * Falls back to ClaudeLauncher if no provider is specified.
@@ -1 +1 @@
1
- {"version":3,"file":"launcher-factory.d.ts","sourceRoot":"","sources":["../../src/core/launcher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,aAAa,CAkBf"}
1
+ {"version":3,"file":"launcher-factory.d.ts","sourceRoot":"","sources":["../../src/core/launcher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,aAAa,CAkBf"}
@@ -1,6 +1,6 @@
1
1
  import { ClaudeLauncher } from './claude-launcher.js';
2
2
  import { GeminiLauncher } from './gemini-launcher.js';
3
- import { OpenAILauncher } from './openai-launcher.js';
3
+ import { CodexLauncher } from './codex-launcher.js';
4
4
  /**
5
5
  * Creates the appropriate AgentLauncher based on provider configuration.
6
6
  * Falls back to ClaudeLauncher if no provider is specified.
@@ -12,9 +12,9 @@ export function createLauncher(provider, config, sessionManager, dsiloedClient,
12
12
  return new ClaudeLauncher(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
13
13
  case 'gemini':
14
14
  return new GeminiLauncher(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
15
- case 'openai':
16
- console.log('[LauncherFactory] OpenAI provider selected (stub — not yet implemented)');
17
- return new OpenAILauncher();
15
+ case 'codex':
16
+ case 'openai': // alias
17
+ return new CodexLauncher(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
18
18
  default:
19
19
  console.warn(`[LauncherFactory] Unknown provider "${resolvedProvider}", falling back to Claude`);
20
20
  return new ClaudeLauncher(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
@@ -1 +1 @@
1
- {"version":3,"file":"launcher-factory.js","sourceRoot":"","sources":["../../src/core/launcher-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAmC,EACnC,MAAsB,EACtB,cAA8B,EAC9B,aAA6B,EAC7B,YAA2B,EAC3B,gBAAmC;IAEnC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC;IAEvE,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEnG,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEnG,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,IAAI,cAAc,EAAE,CAAC;QAE9B;YACE,OAAO,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,2BAA2B,CAAC,CAAC;YACjG,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"launcher-factory.js","sourceRoot":"","sources":["../../src/core/launcher-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAmC,EACnC,MAAsB,EACtB,cAA8B,EAC9B,aAA6B,EAC7B,YAA2B,EAC3B,gBAAmC;IAEnC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC;IAEvE,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEnG,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEnG,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,EAAE,QAAQ;YACrB,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAElG;YACE,OAAO,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,2BAA2B,CAAC,CAAC;YACjG,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrG,CAAC;AACH,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { SiloLinkConfig } from '../types/index.js';
2
+ import { type UsageEntry } from './transcript-usage.js';
3
+ export type CliType = 'claude' | 'gemini' | 'codex';
4
+ export interface CollectOptions {
5
+ cli: CliType;
6
+ /** Explicit transcript path (e.g. from a Claude Stop hook). Skips the locator. */
7
+ transcriptPath?: string | null;
8
+ /** The CLI's own session id, for locating the transcript + idempotent dedupe. */
9
+ sessionId?: string | null;
10
+ /** Working directory the session ran in (used by the locators). */
11
+ cwd?: string;
12
+ }
13
+ export interface CollectedUsage {
14
+ cli: CliType;
15
+ cost_basis: 'real' | 'imputed';
16
+ cli_session_id: string | null;
17
+ usage: UsageEntry[];
18
+ transcriptPath: string | null;
19
+ }
20
+ /**
21
+ * Locate + parse a coding-agent transcript into the per-model usage summary the
22
+ * report_coding_usage endpoint expects. Pure (no network) so it's unit-testable.
23
+ */
24
+ export declare function collectUsage(opts: CollectOptions): CollectedUsage;
25
+ export interface ReportResult {
26
+ posted: boolean;
27
+ status?: number;
28
+ recorded?: number;
29
+ skipped?: unknown[];
30
+ agent_session_id?: number;
31
+ message?: string;
32
+ collected: CollectedUsage;
33
+ }
34
+ /**
35
+ * Collect usage for a coding session and POST it to model_api's
36
+ * report_coding_usage endpoint, attributed to the configured user. Returns the
37
+ * collected usage even when nothing is posted (empty usage / dry run) so callers
38
+ * can log what happened. Never throws on HTTP failure — returns posted: false.
39
+ */
40
+ export declare function reportUsage(config: SiloLinkConfig, opts: CollectOptions & {
41
+ sessionName?: string;
42
+ dryRun?: boolean;
43
+ getToken: () => string;
44
+ }): Promise<ReportResult>;
45
+ /**
46
+ * Read a coding-agent hook's JSON payload from stdin (when invoked as a Stop /
47
+ * SessionEnd hook). Returns {} when there's no piped input or it isn't JSON.
48
+ * Claude Code passes { session_id, transcript_path, cwd, ... } on stdin.
49
+ */
50
+ export declare function readHookStdin(): Promise<Record<string, unknown>>;
51
+ //# sourceMappingURL=report-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-usage.d.ts","sourceRoot":"","sources":["../../src/core/report-usage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAoBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAoBjE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,MAAM,CAAA;CAAE,GACxF,OAAO,CAAC,YAAY,CAAC,CA4CvB;AAOD;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAWtE"}