mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Billing for formula assistant
Summary: Adding limits for AI calls and connecting those limits with a Stripe Account. - New table in homedb called `limits` - All calls to the AI are not routed through DocApi and measured. - All products now contain a special key `assistantLimit`, with a default value 0 - Limit is reset every time the subscription has changed its period - The billing page is updated with two new options that describe the AI plan - There is a new popup that allows the user to upgrade to a higher plan - Tiers are read directly from the Stripe product with a volume pricing model Test Plan: Updated and added Reviewers: georgegevoian, paulfitz Reviewed By: georgegevoian Subscribers: dsagal Differential Revision: https://phab.getgrist.com/D3907
This commit is contained in:
@@ -43,8 +43,8 @@ export interface CustomAction { label: string, action: () => void }
|
||||
*/
|
||||
export type MessageType = string | (() => DomElementArg);
|
||||
// Identifies supported actions. These are implemented in NotifyUI.
|
||||
export type NotifyAction = 'upgrade' | 'renew' | 'personal' | 'report-problem' | 'ask-for-help' | CustomAction;
|
||||
|
||||
export type NotifyAction = 'upgrade' | 'renew' | 'personal' | 'report-problem'
|
||||
| 'ask-for-help' | 'manage' | CustomAction;
|
||||
export interface INotifyOptions {
|
||||
message: MessageType; // A string, or a function that builds dom.
|
||||
timestamp?: number;
|
||||
|
||||
@@ -121,7 +121,7 @@ export function reportError(err: Error|string, ev?: ErrorEvent): void {
|
||||
const options: Partial<INotifyOptions> = {
|
||||
title: "Reached plan limit",
|
||||
key: `limit:${details.limit.quantity || message}`,
|
||||
actions: ['upgrade'],
|
||||
actions: details.tips?.some(t => t.action === 'manage') ? ['manage'] : ['upgrade'],
|
||||
};
|
||||
if (details.tips && details.tips.some(tip => tip.action === 'add-members')) {
|
||||
// When adding members would fix a problem, give more specific advice.
|
||||
|
||||
Reference in New Issue
Block a user