@moxxy/plugin-provider-codex-agent 0.0.0-stage → 0.45.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/LICENSE +21 -0
- package/dist/account-limit.d.ts +11 -0
- package/dist/account-limit.d.ts.map +1 -0
- package/dist/account-limit.js +24 -0
- package/dist/account-limit.js.map +1 -0
- package/dist/agent-provider.d.ts +62 -0
- package/dist/agent-provider.d.ts.map +1 -0
- package/dist/agent-provider.js +209 -0
- package/dist/agent-provider.js.map +1 -0
- package/dist/codex-session.d.ts +220 -0
- package/dist/codex-session.d.ts.map +1 -0
- package/dist/codex-session.js +1113 -0
- package/dist/codex-session.js.map +1 -0
- package/dist/constants.d.ts +15 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +15 -0
- package/dist/constants.js.map +1 -0
- package/dist/executable.d.ts +16 -0
- package/dist/executable.d.ts.map +1 -0
- package/dist/executable.js +43 -0
- package/dist/executable.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/login.d.ts +37 -0
- package/dist/login.d.ts.map +1 -0
- package/dist/login.js +127 -0
- package/dist/login.js.map +1 -0
- package/dist/offered-models.d.ts +12 -0
- package/dist/offered-models.d.ts.map +1 -0
- package/dist/offered-models.js +53 -0
- package/dist/offered-models.js.map +1 -0
- package/dist/own-settings.d.ts +9 -0
- package/dist/own-settings.d.ts.map +1 -0
- package/dist/own-settings.js +34 -0
- package/dist/own-settings.js.map +1 -0
- package/dist/protocol.d.ts +279 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +30 -0
- package/dist/protocol.js.map +1 -0
- package/dist/subagents.d.ts +20 -0
- package/dist/subagents.d.ts.map +1 -0
- package/dist/subagents.js +90 -0
- package/dist/subagents.js.map +1 -0
- package/dist/translate.d.ts +87 -0
- package/dist/translate.d.ts.map +1 -0
- package/dist/translate.js +334 -0
- package/dist/translate.js.map +1 -0
- package/dist/view-image.d.ts +4 -0
- package/dist/view-image.d.ts.map +1 -0
- package/dist/view-image.js +47 -0
- package/dist/view-image.js.map +1 -0
- package/package.json +82 -3
- package/src/account-limit.ts +25 -0
- package/src/agent-cli.test.ts +76 -0
- package/src/agent-provider.test.ts +1556 -0
- package/src/agent-provider.ts +234 -0
- package/src/codex-session.ts +1258 -0
- package/src/constants.ts +18 -0
- package/src/event-coverage.test.ts +200 -0
- package/src/executable.test.ts +53 -0
- package/src/executable.ts +49 -0
- package/src/fake-codex.testkit.ts +576 -0
- package/src/fixtures/codex-app-server-0.155.1.json +122 -0
- package/src/fixtures/codex-app-server-0.163.0.json +125 -0
- package/src/fixtures/codex-model-list-0.163.0.json +436 -0
- package/src/index.test.ts +45 -0
- package/src/index.ts +99 -0
- package/src/login.test.ts +93 -0
- package/src/login.ts +167 -0
- package/src/offered-models.test.ts +87 -0
- package/src/offered-models.ts +65 -0
- package/src/own-settings.test.ts +45 -0
- package/src/own-settings.ts +39 -0
- package/src/protocol.ts +256 -0
- package/src/subagents.test.ts +47 -0
- package/src/subagents.ts +98 -0
- package/src/translate.test.ts +160 -0
- package/src/translate.ts +362 -0
- package/src/view-image.test.ts +29 -0
- package/src/view-image.ts +47 -0
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-session.js","sourceRoot":"","sources":["../src/codex-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Provider name in the registry / model picker / provider config. */
|
|
2
|
+
export declare const CODEX_AGENT_PROVIDER_ID = "codex-agent";
|
|
3
|
+
/** The agent's name as the person knows it. */
|
|
4
|
+
export declare const CODEX_AGENT_NAME = "Codex";
|
|
5
|
+
/** Human-readable upstream service, shown in login and setup surfaces. */
|
|
6
|
+
export declare const CODEX_SERVICE_NAME = "ChatGPT subscription (Codex)";
|
|
7
|
+
/** Optional executable override for login/status surfaces that do not carry provider config. */
|
|
8
|
+
export declare const CODEX_EXECUTABLE_ENV = "CODEX_EXECUTABLE";
|
|
9
|
+
/** The name Moxxy's MCP server has in Codex's thread config. */
|
|
10
|
+
export declare const MOXXY_MCP_SERVER = "moxxy";
|
|
11
|
+
export declare const CODEX_APP_SERVER_ARGS: readonly ["app-server"];
|
|
12
|
+
export declare const CODEX_LOGIN_STATUS_ARGS: readonly ["login", "status"];
|
|
13
|
+
export declare const CODEX_LOGIN_ARGS: readonly ["login"];
|
|
14
|
+
export declare const CODEX_LOGOUT_ARGS: readonly ["logout"];
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAEjE,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,qBAAqB,yBAA0B,CAAC;AAC7D,eAAO,MAAM,uBAAuB,8BAA+B,CAAC;AACpE,eAAO,MAAM,gBAAgB,oBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,qBAAsB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Provider name in the registry / model picker / provider config. */
|
|
2
|
+
export const CODEX_AGENT_PROVIDER_ID = 'codex-agent';
|
|
3
|
+
/** The agent's name as the person knows it. */
|
|
4
|
+
export const CODEX_AGENT_NAME = 'Codex';
|
|
5
|
+
/** Human-readable upstream service, shown in login and setup surfaces. */
|
|
6
|
+
export const CODEX_SERVICE_NAME = 'ChatGPT subscription (Codex)';
|
|
7
|
+
/** Optional executable override for login/status surfaces that do not carry provider config. */
|
|
8
|
+
export const CODEX_EXECUTABLE_ENV = 'CODEX_EXECUTABLE';
|
|
9
|
+
/** The name Moxxy's MCP server has in Codex's thread config. */
|
|
10
|
+
export const MOXXY_MCP_SERVER = 'moxxy';
|
|
11
|
+
export const CODEX_APP_SERVER_ARGS = ['app-server'];
|
|
12
|
+
export const CODEX_LOGIN_STATUS_ARGS = ['login', 'status'];
|
|
13
|
+
export const CODEX_LOGIN_ARGS = ['login'];
|
|
14
|
+
export const CODEX_LOGOUT_ARGS = ['logout'];
|
|
15
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AACrD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AAEjE,gGAAgG;AAChG,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAU,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,CAAU,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ExecutableTarget } from '@moxxy/sdk/server';
|
|
2
|
+
import { type AgentCliTargetOptions } from '@moxxy/agent-connection-kit';
|
|
3
|
+
import type { StartCodexAppServer } from './codex-session.js';
|
|
4
|
+
export interface CodexTargetOptions extends AgentCliTargetOptions {
|
|
5
|
+
readonly find?: (command: string) => string | null;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* How to start the person's Codex without a shell. Behind a Windows npm
|
|
9
|
+
* install's `.cmd` shim that is Codex's own `codex.exe` (its `codex.js` only
|
|
10
|
+
* starts it, in a console window of its own); the standalone installer's
|
|
11
|
+
* `codex.exe` runs as it is.
|
|
12
|
+
*/
|
|
13
|
+
export declare function codexTarget(command: string, opts?: CodexTargetOptions): ExecutableTarget;
|
|
14
|
+
/** Starts `codex app-server` in the conversation folder, speaking JSON-RPC on stdio. */
|
|
15
|
+
export declare function spawnCodexAppServer(command: string): StartCodexAppServer;
|
|
16
|
+
//# sourceMappingURL=executable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../src/executable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAA+D,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEtI,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,gBAAgB,CAI5F;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CA0BxE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { spawnExecutableTarget } from '@moxxy/sdk/server';
|
|
2
|
+
import { CODEX_CLI, agentCliTargetAt, findAgentCli, stopAgentProcess } from '@moxxy/agent-connection-kit';
|
|
3
|
+
import { CODEX_APP_SERVER_ARGS } from './constants.js';
|
|
4
|
+
/**
|
|
5
|
+
* How to start the person's Codex without a shell. Behind a Windows npm
|
|
6
|
+
* install's `.cmd` shim that is Codex's own `codex.exe` (its `codex.js` only
|
|
7
|
+
* starts it, in a console window of its own); the standalone installer's
|
|
8
|
+
* `codex.exe` runs as it is.
|
|
9
|
+
*/
|
|
10
|
+
export function codexTarget(command, opts = {}) {
|
|
11
|
+
const found = (opts.find ?? ((name) => findAgentCli(CODEX_CLI, { command: name })))(command);
|
|
12
|
+
if (!found)
|
|
13
|
+
throw new Error(`Codex CLI not found: ${command}. Install Codex or set CODEX_EXECUTABLE.`);
|
|
14
|
+
return agentCliTargetAt(CODEX_CLI, found, opts);
|
|
15
|
+
}
|
|
16
|
+
/** Starts `codex app-server` in the conversation folder, speaking JSON-RPC on stdio. */
|
|
17
|
+
export function spawnCodexAppServer(command) {
|
|
18
|
+
return ({ cwd }) => new Promise((resolve, reject) => {
|
|
19
|
+
const child = spawnExecutableTarget(codexTarget(command), CODEX_APP_SERVER_ARGS, { cwd, stdio: ['pipe', 'pipe', 'pipe'], windowsHide: true });
|
|
20
|
+
const { stdin, stdout, stderr } = child;
|
|
21
|
+
if (!stdin || !stdout || !stderr) {
|
|
22
|
+
stopAgentProcess(child);
|
|
23
|
+
reject(new Error('Codex started without its stdio.'));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
child.once('error', reject);
|
|
27
|
+
child.once('spawn', () => {
|
|
28
|
+
child.off('error', reject);
|
|
29
|
+
// A failed write after Codex exits is reported by the closed stdout.
|
|
30
|
+
stdin.on('error', () => undefined);
|
|
31
|
+
resolve({
|
|
32
|
+
readable: stdout,
|
|
33
|
+
writable: stdin,
|
|
34
|
+
stderr,
|
|
35
|
+
close: () => {
|
|
36
|
+
stdin.end();
|
|
37
|
+
stopAgentProcess(child);
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=executable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable.js","sourceRoot":"","sources":["../src/executable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAyB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAA8B,MAAM,6BAA6B,CAAC;AACtI,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAOvD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,OAA2B,EAAE;IACxE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,0CAA0C,CAAC,CAAC;IACvG,OAAO,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACjB,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9I,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,qEAAqE;YACrE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,CAAC;gBACN,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM;gBACN,KAAK,EAAE,GAAG,EAAE;oBACV,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const codexAgentProviderDef: import("@moxxy/sdk").ProviderDef;
|
|
2
|
+
export declare const codexAgentPlugin: import("@moxxy/sdk").Plugin;
|
|
3
|
+
export default codexAgentPlugin;
|
|
4
|
+
export { CODEX_AGENT_PROVIDER_ID, CODEX_SERVICE_NAME, CODEX_EXECUTABLE_ENV } from './constants.js';
|
|
5
|
+
export { CODEX_AGENT_DEFAULT_MODEL, CODEX_AGENT_STARTER_MODEL, CodexAgentProvider, codexAgentModels, codexSessions, createCodexAgentClient, type CodexAgentProviderConfig, } from './agent-provider.js';
|
|
6
|
+
export type { CodexConnection, StartCodexAppServer } from './codex-session.js';
|
|
7
|
+
export { codexTarget, spawnCodexAppServer } from './executable.js';
|
|
8
|
+
export { __setCodexCommandRunner, checkCodexAuth, codexLogin, codexLogout, codexStatus, resolveCodexExecutable, type CodexAuthState, type CodexAuthStatus, } from './login.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,kCAuChC,CAAC;AAEH,eAAO,MAAM,gBAAgB,6BAQ3B,CAAC;AAEH,eAAe,gBAAgB,CAAC;AAgBhC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { defineProvider, definePlugin, MoxxyError } from '@moxxy/sdk';
|
|
3
|
+
import { CODEX_CLI, checkAgentCli } from '@moxxy/agent-connection-kit';
|
|
4
|
+
import { CODEX_AGENT_NAME, CODEX_AGENT_PROVIDER_ID, CODEX_SERVICE_NAME } from './constants.js';
|
|
5
|
+
import { CODEX_AGENT_STARTER_MODEL, codexAgentModels, codexSessions, createCodexAgentClient } from './agent-provider.js';
|
|
6
|
+
import { codexTarget, spawnCodexAppServer } from './executable.js';
|
|
7
|
+
import { codexOwnAutoApprove } from './own-settings.js';
|
|
8
|
+
import { codexOfferedModels } from './offered-models.js';
|
|
9
|
+
import { authError, checkCodexAuth, codexLogin, codexLogout, codexSignIn, codexStatus, resolveCodexExecutable } from './login.js';
|
|
10
|
+
export const codexAgentProviderDef = defineProvider({
|
|
11
|
+
name: CODEX_AGENT_PROVIDER_ID,
|
|
12
|
+
agentName: CODEX_AGENT_NAME,
|
|
13
|
+
models: codexAgentModels,
|
|
14
|
+
starterModel: CODEX_AGENT_STARTER_MODEL,
|
|
15
|
+
agentCli: {
|
|
16
|
+
check: (opts) => {
|
|
17
|
+
const command = resolveCodexExecutable();
|
|
18
|
+
return checkAgentCli(CODEX_CLI, { command, refresh: opts?.refresh === true }, { signIn: () => codexSignIn(command) });
|
|
19
|
+
},
|
|
20
|
+
// Asked outside any project, so no folder's config narrows the list.
|
|
21
|
+
models: () => codexOfferedModels(homedir(), spawnCodexAppServer(resolveCodexExecutable())),
|
|
22
|
+
},
|
|
23
|
+
ownAutoApprove: ({ cwd }) => codexOwnAutoApprove(cwd, spawnCodexAppServer(resolveCodexExecutable())),
|
|
24
|
+
createClient: (config) => createCodexAgentClient(providerConfigFrom(config)),
|
|
25
|
+
async resolveCredentials({ providerConfig, host }) {
|
|
26
|
+
const config = { ...providerConfig, cwd: host.cwd };
|
|
27
|
+
const executable = resolveCodexExecutable(config);
|
|
28
|
+
const status = await checkCodexAuth(executable);
|
|
29
|
+
if (status.state !== 'signed-in')
|
|
30
|
+
throw authError(status);
|
|
31
|
+
try {
|
|
32
|
+
codexTarget(executable);
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
throw new MoxxyError({
|
|
36
|
+
code: 'AUTH_INVALID',
|
|
37
|
+
message: err instanceof Error ? err.message : String(err),
|
|
38
|
+
context: { provider: CODEX_AGENT_PROVIDER_ID, executable },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return { ...config, executable };
|
|
42
|
+
},
|
|
43
|
+
// No validateKey: readiness is reported by the installed Codex CLI.
|
|
44
|
+
auth: {
|
|
45
|
+
kind: 'oauth',
|
|
46
|
+
serviceName: CODEX_SERVICE_NAME,
|
|
47
|
+
login: codexLogin,
|
|
48
|
+
logout: codexLogout,
|
|
49
|
+
status: codexStatus,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
export const codexAgentPlugin = definePlugin({
|
|
53
|
+
name: '@moxxy/plugin-provider-codex-agent',
|
|
54
|
+
version: '0.0.0',
|
|
55
|
+
providers: [codexAgentProviderDef],
|
|
56
|
+
hooks: {
|
|
57
|
+
// The conversation's Codex ends with it; its thread stays saved by Codex, to resume.
|
|
58
|
+
onShutdown: (ctx) => codexSessions().close(String(ctx.sessionId)),
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
export default codexAgentPlugin;
|
|
62
|
+
function providerConfigFrom(config) {
|
|
63
|
+
const text = (key) => (typeof config[key] === 'string' && config[key] !== '' ? config[key] : undefined);
|
|
64
|
+
const executable = text('executable');
|
|
65
|
+
const model = text('model');
|
|
66
|
+
const defaultModel = text('defaultModel');
|
|
67
|
+
const cwd = text('cwd');
|
|
68
|
+
return {
|
|
69
|
+
...(executable ? { executable } : {}),
|
|
70
|
+
...(model ? { model } : {}),
|
|
71
|
+
...(defaultModel ? { defaultModel } : {}),
|
|
72
|
+
...(cwd ? { cwd } : {}),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export { CODEX_AGENT_PROVIDER_ID, CODEX_SERVICE_NAME, CODEX_EXECUTABLE_ENV } from './constants.js';
|
|
76
|
+
export { CODEX_AGENT_DEFAULT_MODEL, CODEX_AGENT_STARTER_MODEL, CodexAgentProvider, codexAgentModels, codexSessions, createCodexAgentClient, } from './agent-provider.js';
|
|
77
|
+
export { codexTarget, spawnCodexAppServer } from './executable.js';
|
|
78
|
+
export { __setCodexCommandRunner, checkCodexAuth, codexLogin, codexLogout, codexStatus, resolveCodexExecutable, } from './login.js';
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/login.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MoxxyError } from '@moxxy/sdk';
|
|
2
|
+
import type { AgentSignIn } from '@moxxy/agent-connection-kit';
|
|
3
|
+
import type { ProviderAuthContext, ProviderOAuthResult, ProviderOAuthStatus } from '@moxxy/sdk';
|
|
4
|
+
export type CodexAuthState = 'signed-in' | 'signed-out' | 'missing' | 'error';
|
|
5
|
+
export interface CodexAuthStatus {
|
|
6
|
+
readonly state: CodexAuthState;
|
|
7
|
+
readonly executable: string;
|
|
8
|
+
/** How Codex is signed in (`ChatGPT`, `an API key`); Codex does not print the account. */
|
|
9
|
+
readonly accountId?: string;
|
|
10
|
+
readonly message: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CodexCommandResult {
|
|
13
|
+
readonly code: number;
|
|
14
|
+
readonly stdout: string;
|
|
15
|
+
readonly stderr: string;
|
|
16
|
+
readonly error?: NodeJS.ErrnoException;
|
|
17
|
+
}
|
|
18
|
+
interface CommandOptions {
|
|
19
|
+
/** Hand Codex the terminal (a CLI login). */
|
|
20
|
+
readonly inherit?: boolean;
|
|
21
|
+
/** See Codex's output as it comes (a GUI login, to find the sign-in page). */
|
|
22
|
+
readonly onOutput?: (chunk: string) => void;
|
|
23
|
+
}
|
|
24
|
+
type CommandRunner = (executable: string, args: readonly string[], options?: CommandOptions) => Promise<CodexCommandResult>;
|
|
25
|
+
/** Test seam. */
|
|
26
|
+
export declare function __setCodexCommandRunner(runner: CommandRunner): void;
|
|
27
|
+
export declare function resolveCodexExecutable(config?: Readonly<Record<string, unknown>>): string;
|
|
28
|
+
/** Read the sign-in from the person's own Codex (`codex login status`); Moxxy never touches its tokens. */
|
|
29
|
+
export declare function checkCodexAuth(executable?: string): Promise<CodexAuthStatus>;
|
|
30
|
+
/** Who Codex is signed in as, for the connection's row. */
|
|
31
|
+
export declare function codexSignIn(executable?: string): Promise<AgentSignIn>;
|
|
32
|
+
export declare function codexLogin(ctx: ProviderAuthContext): Promise<ProviderOAuthResult>;
|
|
33
|
+
export declare function codexLogout(ctx: ProviderAuthContext): Promise<boolean>;
|
|
34
|
+
export declare function codexStatus(ctx: ProviderAuthContext): Promise<ProviderOAuthStatus | null>;
|
|
35
|
+
export declare function authError(status: CodexAuthStatus): MoxxyError;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAUhG,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACxC;AAED,UAAU,cAAc;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAK5H,iBAAiB;AACjB,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEnE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAAG,MAAM,CAI7F;AAED,2GAA2G;AAC3G,wBAAsB,cAAc,CAAC,UAAU,SAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CAgBpG;AAED,2DAA2D;AAC3D,wBAAsB,WAAW,CAAC,UAAU,SAA2B,GAAG,OAAO,CAAC,WAAW,CAAC,CAG7F;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoCvF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAS5E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAG/F;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CAO7D"}
|
package/dist/login.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { MoxxyError } from '@moxxy/sdk';
|
|
2
|
+
import { spawnExecutableTarget } from '@moxxy/sdk/server';
|
|
3
|
+
import { CODEX_AGENT_PROVIDER_ID, CODEX_EXECUTABLE_ENV, CODEX_LOGIN_ARGS, CODEX_LOGIN_STATUS_ARGS, CODEX_LOGOUT_ARGS, } from './constants.js';
|
|
4
|
+
import { codexTarget } from './executable.js';
|
|
5
|
+
const SIGN_IN_PAGE = /https:\/\/auth\.openai\.com\/\S+/;
|
|
6
|
+
let runCommandImpl = runCommand;
|
|
7
|
+
/** Test seam. */
|
|
8
|
+
export function __setCodexCommandRunner(runner) {
|
|
9
|
+
runCommandImpl = runner;
|
|
10
|
+
}
|
|
11
|
+
export function resolveCodexExecutable(config = {}) {
|
|
12
|
+
const configured = config.executable;
|
|
13
|
+
if (typeof configured === 'string' && configured.trim())
|
|
14
|
+
return configured;
|
|
15
|
+
return process.env[CODEX_EXECUTABLE_ENV]?.trim() || 'codex';
|
|
16
|
+
}
|
|
17
|
+
/** Read the sign-in from the person's own Codex (`codex login status`); Moxxy never touches its tokens. */
|
|
18
|
+
export async function checkCodexAuth(executable = resolveCodexExecutable()) {
|
|
19
|
+
const result = await runCommandImpl(executable, CODEX_LOGIN_STATUS_ARGS);
|
|
20
|
+
if (result.error?.code === 'ENOENT') {
|
|
21
|
+
return { state: 'missing', executable, message: `Codex CLI not found: ${executable}. Install Codex or set ${CODEX_EXECUTABLE_ENV}.` };
|
|
22
|
+
}
|
|
23
|
+
if (result.error)
|
|
24
|
+
return { state: 'error', executable, message: `Could not run Codex: ${result.error.message}` };
|
|
25
|
+
const text = `${result.stdout}\n${result.stderr}`.trim();
|
|
26
|
+
if (/not logged in/i.test(text)) {
|
|
27
|
+
return { state: 'signed-out', executable, message: `Codex is installed but signed out. Run \`moxxy login ${CODEX_AGENT_PROVIDER_ID}\`.` };
|
|
28
|
+
}
|
|
29
|
+
const using = /logged in using (.+)/i.exec(text);
|
|
30
|
+
if (using?.[1] && result.code === 0) {
|
|
31
|
+
const accountId = using[1].trim();
|
|
32
|
+
return { state: 'signed-in', executable, accountId, message: `Codex is signed in using ${accountId}.` };
|
|
33
|
+
}
|
|
34
|
+
return { state: 'error', executable, message: `Codex login status failed${text ? `: ${text}` : ` with exit code ${result.code}`}.` };
|
|
35
|
+
}
|
|
36
|
+
/** Who Codex is signed in as, for the connection's row. */
|
|
37
|
+
export async function codexSignIn(executable = resolveCodexExecutable()) {
|
|
38
|
+
const status = await checkCodexAuth(executable);
|
|
39
|
+
return { signedIn: status.state === 'signed-in', ...(status.accountId ? { account: status.accountId } : {}) };
|
|
40
|
+
}
|
|
41
|
+
export async function codexLogin(ctx) {
|
|
42
|
+
const executable = resolveCodexExecutable(ctx.providerConfig);
|
|
43
|
+
let status = await checkCodexAuth(executable);
|
|
44
|
+
if (status.state === 'signed-in')
|
|
45
|
+
return { accountId: status.accountId ?? null };
|
|
46
|
+
if (status.state !== 'signed-out')
|
|
47
|
+
throw authError(status);
|
|
48
|
+
// A GUI host (the desktop) has no terminal: show Codex's output and let the host open the sign-in page.
|
|
49
|
+
let opened = false;
|
|
50
|
+
const login = await runCommandImpl(executable, CODEX_LOGIN_ARGS, ctx.noOpen
|
|
51
|
+
? {
|
|
52
|
+
onOutput: (chunk) => {
|
|
53
|
+
ctx.write(chunk);
|
|
54
|
+
const page = SIGN_IN_PAGE.exec(chunk);
|
|
55
|
+
if (page && !opened) {
|
|
56
|
+
opened = true;
|
|
57
|
+
ctx.onAuthUrl?.(page[0]);
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
}
|
|
61
|
+
: { inherit: true });
|
|
62
|
+
if (login.error)
|
|
63
|
+
throw authError({ state: login.error.code === 'ENOENT' ? 'missing' : 'error', executable, message: login.error.message });
|
|
64
|
+
if (login.code !== 0) {
|
|
65
|
+
throw new MoxxyError({
|
|
66
|
+
code: 'AUTH_DENIED',
|
|
67
|
+
message: `Codex login failed${login.stderr ? `: ${login.stderr.trim()}` : ` with exit code ${login.code}`}.`,
|
|
68
|
+
hint: 'Run `codex login` directly for more detail, then retry.',
|
|
69
|
+
context: { provider: CODEX_AGENT_PROVIDER_ID },
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
status = await checkCodexAuth(executable);
|
|
73
|
+
if (status.state !== 'signed-in')
|
|
74
|
+
throw authError(status);
|
|
75
|
+
return { accountId: status.accountId ?? null };
|
|
76
|
+
}
|
|
77
|
+
export async function codexLogout(ctx) {
|
|
78
|
+
const executable = resolveCodexExecutable(ctx.providerConfig);
|
|
79
|
+
const before = await checkCodexAuth(executable);
|
|
80
|
+
if (before.state !== 'signed-in')
|
|
81
|
+
return false;
|
|
82
|
+
const result = await runCommandImpl(executable, CODEX_LOGOUT_ARGS, { inherit: true });
|
|
83
|
+
if (result.error || result.code !== 0) {
|
|
84
|
+
throw new MoxxyError({ code: 'AUTH_INVALID', message: `Codex logout failed${result.stderr ? `: ${result.stderr}` : '.'}` });
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
export async function codexStatus(ctx) {
|
|
89
|
+
const status = await checkCodexAuth(resolveCodexExecutable(ctx.providerConfig));
|
|
90
|
+
return { accountId: status.accountId ?? null, authState: status.state, message: status.message };
|
|
91
|
+
}
|
|
92
|
+
export function authError(status) {
|
|
93
|
+
return new MoxxyError({
|
|
94
|
+
code: status.state === 'signed-out' ? 'AUTH_NO_CREDENTIALS' : 'AUTH_INVALID',
|
|
95
|
+
message: status.message,
|
|
96
|
+
hint: status.state === 'signed-out' ? `Run \`moxxy login ${CODEX_AGENT_PROVIDER_ID}\`.` : undefined,
|
|
97
|
+
context: { provider: CODEX_AGENT_PROVIDER_ID, executable: status.executable, state: status.state },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async function runCommand(executable, args, options = {}) {
|
|
101
|
+
let target;
|
|
102
|
+
try {
|
|
103
|
+
target = codexTarget(executable);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
const error = Object.assign(err instanceof Error ? err : new Error(String(err)), { code: 'ENOENT' });
|
|
107
|
+
return { code: 1, stdout: '', stderr: '', error };
|
|
108
|
+
}
|
|
109
|
+
return await new Promise((resolve) => {
|
|
110
|
+
const child = spawnExecutableTarget(target, [...args], options.inherit ? { stdio: 'inherit' } : { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });
|
|
111
|
+
let stdout = '';
|
|
112
|
+
let stderr = '';
|
|
113
|
+
child.stdout?.setEncoding('utf8');
|
|
114
|
+
child.stderr?.setEncoding('utf8');
|
|
115
|
+
child.stdout?.on('data', (chunk) => {
|
|
116
|
+
stdout += chunk;
|
|
117
|
+
options.onOutput?.(chunk);
|
|
118
|
+
});
|
|
119
|
+
child.stderr?.on('data', (chunk) => {
|
|
120
|
+
stderr += chunk;
|
|
121
|
+
options.onOutput?.(chunk);
|
|
122
|
+
});
|
|
123
|
+
child.once('error', (error) => resolve({ code: 1, stdout, stderr, error }));
|
|
124
|
+
child.once('close', (code) => resolve({ code: code ?? 1, stdout, stderr }));
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA4B9C,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,IAAI,cAAc,GAAkB,UAAU,CAAC;AAC/C,iBAAiB;AACjB,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,cAAc,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAA4C,EAAE;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;QAAE,OAAO,UAAU,CAAC;IAC3E,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;AAC9D,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAU,GAAG,sBAAsB,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAwB,UAAU,0BAA0B,oBAAoB,GAAG,EAAE,CAAC;IACxI,CAAC;IACD,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IACjH,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,wDAAwD,uBAAuB,KAAK,EAAE,CAAC;IAC5I,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,SAAS,GAAG,EAAE,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;AACvI,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAU,GAAG,sBAAsB,EAAE;IACrE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAwB;IACvD,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAI,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;IACjF,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY;QAAE,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAE3D,wGAAwG;IACxG,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,MAAM,cAAc,CAChC,UAAU,EACV,gBAAgB,EAChB,GAAG,CAAC,MAAM;QACR,CAAC,CAAC;YACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,IAAI,CAAC;oBACd,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;SACF;QACH,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CACtB,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3I,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,qBAAqB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,IAAI,EAAE,GAAG;YAC5G,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;QAAE,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAwB;IACxD,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAwB;IACxD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAChF,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,IAAI,UAAU,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc;QAC5E,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,uBAAuB,KAAK,CAAC,CAAC,CAAC,SAAS;QACnG,OAAO,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;KACnG,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,IAAuB,EAAE,UAA0B,EAAE;IACjG,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAA0B,CAAC;QAC9H,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1J,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC;YAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC;YAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The models the person's Codex offers their account, as its own picker lists
|
|
3
|
+
* them: a short-lived `codex app-server` answers `model/list`, page by page,
|
|
4
|
+
* and is closed. Codex caches the list for a few minutes; the hourly check
|
|
5
|
+
* picks up a change after that.
|
|
6
|
+
*/
|
|
7
|
+
import type { ModelDescriptor } from '@moxxy/sdk';
|
|
8
|
+
import type { StartCodexAppServer } from './codex-session.js';
|
|
9
|
+
export declare function codexOfferedModels(cwd: string, start: StartCodexAppServer, opts?: {
|
|
10
|
+
readonly timeoutMs?: number;
|
|
11
|
+
}): Promise<ReadonlyArray<ModelDescriptor>>;
|
|
12
|
+
//# sourceMappingURL=offered-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offered-models.d.ts","sourceRoot":"","sources":["../src/offered-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAkB9D,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACzC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAsBzC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { JsonRpcLineClient } from '@moxxy/agent-connection-kit';
|
|
2
|
+
import { codexAgentModels } from './agent-provider.js';
|
|
3
|
+
/** Codex answers in well under a second; one stuck on startup is not waited on longer. */
|
|
4
|
+
const OFFERED_MODELS_TIMEOUT_MS = 15_000;
|
|
5
|
+
/** `model/list` says nothing of the window; a model Moxxy does not know gets this one. */
|
|
6
|
+
const UNKNOWN_MODEL = {
|
|
7
|
+
contextWindow: 400_000,
|
|
8
|
+
maxOutputTokens: 128_000,
|
|
9
|
+
supportsTools: true,
|
|
10
|
+
supportsStreaming: true,
|
|
11
|
+
supportsImages: true,
|
|
12
|
+
supportsDocuments: false,
|
|
13
|
+
supportsAudio: false,
|
|
14
|
+
supportsReasoning: true,
|
|
15
|
+
hostedTools: ['web_search'],
|
|
16
|
+
};
|
|
17
|
+
export async function codexOfferedModels(cwd, start, opts = {}) {
|
|
18
|
+
let connection;
|
|
19
|
+
let client;
|
|
20
|
+
const timer = setTimeout(() => client?.close(new Error('Codex did not answer in time.')), opts.timeoutMs ?? OFFERED_MODELS_TIMEOUT_MS);
|
|
21
|
+
try {
|
|
22
|
+
connection = await start({ cwd });
|
|
23
|
+
client = new JsonRpcLineClient({ readable: connection.readable, writable: connection.writable });
|
|
24
|
+
await client.request('initialize', { clientInfo: { name: 'moxxy', title: 'Moxxy', version: '1' }, capabilities: { experimentalApi: true } });
|
|
25
|
+
client.notify('initialized');
|
|
26
|
+
const models = [];
|
|
27
|
+
let cursor;
|
|
28
|
+
do {
|
|
29
|
+
const page = await client.request('model/list', cursor ? { cursor } : {});
|
|
30
|
+
for (const model of page.data)
|
|
31
|
+
if (!model.hidden)
|
|
32
|
+
models.push(describe(model));
|
|
33
|
+
cursor = page.nextCursor;
|
|
34
|
+
} while (cursor);
|
|
35
|
+
return models;
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
client?.close();
|
|
40
|
+
connection?.close();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function describe(model) {
|
|
44
|
+
const known = codexAgentModels.find((descriptor) => descriptor.id === model.id) ?? UNKNOWN_MODEL;
|
|
45
|
+
return {
|
|
46
|
+
...known,
|
|
47
|
+
id: model.id,
|
|
48
|
+
supportsImages: model.inputModalities?.includes('image') ?? known.supportsImages ?? false,
|
|
49
|
+
supportsReasoning: (model.supportedReasoningEfforts?.length ?? 0) > 0,
|
|
50
|
+
supportsFast: model.additionalSpeedTiers?.includes('fast') ?? false,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=offered-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offered-models.js","sourceRoot":"","sources":["../src/offered-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StartCodexAppServer } from './codex-session.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether the person's own Codex runs in `cwd` with no approvals and full
|
|
4
|
+
* access, as Moxxy's auto-approve does; `undefined` when Codex cannot say.
|
|
5
|
+
*/
|
|
6
|
+
export declare function codexOwnAutoApprove(cwd: string, start: StartCodexAppServer, opts?: {
|
|
7
|
+
readonly timeoutMs?: number;
|
|
8
|
+
}): Promise<boolean | undefined>;
|
|
9
|
+
//# sourceMappingURL=own-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"own-settings.d.ts","sourceRoot":"","sources":["../src/own-settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACzC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAkB9B"}
|