type MissionRun = {
approval: | {
kind: "publication";
publishedBy: string | null;
versionDigest: string;
}
| {
decidedAt: string;
decidedBy: string;
kind: "human";
}
| null;
completedAt: string | null;
createdAt: string;
currency: string;
decidedAt: string | null;
decidedBy: string | null;
endpoints: string[] | null;
envelopeRef: string;
events: {
actor: string | null;
createdAt: string;
id: string;
kind: | "expired"
| "completed"
| "trial_requested"
| "declined"
| "abandoned"
| "cancelled"
| "started"
| "auto_approved"
| "approved"
| "progress";
note: string | null;
}[];
exemptFromWalletBudgets: boolean;
expiresAt: string;
id: string;
intents: {
amountRef: string;
createdAt: string;
destination: string;
id: string;
state: string;
}[];
kind: "trial" | "regular";
maxPaymentRef: string | null;
missionId: string;
missionTitle: string;
overrides: {
applicationId?: string;
channel?: "x402" | "relay";
kind: "budget" | "destination" | "payment_cap";
scope?: "application" | "organization";
value?: string;
}[];
recipients: string[] | null;
remainingRef: string;
spentRef: string;
startedBy: string | null;
startedVia: "api_key" | "session";
status: | "active"
| "expired"
| "completed"
| "pending_approval"
| "declined"
| "abandoned"
| "cancelled";
totalBudgetRef: string | null;
unitCount: number | null;
unitLabel: string | null;
unitPriceRef: string | null;
unitsDoneCount: number;
unitsRemaining: string[];
updatedAt: string;
versionDigest: string;
versionNumber: number;
walletId: string;
};