Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
337 commits
Select commit Hold shift + click to select a range
c3441dd
video requests info in logs ui (#5946)
TejasGhatte Aug 10, 2026
fce501e
fix: bedrock files handling in inference (#5947)
TejasGhatte Aug 10, 2026
bdcaa3d
tests: harness tests for bedrock documents (#5949)
TejasGhatte Aug 10, 2026
7ce3524
fix: cost in usd ticks for xai usage (#5950)
TejasGhatte Aug 10, 2026
86b1197
fix: add anthropic error branch on stripping on encrypted content (#5…
TejasGhatte Aug 10, 2026
ecb81ae
dependabot fixes (#6040)
akshaydeo Aug 11, 2026
d33e487
feat(grayswan): docs for policy id field required in grayswan guardra…
Madhuvod Aug 11, 2026
f934e3d
feat: add grouped view to logs table with expandable fallback chains …
impoiler Aug 11, 2026
aabd65a
feat: make log recalculation task cancellable (#5800)
impoiler Aug 11, 2026
7bea3ec
feat: make log recalculation task cancellable backend (#5801)
impoiler Aug 11, 2026
3319581
feat: add custom branding (logo/icon) support with OSS fallback stub …
impoiler Aug 11, 2026
2ad96d0
feat: add `ShellRewriter` hook to UI handler for pre-hydration HTML r…
impoiler Aug 11, 2026
c0692c1
feat: add user assignment to virtual key sheet (#5863)
impoiler Aug 11, 2026
44a1b22
encrypted content patch for encrytped content could not be verified (…
akshaydeo Aug 11, 2026
eb6def8
fix: preserve minimal reasoning effort for GPT-5-family OpenAI models…
jitokim Aug 11, 2026
22c31b2
chore: update helm-charts doc for env var reference fixes for Datadog…
roroghost17 Aug 11, 2026
8fb261b
feat: adds missing endpoints to e2e api tests (#5831)
impoiler Aug 11, 2026
f4b0420
chore(docs): add OpenAPI bundler and Mintlify nav sync scripts (#5838)
impoiler Aug 11, 2026
9b429ae
refactor(governance): allow editions to override governance route fam…
impoiler Aug 11, 2026
d33a5e7
docs(openapi): add missing management endpoints and split governance …
impoiler Aug 11, 2026
2797350
docs: add governance API namespace migration guide (#5841)
impoiler Aug 11, 2026
961d53d
refactor: generate OpenAPI JSON and docs.json (#5650)
impoiler Aug 11, 2026
3c6ae8a
docs: update docs for DD env var references (#6020)
roroghost17 Aug 11, 2026
014ea18
test: add e2e tests for virtual key budget override set/remove (#6017)
impoiler Aug 11, 2026
adf0872
fix(test): move misplaced budget override validity anchor tests to co…
impoiler Aug 11, 2026
91ef10b
test: add `needs_session_stickiness` to MCP client e2e collection (#6…
impoiler Aug 11, 2026
b3459f7
fix: update custom pricing docs URL (#6052)
impoiler Aug 11, 2026
7d2f457
fix: guard response.create input (#6050)
danpiths Aug 11, 2026
ebcce74
feat: add additional metadata in S3 log export (#6070)
roroghost17 Aug 11, 2026
034b27d
fix: skip list models call for budgets and rate-limits (#6051)
TejasGhatte Aug 11, 2026
bc0412d
docs: add quarterly (`1Q`) budget reset with `reset_config`/`quarter_…
Pratham-Mishra04 Aug 11, 2026
dff0aed
docs: move token-exchange screenshot above steps and add `pending_ver…
Pratham-Mishra04 Aug 11, 2026
49e0669
feat: add `use_idp_credentials` to token-exchange config, allowing SS…
Pratham-Mishra04 Aug 11, 2026
e9a9087
docs: add `use_idp_credentials` to `token_exchange` config, make `cli…
Pratham-Mishra04 Aug 11, 2026
c3c3a9a
feat: bedrock vpc endpoints support (#6064)
TejasGhatte Aug 11, 2026
f53d139
[docs]: Expand deployment platform guides (#5803)
R-droid101 Aug 11, 2026
9158aa8
fix: combine `offline_access` with `<audience>/.default` for Entra OB…
Pratham-Mishra04 Aug 11, 2026
96f17d0
feat: add `cost_per_request` flat-fee pricing field across DB, cost e…
Pratham-Mishra04 Aug 11, 2026
9361726
feat: add `add-pricing-field` Claude skill for end-to-end pricing fie…
Pratham-Mishra04 Aug 11, 2026
f968184
fix(ui): improve ModelMultiselect empty and error states (#6077)
Madhuvod Aug 12, 2026
3347f5a
feat(modelcatalog): resolve pricing overrides for catalog rows (#6055)
impoiler Aug 12, 2026
5d39460
feat(api): expose pricing overrides on /api/models/details (#6056)
impoiler Aug 12, 2026
49ef70e
refactor(ui): extract pricing field metadata into its own module (#6057)
impoiler Aug 12, 2026
07c24a1
feat(ui): show overridden pricing in the model catalog (#6058)
impoiler Aug 12, 2026
fd41da0
feat(ui): persist model catalog tab, search and provider in the URL (…
impoiler Aug 12, 2026
ce1b2a6
feat: cache branding state in localStorage to prevent logo flash on l…
impoiler Aug 12, 2026
3223e27
fix: return informative message when model list is disabled for provider
gokul-scalent Aug 13, 2026
748b869
fix: map Bedrock `content_filter`/`guardrail_intervened` stop reasons…
BearTS Aug 13, 2026
6f2004a
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 13, 2026
26c02bc
adds path for skipping auth (#6124)
akshaydeo Aug 13, 2026
4412447
feat(runware): async 3D generation via /videos + passthrough route (#…
R-droid101 Aug 13, 2026
828844c
updates skip-core-test flag and changelog (#6128)
akshaydeo Aug 13, 2026
98b91b9
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 13, 2026
741e4bc
fix(governance): block `from_memory` VK reads for DAC-scoped callers …
impoiler Aug 13, 2026
620f0b7
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 14, 2026
7074017
feat(ui): responsive layout improvements across all views (#6105)
impoiler Aug 14, 2026
e8c3f20
feat(ui): add version skew detection with auto-reload and upgrading s…
impoiler Aug 14, 2026
f270f90
chore: format UI codebase (#6158)
impoiler Aug 14, 2026
08ddd0c
docs update (#6122)
akshaydeo Aug 13, 2026
171f94a
feat: support matview_refresh_interval "off" to disable logstore matv…
jeremym-tanium Jul 30, 2026
f4a637d
V2.0.0 (#4365)
akshaydeo Jul 30, 2026
ccca3fd
gomod fixes (#5731)
akshaydeo Jul 30, 2026
f990a0a
third party notice (#5735)
akshaydeo Jul 31, 2026
cee1f03
feat(mcp-guardrails): add MCP log redaction changes (#5744)
Madhuvod Jul 31, 2026
8fcc51d
feat(mcp-guardrails): ui changes (#5745)
Madhuvod Jul 31, 2026
edac2d4
added plugin logs in mcp logs (#5746)
Madhuvod Jul 31, 2026
a17f620
mcp guardrails : config,helm and docs changes (#5758)
Madhuvod Aug 2, 2026
b23d3a0
adds first time setup token to avoid opening new setup to the world (…
akshaydeo Aug 3, 2026
5dc6019
brings back onboarding widget (#5784)
akshaydeo Aug 3, 2026
018b2fd
path normalization auth bypass (#5763)
akshaydeo Aug 3, 2026
0a9451d
mod fix (#5864)
akshaydeo Aug 5, 2026
62ab0bf
docs: adds a subsection for mcp guardrails (#5869)
Madhuvod Aug 5, 2026
96a10c8
feat: add w3c trace id to context (#5945)
roroghost17 Aug 7, 2026
7a8d6b1
fix: align budget override validity with calendar boundaries (#5962)
danpiths Aug 7, 2026
49a9fe5
[fix]: schemas- omit absent tool-call function name on streaming delt…
AdityaPainuli Aug 8, 2026
dd74548
fix: guard nil ConfigStore, propagate resource, and surface pending-b…
Pratham-Mishra04 May 29, 2026
ec096af
fix: address PR review findings - client-scoped test id, popup-blocke…
Pratham-Mishra04 May 29, 2026
018a03e
feat: add per user oauth mcp support for config.json
Pratham-Mishra04 May 29, 2026
87a47db
fix: close verify-headers double-submit race, preserve TLS/timeout/pe…
Pratham-Mishra04 May 29, 2026
e34e466
fix: always label the bootstrap action "Authorize" regardless of auth…
Pratham-Mishra04 May 29, 2026
5e54e0a
fix: seed linked oauth_configs/config_mcp_clients rows for shared-tok…
Pratham-Mishra04 Jul 28, 2026
686996e
fix: close leaked sqlDB in flows-table perf setup, make OAuth flow cl…
Pratham-Mishra04 Jul 28, 2026
e4ee0f9
fix: reject inactive tokens in ValidateToken, document shared/per-ide…
Pratham-Mishra04 Jul 29, 2026
c898115
feat: generalize TokenRefreshWorker's auth-mode scope
Pratham-Mishra04 Jul 29, 2026
b56cf6d
fix: gate SSE OnConnectionLost on connection identity, preserve Needs…
Pratham-Mishra04 Jul 29, 2026
1452933
fix: repair shared connections regardless of destructive hint, fail c…
Pratham-Mishra04 Jul 29, 2026
315e251
fix: remove 'View sessions' link from the MCP client edit sheet
Pratham-Mishra04 Jul 29, 2026
d4298bb
fix: don't silently drop stored oauth scopes on decode failure, skip …
Pratham-Mishra04 Jul 29, 2026
8b1b2d1
fix: restrict Reauthorize to shared OAuth clients, show loading state…
Pratham-Mishra04 Jul 29, 2026
b0560d3
test: seed opposite-auth_mode token in TestAccessToken_MissingToken_R…
Pratham-Mishra04 Jul 29, 2026
51a9719
test: cover every field PromoteSharedOauthTokenToAdmin transfers and …
Pratham-Mishra04 Jul 29, 2026
f6af8b4
fix: add per-entry version so a rejected stale Get can't evict a conc…
Pratham-Mishra04 Jul 30, 2026
d84ec8d
fix: propagate ctx through userTokenCache.Fill so a canceled request …
Pratham-Mishra04 Jul 30, 2026
8edc019
fix: propagate ctx through headerCredentialCache.Fill so a canceled r…
Pratham-Mishra04 Jul 30, 2026
ec779c5
fix: carry the ConfigHash-checkpoint regression test forward across O…
Pratham-Mishra04 Jul 2, 2026
86db36f
docs: mcp oauth and per user types config json support docs update
Pratham-Mishra04 May 29, 2026
0261eba
docs: note pending_verification state as a 400 trigger for initiate-v…
Pratham-Mishra04 Jul 2, 2026
2453a9e
docs: add secret var support to oauth client_id and client_secret docs
Pratham-Mishra04 Jul 2, 2026
de1ed7b
docs: fix tool_sync_interval nanosecond claim, fix disable_vk_identit…
Pratham-Mishra04 Jul 30, 2026
75ca8ab
fix: wire tool_execution_timeout on MCP client creation, fix reauthor…
Pratham-Mishra04 Jul 30, 2026
c6fd436
fix: select the pending-verification message from whether verificatio…
Pratham-Mishra04 Jul 30, 2026
d18733f
fix: route pending token_exchange clients through the verify-exchange…
Pratham-Mishra04 Jul 30, 2026
172a371
fix: retain completed inflightClientOp in test double, fix idempotent…
Pratham-Mishra04 Jul 30, 2026
c741041
fix: bind MCP connect attempts to entry identity, guard AddClient's dial
Pratham-Mishra04 Jul 30, 2026
b68633f
docs: document make-before-break reconnection and shared-client retry…
Pratham-Mishra04 Jul 30, 2026
6b7a94a
fix: enforce non-empty audience/client_id and reject token_exchange f…
Pratham-Mishra04 Jul 30, 2026
b50beae
fix: configure bounded http.Server timeouts and request-body limit fo…
Pratham-Mishra04 Jul 30, 2026
afe0777
docs: scope needs_reauth's applicable auth types instead of claiming …
Pratham-Mishra04 Aug 2, 2026
2786507
fix: correct branch-resolution, backup-safety, conflict-marker, and v…
Pratham-Mishra04 Aug 2, 2026
ba0f870
feat: allow gating OAuthTokenRefreshWorker sweeps
Pratham-Mishra04 Aug 3, 2026
d5a2e95
fix: render MCP client state badges with spaces instead of underscores
Pratham-Mishra04 Aug 3, 2026
af6063f
fix: resolve MCP client verify UX gaps
Pratham-Mishra04 Aug 5, 2026
80a77cf
feat: adds jwt option in sample mcp client
Pratham-Mishra04 Aug 5, 2026
5cf7110
fix: preserve last-known tool maps across close-first reconnects, che…
Pratham-Mishra04 Aug 6, 2026
1ca4f94
fix: rebuild ephemeral client fresh across the whole connect+init ret…
Pratham-Mishra04 Aug 6, 2026
99a1701
feat: redesign MCP client edit sheet into tabbed layout with accessib…
Pratham-Mishra04 Aug 6, 2026
d8fd7d5
feat: apply MCP edit sheet's design language to the create sheet
Pratham-Mishra04 Aug 6, 2026
304dce2
fix: break lock-order inversion in ConnectionCheckerManager, close da…
Pratham-Mishra04 Aug 6, 2026
7d19cbe
fix: pin needs_session_stickiness across config.json reconciliation s…
Pratham-Mishra04 Aug 6, 2026
d094166
fix: use kebab-case data-testid values in MCP sessions filter sidebar
Pratham-Mishra04 Aug 6, 2026
56347ea
feat: replace MCP oauth grants' top filter bar with a side filter panel
Pratham-Mishra04 Aug 6, 2026
f2e3746
feat: add MCP server filter to Auth Sessions sidebar, scoped to per-u…
Pratham-Mishra04 Aug 6, 2026
8c30e2e
fix: don't treat a CAS loss to a still-active concurrent refresh as a…
Pratham-Mishra04 Aug 6, 2026
cb192f9
docs: document that stateChangeCallback has no cross-transition order…
Pratham-Mishra04 Aug 6, 2026
5caa93d
feat: add Virtual Key and Users filters to MCP Auth Sessions sidebar
Pratham-Mishra04 Aug 6, 2026
e1ca10f
feat: add VK and Users filters to OAuth Grants sidebar
Pratham-Mishra04 Aug 6, 2026
cd5fb88
fix: discover tools synchronously for per-call MCP clients, fix share…
Pratham-Mishra04 Aug 7, 2026
1be2d21
feat: persist and resync MCP tool discoveries uniformly across all cl…
Pratham-Mishra04 Aug 7, 2026
fda5c1a
fix: persist discovered tools before triggering cluster propagation i…
Pratham-Mishra04 Aug 8, 2026
84b61d6
fix: correct per-user MCP state-projection and reauthorize completion…
Pratham-Mishra04 Aug 8, 2026
e153823
docs: document needs_session_stickiness across Web UI, API, and conf…
Pratham-Mishra04 Aug 8, 2026
e99bdfd
docs: add canonical MCP connections/states/lifecycles page, fix stale…
Pratham-Mishra04 Aug 8, 2026
84cef04
docs(openapi): fix stale MCP connection-state enum, document prematu…
Pratham-Mishra04 Aug 8, 2026
85036d5
docs: fix remaining reconnect-400 wording and tool-persistence gaps …
Pratham-Mishra04 Aug 8, 2026
584a724
[fix]: gemini- map truncated responses to MAX_TOKENS finish reason (#…
AdityaPainuli Aug 9, 2026
6f47ba9
fix(ui): skip password validation for redacted credential (#5953)
G-XD Aug 9, 2026
93ff108
feat: add `roots_only` filter to collapse fallback chains with child …
impoiler Aug 10, 2026
a264e7a
docs: add Bedrock runbooks for Claude Code and Codex (#5868)
R-droid101 Aug 10, 2026
0fc9977
chore: doc fixes for config.schema.json (#5938)
roroghost17 Aug 10, 2026
20dbc3b
cost for prompt guardrails (#4931)
Madhuvod Aug 10, 2026
fb5c6dd
fix update passthrough docs (#5906)
TejasGhatte Aug 10, 2026
b18ff36
[docs]: docs for prompt guardrails (#5899)
Madhuvod Aug 10, 2026
1d0ea48
feat: add support for separate metrics tab independent of traces for …
roroghost17 Aug 10, 2026
7eb0973
feat: add separate headers support for traces and metrics in OTEL col…
roroghost17 Aug 10, 2026
71213ef
chore: update helm-charts for OTEL trace / metrics headers changes (#…
roroghost17 Aug 10, 2026
540e06d
docs: add OTEL trace / metrics headers doc and fixes the pushed metri…
roroghost17 Aug 10, 2026
7e8807d
video requests info in logs ui (#5946)
TejasGhatte Aug 10, 2026
df6b9c5
fix: bedrock files handling in inference (#5947)
TejasGhatte Aug 10, 2026
ae70ae0
tests: harness tests for bedrock documents (#5949)
TejasGhatte Aug 10, 2026
7186dd6
fix: cost in usd ticks for xai usage (#5950)
TejasGhatte Aug 10, 2026
e9fdc8e
fix: add anthropic error branch on stripping on encrypted content (#5…
TejasGhatte Aug 10, 2026
516cf55
dependabot fixes (#6040)
akshaydeo Aug 11, 2026
0c0faf6
feat(grayswan): docs for policy id field required in grayswan guardra…
Madhuvod Aug 11, 2026
20ccb2c
feat: add grouped view to logs table with expandable fallback chains …
impoiler Aug 11, 2026
3d9c787
feat: make log recalculation task cancellable (#5800)
impoiler Aug 11, 2026
f4155d9
feat: make log recalculation task cancellable backend (#5801)
impoiler Aug 11, 2026
ca8f524
feat: add custom branding (logo/icon) support with OSS fallback stub …
impoiler Aug 11, 2026
224f3e7
feat: add `ShellRewriter` hook to UI handler for pre-hydration HTML r…
impoiler Aug 11, 2026
bf0d61b
feat: add user assignment to virtual key sheet (#5863)
impoiler Aug 11, 2026
dd132a2
encrypted content patch for encrytped content could not be verified (…
akshaydeo Aug 11, 2026
11979b4
fix: preserve minimal reasoning effort for GPT-5-family OpenAI models…
jitokim Aug 11, 2026
2e54a30
chore: update helm-charts doc for env var reference fixes for Datadog…
roroghost17 Aug 11, 2026
9222dec
feat: adds missing endpoints to e2e api tests (#5831)
impoiler Aug 11, 2026
d7d45e5
chore(docs): add OpenAPI bundler and Mintlify nav sync scripts (#5838)
impoiler Aug 11, 2026
78e8e8a
refactor(governance): allow editions to override governance route fam…
impoiler Aug 11, 2026
d77e478
docs(openapi): add missing management endpoints and split governance …
impoiler Aug 11, 2026
c5c12b5
docs: add governance API namespace migration guide (#5841)
impoiler Aug 11, 2026
7f423f1
refactor: generate OpenAPI JSON and docs.json (#5650)
impoiler Aug 11, 2026
958f285
docs: update docs for DD env var references (#6020)
roroghost17 Aug 11, 2026
83ea5c7
test: add e2e tests for virtual key budget override set/remove (#6017)
impoiler Aug 11, 2026
5664e04
fix(test): move misplaced budget override validity anchor tests to co…
impoiler Aug 11, 2026
ca390eb
test: add `needs_session_stickiness` to MCP client e2e collection (#6…
impoiler Aug 11, 2026
8d990d4
fix: update custom pricing docs URL (#6052)
impoiler Aug 11, 2026
058d3f7
fix: guard response.create input (#6050)
danpiths Aug 11, 2026
22bb823
feat: add additional metadata in S3 log export (#6070)
roroghost17 Aug 11, 2026
dc78dd9
fix: skip list models call for budgets and rate-limits (#6051)
TejasGhatte Aug 11, 2026
6264c07
docs: add quarterly (`1Q`) budget reset with `reset_config`/`quarter_…
Pratham-Mishra04 Aug 11, 2026
c8acf0b
docs: move token-exchange screenshot above steps and add `pending_ver…
Pratham-Mishra04 Aug 11, 2026
9b9b3b2
feat: add `use_idp_credentials` to token-exchange config, allowing SS…
Pratham-Mishra04 Aug 11, 2026
f7e08db
docs: add `use_idp_credentials` to `token_exchange` config, make `cli…
Pratham-Mishra04 Aug 11, 2026
b44beba
feat: bedrock vpc endpoints support (#6064)
TejasGhatte Aug 11, 2026
d1f250d
[docs]: Expand deployment platform guides (#5803)
R-droid101 Aug 11, 2026
99ffce3
fix: combine `offline_access` with `<audience>/.default` for Entra OB…
Pratham-Mishra04 Aug 11, 2026
16770a4
feat: add `cost_per_request` flat-fee pricing field across DB, cost e…
Pratham-Mishra04 Aug 11, 2026
4007ab1
feat: add `add-pricing-field` Claude skill for end-to-end pricing fie…
Pratham-Mishra04 Aug 11, 2026
3fa2b7b
fix(ui): improve ModelMultiselect empty and error states (#6077)
Madhuvod Aug 12, 2026
62e4158
feat(modelcatalog): resolve pricing overrides for catalog rows (#6055)
impoiler Aug 12, 2026
9ea14c9
feat(api): expose pricing overrides on /api/models/details (#6056)
impoiler Aug 12, 2026
f05484b
refactor(ui): extract pricing field metadata into its own module (#6057)
impoiler Aug 12, 2026
7396757
feat(ui): show overridden pricing in the model catalog (#6058)
impoiler Aug 12, 2026
ee50e63
feat(ui): persist model catalog tab, search and provider in the URL (…
impoiler Aug 12, 2026
c30a3b4
feat: cache branding state in localStorage to prevent logo flash on l…
impoiler Aug 12, 2026
f52646c
fix: map Bedrock `content_filter`/`guardrail_intervened` stop reasons…
BearTS Aug 13, 2026
fa1b54b
adds path for skipping auth (#6124)
akshaydeo Aug 13, 2026
b754bd7
feat(runware): async 3D generation via /videos + passthrough route (#…
R-droid101 Aug 13, 2026
a7ab12b
updates skip-core-test flag and changelog (#6128)
akshaydeo Aug 13, 2026
ba4404c
chore: release Bifrost Helm chart v2.1.35 with MCP OAuth, setup token…
BearTS Aug 13, 2026
4892c6f
fix: updates framework tests (#6134)
sammaji Aug 13, 2026
918c954
fix: force TCP for postgres pg_isready checks (#6135)
sammaji Aug 13, 2026
6847c46
fix: correct missing `fi` closings and remove duplicate `redaction_ma…
BearTS Aug 13, 2026
104934c
feat: expose `resource` (RFC 8707) in `oauth_config` schema and mark …
Pratham-Mishra04 Aug 13, 2026
4cf32fd
fix(governance): block `from_memory` VK reads for DAC-scoped callers …
akshaydeo Aug 13, 2026
c1a9822
fix: exclude PKCE/state/token_id columns from `oauth_configs` snapsho…
BearTS Aug 13, 2026
b313b64
fix(gemini): prefer function declarations over google search when too…
impoiler Aug 13, 2026
e8373f9
fix(gemini): allow Vertex AI to send mixed tools without the server-s…
impoiler Aug 13, 2026
6bbbcf6
feat(gemini): support server-side toolCall/toolResponse parts with th…
impoiler Aug 13, 2026
4e405de
framework: bump core to v1.7.11 --skip-ci
github-actions[bot] Aug 13, 2026
8f46c0f
plugins/compat: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
768774d
plugins/governance: bump core to v1.7.11 and framework to v1.5.9 --sk…
github-actions[bot] Aug 13, 2026
c185846
plugins/jsonparser: bump core to v1.7.11 and framework to v1.5.9 --sk…
github-actions[bot] Aug 13, 2026
5ef8410
plugins/logging: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
9b9ba74
plugins/maxim: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
8255b2e
plugins/mocker: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
013403b
plugins/modelcatalogresolver: bump core to v1.7.11 and framework to v…
github-actions[bot] Aug 13, 2026
b3e4287
plugins/otel: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
5ade503
plugins/prompts: bump core to v1.7.11 and framework to v1.5.9 --skip-ci
github-actions[bot] Aug 13, 2026
4dba36e
plugins/semanticcache: bump core to v1.7.11 and framework to v1.5.9 -…
github-actions[bot] Aug 13, 2026
6e64273
plugins/telemetry: bump core to v1.7.11 and framework to v1.5.9 --ski…
github-actions[bot] Aug 13, 2026
d1d1cc2
transports: update dependencies --skip-ci
github-actions[bot] Aug 13, 2026
401a995
Adds changelog for v2.0.0-prerelease3 --skip-ci
github-actions[bot] Aug 13, 2026
36c281e
adds new release notes (#6150)
akshaydeo Aug 14, 2026
e725d4d
enterprise changelog (#6185)
akshaydeo Aug 14, 2026
f33d81c
updates docs for enterprise changelog (#6186)
akshaydeo Aug 14, 2026
22c5da8
fixed docs.json
akshaydeo Aug 14, 2026
e560d20
fixes rebase
akshaydeo Aug 15, 2026
e1045c0
Merge branch 'main' into dev
akshaydeo Aug 16, 2026
bd5e6bc
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 17, 2026
64208fa
fix(ui): use cached branding in updating screen and flatten border ra…
impoiler Aug 17, 2026
5247c39
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 17, 2026
4c3708f
adds airgapped flow for mcp catalog (#6195)
akshaydeo Aug 17, 2026
a285bb2
adds topbar (#6196)
akshaydeo Aug 17, 2026
a104324
adds notification center (#6207)
akshaydeo Aug 17, 2026
2ac7b9f
fix(ui): hide notification center icon until notifications are loaded…
impoiler Aug 17, 2026
e7a7759
feat(ui): extract shared `FilterSidebarTrigger` component with mobile…
impoiler Aug 17, 2026
c5970ae
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 18, 2026
03b8a11
feat(ui): add service tier column and detail view to logs (#6233)
impoiler Aug 18, 2026
8aaec10
fix(anthropic): propagate `service_tier` through streaming accumulato…
impoiler Aug 18, 2026
bf584c3
chore: helm release v2.1.36 (#6249)
BearTS Aug 18, 2026
8d9e01c
docs: document enterprise v2 license migration (#6237)
R-droid101 Aug 18, 2026
6062305
file/image embedding flow fixes (#6239)
akshaydeo Aug 18, 2026
1218934
[fix]: make SSE heartbeat framing integration-aware (#6252)
dani29 Aug 18, 2026
674e9e2
fixes params sequence in chat completions (#6235)
akshaydeo Aug 18, 2026
20440a2
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 18, 2026
078ad2e
complexity: supports image+text input (#6253)
Madhuvod Aug 18, 2026
6116def
fixes secrets issue and parallel runs for test-integrations (#6258) -…
akshaydeo Aug 18, 2026
5bb5c65
Merge branch 'main' into dev
akshaydeo Aug 18, 2026
bd211c3
fix: runware upscale compatibility (#6208)
TejasGhatte Aug 18, 2026
932d910
feat: chat completions for runware provider (#6260)
TejasGhatte Aug 18, 2026
1eaa684
feat: video edit request type (#6270)
TejasGhatte Aug 18, 2026
ae8c474
Merge branch 'dev' into fix/issue-5774-model-list-disabled-message
gokul-scalent Aug 19, 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
  •  
  •  
  •  
245 changes: 245 additions & 0 deletions .claude/skills/add-pricing-field/SKILL.md

Large diffs are not rendered by default.

199 changes: 199 additions & 0 deletions .claude/skills/stack-absorb/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
---
name: stack-absorb
description: Manually distribute working-tree changes (or a batch of edits already made on the current branch) across the correct branches of a Graphite (gt) stack, when gt absorb's blame-based auto-split doesn't match the logical grouping - e.g. new code with no prior line to blame onto, or changes that conceptually belong with a commit gt's algorithm wouldn't pick. Use when asked to "split these changes into the stack", "absorb this properly", "put this fix on the right branch", or when a change was made on top of a branch but really belongs several branches down.
allowed-tools: Read, Grep, Glob, Bash, Edit, AskUserQuestion
---

# Stack Absorb

Distribute a set of changes across the correct commits in a Graphite stack, by hand,
when `gt absorb`'s blame-based algorithm won't produce a clean result. This is slower
than `gt absorb -f` but gives a coherent, reviewable history: each target branch gets
exactly the hunks that belong to it, described in its own commit message, with nothing
stray swept in.

## When to reach for this vs. plain `gt absorb`

Check `git status --short` first. Untracked (`??`) files are never absorbed even with
`gt absorb -a` - that flag only stages unstaged *tracked* changes, file creations are
never picked up. If any untracked files are part of the intended change, treat them as
part of the manual split below rather than expecting the dry-run to cover them.

Then try `gt absorb -a --dry-run` first - it's free and sometimes it's exactly right.
Read its output critically:

- If every hunk absorbs into a commit that's a good semantic fit, there's no
significant "Not absorbed" leftover, and no untracked files were left out of
consideration, just run `gt absorb -a -f` (or let the user run it) and stop here.
- If it scatters hunks across commits that are a poor conceptual fit (a stale
docs-sync commit, a commit about a different concern that happens to touch the same
lines), or leaves substantial new code as "Not absorbed" (no prior line to blame
onto - new functions, new JSX blocks, new state), that's the signal to do this
manually. Tell the user what `gt absorb --dry-run` would do and why it's messier
than a hand split, and confirm before proceeding (`AskUserQuestion`) - this is a
judgment call about commit history shape, not a mechanical one.

## Step 1: Map every change to its target branch

For each distinct concern in the diff, find the commit that should own it:

```bash
git log --oneline -S"<distinctive string from the change>" --all -- "<file>"
```

Pick a string that's specific to the *concept* being changed (a function name, a UI
label, an error message), not boilerplate. The oldest/most relevant match is usually
the commit that introduced what you're now modifying. Then resolve that commit to a
current branch tip - `git branch --contains` alone is not the answer, only a candidate
list: in a stacked history every branch *above* the true owner also contains that
commit, since it's in their ancestry too.

```bash
git branch --contains "<hash>" # candidates: the owner + everything upstack of it
git branch --points-at "<hash>" # non-empty only if <hash> IS a branch tip itself
gt log long # see the full stack shape with commit messages
```

If `--points-at` returns a branch, that's the owner. Otherwise, treat `--contains`'s
output as candidates only, cross-check against `gt log long` for which branch's own
commits plausibly introduce the concept, and record which one you picked. If more than
one candidate still looks plausible, stop and ask the user (`AskUserQuestion`) rather
than guessing.

Group the diff's hunks by target branch. A single file's changes routinely split
across two or more branches (e.g. a bugfix on an old branch, a rename + new feature on
a newer one) - that's expected, not a problem.

**Judgment, not blame**: the "right" branch is the one that owns the concept being
touched, which is not always the same as the last branch to edit that exact line. A
generated file (e.g. a bundled `openapi.json`) belongs with whichever branch changed
its source, not with whatever branch happens to have last regenerated it.

If a target file/section doesn't exist yet on the candidate branch (check with
`git show "<branch>:<path>"`), the change belongs on a *later* branch - find the commit
that actually introduces that file/section instead.

## Step 2: Back up, then return to clean HEAD

Before touching anything, copy the final intended content of every changed file
somewhere safe (the session scratchpad), preserving each file's relative path so two
files with the same basename in different directories don't clobber each other's
backup. Abort before touching the working tree if any backup fails:

```bash
mkdir -p "<scratchpad>/$(dirname "<file>")" && cp "<file>" "<scratchpad>/<file>" # for each modified file
```

Then restore tracked files to the current branch's committed state. Set aside any
intended untracked (newly-created) files separately first, since they have no
committed state to restore to and `git restore`/`git checkout` won't touch them:

```bash
git status --short # confirm what's dirty first
git restore --source=HEAD --staged --worktree -- "<tracked-files>" # NOT git checkout --
# (checkout only resets the
# worktree from the index,
# not the index itself)
# NOT git stash - never use
# git stash in this repo
git status --short # confirm the tree is clean again
```

Never `git reset --hard` or touch files you didn't back up. If `git status` shows
files you don't recognize as part of this change, stop and ask the user before doing
anything - don't assume it's safe to revert or sweep in.

## Step 3: Apply each branch's slice, bottom-up

Process target branches from the bottom of the stack upward (earliest commit first) -
this matters because later branches' restacks will replay onto whatever the earlier
branch ends up containing.

For each target branch:

1. `gt checkout <branch>` and confirm `git status --short` is clean before editing.
2. Read the current content of each file at this branch's tip - it usually differs
from the top-of-stack version (later branches may have renamed things, added
props, etc.), so re-derive the edit against what's actually here rather than
blindly replaying the final diff. Verify the "before" text matches what you expect
before editing.
3. Apply only this branch's slice of the change.
4. Verify: run the appropriate build/typecheck for whatever you touched (`tsc
--noEmit`, `go build ./...`, etc.) before committing anything.
5. Check `git status --short` again - it must show *only* the files you intended to
touch. If unrelated files are dirty (leftover debug instrumentation, a stray edit
from elsewhere), do not sweep them in with `-a`; stage the intended files
explicitly, or ask the user what to do with the stray diff first.
6. Commit with `gt modify -a -m "<message>"` (amends the branch's existing commit and
auto-restacks everything above it). Use `gt modify -c` instead if this should be a
*new* commit on the branch rather than folded into the existing one. Never use
plain `git commit` here - it won't restack descendants.
7. Before running `gt modify`, regenerate any derived/bundled output that must stay in
sync with the source you just edited - `gt modify` itself does not know about
repository-specific generators. For OpenAPI edits, run `cd docs/openapi && python3
bundle.py`, then confirm `git status --short` lists both the edited source YAML and
`docs/openapi/openapi.json` before committing, so the generated file lands in the
same commit as its source.

## Step 4: Resolve restack conflicts

A restack conflict is expected whenever another stacked branch independently touched
the same lines (e.g. two different features both added a prop to the same component).
`gt modify`/`gt restack` will stop and report it:

```
Hit conflict restacking <branch> on <parent>.
Unmerged files: <path>
```

To resolve:

1. Stay on the conflicted branch with the operation paused - don't `gt checkout` away
or start a new `gt restack`; the conflict markers are already sitting in the working
tree from the operation that just stopped. `gt abort` only cancels the paused
operation entirely, it is not a way to "restart" it.
2. `grep -n "^<<<<<<<\|^=======\|^>>>>>>>" "<file>"` to locate every conflict region in
the file - there is often more than one.
3. Resolve each region by hand. The common case in this workflow is "keep both sides"
(two independent additions near the same spot) - merge them in a sensible order
rather than picking one side and discarding the other.
4. Verify the file typechecks/builds after resolving, with no markers left:
`grep -cE "^(<<<<<<<|=======|>>>>>>>)" "<file>"` should be 0.
5. `gt add "<file>"` for every resolved file, then `gt continue`.
6. Repeat if `gt continue` hits another conflict further up the stack.

## Step 5: Final verification

After the last branch is committed and restacked:

```bash
gt log short # no "(needs restack)" on any branch in your chain
grep -rlE '^(<<<<<<<|=======|>>>>>>>)' -- "<touched dirs>" # must be empty
git status --short # clean
```

Verify from the *highest* branch your changes touched or that got restacked as a
result (not necessarily the branch the user started on) - restacking replays every
commit above your changes, and a downstream branch could in principle break even
without a conflict (e.g. a type that was fine in isolation becomes wrong once combined
with a later branch's edits). If independent branches upstack diverged from each other,
run the full build/typecheck from each affected branch's tip. Only after that, return
to whatever branch the user was originally on.

Report back per-branch: which branch got what, and the verification status of each.
Do not push anything - this workflow only rewrites local branches.

## Guardrails

- Never `git stash` in this repo (see project convention: toolchain/lockfile churn
makes pops conflict).
- Never include unrelated dirty files in a `gt modify -a` - confirm `git status
--short` shows only the intended paths first, every time, even if it was clean a
moment ago (checking out a different branch can surface a different set of stray
changes).
- Never invent commit content: if a file/section a change should modify doesn't exist
yet at the candidate branch, that's a sign you picked the wrong branch, not a reason
to create it early.
- Confirm the overall plan with the user before executing when the mapping required
real judgment (not purely mechanical) - name the target branch for each file/concern
and get a go-ahead before checking out and editing anything.
2 changes: 1 addition & 1 deletion .github/workflows/configs/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ services:
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U bifrost -d bifrost"]
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U bifrost -d bifrost"]
interval: 10s
timeout: 5s
retries: 5
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/openapi-bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,12 @@ jobs:
git config user.name "GitHub Actions Bot"
git config user.email "github-actions[bot]@users.noreply.github.com"

# Hash-pinned rather than a bare `pip install pyyaml`: this job holds
# contents: write and pushes a commit, so an unverified install here runs
# attacker-controlled code with push access. Shares the pin file with
# workflow-lint.yml.
- name: Install dependencies
run: pip install pyyaml
run: pip install --require-hashes -r .github/workflows/requirements/pyyaml.txt

- name: Bundle OpenAPI spec
working-directory: ./docs/openapi
Expand Down
Loading