Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
bda42a2
feat(interactions): durable cross-pod settlement for background inter…
mateo-berri Sep 19, 2026
5ad24e5
Merge remote-tracking branch 'origin/main' into litellm_durable_backg…
mateo-berri Sep 19, 2026
a2ba6e0
fix(interactions): survive a settlement install failure at boot and s…
mateo-berri Sep 19, 2026
ae71e91
fix(interactions): drop the stored request context once a settlement …
mateo-berri Sep 19, 2026
93d56fb
fix(interactions): bill the completed response a poll already saw whe…
mateo-berri Sep 20, 2026
59c2ce4
fix(interactions): carry a missing model through the settlement conte…
mateo-berri Sep 20, 2026
ac68891
fix(interactions): leave an unfetchable background interaction to its…
mateo-berri Sep 20, 2026
73a2dc9
fix(interactions): fail a cross-replica delete when its pre-delete fe…
mateo-berri Sep 20, 2026
6609c2e
chore: merge origin/main into litellm_durable_background_interaction_…
mateo-berri Sep 22, 2026
5573b3e
Merge branch 'main' into litellm_durable_background_interaction_settl…
mateo-berri Sep 22, 2026
8b451c6
chore: merge main into litellm_durable_background_interaction_settlement
mateo-berri Sep 24, 2026
0a31f7b
fix(interactions): keep the stored settlement gate when registration …
mateo-berri Sep 24, 2026
2ba9b7b
fix(interactions): settle an unverified registration through the dura…
mateo-berri Sep 24, 2026
4c2604a
chore: merge main into litellm_durable_background_interaction_settlement
mateo-berri Sep 26, 2026
5ef919d
test(proxy): keep the settlement test where the proxy-infra shard col…
mateo-berri Sep 26, 2026
6ce60b9
chore: merge main into litellm_durable_background_interaction_settlem…
mateo-berri Oct 1, 2026
44c3026
fix(interactions): raise on a non-2xx Gemini interaction fetch
mateo-berri Oct 3, 2026
063c3de
test(integration): audit durable background interaction settlement ac…
mateo-berri Oct 3, 2026
da2f5b7
test(integration): refuse a repeated delete in the scripted upstream …
mateo-berri Oct 3, 2026
eee6988
Merge remote-tracking branch 'origin/main' into litellm_durable_backg…
mateo-berri Oct 3, 2026
6afd57f
chore(ui): regenerate dashboard API types after merging main
mateo-berri Oct 3, 2026
57f2ede
test(integration): accept the 422 budget refusal and a respawned work…
mateo-berri Oct 3, 2026
2cdc471
test(integration): delete the pinned key's interaction with a second key
mateo-berri Oct 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- CreateTable
CREATE TABLE IF NOT EXISTS "LiteLLM_BackgroundInteractionSettlement" (
"interaction_id" TEXT NOT NULL,
"custom_llm_provider" TEXT NOT NULL,
"create_context" JSONB NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"claimed_at" TIMESTAMP(3),
"claimed_by" TEXT,
"settled_at" TIMESTAMP(3),
"outcome" TEXT,

CONSTRAINT "LiteLLM_BackgroundInteractionSettlement_pkey" PRIMARY KEY ("interaction_id")
);

-- CreateIndex
CREATE INDEX IF NOT EXISTS "idx_background_interaction_settlement_claimed_at" ON "LiteLLM_BackgroundInteractionSettlement"("claimed_at");
16 changes: 16 additions & 0 deletions litellm-proxy-extras/litellm_proxy_extras/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -1815,3 +1815,19 @@ model LiteLLM_WorkflowMessage {
@@unique([run_id, sequence_number])
@@index([run_id])
}

// Pending billing settlements for background interactions, keyed by the
// interaction id so any replica can settle one that another replica created.
// `claimed_at` is the exactly-once gate: the first conditional update wins.
model LiteLLM_BackgroundInteractionSettlement {
interaction_id String @id
custom_llm_provider String
create_context Json
created_at DateTime @default(now())
claimed_at DateTime?
claimed_by String?
settled_at DateTime?
outcome String?

@@index([claimed_at], map: "idx_background_interaction_settlement_claimed_at")
}
Loading
Loading