MCPcopy Create free account
hub / github.com/code-with-antonio/nightcode / getAvailableCreditsBalance

Function getAvailableCreditsBalance

packages/server/src/lib/polar.ts:83–106  ·  view source on GitHub ↗
(customerExternalId: string)

Source from the content-addressed store, hash-verified

81};
82
83export async function getAvailableCreditsBalance(customerExternalId: string) {
84 try {
85 const customerState = await polar.customers.getStateExternal({
86 externalId: customerExternalId,
87 });
88
89 const matchingMeters = customerState.activeMeters.filter(
90 (meter) => meter.meterId === getPolarCreditsMeterId(),
91 );
92
93 if (matchingMeters.length > 1) {
94 throw new Error("Expected exactly one matching Polar credits meter");
95 }
96
97 const creditsMeter = matchingMeters[0];
98 return creditsMeter?.balance ?? 0;
99 } catch (error) {
100 if (hasStatusCode(error) && error.statusCode === 404) {
101 return 0;
102 }
103
104 throw error;
105 }
106};
107
108type IngestAiUsageParams = {
109 externalCustomerId: string;

Callers 1

Calls 2

getPolarCreditsMeterIdFunction · 0.85
hasStatusCodeFunction · 0.85

Tested by

no test coverage detected