forked from router-for-me/CLIProxyAPI
-
-
Notifications
You must be signed in to change notification settings - Fork 416
fix(ci): add git config to release-batch workflow #262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
KooshaPari
wants to merge
300
commits into
router-for-me:main
from
KooshaPari:wip/ci-rerun-20260222-212333
Closed
Changes from all commits
Commits
Show all changes
300 commits
Select commit
Hold shift + click to select a range
04e8c6a
merge: workstream-cpb-5
KooshaPari fbb47a0
merge: workstream-cpb-6
KooshaPari bc90fce
merge: workstream-cpb-7
KooshaPari 06618f8
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari bc0369d
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari d1d83ce
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari dd122e0
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari 322381d
feat(amp): add kiro-compatible amp auth flow and tests (#232)
KooshaPari 9b25e95
fix(gemini): sanitize nullable tool schema types in responses transla…
KooshaPari 24cef45
Merge branch 'workstream-cpb-1'
KooshaPari e019ee0
Merge branch 'workstream-cpb-2'
KooshaPari 9dacfcd
Merge branch 'workstream-cpb-3'
KooshaPari 7485103
Merge branch 'workstream-cpb-4'
KooshaPari e1aa44d
Merge branch 'workstream-cpb-5'
KooshaPari e3c7419
Merge branch 'workstream-cpb-6'
KooshaPari 8be28b1
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari 27d78a7
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari 9559f14
Merge branch 'workstream-cpb-7'
KooshaPari 306bc80
test(auth/kiro): avoid roundTripper helper redeclaration
KooshaPari 1495084
feat(tui): add Farsi locale parity with Mandarin/English
KooshaPari fad61c3
docs(planning): add GH-35 integration summary
KooshaPari 068d40f
docs: stage CPB-0001..0035 lane manifest and lane-1 execution
KooshaPari 3c91336
chore(main): checkpoint current local state before integration merge
KooshaPari 3bedab3
merge: wave-gh35-integration
KooshaPari f1d8262
chore(backup): checkpoint local WIP before worktree split
KooshaPari f68f151
fix(docs): resolve dead link to agents page in planning docs
KooshaPari 2493d07
docs(validation): audit open upstream items against implemented state
KooshaPari 648e849
fix(docs): resolve dead link to agents page in planning docs
KooshaPari cddcbeb
docs(validation): audit open upstream items against implemented state
KooshaPari 027d6a8
wave(v2-l1): cpb-0036..0045 triage + docs quick wins
KooshaPari 95c55d3
wave(v2-l2): cpb-0046..0055 triage + openai compat endpoint
KooshaPari 59297e9
wave(v2-l3): cpb-0056..0065 triage + kiro/config hardening
KooshaPari d58eb82
wave(v2-l4): cpb-0066..0075 triage + docs/test quick wins
KooshaPari 14d95b6
wave(v2-l5): cpb-0076..0085 triage + compact/translator coverage
KooshaPari 6d4a8a8
wave(v2-l6): cpb-0086..0095 triage + log/codex hardening
KooshaPari 276134d
wave(v2-l7): cpb-0096..0105 triage + docs/runtime checks
KooshaPari 624bbe4
chore(main): checkpoint wave-v2 working state before branch merges
KooshaPari 2e5c7ae
merge: workstream-cpbv2-1
KooshaPari e656f53
merge: workstream-cpbv2-2
KooshaPari 9d79248
merge: workstream-cpbv2-3
KooshaPari 85686ca
fix(merge): remove conflict markers from cpbv2-3 docs
KooshaPari 13cdb7c
merge: workstream-cpbv2-4
KooshaPari 253b06c
merge: workstream-cpbv2-5
KooshaPari 46d7f33
merge: workstream-cpbv2-6
KooshaPari 394a4a8
merge: workstream-cpbv2-7
KooshaPari 4892d8d
docs(troubleshooting): normalize API key placeholder examples
KooshaPari f227350
chore(main): checkpoint pre-wave-v3 state
KooshaPari b1bf58a
docs(validation): add fork-main open item status audit
KooshaPari c0e6da8
docs(planning): define 21-item issue wave in 7x3 lanes
KooshaPari a501208
wave(v3-l2): cpb-0116..0125 triage + iflow compatibility
KooshaPari 5a3a844
wave(v3-l1): cpb-0106..0115 triage + docs quick wins
KooshaPari 9ef2290
wave(v3-l3): cpb-0126..0135 triage + thinking diagnostics
KooshaPari 4cbb32a
wave(v3-l4): cpb-0136..0145 triage + kimi/iflow hardening
KooshaPari 7315177
wave(v3-l5): cpb-0146..0155 triage + output_config fallback
KooshaPari 2f1f892
wave(v3-l6): cpb-0156..0165 triage + gemini/vertex tests
KooshaPari 9bdb8a0
wave(v3-l7): cpb-0166..0175 triage + quota/rate guards
KooshaPari fdce486
merge: workstream-cpbv3-1
KooshaPari 3aad543
merge: workstream-cpbv3-2
KooshaPari c610ffc
merge: workstream-cpbv3-3
KooshaPari 64b6289
merge: workstream-cpbv3-4
KooshaPari ad63e6f
merge: workstream-cpbv3-5
KooshaPari 3e9d5d6
merge: workstream-cpbv3-6
KooshaPari 47e73fb
merge: workstream-cpbv3-7
KooshaPari 1a1782c
docs(planning): add seeded wave for CPB-0176..0245
KooshaPari 369546d
docs(report): lane 1 status for #259 #253 #251
KooshaPari 2e092b7
docs(planning): add gh-next21 lane-2 oauth/auth status report
KooshaPari 7debd48
merge: workstream-cpb-4
KooshaPari d380774
merge: workstream-cpb-5
KooshaPari 0fa3bb9
merge: workstream-cpb-6
KooshaPari be04e23
merge: workstream-cpb-7
KooshaPari f751d7d
merge: backup/wip-20260222-052246
KooshaPari 00d4d22
merge: worktree/validate-done-prs
KooshaPari 8bdb7d0
merge: worktree/docs-deadlink-fix
KooshaPari 1adf3f8
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari 2482c60
docs(lane-3): add kiro quota ops guidance and lane report
KooshaPari 5a1a2eb
test(translator): add lane6 regressions and report
KooshaPari 95d539e
lane-4: expand amp provider model listings for kimi/kilo
KooshaPari 78fb893
lane-4: record commit evidence in report
KooshaPari e0000a9
wave(lane-7): close low-risk gaps for #254 #221 #200
KooshaPari 9630ace
lane5: add oauth-upstream overrides and finalize gh-next21 report
KooshaPari d578da6
docs(report): lane 1 status for #259 #253 #251
KooshaPari e6780fa
docs(planning): add gh-next21 lane-2 oauth/auth status report
KooshaPari 042b379
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari b1d2cb6
docs(lane-3): add kiro quota ops guidance and lane report
KooshaPari e31a420
lane-4: expand amp provider model listings for kimi/kilo
KooshaPari 2c99303
lane-4: record commit evidence in report
KooshaPari 9f5687a
lane5: add oauth-upstream overrides and finalize gh-next21 report
KooshaPari e8fbbb7
test(translator): add lane6 regressions and report
KooshaPari 9799ee9
wave(lane-7): close low-risk gaps for #254 #221 #200
KooshaPari eb78145
chore: consolidate branches and queue next 35 CPB issues
KooshaPari 4b1f5b5
feat: add thegent login and config validation
KooshaPari 7e40311
feat(codex): normalize tool schemas for array union types (#259)
KooshaPari a5442bd
chore: start next 35 CPB issue items
KooshaPari ff426dd
chore: queue next 35 CPB issues in planning lane wave
KooshaPari 1facec8
feat: implement fixes for 30 upstream issues
KooshaPari 54f8b31
fix(gemini): sanitize function names to meet Gemini API requirements
KooshaPari 57a7115
Add provider smoke matrix shell test harness and quality wiring
KooshaPari 08a5705
docs: add CPB 0281-0315 planning wave artifacts
KooshaPari f04583b
fix(translator): ensure message_start before content blocks
KooshaPari 7f9a7f1
docs: add CPB 0316..0350 planning wave artifacts
KooshaPari fb104bd
docs: add CPB 0351..0385 planning wave artifacts
KooshaPari 5ab2135
docs: add CPB 0386..0420 planning wave artifacts
KooshaPari 961e847
lane5: add oauth-upstream overrides and finalize gh-next21 report
KooshaPari 9c29ca1
wave(lane-7): close low-risk gaps for #254 #221 #200
KooshaPari 36ef7de
test(translator): add lane6 regressions and report
KooshaPari f1e7c5c
lane-4: expand amp provider model listings for kimi/kilo
KooshaPari c33a86a
lane-4: record commit evidence in report
KooshaPari 6d94967
docs(report): lane 1 status for #259 #253 #251
KooshaPari c422c02
docs(planning): add gh-next21 lane-2 oauth/auth status report
KooshaPari 869c56e
docs(lane-3): add kiro quota ops guidance and lane report
KooshaPari 0225558
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari 0fd841d
docs: add CPB 0421..0455 planning wave artifacts
KooshaPari 5fc1ea5
docs: add CPB 0456..0490 planning wave and smoke defaults
KooshaPari c270d66
Merge remote-tracking branch 'upstream/main'
KooshaPari 1480277
chore: merge upstream release tag compatibility
KooshaPari 184f43d
chore: merge upstream config path diagnostics
KooshaPari c4e2ce7
docs: align README platform feature matrix
KooshaPari 70b5514
feat(cursor): add cursor login onboarding flow and setup wire-up
KooshaPari e477098
chore(backup): checkpoint issue-wave and release smoke work
KooshaPari 83e3fba
Fix models endpoint precedence and qwen incognito login mode
KooshaPari 408edf5
feat: implement 5 major upstream features
KooshaPari 4f87dac
chore(backup): snapshot docs and release-batch workflow
KooshaPari 31f085e
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari 225a6a6
feat(codex): normalize tool schemas for array union types (#259)
KooshaPari e184f3c
Merge branch 'wave-gh-next21-merge' into backup/bug-wave-issue-101-102
KooshaPari f6a5481
Merge branch 'wave-gh-next21-lane-1' into backup/bug-wave-issue-101-102
KooshaPari 7afa33b
Merge branch 'wave-gh-next21-lane-2' into backup/bug-wave-issue-101-102
KooshaPari 16fe699
Merge branch 'wave-gh-next21-lane-3' into backup/bug-wave-issue-101-102
KooshaPari 8bb109e
Merge wave-gh-next21-lane-4
KooshaPari 3dd58db
Merge wave-gh-next21-lane-5
KooshaPari d2e9f14
Merge wave-gh-next21-lane-6
KooshaPari c9e3e71
Merge wave-gh-next21-lane-7
KooshaPari be0899d
chore: require cheapest smoke checks in CI gates
KooshaPari ff087a5
test: cover variant codex high mapping in thinking E2E matrix
KooshaPari 7b200a7
docs: document task quality:quick:fix command
KooshaPari 6924aac
fix: normalize request header logging redaction
KooshaPari 40562e7
feat(amp): add kiro-compatible amp auth flow and tests (#232)
KooshaPari b274e63
test(amp): align dedicated provider model tests with available registry
KooshaPari 5e81023
chore(backup): checkpoint issue-wave cpb-0106 WIP docs and codex test…
KooshaPari a255918
fix(codex): strip context_management and truncation from Responses API
KooshaPari ff1056f
fix(lint): resolve multiple linting issues in internal packages
KooshaPari ff95a4e
feat: comprehensive test coverage and fixes for CLIProxyAPI Plus
KooshaPari 53b3c1d
refactor(config): registry-based premade provider injection
KooshaPari 3f730dc
refactor(config): switch to data-driven codegen for dedicated provide…
KooshaPari 7a860be
chore: rename repository to cliproxyapi-plusplus
KooshaPari 2f2d8ba
refactor(pkg): update internal config imports to pkg/llmproxy/config
KooshaPari f013d44
refactor: update imports to point to pkg/llmproxy
KooshaPari e1be261
refactor: global import updates to pkg/llmproxy
KooshaPari d3aa154
chore: rebranding to cliproxyapi++ (throwback to notepad++)
KooshaPari 34295d3
docs: deep-dive optimization of READMEs and final branding updates
KooshaPari 7e04484
docs: add ++ feature reference, docsets, and pages workflow
KooshaPari a13313d
ci: enable github pages setup in vitepress workflow
KooshaPari ee10834
tmp
KooshaPari 8413526
tmp
KooshaPari 1e8cd7e
docs: expand provider-first docs and README
KooshaPari ad0ba5d
wip: snapshot local CLIProxyAPIPlus working state
KooshaPari 4bc4cff
chore: snapshot current local working state
KooshaPari 3d91eea
chore: checkpoint current worktree before 7-lane bug wave
KooshaPari 25349ec
chore: preserve current cliproxy work state
KooshaPari e133e15
chore: remove generated fragmented docs and logs
KooshaPari 66b614f
feat: preserve ongoing cliproxy work
KooshaPari f045937
chore: checkpoint tui edits before branch consolidation
KooshaPari 26ebe16
chore: checkpoint pending tracked edits before main consolidation
KooshaPari db9eefa
docs: assign issue lanes for first 30 CPB items
KooshaPari cb1283e
fix(responses): prevent JSON tree corruption from literal control cha…
garetneda-gif f988258
Merge remote-tracking branch 'upstream/main' into backup/bug-wave-iss…
KooshaPari b7793ea
fix: resolve build/test failures and improve CI
KooshaPari 044be68
chore: align cli proxy main and stage issue wave lanes
KooshaPari 966989a
test(api): relax claude-cli smoke assertion for /v1/models
KooshaPari d9ef4db
feat(tui): add fa locale support and parity tests
KooshaPari 94fd2a6
fix(codex): support variant fallback for reasoning effort
KooshaPari 06c39f5
fix(codex): map responses variant to reasoning effort
KooshaPari 5810cfa
fix(codex): parse variant as codex thinking fallback
KooshaPari f79eafb
fix(kiro): accept Bash cmd alias to prevent amp truncation loops (#210)
KooshaPari fa7370d
wave(lane1): codex variant fallback + lane report
KooshaPari 7b1d7cd
fix(registry): normalize github-copilot context windows to 128k (#241)
KooshaPari 8595076
feat(amp): add kiro-compatible amp auth flow and tests (#232)
KooshaPari ea74fbf
fix(gemini): sanitize nullable tool schema types in responses transla…
KooshaPari 9a00a6e
wave(lane2): copilot/kiro alias fixes + lane report
KooshaPari bd81b1d
wave(lane3): nullable schema + mgmt/fs fixes + lane report
KooshaPari 91453e4
wave(lane4): kiro token fallback + amp model route + lane report
KooshaPari 73d3309
wave(lane5): dedupe kiro tool_calls + lane report
KooshaPari d33fb23
docs: stage CPB-0001..0035 lane manifest and lane-1 execution
KooshaPari 7183215
chore(main): checkpoint current local state before integration merge
KooshaPari 09f7756
test(auth/kiro): avoid roundTripper helper redeclaration
KooshaPari 753c41f
docs(planning): add GH-35 integration summary
KooshaPari fe0a049
fix(docs): resolve dead link to agents page in planning docs
KooshaPari c095165
docs(validation): audit open upstream items against implemented state
KooshaPari cf7343f
chore(main): checkpoint wave-v2 working state before branch merges
KooshaPari a1415f3
wave(v2-l1): cpb-0036..0045 triage + docs quick wins
KooshaPari 03d7cad
wave(v2-l2): cpb-0046..0055 triage + openai compat endpoint
KooshaPari 526285a
wave(v2-l3): cpb-0056..0065 triage + kiro/config hardening
KooshaPari 81c2566
wave(v2-l4): cpb-0066..0075 triage + docs/test quick wins
KooshaPari 3fa1124
wave(v2-l5): cpb-0076..0085 triage + compact/translator coverage
KooshaPari d2989f3
wave(v2-l6): cpb-0086..0095 triage + log/codex hardening
KooshaPari 003663e
wave(v2-l7): cpb-0096..0105 triage + docs/runtime checks
KooshaPari 63e1f9c
docs(troubleshooting): normalize API key placeholder examples
KooshaPari 95a8800
chore(main): checkpoint pre-wave-v3 state
KooshaPari 9ccc11c
docs(validation): add fork-main open item status audit
KooshaPari 59eee53
docs(planning): define 21-item issue wave in 7x3 lanes
KooshaPari 4f8e896
docs(report): lane 1 status for #259 #253 #251
KooshaPari 1401fbb
docs(planning): add gh-next21 lane-2 oauth/auth status report
KooshaPari 1977a8d
test(lane-3): add cursor synthesis and amp v1 model regressions
KooshaPari 00a1caf
docs(lane-3): add kiro quota ops guidance and lane report
KooshaPari 74570e3
lane-4: expand amp provider model listings for kimi/kilo
KooshaPari a08603f
lane-4: record commit evidence in report
KooshaPari eee2be9
lane5: add oauth-upstream overrides and finalize gh-next21 report
KooshaPari 12440ee
test(translator): add lane6 regressions and report
KooshaPari 4410d0a
wave(lane-7): close low-risk gaps for #254 #221 #200
KooshaPari 0c88b90
feat(codex): normalize tool schemas for array union types (#259)
KooshaPari 77b14e7
feat: implement fixes for 30 upstream issues
KooshaPari 51b332a
Add provider smoke matrix shell test harness and quality wiring
KooshaPari d54c5fd
feat: implement 5 major upstream features
KooshaPari 09556e3
feat(executor): normalize openai usage token fields and add qwen3.5 a…
KooshaPari 84b6989
chore: merge chore/ff-sync-main into integrated worktree
KooshaPari 5892d82
wave(v3-l2): cpb-0116..0125 triage + iflow compatibility
KooshaPari c0934ae
wave(v3-l3): cpb-0126..0135 triage + thinking diagnostics
KooshaPari d30b3d9
fix(copilot): emit function_call arg delta on done events
KooshaPari 4255dd9
fix(translator): handle response.function_call_arguments.done in copi…
KooshaPari a76daf9
wave(v3-l4): cpb-0136..0145 triage + kimi/iflow hardening
KooshaPari 4c802d7
wave(v3-l5): cpb-0146..0155 triage + output_config fallback
KooshaPari 5e1de31
chore(backup): checkpoint provider smoke matrix and docs merge resolu…
KooshaPari ea68cd9
wave(v2-l1): cpb-0036..0045 triage + docs quick wins
KooshaPari 593c3eb
chore: sync dev-local delta into canonical branch
KooshaPari 938f3d0
Merge branch 'cpb-0036-0047-next'
KooshaPari f42b67c
Merge branch 'wave-gh-next21-lane-1'
KooshaPari 557bb60
Merge branch 'wave-gh-next21-lane-2'
KooshaPari d40414f
Merge branch 'wave-gh-next21-lane-3'
KooshaPari 238a81f
Merge branch 'wave-gh-next21-lane-5'
KooshaPari 8c6b19e
Merge branch 'wave-gh-next21-lane-6'
KooshaPari da817cc
Merge branch 'wave-gh-next21-lane-7'
KooshaPari 25e281d
Merge branch 'align/dev-local-changes'
KooshaPari 4c53c48
Merge branch 'workstream-cpbv3-1'
KooshaPari 8f9e8eb
merge: reconcile origin/main after local branch consolidation
KooshaPari 62fd80c
cpb-0179/0181/0182: rollout gate, ratelimit aliases, antigravity clamp
KooshaPari 84b161a
wave cpb-0186..0245: lanes 2-7 first-pass implementations
KooshaPari ad7bacc
wave cpb-0246..0275: mixed-lane pass (a/b/c)
KooshaPari 152b35f
consolidate: wave leftovers + build import-path fixes + lane artifacts
KooshaPari ee3fee6
build: add missing quality:pre-push task for git hook
KooshaPari 4e137cf
chore: prep for release batch
KooshaPari 0954c5c
ci(codeql): upgrade github codeql action from v3 to v4
KooshaPari c8719c5
chore: add logs to gitignore
KooshaPari c04cfa1
chore: clean up logs
KooshaPari 647597f
chore: executor auth fixes
KooshaPari b3170b8
chore: executor and translator updates
KooshaPari ba69d16
fix(ci): add git config to release-batch workflow
KooshaPari b5834b2
wave77: cliproxy lanes a-c next-30 fixes + targeted tests
KooshaPari ee05f5f
feat: add routing select handler, oauth token manager, pareto router,…
KooshaPari d422c4e
ci: trigger pr-test-build rerun
KooshaPari 8cb539f
chore: commit all pending branch items and CI workflow fix
KooshaPari File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
| next | ||
| } | ||
| in_target && $0 ~ boundary { | ||
| exit | ||
| } | ||
| in_target { | ||
| } | ||
| ' "$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" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using
2>/dev/nullto suppressrgerror messages can hide unexpected issues. A cleaner approach is to use the--no-messagesflag, which is specifically designed to suppress errors about files thatrgcan't read, without hiding other potential problems.