Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
421 commits
Select commit Hold shift + click to select a range
4f87dac
chore(backup): snapshot docs and release-batch workflow
KooshaPari Feb 22, 2026
31f085e
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari Feb 22, 2026
225a6a6
feat(codex): normalize tool schemas for array union types (#259)
KooshaPari Feb 22, 2026
e184f3c
Merge branch 'wave-gh-next21-merge' into backup/bug-wave-issue-101-102
KooshaPari Feb 22, 2026
f6a5481
Merge branch 'wave-gh-next21-lane-1' into backup/bug-wave-issue-101-102
KooshaPari Feb 22, 2026
7afa33b
Merge branch 'wave-gh-next21-lane-2' into backup/bug-wave-issue-101-102
KooshaPari Feb 22, 2026
16fe699
Merge branch 'wave-gh-next21-lane-3' into backup/bug-wave-issue-101-102
KooshaPari Feb 22, 2026
8bb109e
Merge wave-gh-next21-lane-4
KooshaPari Feb 22, 2026
3dd58db
Merge wave-gh-next21-lane-5
KooshaPari Feb 22, 2026
d2e9f14
Merge wave-gh-next21-lane-6
KooshaPari Feb 22, 2026
c9e3e71
Merge wave-gh-next21-lane-7
KooshaPari Feb 22, 2026
be0899d
chore: require cheapest smoke checks in CI gates
KooshaPari Feb 22, 2026
ff087a5
test: cover variant codex high mapping in thinking E2E matrix
KooshaPari Feb 22, 2026
7b200a7
docs: document task quality:quick:fix command
KooshaPari Feb 23, 2026
6924aac
fix: normalize request header logging redaction
KooshaPari Feb 23, 2026
40562e7
feat(amp): add kiro-compatible amp auth flow and tests (#232)
KooshaPari Feb 22, 2026
b274e63
test(amp): align dedicated provider model tests with available registry
KooshaPari Feb 23, 2026
5e81023
chore(backup): checkpoint issue-wave cpb-0106 WIP docs and codex test…
KooshaPari Feb 23, 2026
a255918
fix(codex): strip context_management and truncation from Responses API
KooshaPari Feb 23, 2026
ff1056f
fix(lint): resolve multiple linting issues in internal packages
KooshaPari Feb 16, 2026
ff95a4e
feat: comprehensive test coverage and fixes for CLIProxyAPI Plus
KooshaPari Feb 19, 2026
53b3c1d
refactor(config): registry-based premade provider injection
KooshaPari Feb 19, 2026
3f730dc
refactor(config): switch to data-driven codegen for dedicated provide…
KooshaPari Feb 20, 2026
7a860be
chore: rename repository to cliproxyapi-plusplus
KooshaPari Feb 20, 2026
2f2d8ba
refactor(pkg): update internal config imports to pkg/llmproxy/config
KooshaPari Feb 20, 2026
f013d44
refactor: update imports to point to pkg/llmproxy
KooshaPari Feb 20, 2026
e1be261
refactor: global import updates to pkg/llmproxy
KooshaPari Feb 20, 2026
d3aa154
chore: rebranding to cliproxyapi++ (throwback to notepad++)
KooshaPari Feb 20, 2026
34295d3
docs: deep-dive optimization of READMEs and final branding updates
KooshaPari Feb 20, 2026
7e04484
docs: add ++ feature reference, docsets, and pages workflow
KooshaPari Feb 20, 2026
a13313d
ci: enable github pages setup in vitepress workflow
KooshaPari Feb 20, 2026
ee10834
tmp
KooshaPari Feb 20, 2026
8413526
tmp
KooshaPari Feb 21, 2026
1e8cd7e
docs: expand provider-first docs and README
KooshaPari Feb 21, 2026
ad0ba5d
wip: snapshot local CLIProxyAPIPlus working state
KooshaPari Feb 22, 2026
4bc4cff
chore: snapshot current local working state
KooshaPari Feb 22, 2026
3d91eea
chore: checkpoint current worktree before 7-lane bug wave
KooshaPari Feb 22, 2026
25349ec
chore: preserve current cliproxy work state
KooshaPari Feb 22, 2026
e133e15
chore: remove generated fragmented docs and logs
KooshaPari Feb 22, 2026
66b614f
feat: preserve ongoing cliproxy work
KooshaPari Feb 22, 2026
f045937
chore: checkpoint tui edits before branch consolidation
KooshaPari Feb 22, 2026
26ebe16
chore: checkpoint pending tracked edits before main consolidation
KooshaPari Feb 22, 2026
db9eefa
docs: assign issue lanes for first 30 CPB items
KooshaPari Feb 22, 2026
cb1283e
fix(responses): prevent JSON tree corruption from literal control cha…
garetneda-gif Feb 21, 2026
f988258
Merge remote-tracking branch 'upstream/main' into backup/bug-wave-iss…
KooshaPari Feb 23, 2026
b7793ea
fix: resolve build/test failures and improve CI
KooshaPari Feb 22, 2026
044be68
chore: align cli proxy main and stage issue wave lanes
KooshaPari Feb 22, 2026
966989a
test(api): relax claude-cli smoke assertion for /v1/models
KooshaPari Feb 22, 2026
d9ef4db
feat(tui): add fa locale support and parity tests
KooshaPari Feb 22, 2026
94fd2a6
fix(codex): support variant fallback for reasoning effort
KooshaPari Feb 22, 2026
06c39f5
fix(codex): map responses variant to reasoning effort
KooshaPari Feb 22, 2026
5810cfa
fix(codex): parse variant as codex thinking fallback
KooshaPari Feb 22, 2026
f79eafb
fix(kiro): accept Bash cmd alias to prevent amp truncation loops (#210)
KooshaPari Feb 22, 2026
fa7370d
wave(lane1): codex variant fallback + lane report
KooshaPari Feb 22, 2026
7b1d7cd
fix(registry): normalize github-copilot context windows to 128k (#241)
KooshaPari Feb 22, 2026
8595076
feat(amp): add kiro-compatible amp auth flow and tests (#232)
KooshaPari Feb 22, 2026
ea74fbf
fix(gemini): sanitize nullable tool schema types in responses transla…
KooshaPari Feb 22, 2026
9a00a6e
wave(lane2): copilot/kiro alias fixes + lane report
KooshaPari Feb 22, 2026
bd81b1d
wave(lane3): nullable schema + mgmt/fs fixes + lane report
KooshaPari Feb 22, 2026
91453e4
wave(lane4): kiro token fallback + amp model route + lane report
KooshaPari Feb 22, 2026
73d3309
wave(lane5): dedupe kiro tool_calls + lane report
KooshaPari Feb 22, 2026
d33fb23
docs: stage CPB-0001..0035 lane manifest and lane-1 execution
KooshaPari Feb 22, 2026
7183215
chore(main): checkpoint current local state before integration merge
KooshaPari Feb 22, 2026
09f7756
test(auth/kiro): avoid roundTripper helper redeclaration
KooshaPari Feb 22, 2026
753c41f
docs(planning): add GH-35 integration summary
KooshaPari Feb 22, 2026
fe0a049
fix(docs): resolve dead link to agents page in planning docs
KooshaPari Feb 22, 2026
c095165
docs(validation): audit open upstream items against implemented state
KooshaPari Feb 22, 2026
cf7343f
chore(main): checkpoint wave-v2 working state before branch merges
KooshaPari Feb 22, 2026
a1415f3
wave(v2-l1): cpb-0036..0045 triage + docs quick wins
KooshaPari Feb 22, 2026
03d7cad
wave(v2-l2): cpb-0046..0055 triage + openai compat endpoint
KooshaPari Feb 22, 2026
526285a
wave(v2-l3): cpb-0056..0065 triage + kiro/config hardening
KooshaPari Feb 22, 2026
81c2566
wave(v2-l4): cpb-0066..0075 triage + docs/test quick wins
KooshaPari Feb 22, 2026
3fa1124
wave(v2-l5): cpb-0076..0085 triage + compact/translator coverage
KooshaPari Feb 22, 2026
d2989f3
wave(v2-l6): cpb-0086..0095 triage + log/codex hardening
KooshaPari Feb 22, 2026
003663e
wave(v2-l7): cpb-0096..0105 triage + docs/runtime checks
KooshaPari Feb 22, 2026
63e1f9c
docs(troubleshooting): normalize API key placeholder examples
KooshaPari Feb 22, 2026
95a8800
chore(main): checkpoint pre-wave-v3 state
KooshaPari Feb 22, 2026
9ccc11c
docs(validation): add fork-main open item status audit
KooshaPari Feb 22, 2026
59eee53
docs(planning): define 21-item issue wave in 7x3 lanes
KooshaPari Feb 22, 2026
4f8e896
docs(report): lane 1 status for #259 #253 #251
KooshaPari Feb 22, 2026
1401fbb
docs(planning): add gh-next21 lane-2 oauth/auth status report
KooshaPari Feb 22, 2026
1977a8d
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari Feb 22, 2026
00a1caf
docs(lane-3): add kiro quota ops guidance and lane report
KooshaPari Feb 22, 2026
74570e3
lane-4: expand amp provider model listings for kimi/kilo
KooshaPari Feb 22, 2026
a08603f
lane-4: record commit evidence in report
KooshaPari Feb 22, 2026
eee2be9
lane5: add oauth-upstream overrides and finalize gh-next21 report
KooshaPari Feb 22, 2026
12440ee
test(translator): add lane6 regressions and report
KooshaPari Feb 22, 2026
4410d0a
wave(lane-7): close low-risk gaps for #254 #221 #200
KooshaPari Feb 22, 2026
0c88b90
feat(codex): normalize tool schemas for array union types (#259)
KooshaPari Feb 22, 2026
77b14e7
feat: implement fixes for 30 upstream issues
KooshaPari Feb 22, 2026
51b332a
Add provider smoke matrix shell test harness and quality wiring
KooshaPari Feb 22, 2026
d54c5fd
feat: implement 5 major upstream features
KooshaPari Feb 22, 2026
09556e3
feat(executor): normalize openai usage token fields and add qwen3.5 a…
KooshaPari Feb 23, 2026
84b6989
chore: merge chore/ff-sync-main into integrated worktree
KooshaPari Feb 23, 2026
5892d82
wave(v3-l2): cpb-0116..0125 triage + iflow compatibility
KooshaPari Feb 22, 2026
c0934ae
wave(v3-l3): cpb-0126..0135 triage + thinking diagnostics
KooshaPari Feb 22, 2026
d30b3d9
fix(copilot): emit function_call arg delta on done events
KooshaPari Feb 23, 2026
4255dd9
fix(translator): handle response.function_call_arguments.done in copi…
KooshaPari Feb 23, 2026
a76daf9
wave(v3-l4): cpb-0136..0145 triage + kimi/iflow hardening
KooshaPari Feb 22, 2026
4c802d7
wave(v3-l5): cpb-0146..0155 triage + output_config fallback
KooshaPari Feb 22, 2026
5e1de31
chore(backup): checkpoint provider smoke matrix and docs merge resolu…
KooshaPari Feb 22, 2026
ea68cd9
wave(v2-l1): cpb-0036..0045 triage + docs quick wins
KooshaPari Feb 22, 2026
593c3eb
chore: sync dev-local delta into canonical branch
KooshaPari Feb 23, 2026
938f3d0
Merge branch 'cpb-0036-0047-next'
KooshaPari Feb 23, 2026
f42b67c
Merge branch 'wave-gh-next21-lane-1'
KooshaPari Feb 23, 2026
557bb60
Merge branch 'wave-gh-next21-lane-2'
KooshaPari Feb 23, 2026
d40414f
Merge branch 'wave-gh-next21-lane-3'
KooshaPari Feb 23, 2026
238a81f
Merge branch 'wave-gh-next21-lane-5'
KooshaPari Feb 23, 2026
8c6b19e
Merge branch 'wave-gh-next21-lane-6'
KooshaPari Feb 23, 2026
da817cc
Merge branch 'wave-gh-next21-lane-7'
KooshaPari Feb 23, 2026
25e281d
Merge branch 'align/dev-local-changes'
KooshaPari Feb 23, 2026
4c53c48
Merge branch 'workstream-cpbv3-1'
KooshaPari Feb 23, 2026
8f9e8eb
merge: reconcile origin/main after local branch consolidation
KooshaPari Feb 23, 2026
ca2087f
chore: checkpoint current state
KooshaPari Feb 23, 2026
0414438
chore: explicit marker after checkpoint
KooshaPari Feb 23, 2026
7927c78
codescan(l1): batch1 lane 1 fixes for 5 alerts
KooshaPari Feb 23, 2026
93b81ee
codescan(l2): batch1 lane 2 fixes for 5 alerts
KooshaPari Feb 23, 2026
23439b2
codescan(l3): batch1 lane 3 fixes for 5 alerts
KooshaPari Feb 23, 2026
5f23c00
codescan(l4): batch1 lane 4 fixes for 5 alerts
KooshaPari Feb 23, 2026
a2ea902
codescan(l5): batch1 lane 5 fixes for 5 alerts
KooshaPari Feb 23, 2026
6066432
codescan(l6): batch1 lane 6 fixes for 5 alerts
KooshaPari Feb 23, 2026
62fd80c
cpb-0179/0181/0182: rollout gate, ratelimit aliases, antigravity clamp
KooshaPari Feb 23, 2026
6fd3681
codescan(b2-l2): block auth path traversal in stores
KooshaPari Feb 23, 2026
cf6208e
codescan(b2-l3): harden auth file save paths
KooshaPari Feb 23, 2026
bb7daaf
codescan(b2-l4): harden auth file path handling against traversal
KooshaPari Feb 23, 2026
5a945cf
codescan(b2-l5): fix overflow and clear-text logging findings
KooshaPari Feb 23, 2026
7017b33
codescan(b2-l6): redact thinking clear-text logs
KooshaPari Feb 23, 2026
7901c67
codescan(b2-l1): harden request and path input validation
KooshaPari Feb 23, 2026
84b161a
wave cpb-0186..0245: lanes 2-7 first-pass implementations
KooshaPari Feb 23, 2026
9957e42
codescan(b3-l1): batch3 lane 1 remediation set
KooshaPari Feb 23, 2026
73b1bfa
codescan(b3-l2): batch3 lane 2 remediation set
KooshaPari Feb 23, 2026
b4f492e
codescan(b3-l3): batch3 lane 3 remediation set
KooshaPari Feb 23, 2026
7e280ee
codescan(b3-l4): batch3 lane 4 remediation set
KooshaPari Feb 23, 2026
5380567
codescan(b3-l5): batch3 lane 5 remediation set
KooshaPari Feb 23, 2026
eb50077
codescan(b3-l6): batch3 lane 6 remediation set
KooshaPari Feb 23, 2026
ad7bacc
wave cpb-0246..0275: mixed-lane pass (a/b/c)
KooshaPari Feb 23, 2026
152b35f
consolidate: wave leftovers + build import-path fixes + lane artifacts
KooshaPari Feb 23, 2026
a30f816
fix: resolve build errors from import path consolidation
KooshaPari Feb 23, 2026
a8c8000
codescan(l1): batch1 lane 1 fixes for 5 alerts
KooshaPari Feb 23, 2026
aed2848
codescan(l2): batch1 lane 2 fixes for 5 alerts
KooshaPari Feb 23, 2026
d43d423
codescan(l3): batch1 lane 3 fixes for 5 alerts
KooshaPari Feb 23, 2026
000b6be
codescan(l4): batch1 lane 4 fixes for 5 alerts
KooshaPari Feb 23, 2026
94cb1a2
codescan(l5): batch1 lane 5 fixes for 5 alerts
KooshaPari Feb 23, 2026
6b52c52
codescan(l6): batch1 lane 6 fixes for 5 alerts
KooshaPari Feb 23, 2026
58ed448
codescan(b2-l1): harden request and path input validation
KooshaPari Feb 23, 2026
392c713
codescan(b2-l2): block auth path traversal in stores
KooshaPari Feb 23, 2026
be2c382
codescan(b2-l3): harden auth file save paths
KooshaPari Feb 23, 2026
9aa3b6a
codescan(b2-l4): harden auth file path handling against traversal
KooshaPari Feb 23, 2026
c2c9b61
codescan(b2-l5): fix overflow and clear-text logging findings
KooshaPari Feb 23, 2026
0f0b1c3
codescan(b2-l6): redact thinking clear-text logs
KooshaPari Feb 23, 2026
4a6eafc
codescan(b3-l1): batch3 lane 1 remediation set
KooshaPari Feb 23, 2026
53809c1
codescan(b3-l2): batch3 lane 2 remediation set
KooshaPari Feb 23, 2026
d7ab111
codescan(b3-l3): batch3 lane 3 remediation set
KooshaPari Feb 23, 2026
240842a
codescan(b3-l4): batch3 lane 4 remediation set
KooshaPari Feb 23, 2026
eb076eb
codescan(b3-l5): batch3 lane 5 remediation set
KooshaPari Feb 23, 2026
0a40ce2
codescan(b3-l6): batch3 lane 6 remediation set
KooshaPari Feb 23, 2026
d2f99ca
codescan(merge): relax path guard test assertion wording
KooshaPari Feb 23, 2026
ee3fee6
build: add missing quality:pre-push task for git hook
KooshaPari Feb 23, 2026
23699c3
Merge pull request #195 from KooshaPari/codescan-merge-139
KooshaPari Feb 23, 2026
4e137cf
chore: prep for release batch
KooshaPari Feb 23, 2026
569957f
hotfix(ci): fix claude token compile error and upgrade codeql action v4
KooshaPari Feb 23, 2026
37d8a39
Merge pull request #196 from KooshaPari/codescan-hotfix-main
KooshaPari Feb 23, 2026
0954c5c
ci(codeql): upgrade github codeql action from v3 to v4
KooshaPari Feb 23, 2026
c8719c5
chore: add logs to gitignore
KooshaPari Feb 23, 2026
c04cfa1
chore: clean up logs
KooshaPari Feb 23, 2026
647597f
chore: executor auth fixes
KooshaPari Feb 23, 2026
b3170b8
chore: executor and translator updates
KooshaPari Feb 23, 2026
3751a80
merge: reconcile wip/recover-all-20260223-033409 with origin/main
KooshaPari Feb 23, 2026
ba69d16
fix(ci): add git config to release-batch workflow
KooshaPari Feb 23, 2026
250a115
fix(management): tolerate read-only config writes for put yaml (#201)
KooshaPari Feb 23, 2026
ad37c2d
feat(amp): support kilocode provider alias model routing (#213)
KooshaPari Feb 23, 2026
fa7df24
fix(gemini): strip thought_signature from Claude tool args (#178)
KooshaPari Feb 23, 2026
e339197
fix(kiro): add IDC extension headers on refresh token requests (#246)
KooshaPari Feb 23, 2026
f2150c8
fix(kiro): remove duplicate IDC refresh grantType field for cline (#245)
KooshaPari Feb 22, 2026
cfbf0d5
fix(metrics): include kiro and cursor in provider dashboard metrics (…
KooshaPari Feb 23, 2026
6f302a4
fix(kiro): add IDC extension headers on refresh token requests (#246)
KooshaPari Feb 23, 2026
1885525
fix(kiro): remove duplicate IDC refresh grantType field for cline (#245)
KooshaPari Feb 22, 2026
5ef7e98
feat(amp): support kilocode provider alias model routing (#213)
KooshaPari Feb 23, 2026
b2f9fba
fix(management): tolerate read-only config writes for put yaml (#201)
KooshaPari Feb 23, 2026
ed3f914
fix(metrics): include kiro and cursor in provider dashboard metrics (…
KooshaPari Feb 23, 2026
e6dbe63
fix(gemini): strip thought_signature from Claude tool args (#178)
KooshaPari Feb 23, 2026
b5834b2
wave77: cliproxy lanes a-c next-30 fixes + targeted tests
KooshaPari Feb 23, 2026
3712f84
fix(management): resolve auth registration redeclare and log next32 w…
KooshaPari Feb 23, 2026
60fa3a6
Merge pull request #197 from KooshaPari/nextwave/merge-20260223
KooshaPari Feb 23, 2026
ee05f5f
feat: add routing select handler, oauth token manager, pareto router,…
KooshaPari Feb 23, 2026
9a1afe1
Merge remote-tracking branch 'origin/main' into wip/recover-all-20260…
KooshaPari Feb 23, 2026
b69c881
merge: refresh branch with latest origin/main for PR merge
KooshaPari Feb 23, 2026
f7e56f0
Merge pull request #198 from KooshaPari/wip/recover-all-20260223-033409
KooshaPari Feb 23, 2026
b7a9631
fix(kiro): handle banned account 403 payloads (#221)
KooshaPari Feb 23, 2026
9fd05ac
fix(#253): support endpoint override for provider-pinned codex models
KooshaPari Feb 23, 2026
b24cc78
fix(registry): enforce copilot context length 128K at registration (#…
KooshaPari Feb 23, 2026
d422c4e
ci: trigger pr-test-build rerun
KooshaPari Feb 23, 2026
e37bbe0
fix(#200): honor Gemini quota reset durations for cooldown
KooshaPari Feb 23, 2026
d2a6439
fix(#179): honor openai-compat models-endpoint overrides
KooshaPari Feb 23, 2026
64a982f
fix(kiro): broaden cmd alias handling for command tools (#210)
KooshaPari Feb 23, 2026
f1ab685
fix(#253): support endpoint override for provider-pinned codex models
KooshaPari Feb 23, 2026
05f894b
fix(registry): enforce copilot context length 128K at registration (#…
KooshaPari Feb 23, 2026
947883c
fix(kiro): handle banned account 403 payloads (#221)
KooshaPari Feb 23, 2026
9fa8479
fix(kiro): broaden cmd alias handling for command tools (#210)
KooshaPari Feb 23, 2026
d921c09
fix(#200): honor Gemini quota reset durations for cooldown
KooshaPari Feb 23, 2026
a2571c9
fix(#179): honor openai-compat models-endpoint overrides
KooshaPari Feb 23, 2026
20bbbe4
docs: add wave2 next32 merge mapping and validation report
KooshaPari Feb 23, 2026
3e79c60
Merge pull request #200 from KooshaPari/nextwave2/merge-20260223
KooshaPari Feb 23, 2026
8cb539f
chore: commit all pending branch items and CI workflow fix
KooshaPari Feb 23, 2026
5a7b009
docs: add changelog system process and check task
KooshaPari Feb 23, 2026
9a984be
Merge remote-tracking branch 'origin/codescan-b1-l1'
KooshaPari Feb 23, 2026
8429790
Merge remote-tracking branch 'origin/codescan-b1-l2'
KooshaPari Feb 23, 2026
710dd28
Merge remote-tracking branch 'origin/codescan-b1-l3'
KooshaPari Feb 23, 2026
44f1cff
Merge remote-tracking branch 'origin/codescan-b1-l4'
KooshaPari Feb 23, 2026
3bceef9
Merge remote-tracking branch 'origin/codescan-b1-l5'
KooshaPari Feb 23, 2026
1d0ca45
Merge remote-tracking branch 'origin/codescan-b1-l6'
KooshaPari Feb 23, 2026
fe7d9c1
Merge remote-tracking branch 'origin/codescan-b2-l1'
KooshaPari Feb 23, 2026
55bf88f
Merge remote-tracking branch 'origin/codescan-b2-l2'
KooshaPari Feb 23, 2026
588b021
Merge remote-tracking branch 'origin/codescan-b2-l3'
KooshaPari Feb 23, 2026
6ec933f
Merge remote-tracking branch 'origin/codescan-b2-l4'
KooshaPari Feb 23, 2026
cf8c5fa
Merge remote-tracking branch 'origin/codescan-b2-l5'
KooshaPari Feb 23, 2026
cfc0d36
Merge remote-tracking branch 'origin/codescan-b2-l6'
KooshaPari Feb 23, 2026
99bcce5
Merge remote-tracking branch 'origin/codescan-b3-l1'
KooshaPari Feb 23, 2026
63f833f
Merge remote-tracking branch 'origin/codescan-b3-l2'
KooshaPari Feb 23, 2026
40dd161
Merge remote-tracking branch 'origin/codescan-b3-l3'
KooshaPari Feb 23, 2026
dd4b420
Merge remote-tracking branch 'origin/codescan-b3-l4'
KooshaPari Feb 23, 2026
94ae043
Merge remote-tracking branch 'origin/codescan-b3-l5'
KooshaPari Feb 23, 2026
a6085f1
Merge remote-tracking branch 'origin/codescan-b3-l6'
KooshaPari Feb 23, 2026
c9b8302
Merge remote-tracking branch 'origin/codescan-hotfix-main'
KooshaPari Feb 23, 2026
4359ba3
Merge remote-tracking branch 'origin/main'
KooshaPari Feb 23, 2026
f2070cc
Merge remote-tracking branch 'origin/wip/ci-rerun-20260222-212333'
KooshaPari Feb 23, 2026
e61664a
docs: add changelog process and setup style guidance
KooshaPari Feb 23, 2026
8c5e1c3
docs: replace marketing language with concise technical wording
KooshaPari Feb 23, 2026
158c935
docs: replace marketing language with concise technical wording
KooshaPari Feb 23, 2026
1755669
Merge pull request #202 from KooshaPari/docstyle/technical-wording-20…
KooshaPari Feb 23, 2026
464cb60
docs(i18n): add _FA parity files for _CN docs
KooshaPari Feb 23, 2026
7260840
Merge branch 'align/dev-local-changes'
KooshaPari Feb 23, 2026
e6fd05b
Merge branch 'codex/cliproxyctl-wave1'
KooshaPari Feb 23, 2026
70187d6
Merge branch 'docstyle/technical-wording-20260223'
KooshaPari Feb 23, 2026
321a263
Merge branch 'fix/release-batch-git-config'
KooshaPari Feb 23, 2026
84b762a
Merge branch 'nextwave/lane-1-20260223'
KooshaPari Feb 23, 2026
8ef51dc
Merge branch 'nextwave/lane-2-20260223'
KooshaPari Feb 23, 2026
38b8654
Merge branch 'nextwave/lane-3-20260223'
KooshaPari Feb 23, 2026
fefda9b
Merge branch 'nextwave/lane-4-20260223'
KooshaPari Feb 23, 2026
2233c2f
Merge branch 'nextwave/lane-5-20260223'
KooshaPari Feb 23, 2026
d4a92e9
Merge branch 'nextwave/lane-6-20260223'
KooshaPari Feb 23, 2026
51ec054
Merge branch 'nextwave2/lane-1-20260223'
KooshaPari Feb 23, 2026
788d3e8
Merge branch 'nextwave2/lane-2-20260223'
KooshaPari Feb 23, 2026
bdc5205
Merge branch 'nextwave2/lane-3-20260223'
KooshaPari Feb 23, 2026
2c17b18
Merge branch 'nextwave2/lane-4-20260223'
KooshaPari Feb 23, 2026
beb56b1
Merge branch 'nextwave2/lane-5-20260223'
KooshaPari Feb 23, 2026
03feed4
Merge branch 'nextwave2/lane-6-20260223'
KooshaPari Feb 23, 2026
58462ca
merge(heliosharness): port reasoning mapping, response echo fixes, an…
KooshaPari Feb 23, 2026
db75021
Merge pull request #203 from KooshaPari/merge/heliosharness-fa-parity…
KooshaPari Feb 23, 2026
b4504e8
fix: resolve executor compile regressions
KooshaPari Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@
# NOTE: Environment variables are only required when using remote storage options.
# For local file-based storage (default), no environment variables need to be set.

# ------------------------------------------------------------------------------
# Docker Runtime Configuration (overrides config.yaml)
# ------------------------------------------------------------------------------
# CLIPROXY_HOST= # Server host (default: "" for all interfaces)
# CLIPROXY_PORT=8317 # Server port (default: 8317)
# CLIPROXY_SECRET_KEY= # Management API secret key
# CLIPROXY_ALLOW_REMOTE=false # Allow remote management access (true/false)
# CLIPROXY_DEBUG=false # Enable debug logging (true/false)
# CLIPROXY_ROUTING_STRATEGY=round-robin # Routing strategy (round-robin/fill-first)
# CLIPROXY_API_KEYS=key1,key2,key3 # Comma-separated list of API keys

# ------------------------------------------------------------------------------
# Management Web UI
# ------------------------------------------------------------------------------
Expand Down
33 changes: 15 additions & 18 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,41 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
about: Report a bug in cliproxyapi++
title: '[BUG] '
labels: 'bug'
assignees: ''

---

**Is it a request payload issue?**
[ ] Yes, this is a request payload issue. I am using a client/cURL to send a request payload, but I received an unexpected error.
[ ] No, it's another issue.
[ ] Yes, this is a request payload issue. I am using a client/cURL to send a request payload, but I received an unexpected error.
[ ] No, it's another issue.

**If it's a request payload issue, you MUST know**
Our team doesn't have any GODs or ORACLEs or MIND READERs. Please make sure to attach the request log or curl payload.
To help us diagnose the problem, please provide as much detail as possible, including request logs or `curl` payloads.

**Describe the bug**
A clear and concise description of what the bug is.

**CLI Type**
What type of CLI account do you use? (gemini-cli, gemini, codex, claude code or openai-compatibility)

**Model Name**
What model are you using? (example: gemini-2.5-pro, claude-sonnet-4-20250514, gpt-5, etc.)
**cliproxyapi++ Configuration**
What provider and model are you using? (e.g. Kiro, Claude, Gemini)

**LLM Client**
What LLM Client are you using? (example: roo-code, cline, claude code, etc.)
What LLM Client are you using? (e.g. Roo Code, Claude Code, Cursor, etc.)

**Environment Information**
- **cliproxyapi++ Version**: (e.g., v6.0.0-++.1)
- **Deployment Method**: (e.g., Docker, Binary)
- **OS**: (e.g. macOS, Ubuntu 22.04)

**Request Information**
The best way is to paste the cURL command of the HTTP request here.
Alternatively, you can set `request-log: true` in the `config.yaml` file and then upload the detailed log file.
Please provide the `curl` command or the logs from `config.yaml` with `request-log: true`.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**OS Type**
- OS: [e.g. macOS]
- Version [e.g. 15.6.0]

**Additional context**
Add any other context about the problem here.
42 changes: 42 additions & 0 deletions .github/policies/approved-external-endpoints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Approved external endpoint hosts.
# Matching is exact host or subdomain of an entry.

accounts.google.com
aiplatform.googleapis.com
ampcode.com
api.anthropic.com
api.api.githubcopilot.com
api.deepseek.com
api.fireworks.ai
api.github.com
api.groq.com
api.kilo.ai
api.kimi.com
api.minimax.chat
api.minimax.io
api.mistral.ai
api.novita.ai
api.openai.com
api.roocode.com
api.siliconflow.cn
api.together.xyz
apis.iflow.cn
auth.openai.com
chat.qwen.ai
chatgpt.com
claude.ai
cloudcode-pa.googleapis.com
cloudresourcemanager.googleapis.com
generativelanguage.googleapis.com
github.com
golang.org
iflow.cn
integrate.api.nvidia.com
oauth2.googleapis.com
openrouter.ai
platform.iflow.cn
platform.openai.com
portal.qwen.ai
raw.githubusercontent.com
serviceusage.googleapis.com
www.googleapis.com
13 changes: 13 additions & 0 deletions .github/release-required-checks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# workflow_file|job_name
pr-test-build.yml|go-ci
pr-test-build.yml|quality-ci
pr-test-build.yml|quality-staged-check
pr-test-build.yml|fmt-check
pr-test-build.yml|golangci-lint
pr-test-build.yml|route-lifecycle
pr-test-build.yml|test-smoke
pr-test-build.yml|pre-release-config-compat-smoke
pr-test-build.yml|distributed-critical-paths
pr-test-build.yml|changelog-scope-classifier
pr-test-build.yml|docs-build
pr-test-build.yml|ci-summary
16 changes: 16 additions & 0 deletions .github/required-checks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# workflow_file|job_name
pr-test-build.yml|go-ci
pr-test-build.yml|quality-ci
pr-test-build.yml|quality-staged-check
pr-test-build.yml|fmt-check
pr-test-build.yml|golangci-lint
pr-test-build.yml|route-lifecycle
pr-test-build.yml|provider-smoke-matrix
pr-test-build.yml|provider-smoke-matrix-cheapest
pr-test-build.yml|test-smoke
pr-test-build.yml|pre-release-config-compat-smoke
pr-test-build.yml|distributed-critical-paths
pr-test-build.yml|changelog-scope-classifier
pr-test-build.yml|docs-build
pr-test-build.yml|ci-summary
pr-path-guard.yml|ensure-no-translator-changes
67 changes: 67 additions & 0 deletions .github/scripts/check-approved-external-endpoints.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/usr/bin/env bash
set -euo pipefail

policy_file=".github/policies/approved-external-endpoints.txt"
if [[ ! -f "${policy_file}" ]]; then
echo "Missing policy file: ${policy_file}"
exit 1
fi

mapfile -t approved_hosts < <(grep -Ev '^\s*#|^\s*$' "${policy_file}" | tr '[:upper:]' '[:lower:]')
if [[ "${#approved_hosts[@]}" -eq 0 ]]; then
echo "No approved hosts in policy file"
exit 1
fi

matches_policy() {
local host="$1"
local approved
for approved in "${approved_hosts[@]}"; do
if [[ "${host}" == "${approved}" || "${host}" == *."${approved}" ]]; then
return 0
fi
done
return 1
}

mapfile -t discovered_hosts < <(
rg -No --hidden \
--glob '!docs/**' \
--glob '!**/*_test.go' \
--glob '!**/node_modules/**' \
--glob '!**/*.png' \
--glob '!**/*.jpg' \
--glob '!**/*.jpeg' \
--glob '!**/*.gif' \
--glob '!**/*.svg' \
--glob '!**/*.webp' \
'https?://[^"\047 )\]]+' \
cmd pkg sdk scripts .github/workflows config.example.yaml README.md README_CN.md 2>/dev/null \
| awk -F'://' '{print $2}' \
| cut -d/ -f1 \
| cut -d: -f1 \
| tr '[:upper:]' '[:lower:]' \
| sort -u
)

unknown=()
for host in "${discovered_hosts[@]}"; do
[[ -z "${host}" ]] && continue
[[ "${host}" == *"%"* ]] && continue
[[ "${host}" == *"{"* ]] && continue
[[ "${host}" == "localhost" || "${host}" == "127.0.0.1" || "${host}" == "0.0.0.0" ]] && continue
[[ "${host}" == "example.com" || "${host}" == "www.example.com" ]] && continue
[[ "${host}" == "proxy.com" || "${host}" == "proxy.local" ]] && continue
[[ "${host}" == "api.example.com" ]] && continue
if ! matches_policy "${host}"; then
unknown+=("${host}")
fi
done

if [[ "${#unknown[@]}" -ne 0 ]]; then
echo "Found external hosts not in ${policy_file}:"
printf ' - %s\n' "${unknown[@]}"
exit 1
fi

echo "external endpoint policy check passed"
19 changes: 19 additions & 0 deletions .github/scripts/check-distributed-critical-paths.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -euo pipefail

echo "[distributed-critical-paths] validating filesystem-sensitive paths"
go test -count=1 -run '^(TestMultiSourceSecret_FileHandling|TestMultiSourceSecret_CacheBehavior|TestMultiSourceSecret_Concurrency|TestAmpModule_OnConfigUpdated_CacheInvalidation)$' ./pkg/llmproxy/api/modules/amp

echo "[distributed-critical-paths] validating ops endpoint route registration"
go test -count=1 -run '^TestRegisterManagementRoutes$' ./pkg/llmproxy/api/modules/amp

echo "[distributed-critical-paths] validating compute/cache-sensitive paths"
go test -count=1 -run '^(TestEnsureCacheControl|TestCacheControlOrder|TestCountOpenAIChatTokens|TestCountClaudeChatTokens)$' ./pkg/llmproxy/runtime/executor

echo "[distributed-critical-paths] validating queue telemetry to provider metrics path"
go test -count=1 -run '^TestBuildProviderMetricsFromSnapshot_FailoverAndQueueTelemetry$' ./pkg/llmproxy/usage

echo "[distributed-critical-paths] validating signature cache primitives"
go test -count=1 -run '^(TestCacheSignature_BasicStorageAndRetrieval|TestCacheSignature_ExpirationLogic)$' ./pkg/llmproxy/cache

echo "[distributed-critical-paths] all targeted checks passed"
53 changes: 53 additions & 0 deletions .github/scripts/check-docs-secret-samples.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
set -euo pipefail

patterns=(
'sk-[A-Za-z0-9]{20,}'
'ghp_[A-Za-z0-9]{20,}'
'AKIA[0-9A-Z]{16}'
'AIza[0-9A-Za-z_-]{20,}'
'-----BEGIN (RSA|OPENSSH|EC|DSA|PRIVATE) KEY-----'
)

allowed_context='\$\{|\{\{.*\}\}|<[^>]+>|\[REDACTED|your[_-]?|example|dummy|sample|placeholder'

tmp_hits="$(mktemp)"
trap 'rm -f "${tmp_hits}"' EXIT

for pattern in "${patterns[@]}"; do
rg -n --pcre2 --hidden \
--glob '!docs/node_modules/**' \
--glob '!**/*.min.*' \
--glob '!**/*.svg' \
--glob '!**/*.png' \
--glob '!**/*.jpg' \
--glob '!**/*.jpeg' \
--glob '!**/*.gif' \
--glob '!**/*.webp' \
--glob '!**/*.pdf' \
--glob '!**/*.lock' \
--glob '!**/*.snap' \
-e "${pattern}" docs README.md README_CN.md examples >> "${tmp_hits}" || true
done

if [[ ! -s "${tmp_hits}" ]]; then
echo "docs secret sample check passed"
exit 0
fi

violations=0
while IFS= read -r hit; do
line_content="${hit#*:*:}"
if printf '%s' "${line_content}" | rg -qi "${allowed_context}"; then
continue
fi
echo "Potential secret detected: ${hit}"
violations=1
done < "${tmp_hits}"

if [[ "${violations}" -ne 0 ]]; then
echo "Secret sample check failed. Replace with placeholders or redact."
exit 1
fi

echo "docs secret sample check passed"
64 changes: 64 additions & 0 deletions .github/scripts/check-open-items-fragmented-parity.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/usr/bin/env bash
set -euo pipefail

report="${REPORT_PATH:-docs/reports/fragemented/OPEN_ITEMS_VALIDATION_2026-02-22.md}"
issue_id="${ISSUE_ID:-258}"
if [[ ! -f "$report" ]]; then
echo "[FAIL] Missing report: $report"
exit 1
fi

section="$(
awk -v issue_id="$issue_id" '
BEGIN {
in_target = 0
target = "^- (Issue|PR) #" issue_id "([[:space:]]|$)"
boundary = "^- (Issue|PR) #[0-9]+([[:space:]]|$)"
}
$0 ~ target {
in_target = 1
print
next
}
in_target && $0 ~ boundary {
exit
}
in_target {
print
}
' "$report"
)"
if [[ -z "$section" ]]; then
echo "[FAIL] $report missing Issue #$issue_id section."
exit 1
fi

status_line="$(
printf '%s\n' "$section" \
| rg -i -m1 '^\s*-\s*(#status|status)\s*:\s*.+$' \
|| true
)"
if [[ -z "$status_line" ]]; then
echo "[FAIL] $report missing explicit status mapping for #$issue_id (expected '- Status:' or '- #status:')."
exit 1
fi

status_value="$(printf '%s\n' "$status_line" \
| sed -E 's/^\s*-\s*(#status|status)\s*:\s*//I' \
| tr '[:upper:]' '[:lower:]')"
if printf '%s\n' "$status_value" | rg -q '\b(partial|partially|blocked|pending|todo|not implemented)\b'; then
echo "[FAIL] $report status for #$issue_id is not implemented: $status_value"
exit 1
fi

if ! printf '%s\n' "$status_value" | rg -q '\b(implemented|done|fixed|resolved|complete|completed)\b'; then
echo "[FAIL] $report status for #$issue_id is not recognized as implemented: $status_value"
exit 1
fi

if ! rg -n "pkg/llmproxy/translator/codex/openai/chat-completions/codex_openai_request.go" "$report" >/dev/null 2>&1; then
echo "[FAIL] $report missing codex variant fallback evidence path."
exit 1
fi

echo "[OK] fragmented open-items report parity checks passed"
31 changes: 31 additions & 0 deletions .github/scripts/check-workflow-token-permissions.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env bash
set -euo pipefail

violations=0
allowed_write_keys='security-events|id-token|pages'

for workflow in .github/workflows/*.yml .github/workflows/*.yaml; do
[[ -f "${workflow}" ]] || continue

if rg -n '^permissions:\s*write-all\s*$' "${workflow}" >/dev/null; then
echo "${workflow}: uses permissions: write-all"
violations=1
fi

if rg -n '^on:' "${workflow}" >/dev/null && rg -n 'pull_request:' "${workflow}" >/dev/null; then
while IFS= read -r line; do
key="$(printf '%s' "${line}" | sed -E 's/^[0-9]+:\s*([a-zA-Z-]+):\s*write\s*$/\1/')"
if [[ "${key}" != "${line}" ]] && ! printf '%s' "${key}" | grep -Eq "^(${allowed_write_keys})$"; then
echo "${workflow}: pull_request workflow grants '${key}: write'"
violations=1
fi
done < <(rg -n '^\s*[a-zA-Z-]+:\s*write\s*$' "${workflow}")
fi
done

if [[ "${violations}" -ne 0 ]]; then
echo "workflow token permission check failed"
exit 1
fi

echo "workflow token permission check passed"
Loading
Loading