@tickernelz/paperclip-pro-adapter-codex-local 2026.1005.10 → 2026.1006.1

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 (49) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +14 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.test.js +12 -3
  6. package/dist/index.test.js.map +1 -1
  7. package/dist/server/acp.d.ts +2 -1
  8. package/dist/server/acp.d.ts.map +1 -1
  9. package/dist/server/acp.js +21 -1
  10. package/dist/server/acp.js.map +1 -1
  11. package/dist/server/acp.quota.test.d.ts +2 -0
  12. package/dist/server/acp.quota.test.d.ts.map +1 -0
  13. package/dist/server/acp.quota.test.js +114 -0
  14. package/dist/server/acp.quota.test.js.map +1 -0
  15. package/dist/server/acp.test.js +69 -1
  16. package/dist/server/acp.test.js.map +1 -1
  17. package/dist/server/codex-args.test.js +2 -2
  18. package/dist/server/codex-args.test.js.map +1 -1
  19. package/dist/server/codex-home.d.ts.map +1 -1
  20. package/dist/server/codex-home.js +13 -9
  21. package/dist/server/codex-home.js.map +1 -1
  22. package/dist/server/codex-home.test.js +6 -6
  23. package/dist/server/codex-home.test.js.map +1 -1
  24. package/dist/server/execute.d.ts.map +1 -1
  25. package/dist/server/execute.js +94 -89
  26. package/dist/server/execute.js.map +1 -1
  27. package/dist/server/execute.remote.test.js +65 -0
  28. package/dist/server/execute.remote.test.js.map +1 -1
  29. package/dist/server/execute.test.js +33 -0
  30. package/dist/server/execute.test.js.map +1 -1
  31. package/dist/ui/build-config.d.ts.map +1 -1
  32. package/dist/ui/build-config.js +3 -2
  33. package/dist/ui/build-config.js.map +1 -1
  34. package/dist/ui/build-config.test.js +27 -1
  35. package/dist/ui/build-config.test.js.map +1 -1
  36. package/package.json +3 -3
  37. package/skills/openwa/SKILL.md +18 -6
  38. package/skills/paperclip/SKILL.md +62 -33
  39. package/skills/paperclip/references/api-reference.md +65 -43
  40. package/skills/paperclip/references/issue-documents.md +58 -0
  41. package/skills/paperclip-create-agent/SKILL.md +27 -18
  42. package/skills/paperclip-create-agent/references/agent-instruction-templates.md +24 -123
  43. package/skills/paperclip-create-agent/references/agents/coder.md +1 -47
  44. package/skills/paperclip-create-agent/references/agents/qa.md +1 -71
  45. package/skills/paperclip-create-agent/references/agents/securityengineer.md +1 -110
  46. package/skills/paperclip-create-agent/references/agents/uxdesigner.md +1 -98
  47. package/skills/paperclip-create-agent/references/baseline-role-guide.md +15 -161
  48. package/skills/paperclip-create-agent/references/draft-review-checklist.md +29 -95
  49. package/skills/slack/SKILL.md +24 -7
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare const label = "Codex";
3
3
  export declare const SANDBOX_INSTALL_COMMAND = "npm install -g @openai/codex";
4
4
  export declare const DEFAULT_CODEX_LOCAL_MODEL: "gpt-5.6-sol";
5
5
  export declare const DEFAULT_CODEX_LOCAL_BYPASS_APPROVALS_AND_SANDBOX = true;
