Skip to content

Commit 7ddf7db

Browse files
committed
merge: resolve feat/auth-credential-broker into auth-gateway after main rebase
Bring the gateway branch onto the conflict-resolved code-yeongyu#193/code-yeongyu#194 stack and keep auth-gateway review P1/P2 fixes (broker URL validation, CORS preflight order, verifier evidence, 502 mapping, qualified models).
2 parents 8d44e7d + 44d69aa commit 7ddf7db

443 files changed

Lines changed: 19981 additions & 7830 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/APPROVED_CONTRIBUTORS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,3 +271,7 @@ farid-fari pr
271271
petrroll pr
272272

273273
vibeinging pr
274+
275+
DivineDominion pr
276+
277+
ananthakumaran pr

.github/upstream.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"repo": "badlogic/pi-mono",
3-
"tag": "v0.80.7",
4-
"sha": "9d09075c53812f7af955ce4397d0508c4a62efac",
5-
"synced_at": "2026-07-14T17:38:55Z"
3+
"tag": "v0.80.10",
4+
"sha": "216e672e7c9fc65682553394b74e483c0c9e47f7",
5+
"synced_at": "2026-07-16T22:29:25Z"
66
}
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Publish Model Catalog
2+
3+
on:
4+
workflow_run:
5+
workflows:
6+
- CI
7+
types:
8+
- completed
9+
pull_request:
10+
paths:
11+
- '.github/workflows/publish-model-catalog.yml'
12+
- '.gitignore'
13+
- 'package.json'
14+
- 'packages/ai/**'
15+
- 'scripts/publish-model-catalog.mjs'
16+
schedule:
17+
- cron: '17 */4 * * *'
18+
workflow_dispatch:
19+
inputs:
20+
source_ref:
21+
description: 'Commit, branch, or tag to generate from'
22+
required: false
23+
default: 'main'
24+
type: string
25+
publish:
26+
description: 'Upload the generated catalog to production R2'
27+
required: true
28+
default: false
29+
type: boolean
30+
31+
permissions:
32+
contents: read
33+
34+
jobs:
35+
generate:
36+
if: ${{ github.event_name != 'workflow_run' || (github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main') }}
37+
runs-on: ubuntu-latest
38+
env:
39+
SOURCE_REF: ${{ github.event.workflow_run.head_sha || github.event.pull_request.head.sha || inputs.source_ref || github.sha }}
40+
steps:
41+
- name: Checkout
42+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
43+
with:
44+
ref: ${{ env.SOURCE_REF }}
45+
persist-credentials: false
46+
47+
- name: Setup Node.js
48+
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
49+
with:
50+
node-version: '24'
51+
cache: npm
52+
53+
- name: Install dependencies
54+
run: npm ci --ignore-scripts
55+
56+
- name: Generate model catalog JSON
57+
run: npm run generate:model-catalog
58+
59+
- name: Validate model catalog JSON
60+
run: npm run check:model-catalog
61+
62+
- name: Upload model catalog JSON
63+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
64+
with:
65+
name: model-catalog-json
66+
path: .artifacts/model-catalog
67+
if-no-files-found: error
68+
retention-days: 14
69+
70+
publish:
71+
if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_run' || (github.event_name == 'workflow_dispatch' && inputs.publish) }}
72+
needs: generate
73+
runs-on: ubuntu-latest
74+
environment: pi-model-upload
75+
concurrency:
76+
group: publish-model-catalog-r2
77+
cancel-in-progress: true
78+
env:
79+
SOURCE_REF: ${{ github.event.workflow_run.head_sha || inputs.source_ref || github.sha }}
80+
AWS_ACCESS_KEY_ID: ${{ secrets.PI_ARTIFACTS_R2_ACCESS_KEY_ID }}
81+
AWS_SECRET_ACCESS_KEY: ${{ secrets.PI_ARTIFACTS_R2_SECRET_ACCESS_KEY }}
82+
AWS_DEFAULT_REGION: auto
83+
AWS_EC2_METADATA_DISABLED: 'true'
84+
R2_ENDPOINT: https://67c0d357268b0fca6e0b465bb9d01b84.r2.cloudflarestorage.com
85+
steps:
86+
- name: Checkout
87+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
88+
with:
89+
ref: ${{ env.SOURCE_REF }}
90+
persist-credentials: false
91+
92+
- name: Setup Node.js
93+
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
94+
with:
95+
node-version: '24'
96+
97+
- name: Download model catalog JSON
98+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
99+
with:
100+
name: model-catalog-json
101+
path: .artifacts/model-catalog
102+
103+
- name: Verify AWS CLI
104+
run: aws --version
105+
106+
- name: Publish model catalog to R2
107+
run: |
108+
node scripts/publish-model-catalog.mjs \
109+
--input .artifacts/model-catalog \
110+
--bucket pi-artifacts \
111+
--endpoint "$R2_ENDPOINT" \
112+
--source-commit "$(git rev-parse HEAD)"

.gitignore

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
node_modules/
22
dist/
3+
.artifacts/
34
*.log
45
.DS_Store
56
*.tsbuildinfo
@@ -67,10 +68,6 @@ local-ignore/
6768
.pi/hf-sessions-backup/
6869
collect.sh
6970

70-
# Ephemeral agent working state (cc-ulw-loop goal/ledger, run continuation).
71-
# Evidence archives under .omo/evidence are tracked intentionally; runtime
72-
# state is not, and must never be swept into a release commit.
73-
.omo/loop/
74-
.omo/run-continuation/
75-
.omo/ulw-loop/
76-
.omo/senpi-task/
71+
# Ephemeral agent working state. Existing tracked archives remain tracked,
72+
# but new untracked files must never block a release commit.
73+
.omo/

AGENTS.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Senpi Repository Guide
22

3-
Generated: 2026-07-14
4-
Commit: `2c3a87858`
3+
Generated: 2026-07-17
4+
Commit: `92fc96389`
55
Branch: `main`
66

77
Metadata above records the source state used for this generation pass.
@@ -38,13 +38,15 @@ Senpi is an extension-first coding-agent monorepo. Keep changes scoped, preserve
3838
| Add or change extension examples | `packages/coding-agent/examples/` |
3939
| Change PTY behavior | `packages/pty/` and, for native behavior, `crates/senpi-pty/` |
4040
| Add provider setup docs | `packages/ai/README.md` and `packages/coding-agent/docs/providers.md` |
41+
| Change model/provider runtime | `packages/ai/src/models.ts`, `packages/ai/src/auth/`, `packages/ai/src/providers/` |
42+
| Change eval prompt/rendering | `packages/senpi-codemode/src/prompt/` and `src/tool/` |
4143
| Audit changelogs | `.github/agent/commands/cl.md` |
4244
| Prepare a release | `scripts/release.mjs` and `scripts/release-packages.mjs` |
4345

4446
## CODE MAP
4547

4648
```text
47-
Model/auth catalog -> packages/ai/src/providers -> packages/ai/src/api
49+
Models/auth runtime -> packages/ai/src/models.ts + src/auth/ -> providers -> api
4850
|
4951
Agent state -> packages/agent/src/agent-loop.ts
5052
|

0 commit comments

Comments
 (0)