@mcoda/agents 0.1.74 → 0.1.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/dist/adapters/AdapterTypes.d.ts +1 -0
- package/dist/adapters/AdapterTypes.d.ts.map +1 -1
- package/dist/adapters/codex/CodexAdapter.d.ts.map +1 -1
- package/dist/adapters/codex/CodexAdapter.js +9 -2
- package/dist/adapters/codex/CodexCliRunner.d.ts +2 -2
- package/dist/adapters/codex/CodexCliRunner.d.ts.map +1 -1
- package/dist/adapters/codex/CodexCliRunner.js +7 -6
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
|
-
-
|
|
4
|
+
- None.
|
|
5
|
+
|
|
6
|
+
## 0.1.75
|
|
7
|
+
- Forward per-agent Codex CLI `reasoningEffort` configuration into `codex exec` so agents such as `codex55` can use `model_reasoning_effort=xhigh` without relying on process-wide environment variables.
|
|
5
8
|
|
|
6
9
|
## 0.1.9
|
|
7
10
|
- Release v0.1.9.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdapterTypes.d.ts","sourceRoot":"","sources":["../../src/adapters/AdapterTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,iCAAiC,EACjC,mBAAmB,EACnB,eAAe,EACf,iCAAiC,EAClC,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,iCAAiC,CAAC;IAChD,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,iCAAiC,CAAC;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AdapterTypes.d.ts","sourceRoot":"","sources":["../../src/adapters/AdapterTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/CodexAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/CodexAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA0BtG,qBAAa,YAAa,YAAW,YAAY;IACnC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAYnC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB5D,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC;CA0BjG"}
|
|
@@ -13,6 +13,13 @@ const extractTimeoutMs = (request) => {
|
|
|
13
13
|
}
|
|
14
14
|
return Math.floor(candidate);
|
|
15
15
|
};
|
|
16
|
+
const extractReasoningEffort = (config) => {
|
|
17
|
+
const candidate = config.reasoningEffort;
|
|
18
|
+
if (typeof candidate !== "string")
|
|
19
|
+
return undefined;
|
|
20
|
+
const trimmed = candidate.trim();
|
|
21
|
+
return trimmed ? trimmed : undefined;
|
|
22
|
+
};
|
|
16
23
|
export class CodexAdapter {
|
|
17
24
|
constructor(config) {
|
|
18
25
|
this.config = config;
|
|
@@ -34,7 +41,7 @@ export class CodexAdapter {
|
|
|
34
41
|
async invoke(request) {
|
|
35
42
|
const health = cliHealthy(true);
|
|
36
43
|
const cliDetails = health.details;
|
|
37
|
-
const result = await runCodexExec(request.input, this.config.model, extractOutputSchema(request), extractTimeoutMs(request));
|
|
44
|
+
const result = await runCodexExec(request.input, this.config.model, extractOutputSchema(request), extractTimeoutMs(request), extractReasoningEffort(this.config));
|
|
38
45
|
return {
|
|
39
46
|
output: result.output,
|
|
40
47
|
adapter: this.config.adapter ?? "codex-cli",
|
|
@@ -52,7 +59,7 @@ export class CodexAdapter {
|
|
|
52
59
|
async *invokeStream(request) {
|
|
53
60
|
const health = cliHealthy(true);
|
|
54
61
|
const cliDetails = health.details;
|
|
55
|
-
for await (const chunk of runCodexExecStream(request.input, this.config.model, extractOutputSchema(request), extractTimeoutMs(request))) {
|
|
62
|
+
for await (const chunk of runCodexExecStream(request.input, this.config.model, extractOutputSchema(request), extractTimeoutMs(request), extractReasoningEffort(this.config))) {
|
|
56
63
|
yield {
|
|
57
64
|
output: chunk.output,
|
|
58
65
|
adapter: this.config.adapter ?? "codex-cli",
|
|
@@ -2,11 +2,11 @@ export declare const cliHealthy: (throwOnError?: boolean) => {
|
|
|
2
2
|
ok: boolean;
|
|
3
3
|
details?: Record<string, unknown>;
|
|
4
4
|
};
|
|
5
|
-
export declare const runCodexExec: (prompt: string, model?: string, outputSchema?: Record<string, unknown>, timeoutMs?: number) => Promise<{
|
|
5
|
+
export declare const runCodexExec: (prompt: string, model?: string, outputSchema?: Record<string, unknown>, timeoutMs?: number, reasoningEffort?: string) => Promise<{
|
|
6
6
|
output: string;
|
|
7
7
|
raw: string;
|
|
8
8
|
}>;
|
|
9
|
-
export declare function runCodexExecStream(prompt: string, model?: string, outputSchema?: Record<string, unknown>, timeoutMs?: number): AsyncGenerator<{
|
|
9
|
+
export declare function runCodexExecStream(prompt: string, model?: string, outputSchema?: Record<string, unknown>, timeoutMs?: number, reasoningEffort?: string): AsyncGenerator<{
|
|
10
10
|
output: string;
|
|
11
11
|
raw: string;
|
|
12
12
|
}, void, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexCliRunner.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/CodexCliRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodexCliRunner.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/CodexCliRunner.ts"],"names":[],"mappings":"AAu1BA,eAAO,MAAM,UAAU,GAAI,sBAAoB,KAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CA+BjG,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,MAAM,EAClB,kBAAkB,MAAM,KACvB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CASzC,CAAC;AAEF,wBAAuB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,cAAc,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAoFhE"}
|
|
@@ -582,8 +582,8 @@ const normalizeReasoningEffort = (raw) => {
|
|
|
582
582
|
return undefined;
|
|
583
583
|
return normalized;
|
|
584
584
|
};
|
|
585
|
-
const resolveReasoningEffort = (model) => {
|
|
586
|
-
const configured = normalizeReasoningEffort(process.env[CODEX_REASONING_ENV] ?? process.env[CODEX_REASONING_ENV_FALLBACK]);
|
|
585
|
+
const resolveReasoningEffort = (model, effort) => {
|
|
586
|
+
const configured = normalizeReasoningEffort(effort ?? process.env[CODEX_REASONING_ENV] ?? process.env[CODEX_REASONING_ENV_FALLBACK]);
|
|
587
587
|
const normalizedModel = (model ?? "").toLowerCase();
|
|
588
588
|
const isGpt51 = normalizedModel.includes("gpt-5.1");
|
|
589
589
|
if (configured) {
|
|
@@ -661,7 +661,7 @@ const materializeOutputSchema = async (outputSchema) => {
|
|
|
661
661
|
const invokeCodexProcess = async (prompt, model, options) => {
|
|
662
662
|
const resolvedModel = model ?? "gpt-5.1-codex-max";
|
|
663
663
|
const sandboxArgs = resolveSandboxArgs();
|
|
664
|
-
const reasoningEffort = resolveReasoningEffort(resolvedModel);
|
|
664
|
+
const reasoningEffort = resolveReasoningEffort(resolvedModel, options?.reasoningEffort);
|
|
665
665
|
const codexCommand = resolveCodexCommand();
|
|
666
666
|
const args = [...codexCommand.preArgs, ...sandboxArgs.args, "exec", "--model", resolvedModel, "--json"];
|
|
667
667
|
const schemaFile = await materializeOutputSchema(options?.outputSchema);
|
|
@@ -852,17 +852,17 @@ export const cliHealthy = (throwOnError = false) => {
|
|
|
852
852
|
}
|
|
853
853
|
return { ok: true, details: { version: result.stdout?.toString().trim() } };
|
|
854
854
|
};
|
|
855
|
-
export const runCodexExec = async (prompt, model, outputSchema, timeoutMs) => {
|
|
855
|
+
export const runCodexExec = async (prompt, model, outputSchema, timeoutMs, reasoningEffort) => {
|
|
856
856
|
if (process.env.MCODA_CLI_STUB === "1") {
|
|
857
857
|
const output = `qa-stub:${prompt}`;
|
|
858
858
|
const raw = JSON.stringify({ type: "item.completed", item: { type: "agent_message", text: output } });
|
|
859
859
|
return { output, raw };
|
|
860
860
|
}
|
|
861
861
|
cliHealthy(true);
|
|
862
|
-
const result = await invokeCodexProcess(prompt, model, { outputSchema, timeoutMs });
|
|
862
|
+
const result = await invokeCodexProcess(prompt, model, { outputSchema, timeoutMs, reasoningEffort });
|
|
863
863
|
return { output: result.output, raw: result.raw };
|
|
864
864
|
};
|
|
865
|
-
export async function* runCodexExecStream(prompt, model, outputSchema, timeoutMs) {
|
|
865
|
+
export async function* runCodexExecStream(prompt, model, outputSchema, timeoutMs, reasoningEffort) {
|
|
866
866
|
if (process.env.MCODA_CLI_STUB === "1") {
|
|
867
867
|
const output = `qa-stub:${prompt}\n`;
|
|
868
868
|
const raw = JSON.stringify({ type: "item.delta", item: { type: "agent_message", text: output } });
|
|
@@ -886,6 +886,7 @@ export async function* runCodexExecStream(prompt, model, outputSchema, timeoutMs
|
|
|
886
886
|
void invokeCodexProcess(prompt, model, {
|
|
887
887
|
outputSchema,
|
|
888
888
|
timeoutMs,
|
|
889
|
+
reasoningEffort,
|
|
889
890
|
hooks: {
|
|
890
891
|
onLine: (line) => {
|
|
891
892
|
formatter.handleLine(line);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcoda/agents",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.75",
|
|
4
4
|
"description": "Agent registry and capabilities for mcoda.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@mcoda/
|
|
34
|
-
"@mcoda/
|
|
33
|
+
"@mcoda/shared": "0.1.75",
|
|
34
|
+
"@mcoda/db": "0.1.75"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsc -p tsconfig.json",
|