Skip to content

Commit 689e5d7

Browse files
MajorTalclaude
andcommitted
refactor(mcp): align list_projects with project-scoped ProjectSummary
ProjectSummary no longer carries tier / effective_status / account_lifecycle_state / lease_perpetual — they live on the billing account. Update the list_projects table to show project-scoped facts (api_calls, storage_bytes, created_at) and point agents at tier_status for the account-level fields. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 36995eb commit 689e5d7

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

src/tools/list-projects.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,17 @@ export async function handleListProjects(args: {
3030
const lines = [
3131
`## Projects for ${wallet} (${body.projects.length})`,
3232
``,
33-
`Tier is per billing account, not per project — every row below shares`,
34-
`the same account-level tier and quota pool. Use \`tier_status\` to see`,
35-
`the pooled api_calls / storage_bytes across all of these projects.`,
33+
`Tier and lifecycle live on the billing account, not on each project.`,
34+
`Call \`tier_status\` for the wallet's account tier, lifecycle state, and`,
35+
`pooled api_calls / storage_bytes across every project below.`,
3636
``,
37-
`Status fields (gateway v1.57+):`,
38-
`- **Effective status**: derived state for serving — \`active\` /`,
39-
` \`past_due\` / \`frozen\` / \`dormant\` / \`archived\` / \`deleted\`.`,
40-
`- **Account lifecycle**: shared across every project on the same`,
41-
` billing account. Differs from effective status when a single project`,
42-
` is archived or deleted while siblings keep serving.`,
43-
`- **Lease perpetual**: operator escape hatch (mirrors the account's`,
44-
` \`lease_perpetual\` flag). When \`true\`, the account never advances`,
45-
` past \`active\` regardless of lease expiry — replaces the v1.56 pin.`,
46-
``,
47-
`| ID | Name | Account tier | Effective status | Account lifecycle | Lease perpetual |`,
48-
`|----|------|--------------|------------------|-------------------|-----------------|`,
37+
`| ID | Name | API calls | Storage (bytes) | Created |`,
38+
`|----|------|----------:|----------------:|---------|`,
4939
];
5040

5141
for (const p of body.projects) {
5242
lines.push(
53-
`| \`${p.id}\` | ${p.name} | ${p.tier} | ${p.effective_status} | ${p.account_lifecycle_state} | ${p.lease_perpetual ? "yes" : "no"} |`,
43+
`| \`${p.id}\` | ${p.name} | ${p.api_calls} | ${p.storage_bytes} | ${p.created_at} |`,
5444
);
5545
}
5646

0 commit comments

Comments
 (0)