{{ 'PAC.Membership.CurrentPlan' | translate: { Default: 'Current plan' } }} {{ 'PAC.Membership.AdminManagedPlan' | translate: { Default: 'Plan changes are managed by an administrator.' } }}
{{ me()?.plan?.name || '-' }}
{{ 'PAC.Membership.PeriodEnd' | translate: { Default: 'Period end' } }}
{{ me()?.currentPeriodEnd | date: 'medium' }}
{{ 'PAC.Membership.PointBalance' | translate: { Default: 'Point balance' } }}
@if (isUnlimited()) { {{ 'PAC.Membership.Unlimited' | translate: { Default: 'Unlimited' } }} } @else { {{ me()?.pointsRemaining | number }} / {{ me()?.pointsGranted | number }} }
@if (isUnlimited()) { {{ 'PAC.Membership.Unlimited' | translate: { Default: 'Unlimited' } }} } @else { {{ remainingPercent() | number }}% {{ 'PAC.Membership.RemainingPoints' | translate: { Default: 'Remaining points' } }} }
{{ 'PAC.Membership.UsedPoints' | translate: { Default: 'Used points' } }}
{{ me()?.pointsUsed | number }}
{{ usedPercent() | number }}% {{ 'PAC.Membership.PointUsage' | translate: { Default: 'Point usage' } }}
{{ 'PAC.Membership.Ratio' | translate: { Default: 'Ratio' } }}
1 : {{ me()?.plan?.tokensPerPoint | number }}
{{ 'PAC.Membership.OnePointEquals' | translate: { Default: '1 point =' } }} {{ me()?.plan?.tokensPerPoint | number }} {{ 'PAC.Membership.Tokens' | translate: { Default: 'tokens' } }}
{{ 'PAC.Membership.PointUsage' | translate: { Default: 'Point usage' } }} @if (isUnlimited()) { {{ me()?.pointsUsed | number }} / {{ 'PAC.Membership.Unlimited' | translate: { Default: 'Unlimited' } }} } @else { {{ me()?.pointsUsed | number }} / {{ me()?.pointsGranted | number }} }
{{ 'PAC.Membership.PlanRules' | translate: { Default: 'Plan rules' } }} {{ 'PAC.Membership.PointRules' | translate: { Default: 'Point rules' } }}
{{ 'PAC.Membership.PointsPerPeriod' | translate: { Default: 'Points per period' } }} @if (me()?.plan?.includedPoints === null) { {{ 'PAC.Membership.Unlimited' | translate: { Default: 'Unlimited' } }} } @else { {{ me()?.plan?.includedPoints | number }} }
{{ 'PAC.Membership.ModelMultipliers' | translate: { Default: 'Model multipliers' } }} {{ me()?.plan?.modelMultipliers?.length ?? 0 }}
{{ 'PAC.Membership.RateLimits' | translate: { Default: 'Rate limits' } }} {{ me()?.plan?.rateLimits?.length ?? 0 }}
{{ 'PAC.Membership.ModelMultipliers' | translate: { Default: 'Model multipliers' } }}
@for (item of me()?.plan?.modelMultipliers ?? []; track item.provider + item.model) {
{{ item.provider || '*' }} / {{ item.model || '*' }}
{{ 'PAC.Copilot.Model' | translate: { Default: 'Model' } }}
x{{ item.multiplier }}
} @empty {
{{ 'PAC.Membership.NoModelMultipliers' | translate: { Default: 'No model-specific multiplier configured.' } }}
}
{{ 'PAC.Membership.RecentUsageSummary' | translate: { Default: 'Recent usage summary' } }} {{ 'PAC.Membership.RecentUsageSummaryHint' | translate: { Default: 'Grouped by session, model, and hourly usage window.' } }}
@if (loading()) { {{ 'PAC.KEY_WORDS.Loading' | translate: { Default: 'Loading...' } }} }
@for (summary of usageSummaries(); track summaryKey(summary)) { @if (isExpanded(summary)) { } } @empty { }
{{ 'PAC.KEY_WORDS.Date' | translate: { Default: 'Date' } }} {{ 'PAC.Membership.Session' | translate: { Default: 'Session' } }} {{ 'PAC.Copilot.Model' | translate: { Default: 'Model' } }} {{ 'PAC.Membership.Calls' | translate: { Default: 'Calls' } }} {{ 'PAC.Membership.Points' | translate: { Default: 'Points' } }} {{ 'PAC.Membership.Tokens' | translate: { Default: 'Tokens' } }}
{{ summary.lastUsedAt | date: 'yyyy/M/d HH:00' }}
{{ summary.lastUsedAt | date: 'shortTime' }}
{{ conversationLabel(summary) }}
{{ 'PAC.Membership.Xpert' | translate: { Default: 'Xpert' } }} {{ xpertLabel(summary) }}
@if (summary.provider || summary.model) { {{ summary.provider || '*' }} / {{ summary.model || '*' }} } @else { - } {{ summary.callCount | number }} {{ summary.pointsDelta > 0 ? '+' : '' }}{{ summary.pointsDelta | number }} {{ summary.tokenUsed | number }}
{{ 'PAC.Membership.UsageDetails' | translate: { Default: 'Usage details' } }}
@if (isSummaryDetailsLoading(summary)) { {{ 'PAC.KEY_WORDS.Loading' | translate: { Default: 'Loading...' } }} }
@for (ledger of getSummaryDetails(summary); track ledger.id) { } @empty { }
{{ 'PAC.KEY_WORDS.Date' | translate: { Default: 'Date' } }} {{ 'PAC.Membership.Source' | translate: { Default: 'Source' } }} {{ 'PAC.Membership.Points' | translate: { Default: 'Points' } }} {{ 'PAC.Membership.Tokens' | translate: { Default: 'Tokens' } }}
{{ ledger.createdAt | date: 'short' }} {{ 'PAC.Membership.LedgerSource.' + ledger.source | translate: { Default: ledger.source } }} {{ ledger.pointsDelta > 0 ? '+' : '' }}{{ ledger.pointsDelta | number }} {{ ledger.tokenUsed | number }}
{{ isSummaryDetailsLoading(summary) ? ('PAC.KEY_WORDS.Loading' | translate: { Default: 'Loading...' }) : ('PAC.Membership.NoUsageDetails' | translate: { Default: 'No usage details.' }) }}
{{ 'PAC.Membership.NoUsageSummary' | translate: { Default: 'No usage summary yet.' } }}