Commit Graph
73 Commits
Author SHA1 Message Date
James Peter edccb6a38d chore(ci): remove npm token helper and clarify instructions 2025-12-11 07:42:14 +10:00
James Peter d4859adaee chore(ci): add npm token refresh helper and failure hint 2025-12-11 06:33:24 +10:00
James Peter 6ff82d54ea feat(auto-drive): add macOS memwatch dumps and pid tracking 2025-12-09 11:57:27 +10:00
James Peter c95576710d chore(scripts): remove unused helpers 2025-11-27 11:53:56 +10:00
James Peter ea28a5bb40 docs: consolidate user docs and relocate release notes 2025-11-27 10:19:06 +10:00
James Peter e26ccef9a1 fix(build): make path guard git-optional (closes #419) 2025-11-21 10:19:45 +10:00
James Peter 2dbe2a36cd feat(models): add gpt-5.1-codex-max default and migration flow 2025-11-21 00:52:37 +10:00
James Peter 17fbf36575 chore(sync): refresh codex mirror and capture plan 2025-11-15 08:27:31 +10:00
James Peter 6e114418b8 feat(core/models): migrate defaults to gpt-5.1 2025-11-14 08:19:52 +10:00
James Peter 18070bf295 fix(core/responses): default to stable beta header 2025-10-29 11:00:06 +10:00
James Peter b30fbe7d93 fix(homebrew): require real release version 2025-10-28 18:14:12 +10:00
James Peter 4ab3ffda46 refactor(tools): unify browser tool and normalize agent actions 2025-10-08 16:24:36 +10:00
James Peter b7cb2e7f8b fix(release): ensure release notes header matches tag; add guard check. Fixes #326 2025-10-06 20:23:44 +10:00
James Peter 497ee19ed8 ci(release): reuse dev-fast build for tests and cleanup target 2025-10-06 18:14:50 +10:00
James Peter 517384bf90 test: run nextest in release and harden smokes 2025-10-06 16:26:26 +10:00
James Peter c6409ed66a fix(ci-tests): call --tests for migrated crates 2025-10-06 10:09:39 +10:00
James Peter eaa13aeae4 chore(upstream): strip code branding in docs during diff 2025-10-06 09:07:04 +10:00
James Peter f79a37d48d chore(upstream): drop .DS_Store noise in diff-crates 2025-10-06 09:05:14 +10:00
James Peter 60fd13edee chore(upstream): ignore code prefix in diff crate comparisons 2025-10-06 09:01:17 +10:00
James Peter 158f572c98 chore(upstream): normalize crate rename noise in diff-crates 2025-10-06 08:59:57 +10:00
James Peter 10072a6bb0 fix(workflows): restore release and point to code-rs 2025-10-06 08:54:53 +10:00
James Peter 100db6b093 docs: reset roadmap and add maintenance guides 2025-10-05 20:48:06 +10:00
Code Snapshot 6a26f04c48 code snapshot 2025-10-05 16:22:02 +10:00
James Peter 59f22502c2 chore(workspace): sync codex tree and finish reset plan 2025-10-05 09:04:09 +10:00
James Peter 8c2e22be95 merge(upstream): add automation prompts and exec docs 2025-10-03 14:26:48 +10:00
James Peter 5a471d9677 chore(ci): defer log fetch until run stops 2025-09-25 13:53:51 +10:00
James Peter 617b2e8a93 fix(ci): exit wait script on first failed job 2025-09-25 13:49:40 +10:00
just-every-code 079159abc7 merge(upstream): sync with openai/codex main; build + guards OK
- Resolve merge conflict in codex-rs/Cargo.lock by adopting upstream version (outside prefer-ours globs).
- Add RUSTUP_HOME export in scripts/upstream-merge/verify.sh to avoid CI HOME permission issues during cargo check.
- Verified via scripts/upstream-merge/verify.sh: build-fast OK, API check OK, static guards OK, branding clean.
2025-09-24 17:21:07 +00:00
James Peter 2c54538885 feat(scripts): add failure log dump option
Extend wait-for-gh-run.sh with --failure-logs and fold docs under a How to Git Push section.
2025-09-22 13:31:37 +10:00
James Peter b5b092c0ee feat(scripts): add gh run waiter utility
Introduce wait-for-gh-run.sh to poll workflows and document usage in AGENTS.md.
2025-09-22 12:53:17 +10:00
James Peter f762da522c fix(scripts/test-responses): prefer .code directory 2025-09-19 14:41:25 +10:00
James Peter 57b9532484 feat: add long run calculator script 2025-09-18 17:15:28 +10:00
Michael BolinandGitHub f56f35b26f fix: make GitHub Action publish to npm using trusted publishing (#3431) 2025-09-16 20:33:59 -07:00
James Peter d469acdd20 ci(upstream-merge): make branding guide-only
- Remove auto-branding worktree + commit and failing guard
- Keep perma-deleted guard; generate VERIFY_branding.log for guidance
- verify.sh: record branding findings as notice, never fail rc; write branding log

Rationale: branding should be a suggestion, not a gate. Code/maintainers can
apply suggested changes explicitly in follow-ups while upstream merge is gated
solely by build + API invariants.
2025-09-15 10:25:20 +10:00
James Peter f8102ec528 chore(ci/upstream-merge): add branding guard + auto-fix step for TUI/CLI\n\nAdd non-fixing verify step to flag newly introduced user-visible 'Codex' strings\nunder TUI/CLI paths vs origin/<branch>. Add CI job to auto-fix branding in the\nmerge worktree using a safe single-line quoted-string replacement script. 2025-09-13 13:47:39 +10:00
James Peter f6f38216a5 fix(core/client): switch tool type to 'web_search' to avoid 400 Unsupported tool error\n\nThe Responses API rejects 'web_search_preview' with 400 (Unsupported tool type).\nUse the supported 'web_search' tool id. Update test payload generator accordingly. 2025-09-13 13:47:34 +10:00
James Peter 856655fab4 fix(tui/spinner): use active auth preference for custom spinner generation\n\n- Prefer ChatGPT auth when session uses ChatGPT; otherwise use API key\n- Avoids 401 retry loops when background thread created a fresh AuthManager\n- Matches request shape that succeeds in harness (responses=v1, session handling) 2025-09-13 00:33:37 +10:00
James Peter 79826cbc6f feat(dev): add scripts/test-responses.js to probe Responses API with ChatGPT/API-key auth\n\n- Reads /auth.json; supports --auth chatgpt|api-key|auto\n- Tests: base, json-schema, tools-web-search, tools-web-search-preview, store\n- Uses Responses v1; non-streaming by default for clear error capture\n- Prints status + x-request-id and error excerpts 2025-09-13 00:02:33 +10:00
James Peter a1a7063d2e ci(proxy): set Responses v1 and fail-fast on 5xx\n\n- scripts/openai-proxy.js default RESPONSES_BETA=responses=v1\n- Workflows (issue-code, issue-comment, release, upstream-merge): EXIT_ON_5XX=1 and RESPONSES_BETA=responses=v1\n\nFix: API-key 2nd-call 500s addressed in client; proxy now aligned with production headers 2025-09-12 23:57:18 +10:00
James Peter 7c7aeeec57 chore(proxy): add STRICT_HEADERS and RESPONSES_BETA override; minimal allowlist mode 2025-09-12 23:24:59 +10:00
James Peter 2229e79d7f chore(proxy): add debug toggles and error-body logging\n\n- Options: DISABLE_KEEPALIVE, FORCE_CLOSE, NO_GZIP, STRIP_SESSION_ID, IDEMPOTENCY_KEY=auto, LOG_ERROR_BODY(+_BYTES)\n- Helps isolate Responses API 500s on subsequent requests 2025-09-12 23:11:31 +10:00
James Peter 9d8b93befb ci(proxy): centralize OpenAI proxy to scripts/openai-proxy.js and use across workflows\n\n- Replace inline JS proxies in upstream-merge, issue-code, issue-comment, release\n- Shared behavior: SSE defaults, allowlist, header scrubbing, structured logs\n- Supports PORT/OPENAI_BASE_URL/LOG_DEST/EXIT_ON_5XX via env\n- Keeps existing port assignments (5055/5056/5057/5058)\n 2025-09-12 22:43:05 +10:00
James Peter c0ba904d83 chore(dev): add local OpenAI proxy script replicating upstream-merge settings\n\n- scripts/openai-proxy.js mirrors CI proxy (allowlist, SSE defaults, header scrubbing)\n- Usage docs in file header; supports PORT and OPENAI_BASE_URL\n- For local runs: set proxy with real OPENAI_API_KEY; run code with OPENAI_BASE_URL=http://127.0.0.1:<port>/v1 and dummy key 2025-09-12 22:18:08 +10:00
James Peter e835613c53 fix(release/homebrew): use local artifacts for sha256; add retry/backoff on remote fetch; avoid failing on CDN propagation
- Prefer release-assets/* when present to compute sha256 for Homebrew formula.\n- Retry curl with backoff if local file missing; print warnings instead of failing.\n- Keep formula URLs pointing to GitHub Releases; add best-effort HEAD checks.\n- Eliminates 404-induced failures right after uploading assets.
2025-09-12 21:51:05 +10:00
James Peter d42c268b1c fix(core/mcp): honor per-server startup_timeout_ms and make tools/list failures non-fatal; add test MCP server + smoke harness to validate slow/fast scenarios
- Add  to  and parse/write in config
- Apply per-server timeout to  and initial
- Treat per-server  errors as non-fatal; record and skip those servers
- Keep manager creation successful even if some servers time out
- Export  so local smoke tool can exercise it
- Add  (stdio JSON-RPC) and  binary for manual validation
- Update TUI  to set  by default

This resolves GitHub issue #91 where a slow MCP server caused manager creation to time out and fail entirely.
2025-09-12 00:10:56 +10:00
James Peter a07a2c4f2e Merge upstream-merge into main: restore fork features and keep upstream improvements
- Core: keep browser_*/agent_* tool exposure and web_fetch in openai_tools; preserve browser gating + screenshot UX; adapt recorder API
- Protocol: keep TS model changes for protocol-ts; align image shape
- Default client: reinstate UA helpers (USER_AGENT_SUFFIX, get_codex_user_agent_default)
- CI/Docs: carry remote minor updates

Build: ./build-fast.sh clean
2025-09-11 20:55:52 +10:00
James Peter 9279e1c8d8 ci(upstream-merge): expand agent context with fork enhancements + generic guards
- Add docs/fork-enhancements.md (initial list; instruct agent to scan repo for more)
- Inject the overview into the merge prompt
- Generalize verify guards to handler↔tool parity by family (browser_*, agent_*, web_fetch), and keep UA/version check

Prevents silent loss of fork features and gives the agent richer context.
2025-09-11 20:12:17 +10:00
James Peter 26b5eae062 ci(upstream-merge): preserve fork features via policy + guards
- Policy: prefer ours for core files that contain forked functionality (openai_tools, codex.rs, agent_tool, default_client, protocol models)
- Verify: add static guards to fail if browser/agent tools are dropped or UA/version handling is removed
- Workflow: embed explicit invariants in agent prompt (browser/agent tools, screenshot queue, version UA); reference verify guards

Keeps our model-driven tools and UX intact while still adopting safe upstream changes.
2025-09-11 19:34:32 +10:00
just-every-code 84aa106043 Merge remote-tracking branch 'origin/main' into upstream-merge 2025-09-10 02:39:25 +00:00
James Peter 30ae75122e ux(spinners): keep grouped order and render group headers as dim title rows; add selector arrow back\n\n- Sort spinners by (group,name) from JSON (grouped or flat)\n- Spinner list shows dim group header rows (non-selectable) between groups\n- Selected row gets '› ' arrow and info-colored preview; others dim\n- Add Node script to upgrade spinners.json to grouped format with labels 2025-09-10 12:11:41 +10:00