Commit Graph

59 Commits

Author SHA1 Message Date
Game_Time
74b400c62c Update README.md 2025-09-16 19:15:07 +05:00
Game_Time
a7d5f3c292 Update README.md 2025-09-16 19:13:21 +05:00
Maciej Wilczyński
77d60fe321 Add GPT-5-Codex support (#37) 2025-09-16 17:58:41 +05:00
alexx-ftw
2f23cd5a89 native openai web search ability!
* feat: local passthrough for Responses tools via responses_tools + responses_tool_choice (behind CHATMOCK_ALLOW_RESPONSES_TOOLS)

* feat: gate Responses tools passthrough behind CHATMOCK_ALLOW_RESPONSES_TOOLS (default OFF)

* test(docs): add pytest for Responses tools passthrough (default off), and README usage section

* feat: responses tools hardening (fallback on 400, host allowlist, size guard, tool_choice strings only); tests updated

* feat: enable Responses tools passthrough by default; remove env gate

- Tools forwarded whenever  is present
- Keep size guard and optional MCP host allowlist
- Accept  strings unconditionally

Tests:
- Update to cover default passthrough and baseline (no responses_tools)

Docs:
- README: update instructions; move Star History to bottom

* chore: clean imports/comments; use gpt-5 in examples and tests

* docs: tighten Responses tools README; fix gpt-5 example\nchore: remove feature-specific test per review; trim comments/imports

* chore: remove __pycache__/ and bytecode; add .gitignore

* chore: add .gitignore for caches and bytecode

* Update README.md

* fix: remove MCP passthrough; allow only web_search in responses_tools

- Reject non-`web_search` types with 400 (`RESPONSES_TOOL_UNSUPPORTED`).
- Drop MCP host allowlist logic and related import.
- Keep size guard via `RESPONSES_TOOLS_MAX_BYTES` and fallback retry without extras.
- Docs: update README to state web_search-only passthrough.

Runtime verified locally with a stubbed upstream:
- OK: `responses_tools: [{"type": "web_search"}]` -> 200.
- BAD: `responses_tools: [{"type": "mcp"}]` -> 400 `RESPONSES_TOOL_UNSUPPORTED`.

* feat: forward Responses web_search tool via Chat Completions; fallback on rejection

- Accept `responses_tools` array and filter to `type: web_search` only.
- Enforce size guard `RESPONSES_TOOLS_MAX_BYTES` (default 32768).
- Fallback: if upstream rejects tools, retry without extras; otherwise return `RESPONSES_TOOLS_REJECTED`.
- README: document web_search-only passthrough and example.
- Headers: hint experimental features in OpenAI-Beta (responses; web-search).

* chore: remove local test-only forcing flag (CHATMOCK_FORCE_WEB_SEARCH)

* fix: restore full routes_openai (web_search-only passthrough + endpoints)

- Undo accidental large deletion from prior cleanup.
- Keep `web_search` passthrough, size guard, and fallback.
- Preserve `/v1/completions` and `/v1/models` endpoints and SSE handling.

* Update upstream.py

* Update upstream.py

* Update README.md

* Update README.md

* Update routes_openai.py

* feat(openai): default-enable web_search; accept preview; quiet retry; rm env knob

- Injects responses_tools=[{"type":"web_search"}] when client omits tools; explicit opt-out via responses_tool_choice:"none".
- Allowlist accepts "web_search" and "web_search_preview"; others rejected with RESPONSES_TOOL_UNSUPPORTED.
- Replaces env max-bytes knob with MAX_TOOLS_BYTES=32768.
- Retry on upstream rejection is silent; logs only under verbose.

* feat(stream): surface web_search_call as tool_calls; aggregate args; verbose-only logs

- Translates Responses web_search_call.* and output_item.done into OpenAI-style delta.tool_calls.
- Aggregates parameters by call_id (query/q, recency/time_range/days, domains/include/include_domains/include, max_results/topn/limit).
- No inference; arguments remain "{}" if upstream provides none. Logs only when verbose.

* feat(responses-tools): web_search passthrough; flag; fallback; Ollama parity; stable indexes

- Add --enable-web-search (default OFF) to inject web_search when requests omit responses_tools
- Allow tool types: web_search and web_search_preview; 32,768-byte cap on serialized responses_tools
- OpenAI /v1/chat/completions: passthrough + retry without extras on upstream rejection; return retry status
- Streaming: function.arguments always JSON; stable tool_calls index per call_id
- Ollama /api/chat: same passthrough + fallback behavior
- README updated to match behavior and limits

* Update README.md

* Update README.md

* Update routes_ollama.py

* Update routes_openai.py

* Update utils.py

---------

Co-authored-by: alexx-ftw <alexx-ftw@users.noreply.github.com>
Co-authored-by: Game_Time <108236317+RayBytes@users.noreply.github.com>
2025-09-16 17:06:00 +05:00
Game_Time
8d92a63626 allow for diff machine logins 2025-09-12 21:53:59 +05:00
Game_Time
d235032368 Update README.md 2025-08-25 12:30:23 +05:00
Game_Time
7d944548cd reasoning effort as models support 2025-08-24 23:53:37 +05:00
Game_Time
e58500d824 Delete .github/workflows directory 2025-08-22 18:21:33 +05:00
Game_Time
630fccc0a7 Update README.md 2025-08-22 16:30:55 +05:00
Test User
ac509320a1 Update SHA256 2025-08-22 15:44:56 +05:00
Test User
75bb1ea4c6 homebrew tap 2025-08-22 15:39:31 +05:00
Game_Time
ffcb12e76c Merge pull request #16 from FammasMaz/FammasMaz-patch-1
fix: stream(legacy): include delta.reasoning alongside reasoning_summary
2025-08-22 13:53:05 +05:00
Game_Time
48780c9e83 finally make token counting work in apps 2025-08-22 02:09:31 +05:00
Game_Time
f05dc62eaa Delete chatmock/__pycache__ directory 2025-08-22 02:02:11 +05:00
Game_Time
99851ca4d4 Delete __pycache__ directory 2025-08-22 02:01:50 +05:00
Game_Time
cadd959778 hopefully patch token counting? 2025-08-22 02:01:15 +05:00
Moeeze Hassan
b0de3a2e6f fix: stream(legacy): include delta.reasoning alongside reasoning_summary
In legacy/current compatibility mode, stream both `delta.reasoning_summary` and
`delta.reasoning` (string) for reasoning deltas. This ensures clients that
expect `choices[0].delta.reasoning` as a string (e.g., OpenCode) render
reasoning without schema errors.

Change made only to legacy to avoid breakage with other software
2025-08-21 22:36:37 +02:00
Game_Time
c8c6540d23 intitial docker impl 2025-08-20 15:26:14 +05:00
Game_Time
fc9727cb73 added "minimal" reasoning option (better for coding) 2025-08-20 11:41:10 +05:00
Game_Time
8129b62083 implemented caching! should increase the usage available 2025-08-19 22:43:40 +05:00
Game_Time
2ed6dbe2d4 fix ollama regression 2025-08-19 21:26:47 +05:00
Game_Time
554ec53a25 refactor to reorganise codebase 2025-08-19 17:21:00 +05:00
Game_Time
653605d939 Merge pull request #9 from ishanray/main
Update requirements.txt
2025-08-19 15:28:12 +05:00
ishanray
590c9500e3 Update requirements.txt
These are the actual requirements
2025-08-19 03:55:55 -04:00
Game_Time
a84aa795f5 add support for system prompts! 2025-08-18 23:43:11 +05:00
Game_Time
584574360f Update README.md 2025-08-18 18:44:11 +05:00
Game_Time
bcbad51493 Update README.md 2025-08-18 18:43:16 +05:00
Game_Time
24f5dda1fd Update README.md 2025-08-18 00:40:24 +05:00
Game_Time
b40c0a111a Update README.md 2025-08-17 22:55:21 +05:00
Game_Time
e95f2efaca Update README.md 2025-08-17 22:26:26 +05:00
Game_Time
40f6d99153 Update update-release-assets.yml 2025-08-17 22:08:55 +05:00
Game_Time
fe0fee097a Update update-release-assets.yml 2025-08-17 22:00:48 +05:00
Game_Time
0bd097d52b Create update-release-assets.yml 2025-08-17 21:59:02 +05:00
Game_Time
3a4e0fe7f2 Update README.md 2025-08-17 21:51:25 +05:00
Game_Time
70da6b9c6d Update README.md 2025-08-17 21:51:05 +05:00
Game_Time
0d02959f86 Add files via upload 2025-08-17 21:50:19 +05:00
Game_Time
046e13fa38 Update README.md 2025-08-17 12:56:11 +05:00
Game_Time
8f915ac587 implement ollama tool calling 2025-08-17 12:27:02 +05:00
Game_Time
bc8c9bc806 add ollama support 2025-08-17 11:54:52 +05:00
Game_Time
33cfd4573f Update README.md 2025-08-16 17:22:47 +05:00
Game_Time
9d4da4c9f5 Update README.md 2025-08-16 17:22:34 +05:00
Game_Time
09cb98d185 Update README.md 2025-08-16 17:22:12 +05:00
Game_Time
2522062620 Update README.md 2025-08-16 17:21:02 +05:00
Game_Time
08c90be5b7 Update README.md 2025-08-16 17:18:44 +05:00
Game_Time
98e95be301 Update README.md 2025-08-16 17:18:06 +05:00
Game_Time
5e9fbf79f6 Update README.md 2025-08-16 17:17:42 +05:00
Game_Time
54aa6d7a18 Update README.md 2025-08-16 11:57:52 +05:00
Game_Time
11dfec16aa Update README.md 2025-08-16 11:57:31 +05:00
Game_Time
749b239c4f Update README.md 2025-08-16 10:55:38 +05:00
Game_Time
9ce5379cdb Update README.md 2025-08-16 09:30:15 +05:00