6
- export declare const CODEX_LOCAL_FAST_MODE_SUPPORTED_MODELS: readonly ["gpt-6-astra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4"];
6
+ export declare const CODEX_LOCAL_FAST_MODE_SUPPORTED_MODELS: readonly ["gpt-6-astra", "gpt-6.1-sol", "gpt-6-sol", "gpt-6-luna", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5", "gpt-5.4"];
7
7
  declare const CODEX_LOCAL_DEFAULT_REASONING_EFFORTS: readonly ["minimal", "low", "medium", "high", "xhigh"];
8
8
  declare const CODEX_LOCAL_ULTRA_REASONING_EFFORTS: readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
9
9
  export type CodexLocalReasoningEffort = (typeof CODEX_LOCAL_DEFAULT_REASONING_EFFORTS)[number] | (typeof CODEX_LOCAL_ULTRA_REASONING_EFFORTS)[number];
@@ -16,6 +16,6 @@ export declare const models: {
16
16
  id: string;
17
17
  label: string;
18
18
  }[];
19
- export declare const agentConfigurationDoc = "# codex_local agent configuration\n\nAdapter: codex_local\n\nCore fields:\n- engine (string, optional): defaults to ACP, including legacy unset/\"auto\" values. Missing prerequisites and execution failures fail the run without changing engines. Set \"cli\" to explicitly select the CLI engine.\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to stdin prompt at runtime\n- model (string, optional): Codex model id\n- modelReasoningEffort (string, optional): reasoning effort override passed via -c model_reasoning_effort=...; GPT-6 Astra/Sol and GPT-5.6 Sol/Terra support low|medium|high|xhigh|max|ultra; GPT-6 Luna and GPT-5.6 Luna support low|medium|high|xhigh|max\n- promptTemplate (string, optional): run prompt template\n- search (boolean, optional): run codex with --search\n- fastMode (boolean, optional): enable Codex Fast mode; supported on GPT-6 (astra/sol/luna), GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and passed through for manual model IDs\n- dangerouslyBypassApprovalsAndSandbox (boolean, optional): run with bypass flag\n- command (string, optional): defaults to \"codex\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n- workspaceStrategy (object, optional): execution workspace strategy; currently supports { type: \"git_worktree\", baseRef?, branchTemplate?, worktreeParentDir? }\n- workspaceRuntime (object, optional): reserved for workspace runtime metadata; workspace runtime services are manually controlled from the workspace UI and are not auto-started by heartbeats\n- filesystemScope (string, optional): set to \"workspace\" to confine local CLI filesystem access with Bubblewrap. Off by default. The workspace and managed CODEX_HOME remain writable; other host paths are hidden.\n- filesystemExtraPaths (array, optional): additional absolute host paths exposed inside the workspace sandbox. String entries are read-only; object entries use { path: \"/absolute/path\", access: \"ro\" | \"rw\" }.\n- filesystemSandboxCommand (string, optional): Bubblewrap executable name or absolute path; defaults to \"bwrap\". Linux only.\n- networkScope (string, optional): \"deny\" blocks all network egress; \"allowlist\" permits only networkAllowlist targets through Paperclip's HTTP(S) proxy. Off by default.\n- networkAllowlist (string[], optional): exact hostnames, hostname:port entries, or origin URLs. Include the configured Codex provider origin, such as \"api.openai.com\" or a custom model provider gateway.\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n- outputInactivityTimeoutMs (number | null, optional): inactivity monitor around the codex child. Resets whenever the child emits stdout/stderr bytes or, on Linux, its process group shows meaningful CPU, disk I/O, or child-process churn during a silent build. Defaults to 30 * 60_000 ms when unset or non-positive. Set to `null` to disable the monitor entirely (only do this for known-slow tasks; the platform-level 1h silent-run safety net still applies). On fire, the adapter sends SIGTERM to the process group, waits 5s, then SIGKILL, and surfaces the run as failed with errorMessage \"monitor: no codex activity (output or process) for {N}m {S}s\".\n- agentCommand (string, optional): ACP server command override used only when engine=\"acp\"; defaults to the package-local codex-acp binary\n- mode (string, optional): ACP session mode when engine=\"acp\"; persistent or oneshot\n- nonInteractivePermissions (string, optional): ACP non-interactive permission fallback when engine=\"acp\"; deny or fail\n- stateDir (string, optional): ACP state directory override when engine=\"acp\"\n- warmHandleIdleMs (number, optional): warm ACP process idle timeout when engine=\"acp\"; defaults to 0\n\nNotes:\n- filesystemScope and networkScope are spawn-level confinement and are orthogonal to Codex approval/sandbox flags. Both require Bubblewrap on the host and explicit engine=\"cli\"; default or explicit ACP is rejected because ACP confinement is not yet supported. networkScope=\"allowlist\" injects HTTP_PROXY/HTTPS_PROXY for the CLI while its private network namespace blocks direct sockets, so every required provider/API hostname must be listed explicitly.\n- Prompts are piped via stdin (Codex receives \"-\" prompt argument).\n- If instructionsFilePath is configured, Paperclip prepends that file's contents to the stdin prompt on every run.\n- Codex exec automatically applies repo-scoped AGENTS.md instructions from the active workspace. Paperclip cannot suppress that discovery in exec mode, so repo AGENTS.md files may still apply even when you only configured an explicit instructionsFilePath.\n- Paperclip injects desired local skills into the effective CODEX_HOME/skills/ directory at execution time so Codex can discover \"$paperclip\" and related skills without polluting the project working directory. For new and updated agents, Paperclip assigns an isolated managed home at ~/.paperclip-pro/instances/<id>/companies/<companyId>/agents/<agentId>/codex-home/skills/; when CODEX_HOME is explicitly overridden in adapter config, that override is used instead.\n- New and updated codex_local agents persist an empty OPENAI_API_KEY override by default so a host-level OPENAI_API_KEY cannot leak into Codex runs through process inheritance. Explicit CODEX_HOME overrides must not point at the shared company codex-home, $CODEX_HOME, or ~/.codex.\n- Some model/tool combinations reject certain effort levels (for example minimal with web search enabled).\n- Fast mode is supported on GPT-6 (astra/sol/luna), GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and manual model IDs. When enabled for those models, Paperclip applies `service_tier=\"fast\"` and `features.fast_mode=true`.\n- When Paperclip realizes a workspace/runtime for a run, it injects PAPERCLIP_WORKSPACE_* and PAPERCLIP_RUNTIME_* env vars for agent-side tooling.\n- The ACP engine keeps its workspace sandbox and enables network access on each turn. Explicit sandbox_workspace_write.network_access overrides in extraArgs (or env.PAPERCLIP_CODEX_ACP_NETWORK_ACCESS=\"false\") disable it; execution-target network denial wins. The bundled ACP patch is needed because upstream mode presets override Codex config.toml on every turn.\n- The CLI engine defaults to a writable workspace sandbox with network access for unattended work and Paperclip API calls. It does not enable the dangerous bypass flag. Explicit sandbox modes/profiles and network overrides in extraArgs retain their meaning. An execution-target network denial remains enforced.\n- Codex ACP is the preferred auto lane when Node >=24.11.0 and the Codex ACP server are available. It reuses shared ACP prompt/runtime guidance, selected skill materialization into CODEX_HOME/skills, model/reasoning/fast-mode session config, and existing quota-window reporting. Missing ACP prerequisites fail both default and explicit ACP runs with an actionable setup error; the adapter never switches engines automatically.\n";
19
+ export declare const agentConfigurationDoc = "# codex_local agent configuration\n\nAdapter: codex_local\n\nCore fields:\n- engine (string, optional): defaults to ACP, including legacy unset/\"auto\" values. Missing prerequisites and execution failures fail the run without changing engines. Set \"cli\" to explicitly select the CLI engine.\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to stdin prompt at runtime\n- model (string, optional): Codex model id\n- modelReasoningEffort (string, optional): reasoning effort override passed via -c model_reasoning_effort=...; GPT-6 Astra, GPT-6.1 Sol, GPT-6 Sol, and GPT-5.6 Sol/Terra support low|medium|high|xhigh|max|ultra; GPT-6 Luna and GPT-5.6 Luna support low|medium|high|xhigh|max\n- promptTemplate (string, optional): run prompt template\n- search (boolean, optional): run codex with --search\n- fastMode (boolean, optional): enable Codex Fast mode; supported on GPT-6 (astra/sol/luna), GPT-6.1 Sol, GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and passed through for manual model IDs\n- dangerouslyBypassApprovalsAndSandbox (boolean, optional): run with bypass flag\n- command (string, optional): defaults to \"codex\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n- workspaceStrategy (object, optional): execution workspace strategy; currently supports { type: \"git_worktree\", baseRef?, branchTemplate?, worktreeParentDir? }\n- workspaceRuntime (object, optional): reserved for workspace runtime metadata; workspace runtime services are manually controlled from the workspace UI and are not auto-started by heartbeats\n- filesystemScope (string, optional): set to \"workspace\" to confine local CLI filesystem access with Bubblewrap. Off by default. The workspace and managed CODEX_HOME remain writable; other host paths are hidden.\n- filesystemExtraPaths (array, optional): additional absolute host paths exposed inside the workspace sandbox. String entries are read-only; object entries use { path: \"/absolute/path\", access: \"ro\" | \"rw\" }.\n- filesystemSandboxCommand (string, optional): Bubblewrap executable name or absolute path; defaults to \"bwrap\". Linux only.\n- networkScope (string, optional): \"deny\" blocks all network egress; \"allowlist\" permits only networkAllowlist targets through Paperclip's HTTP(S) proxy. Off by default.\n- networkAllowlist (string[], optional): exact hostnames, hostname:port entries, or origin URLs. Include the configured Codex provider origin, such as \"api.openai.com\" or a custom model provider gateway.\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n- outputInactivityTimeoutMs (number | null, optional): inactivity monitor around the codex child. Resets whenever the child emits stdout/stderr bytes or, on Linux, its process group shows meaningful CPU, disk I/O, or child-process churn during a silent build. Defaults to 30 * 60_000 ms when unset or non-positive. Set to `null` to disable the monitor entirely (only do this for known-slow tasks; the platform-level 1h silent-run safety net still applies). On fire, the adapter sends SIGTERM to the process group, waits 5s, then SIGKILL, and surfaces the run as failed with errorMessage \"monitor: no codex activity (output or process) for {N}m {S}s\".\n- agentCommand (string, optional): ACP server command override used only when engine=\"acp\"; defaults to the package-local codex-acp binary\n- mode (string, optional): ACP session mode when engine=\"acp\"; persistent or oneshot\n- nonInteractivePermissions (string, optional): ACP non-interactive permission fallback when engine=\"acp\"; deny or fail\n- stateDir (string, optional): ACP state directory override when engine=\"acp\"\n- warmHandleIdleMs (number, optional): warm ACP process idle timeout when engine=\"acp\"; defaults to 0\n\nNotes:\n- filesystemScope and networkScope are spawn-level confinement and are orthogonal to Codex approval/sandbox flags. Both require Bubblewrap on the host and explicit engine=\"cli\"; default or explicit ACP is rejected because ACP confinement is not yet supported. networkScope=\"allowlist\" injects HTTP_PROXY/HTTPS_PROXY for the CLI while its private network namespace blocks direct sockets, so every required provider/API hostname must be listed explicitly.\n- Prompts are piped via stdin (Codex receives \"-\" prompt argument).\n- If instructionsFilePath is configured, Paperclip prepends that file's contents to the stdin prompt on every run.\n- Codex exec automatically applies repo-scoped AGENTS.md instructions from the active workspace. Paperclip cannot suppress that discovery in exec mode, so repo AGENTS.md files may still apply even when you only configured an explicit instructionsFilePath.\n- Paperclip injects desired local skills into the effective CODEX_HOME/skills/ directory at execution time so Codex can discover \"$paperclip\" and related skills without polluting the project working directory. For new and updated agents, Paperclip assigns an isolated managed home at ~/.paperclip-pro/instances/<id>/companies/<companyId>/agents/<agentId>/codex-home/skills/; when CODEX_HOME is explicitly overridden in adapter config, that override is used instead.\n- New and updated codex_local agents persist an empty OPENAI_API_KEY override by default so a host-level OPENAI_API_KEY cannot leak into Codex runs through process inheritance. Explicit CODEX_HOME overrides must not point at the shared company codex-home, $CODEX_HOME, or ~/.codex.\n- Some model/tool combinations reject certain effort levels (for example minimal with web search enabled).\n- Fast mode is supported on GPT-6 (astra/sol/luna), GPT-6.1 Sol, GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and manual model IDs. When enabled for those models, Paperclip applies `service_tier=\"fast\"` and `features.fast_mode=true`.\n- When Paperclip realizes a workspace/runtime for a run, it injects PAPERCLIP_WORKSPACE_* and PAPERCLIP_RUNTIME_* env vars for agent-side tooling.\n- The ACP engine keeps its workspace sandbox and enables network access on each turn. Explicit sandbox_workspace_write.network_access overrides in extraArgs (or env.PAPERCLIP_CODEX_ACP_NETWORK_ACCESS=\"false\") disable it; execution-target network denial wins. The bundled ACP patch is needed because upstream mode presets override Codex config.toml on every turn.\n- The CLI engine defaults to a writable workspace sandbox with network access for unattended work and Paperclip API calls. It does not enable the dangerous bypass flag. Explicit sandbox modes/profiles and network overrides in extraArgs retain their meaning. An execution-target network denial remains enforced.\n- Codex ACP is the preferred auto lane when Node >=24.11.0 and the Codex ACP server are available. It reuses shared ACP prompt/runtime guidance, selected skill materialization into CODEX_HOME/skills, model/reasoning/fast-mode session config, and existing quota-window reporting. Missing ACP prerequisites fail both default and explicit ACP runs with an actionable setup error; the adapter never switches engines automatically.\n";
20
20
  export {};
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAClC,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAKtE,eAAO,MAAM,yBAAyB,eAAwC,CAAC;AAC/E,eAAO,MAAM,gDAAgD,OAAO,CAAC;AACrE,eAAO,MAAM,sCAAsC,YACjD,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,SAAS,EACT,SAAS,CACD,CAAC;AAcX,QAAA,MAAM,qCAAqC,YACzC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,CACC,CAAC;AAUX,QAAA,MAAM,mCAAmC,6DAG/B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACjC,CAAC,OAAO,qCAAqC,CAAC,CAAC,MAAM,CAAC,GACtD,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG5E;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,SAAS,yBAAyB,EAAE,CActC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIhF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGjF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAUvF;AAED,eAAO,MAAM,MAAM;;;GAiBlB,CAAC;AAEF,eAAO,MAAM,qBAAqB,2mOAgDjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAClC,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAKtE,eAAO,MAAM,yBAAyB,eAAwC,CAAC;AAC/E,eAAO,MAAM,gDAAgD,OAAO,CAAC;AACrE,eAAO,MAAM,sCAAsC,YACjD,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,SAAS,EACT,SAAS,CACD,CAAC;AAcX,QAAA,MAAM,qCAAqC,YACzC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,CACC,CAAC;AAUX,QAAA,MAAM,mCAAmC,6DAG/B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACjC,CAAC,OAAO,qCAAqC,CAAC,CAAC,MAAM,CAAC,GACtD,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG5E;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,SAAS,yBAAyB,EAAE,CAetC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIhF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGjF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAUvF;AAKD,eAAO,MAAM,MAAM;;;GAmBlB,CAAC;AAEF,eAAO,MAAM,qBAAqB,0pOAgDjC,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export const DEFAULT_CODEX_LOCAL_MODEL = PAPERCLIP_RUNNER_DEFAULT_MODELS.codex;
9
9
  export const DEFAULT_CODEX_LOCAL_BYPASS_APPROVALS_AND_SANDBOX = true;
10
10
  export const CODEX_LOCAL_FAST_MODE_SUPPORTED_MODELS = [
11
11
  "gpt-6-astra",
12
+ "gpt-6.1-sol",
12
13
  "gpt-6-sol",
13
14
  "gpt-6-luna",
14
15
  "gpt-5.6-sol",
@@ -53,6 +54,7 @@ export function codexLocalReasoningEffortsForModel(model) {
53
54
  const normalizedModel = normalizeCodexModel(model);
54
55
  switch (normalizedModel) {
55
56
  case "gpt-6-astra":
57
+ case "gpt-6.1-sol":
56
58
  case "gpt-6-sol":
57
59
  case "gpt-5.6-sol":
58
60
  case "gpt-5.6-terra":
@@ -85,21 +87,26 @@ export function isCodexLocalFastModeSupported(model) {
85
87
  return true;
86
88
  return CODEX_LOCAL_FAST_MODE_SUPPORTED_MODELS.includes(normalizedModel);
87
89
  }
90
+ // Ordered the way the ChatGPT app orders Codex models (#14878): newest model version first,
91
+ // then by decreasing capability inside each version, older models at the end. The server
92
+ // returns this list as written and the model dropdown keeps its order.
88
93
  export const models = [
89
- // DEFAULT_CODEX_LOCAL_MODEL is gpt-5.6-sol, so it doubles as the first (default) 5.6 entry.
90
- { id: DEFAULT_CODEX_LOCAL_MODEL, label: DEFAULT_CODEX_LOCAL_MODEL },
94
+ { id: "gpt-6.1-sol", label: "gpt-6.1-sol" },
91
95
  { id: "gpt-6-astra", label: "gpt-6-astra" },
92
96
  { id: "gpt-6-sol", label: "gpt-6-sol" },
93
97
  { id: "gpt-6-luna", label: "gpt-6-luna" },
98
+ // DEFAULT_CODEX_LOCAL_MODEL is gpt-5.6-sol, the first 5.6 entry.
99
+ { id: DEFAULT_CODEX_LOCAL_MODEL, label: DEFAULT_CODEX_LOCAL_MODEL },
94
100
  { id: "gpt-5.6-terra", label: "gpt-5.6-terra" },
95
101
  { id: "gpt-5.6-luna", label: "gpt-5.6-luna" },
102
+ { id: "gpt-5.5", label: "gpt-5.5" },
96
103
  { id: "gpt-5.4", label: "gpt-5.4" },
97
104
  { id: "gpt-5.4-mini", label: "gpt-5.4-mini" },
98
105
  { id: "gpt-5", label: "gpt-5" },
99
- { id: "o3", label: "o3" },
100
- { id: "o4-mini", label: "o4-mini" },
101
106
  { id: "gpt-5-mini", label: "gpt-5-mini" },
102
107
  { id: "gpt-5-nano", label: "gpt-5-nano" },
108
+ { id: "o3", label: "o3" },
109
+ { id: "o4-mini", label: "o4-mini" },
103
110
  { id: "o3-mini", label: "o3-mini" },
104
111
  { id: "codex-mini-latest", label: "Codex Mini" },
105
112
  ];
@@ -112,10 +119,10 @@ Core fields:
112
119
  - cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)
113
120
  - instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to stdin prompt at runtime
114
121
  - model (string, optional): Codex model id
115
- - modelReasoningEffort (string, optional): reasoning effort override passed via -c model_reasoning_effort=...; GPT-6 Astra/Sol and GPT-5.6 Sol/Terra support low|medium|high|xhigh|max|ultra; GPT-6 Luna and GPT-5.6 Luna support low|medium|high|xhigh|max
122
+ - modelReasoningEffort (string, optional): reasoning effort override passed via -c model_reasoning_effort=...; GPT-6 Astra, GPT-6.1 Sol, GPT-6 Sol, and GPT-5.6 Sol/Terra support low|medium|high|xhigh|max|ultra; GPT-6 Luna and GPT-5.6 Luna support low|medium|high|xhigh|max
116
123
  - promptTemplate (string, optional): run prompt template
117
124
  - search (boolean, optional): run codex with --search
118
- - fastMode (boolean, optional): enable Codex Fast mode; supported on GPT-6 (astra/sol/luna), GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and passed through for manual model IDs
125
+ - fastMode (boolean, optional): enable Codex Fast mode; supported on GPT-6 (astra/sol/luna), GPT-6.1 Sol, GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and passed through for manual model IDs
119
126
  - dangerouslyBypassApprovalsAndSandbox (boolean, optional): run with bypass flag
120
127
  - command (string, optional): defaults to "codex"
121
128
  - extraArgs (string[], optional): additional CLI args
@@ -146,7 +153,7 @@ Notes:
146
153
  - Paperclip injects desired local skills into the effective CODEX_HOME/skills/ directory at execution time so Codex can discover "$paperclip" and related skills without polluting the project working directory. For new and updated agents, Paperclip assigns an isolated managed home at ~/.paperclip-pro/instances/<id>/companies/<companyId>/agents/<agentId>/codex-home/skills/; when CODEX_HOME is explicitly overridden in adapter config, that override is used instead.
147
154
  - New and updated codex_local agents persist an empty OPENAI_API_KEY override by default so a host-level OPENAI_API_KEY cannot leak into Codex runs through process inheritance. Explicit CODEX_HOME overrides must not point at the shared company codex-home, $CODEX_HOME, or ~/.codex.
148
155
  - Some model/tool combinations reject certain effort levels (for example minimal with web search enabled).
149
- - Fast mode is supported on GPT-6 (astra/sol/luna), GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and manual model IDs. When enabled for those models, Paperclip applies \`service_tier="fast"\` and \`features.fast_mode=true\`.
156
+ - Fast mode is supported on GPT-6 (astra/sol/luna), GPT-6.1 Sol, GPT-5.6 (sol/terra/luna), GPT-5.5, GPT-5.4 and manual model IDs. When enabled for those models, Paperclip applies \`service_tier="fast"\` and \`features.fast_mode=true\`.
150
157
  - When Paperclip realizes a workspace/runtime for a run, it injects PAPERCLIP_WORKSPACE_* and PAPERCLIP_RUNTIME_* env vars for agent-side tooling.
151
158
  - The ACP engine keeps its workspace sandbox and enables network access on each turn. Explicit sandbox_workspace_write.network_access overrides in extraArgs (or env.PAPERCLIP_CODEX_ACP_NETWORK_ACCESS="false") disable it; execution-target network denial wins. The bundled ACP patch is needed because upstream mode presets override Codex config.toml on every turn.
152
159
  - The CLI engine defaults to a writable workspace sandbox with network access for unattended work and Paperclip API calls. It does not enable the dangerous bypass flag. Explicit sandbox modes/profiles and network overrides in extraArgs retain their meaning. An execution-target network denial remains enforced.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,31 @@ describe("codex local adapter metadata", () => {
6
6
  // Default to the concrete gpt-5.6-sol slug — Codex ships no metadata for the bare gpt-5.6
7
7
  // alias, so it must not be advertised or used as the default (it triggers a fallback warning).
8
8
  expect(DEFAULT_CODEX_LOCAL_MODEL).toBe("gpt-5.6-sol");
9
- expect(modelIds.slice(0, 6)).toEqual([
10
- "gpt-5.6-sol",
9
+ // Ordered like the ChatGPT app: newest version first, then by capability within a version (#14878).
10
+ expect(modelIds.slice(0, 13)).toEqual([
11
+ "gpt-6.1-sol",
11
12
  "gpt-6-astra",
12
13
  "gpt-6-sol",
13
14
  "gpt-6-luna",
15
+ "gpt-5.6-sol",
14
16
  "gpt-5.6-terra",
15
17
  "gpt-5.6-luna",
18
+ "gpt-5.5",
19
+ "gpt-5.4",
20
+ "gpt-5.4-mini",
21
+ "gpt-5",
22
+ "gpt-5-mini",
23
+ "gpt-5-nano",
16
24
  ]);
17
25
  expect(modelIds).not.toContain("gpt-5.6");
18
26
  expect(isCodexLocalFastModeSupported(DEFAULT_CODEX_LOCAL_MODEL)).toBe(true);
19
27
  expect(isCodexLocalFastModeSupported("gpt-6-astra")).toBe(true);
28
+ expect(isCodexLocalFastModeSupported("gpt-6.1-sol")).toBe(true);
20
29
  expect(isCodexLocalFastModeSupported("gpt-6-sol")).toBe(true);
21
30
  expect(modelIds).not.toContain("gpt-5.3-codex");
22
31
  expect(modelIds).not.toContain("gpt-5.3-codex-spark");
23
32
  });
24
- it.each(["gpt-6-astra", "gpt-6-sol", " gpt-6-sol ", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6"])("uses the reasoning efforts advertised for %s", (model) => {
33
+ it.each(["gpt-6-astra", "gpt-6.1-sol", "gpt-6-sol", " gpt-6-sol ", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6"])("uses the reasoning efforts advertised for %s", (model) => {
25
34
  expect(codexLocalReasoningEffortsForModel(model)).toEqual([
26
35
  "low",
27
36
  "medium",
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,EACN,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjD,0FAA0F;QAC1F,+FAA+F;QAC/F,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnC,aAAa;YACb,aAAa;YACb,WAAW;YACX,YAAY;YACZ,eAAe;YACf,cAAc;SACf,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,8CAA8C,EAAE,CAAC,KAAK,EAAE,EAAE;QACxJ,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACxD,KAAK;YACL,QAAQ;YACR,MAAM;YACN,OAAO;YACP,KAAK;YACL,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,EAAE;QAChF,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACxD,SAAS;YACT,KAAK;YACL,QAAQ;YACR,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,uCAAuC,EAAE,CAAC,KAAK,EAAE,EAAE;QACzF,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,sEAAsE;QACtE,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AdapterBillingType, AdapterEnvironmentTestContext, AdapterEnvironmentTestResult, AdapterExecutionContext, AdapterExecutionResult } from "@tickernelz/paperclip-pro-adapter-utils";
2
- import type { AcpxEngineExecutorOptions } from "@tickernelz/paperclip-pro-adapter-utils/acpx-engine/execute";
2
+ import type { AcpxEngineExecutorOptions, AcpxTerminalFailureClassification, AcpxTerminalSessionFailure } from "@tickernelz/paperclip-pro-adapter-utils/acpx-engine/execute";
3
3
  export type CodexExecutionEngine = "cli" | "acp";
4
4
  export interface CodexEngineSelection {
5
5
  engine: CodexExecutionEngine;
@@ -12,6 +12,7 @@ type CodexAcpExecutor = (ctx: AdapterExecutionContext) => Promise<AdapterExecuti
12
12
  export declare function resolveCodexExecutionEngine(config: Record<string, unknown>): CodexEngineSelection;
13
13
  export declare function resolveCodexExecutionEngineForRun(input: CodexEngineResolutionInput): Promise<CodexEngineSelection>;
14
14
  export declare function buildCodexAcpConfig(config: Record<string, unknown>): Record<string, unknown>;
15
+ export declare function classifyCodexTerminalSessionFailure(failure: AcpxTerminalSessionFailure, now: Date): AcpxTerminalFailureClassification | null;
15
16
  /**
16
17
  * Classify billing the same way the Codex CLI lane does so ACP runs land in
17
18
  * the cost ledger with a real provider/billingType instead of acpx/unknown.
@@ -1 +1 @@
1
- {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/server/acp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAElB,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AAiBjD,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,6DAA6D,CAAC;AAuBrE,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,KAAK,0BAA0B,GAC7B,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC;AAEnF,KAAK,uBAAuB,GAAG,IAAI,CACjC,yBAAyB,EACzB,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAC/C,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAS1F,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAEjG;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAuB/B;AAWD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwC5F;AAsID;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,GACjF;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAA;CAAE,CAuBvE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAe9F;AAQD,wBAAgB,+BAA+B,CAAC,OAAO,SAAkB,GAAG,OAAO,CAMlF;AA0HD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,6BAA6B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CA6JvC"}
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/server/acp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAElB,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AAiBjD,OAAO,KAAK,EACV,yBAAyB,EAGzB,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,6DAA6D,CAAC;AAuBrE,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,KAAK,0BAA0B,GAC7B,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC;AAEnF,KAAK,uBAAuB,GAAG,IAAI,CACjC,yBAAyB,EACzB,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAC/C,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAS1F,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAEjG;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAuB/B;AAWD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwC5F;AAsGD,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,0BAA0B,EACnC,GAAG,EAAE,IAAI,GACR,iCAAiC,GAAG,IAAI,CAe1C;AAqCD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,GACjF;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAA;CAAE,CAuBvE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAe9F;AAQD,wBAAgB,+BAA+B,CAAC,OAAO,SAAkB,GAAG,OAAO,CAMlF;AA0HD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,6BAA6B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CA6JvC"}
@@ -8,7 +8,7 @@ import { DEFAULT_ACP_ENGINE_MODE, DEFAULT_ACP_ENGINE_NON_INTERACTIVE_PERMISSIONS
8
8
  import { asNumber, asString, asStringArray, parseObject, } from "@tickernelz/paperclip-pro-adapter-utils/server-utils";
9
9
  import { createWorkspaceRestoreTeardown } from "@tickernelz/paperclip-pro-adapter-utils/workspace-restore-teardown";
10
10
  import { normalizeCodexModel } from "../index.js";
11
- import { classifyCodexAuthRefreshFailure } from "./parse.js";
11
+ import { classifyCodexAuthRefreshFailure, extractCodexRetryNotBefore } from "./parse.js";
12
12
  import { copyBackCodexAuth } from "./codex-auth-copyback.js";
13
13
  import { buildCodexAuthInboundProvision } from "./codex-auth-merge-scripts.js";
14
14
  import { evaluateCodexCredentialReadiness, resolveSharedCodexHomeDir, stageCodexHomeForSync, } from "./codex-home.js";
@@ -120,6 +120,8 @@ async function prepareCodexRemoteManagedHome(input) {
120
120
  // workspace with no home asset, identical to the no-seam fallback.
121
121
  return { stagedRuntime: await input.stage([]) };
122
122
  }
123
+ // API-key runs do not rotate a subscription refresh token. Keep their
124
+ // sandbox auth out of the shared subscription copy-back path altogether.
123
125
  const apiKeyAuth = Boolean(env.OPENAI_API_KEY?.trim() || env.CODEX_API_KEY?.trim());
124
126
  // Curated allowlist temp dir (auth/config/skills only); caller owns cleanup.
125
127
  const stagedCodexHomeDir = await stageCodexHomeForSync(effectiveCodexHome, { runId });
@@ -185,10 +187,28 @@ async function prepareCodexRemoteManagedHome(input) {
185
187
  },
186
188
  };
187
189
  }
190
+ export function classifyCodexTerminalSessionFailure(failure, now) {
191
+ // ACP's `limit` also covers context, turn, rate and configured budget limits.
192
+ // Require explicit usage exhaustion; the CLI's broader capacity matcher would
193
+ // also match a context/storage capacity limit and defer the wrong failure.
194
+ if (failure.category !== "limit")
195
+ return null;
196
+ const surface = { errorMessage: [failure.title, failure.details].filter(Boolean).join("\n") };
197
+ if (!/\b(?:you(?:'|’)ve hit your usage limit|usage limit (?:reached|exceeded))\b/i.test(surface.errorMessage)) {
198
+ return null;
199
+ }
200
+ const retryNotBefore = extractCodexRetryNotBefore(surface, now)?.toISOString();
201
+ return {
202
+ errorCode: "provider_quota",
203
+ errorFamily: "provider_quota",
204
+ ...(retryNotBefore ? { retryNotBefore } : {}),
205
+ };
206
+ }
188
207
  function withCodexAcpDefaults(options) {
189
208
  return {
190
209
  resolveBillingIdentity: resolveCodexAcpBillingIdentity,
191
210
  prepareRemoteManagedHome: prepareCodexRemoteManagedHome,
211
+ classifyTerminalSessionFailure: classifyCodexTerminalSessionFailure,
192
212
  ...options,
193
213
  adapterType: "codex_local",
194
214
  moduleDir,
@@ -1 +1 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/server/acp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/server/acp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=acp.quota.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.quota.test.d.ts","sourceRoot":"","sources":["../../src/server/acp.quota.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import fs from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { createRequire } from "node:module";
5
+ import { fileURLToPath } from "node:url";
6
+ import { afterEach, expect, it } from "vitest";
7
+ import { classifyCodexTerminalSessionFailure, createCodexAcpExecutor } from "./acp.js";
8
+ const repoRoot = fileURLToPath(new URL("../../../../..", import.meta.url));
9
+ const fixture = path.join(repoRoot, "scripts/mcp-fixtures/servers/acp-echo-agent.mjs");
10
+ const roots = [];
11
+ const now = new Date("2026-07-15T20:00:00.000Z");
12
+ // Exercise both pinned dependency patches through the same real ACP child.
13
+ const runnerRequire = createRequire(path.join(repoRoot, "packages/paperclip-runner/package.json"));
14
+ const runnerAcpx = await import(runnerRequire.resolve("acpx/runtime"));
15
+ afterEach(async () => {
16
+ await Promise.all(roots.splice(0).map((root) => fs.rm(root, { recursive: true, force: true })));
17
+ });
18
+ async function executeFailure(title, category = "limit", mode = "oneshot", createRuntime) {
19
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "paperclip-codex-acp-quota-"));
20
+ roots.push(root);
21
+ const logs = [];
22
+ const execute = createCodexAcpExecutor({ now: () => now.getTime(), createRuntime });
23
+ const result = await execute({
24
+ runId: "typed-quota",
25
+ agent: { id: "quota-agent", companyId: "quota-company" },
26
+ runtime: {},
27
+ config: {
28
+ agentCommand: `${JSON.stringify(process.execPath.replaceAll("\\", "/"))} ${JSON.stringify(fixture.replaceAll("\\", "/"))}`,
29
+ mode,
30
+ warmHandleIdleMs: 0,
31
+ cwd: repoRoot,
32
+ stateDir: path.join(root, "state"),
33
+ env: {
34
+ CODEX_HOME: path.join(root, "codex-home"),
35
+ PAPERCLIP_ACPX_TYPED_FAILURE_CANARY: title,
36
+ PAPERCLIP_ACPX_TYPED_FAILURE_CATEGORY: category,
37
+ },
38
+ },
39
+ context: {},
40
+ onLog: async (_stream, text) => logs.push(text),
41
+ onMeta: async () => { },
42
+ });
43
+ return { result, logs: logs.join("\n") };
44
+ }
45
+ it.each([
46
+ ["0.12.0", "oneshot"],
47
+ ["0.12.0", "persistent"],
48
+ ["0.13.1", "oneshot"],
49
+ ["0.13.1", "persistent"],
50
+ ])("waits for a typed Codex quota reset with ACPX %s in %s mode without exposing provider text", async (version, mode) => {
51
+ const title = "You've hit your usage limit for GPT-5. Switch to another model now, or try again at 4:30 PM (America/Chicago).";
52
+ const { result, logs } = await executeFailure(title, "limit", mode, version === "0.13.1" ? runnerAcpx.createAcpRuntime : undefined);
53
+ expect(result).toMatchObject({
54
+ exitCode: 1,
55
+ errorCode: "provider_quota",
56
+ errorFamily: "provider_quota",
57
+ retryNotBefore: "2026-07-15T21:30:00.000Z",
58
+ resultJson: {
59
+ errorFamily: "provider_quota",
60
+ retryNotBefore: "2026-07-15T21:30:00.000Z",
61
+ providerQuotaRetryNotBefore: "2026-07-15T21:30:00.000Z",
62
+ },
63
+ });
64
+ expect(JSON.stringify(result)).not.toContain(title);
65
+ expect(logs).not.toContain(title);
66
+ });
67
+ it("classifies quota without a reset time for the existing recovery backoff", async () => {
68
+ const title = "You've hit your usage limit. Visit https://example.invalid/usage for account details.";
69
+ const { result, logs } = await executeFailure(title);
70
+ expect(result).toMatchObject({ errorCode: "provider_quota", errorFamily: "provider_quota" });
71
+ expect(result.retryNotBefore).toBeUndefined();
72
+ expect(JSON.stringify(result)).not.toContain(title);
73
+ expect(logs).not.toContain(title);
74
+ });
75
+ it.each([
76
+ ["Context window limit exceeded", "limit"],
77
+ ["Maximum number of turns reached", "limit"],
78
+ ["Configured budget limit reached", "limit"],
79
+ ["Rate limit exceeded; retry later", "limit"],
80
+ ["You've hit your usage limit", "request"],
81
+ ["Context window capacity limit reached", "limit"],
82
+ ["Workspace storage capacity limit reached", "limit"],
83
+ ["The account has available quota", "limit"],
84
+ ["The worker connection closed", "connection"],
85
+ ])("keeps a non-quota typed failure out of quota recovery: %s", async (title, category) => {
86
+ const { result, logs } = await executeFailure(title, category);
87
+ expect(result).toMatchObject({ exitCode: 1, errorCode: "acpx_turn_failed" });
88
+ expect(result.errorFamily).not.toBe("provider_quota");
89
+ expect(result.retryNotBefore).toBeUndefined();
90
+ expect(JSON.stringify(result)).not.toContain(title);
91
+ expect(logs).not.toContain(title);
92
+ });
93
+ it("does not infer quota from the historical generic terminal-limit error", () => {
94
+ expect(classifyCodexTerminalSessionFailure({
95
+ category: "limit",
96
+ title: "ACP agent reported a terminal limit failure.",
97
+ }, now)).toBeNull();
98
+ });
99
+ it("reads usage exhaustion and its reset clock from terminal details", () => {
100
+ expect(classifyCodexTerminalSessionFailure({
101
+ category: "limit",
102
+ title: "Codex could not complete the turn",
103
+ details: "You've hit your usage limit for GPT-5. Switch to another model now, or try again at 4:30 PM (America/Chicago).",
104
+ }, now)).toEqual({
105
+ errorCode: "provider_quota",
106
+ errorFamily: "provider_quota",
107
+ retryNotBefore: "2026-07-15T21:30:00.000Z",
108
+ });
109
+ });
110
+ it.each(["Usage limit reached", "Usage limit exceeded", "You’ve hit your usage limit"])("classifies explicit usage exhaustion without a reset clock: %s", (title) => {
111
+ expect(classifyCodexTerminalSessionFailure({ category: "limit", title }, now))
112
+ .toEqual({ errorCode: "provider_quota", errorFamily: "provider_quota" });
113
+ });
114
+ //# sourceMappingURL=acp.quota.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.quota.test.js","sourceRoot":"","sources":["../../src/server/acp.quota.test.ts"],"names":[],"mappings":"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"}
@@ -398,7 +398,7 @@ describe("codex_local ACP lane", () => {
398
398
  warmHandleIdleMs: 25,
399
399
  });
400
400
  });
401
- it.each([["gpt-6-astra", "ultra"], ["gpt-6-sol", "ultra"], ["gpt-6-luna", "max"], ["gpt-5.6-sol", "ultra"], ["gpt-5.6-terra", "ultra"], ["gpt-5.6-luna", "max"]])("forwards %s controls to the ACPX Codex target", (model, effort) => {
401
+ it.each([["gpt-6-astra", "ultra"], ["gpt-6.1-sol", "ultra"], ["gpt-6-sol", "ultra"], ["gpt-6-luna", "max"], ["gpt-5.6-sol", "ultra"], ["gpt-5.6-terra", "ultra"], ["gpt-5.6-luna", "max"]])("forwards %s controls to the ACPX Codex target", (model, effort) => {
402
402
  expect(buildCodexAcpConfig({
403
403
  engine: "acp",
404
404
  model,
@@ -616,6 +616,74 @@ describe("codex_local ACP lane", () => {
616
616
  features: { fast_mode: true },
617
617
  });
618
618
  });
619
+ it("sends assignment-owned markdown and ordered distinct wake comments at the ACP boundary", async () => {
620
+ const root = await makeTempRoot("paperclip-codex-acp-context-owner-");
621
+ const runtimes = [];
622
+ const execute = createCodexAcpExecutor({
623
+ createRuntime: (options) => {
624
+ const runtime = new FakeRuntime(options);
625
+ runtimes.push(runtime);
626
+ return runtime;
627
+ },
628
+ });
629
+ const issue = {
630
+ id: "issue-1",
631
+ identifier: "PAP-901",
632
+ title: "Repeat phrase Repeat phrase",
633
+ description: "Repeat phrase Repeat phrase",
634
+ };
635
+ const comments = [
636
+ { id: "comment-a", body: "Same event body." },
637
+ { id: "comment-b", body: "Same event body." },
638
+ ];
639
+ // The adapter receives server-rendered fields. Keep the server builder's
640
+ // own tests in the server package; adapter packages compile independently.
641
+ const assignmentMarkdown = [
642
+ "Paperclip task context:",
643
+ `- Issue: ${JSON.stringify(issue.identifier)}`,
644
+ `- Title: ${JSON.stringify(issue.title)}`,
645
+ "", "Issue description:", "```text", issue.description, "```",
646
+ ].join("\n");
647
+ const historicalMarkdown = [
648
+ assignmentMarkdown,
649
+ ...comments.map((comment) => `${comment.id}: ${comment.body}`),
650
+ ].join("\n");
651
+ const result = await execute(buildContext(root, {
652
+ context: {
653
+ issueId: issue.id,
654
+ paperclipTaskMarkdown: historicalMarkdown,
655
+ paperclipTaskMarkdownAssignment: assignmentMarkdown,
656
+ paperclipWake: {
657
+ reason: "issue_commented",
658
+ issue: { ...issue, status: "in_progress" },
659
+ comments: comments.map((comment, index) => ({
660
+ ...comment,
661
+ issueId: issue.id,
662
+ createdAt: `2026-09-21T00:0${index}:00.000Z`,
663
+ })),
664
+ commentWindow: { requestedCount: 2, includedCount: 2, missingCount: 0 },
665
+ fallbackFetchNeeded: false,
666
+ },
667
+ paperclipTurnContext: {
668
+ version: 1,
669
+ assignment: { owner: "task_markdown" },
670
+ events: {
671
+ owner: "wake_prompt",
672
+ comments: [
673
+ { id: "comment-a", revision: "a" },
674
+ { id: "comment-b", revision: "b" },
675
+ ],
676
+ },
677
+ },
678
+ paperclipWorkspace: { cwd: root, source: "project_workspace", workspaceId: "workspace-1" },
679
+ },
680
+ }));
681
+ expect(result.exitCode).toBe(0);
682
+ const prompt = String(runtimes[0]?.startInputs[0]?.text ?? "");
683
+ expect(prompt.split("Same event body.")).toHaveLength(3);
684
+ expect(prompt.indexOf("comment comment-a")).toBeLessThan(prompt.indexOf("comment comment-b"));
685
+ expect(prompt).toContain("Repeat phrase Repeat phrase");
686
+ });
619
687
  it("creates the ACP session on the in-sandbox workspace cwd for runner-backed remote runs", async () => {
620
688
  const root = await makeTempRoot("paperclip-codex-acp-remote-cwd-");
621
689
  const localCwd = path.join(root, "worktree");