@bpinternal/const 0.3.9 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bpinternal/const",
3
- "version": "0.3.9",
3
+ "version": "0.4.0",
4
4
  "description": "Shared constants for Skynet billing refactor (vendored copy of upstream packages/const)",
5
5
  "license": "UNLICENSED",
6
6
  "main": "dist/index.js",
@@ -11,6 +11,9 @@
11
11
  "devDependencies": {
12
12
  "typescript": "5.5.4"
13
13
  },
14
+ "dependencies": {
15
+ "zod": "^3.24.4"
16
+ },
14
17
  "scripts": {
15
18
  "build": "tsc -b tsconfig.json",
16
19
  "dev": "tsc -w",
@@ -1,279 +0,0 @@
1
- import type { BillingFeature } from './billing-features';
2
- /**
3
- * Special price value indicating a free product/plan.
4
- * This will be converted to $0 during deployment.
5
- */
6
- export declare const FREE_PRICE = -1;
7
- export declare const BILLING_PLAN_IDS: readonly ["community", "plus", "team", "enterprise"];
8
- export type BillingPlanId = (typeof BILLING_PLAN_IDS)[number];
9
- export type Interval = 'month' | 'year';
10
- export type BillingAddonId = 'bot_addon' | 'collaborator_addon' | 'always_alive_addon' | 'messages_events_addon' | 'table_rows_addon' | 'file_storage_addon' | 'vector_db_storage_addon' | 'web_search_addon' | 'ai_credits_addon' | 'enterprise_ai_token' | 'enterprise_additional_workspace';
11
- export type BillingPlan = {
12
- id: BillingPlanId;
13
- name: string;
14
- description: string;
15
- prices: Array<{
16
- price: number;
17
- currency: 'usd';
18
- interval: Interval;
19
- }>;
20
- features: Record<BillingFeature, number | boolean>;
21
- };
22
- export type BillingAddon = {
23
- id: BillingAddonId;
24
- name: string;
25
- description: string;
26
- prices: Array<{
27
- price: number;
28
- currency: 'usd';
29
- interval: Interval;
30
- }>;
31
- feature: BillingFeature;
32
- increment: number;
33
- };
34
- export declare const billingPlans: {
35
- readonly community: {
36
- readonly id: "community";
37
- readonly name: "Plan - Pay as you go";
38
- readonly description: "Free plan for developers";
39
- readonly prices: [{
40
- readonly price: -1;
41
- readonly currency: "usd";
42
- readonly interval: "month";
43
- }];
44
- readonly features: {
45
- readonly human_in_the_loop: false;
46
- readonly ratelimit: 100;
47
- readonly incoming_messages_events: 500;
48
- readonly integration_spend: 5000000000;
49
- readonly integration_subscription: false;
50
- readonly table_rows: 1000;
51
- readonly bot_count: 1;
52
- readonly always_alive_count: 0;
53
- readonly always_alive_concurrency: 1;
54
- readonly collaborator_count: 1;
55
- readonly file_storage: 100000000;
56
- readonly vector_db_storage: 100000000;
57
- readonly saved_versions: 3;
58
- };
59
- };
60
- readonly plus: {
61
- readonly id: "plus";
62
- readonly name: "Plan - Plus";
63
- readonly description: "For growing businesses";
64
- readonly prices: [{
65
- readonly price: 89;
66
- readonly currency: "usd";
67
- readonly interval: "month";
68
- }, {
69
- readonly price: 948;
70
- readonly currency: "usd";
71
- readonly interval: "year";
72
- }];
73
- readonly features: {
74
- readonly human_in_the_loop: true;
75
- readonly ratelimit: 100;
76
- readonly incoming_messages_events: 5000;
77
- readonly integration_spend: 5000000000;
78
- readonly integration_subscription: true;
79
- readonly table_rows: 100000;
80
- readonly bot_count: 2;
81
- readonly always_alive_count: 1;
82
- readonly always_alive_concurrency: 1;
83
- readonly collaborator_count: 2;
84
- readonly file_storage: 10000000000;
85
- readonly vector_db_storage: 1000000000;
86
- readonly saved_versions: 50;
87
- };
88
- };
89
- readonly team: {
90
- readonly id: "team";
91
- readonly name: "Plan - Team";
92
- readonly description: "For small teams";
93
- readonly prices: [{
94
- readonly price: 495;
95
- readonly currency: "usd";
96
- readonly interval: "month";
97
- }, {
98
- readonly price: 5346;
99
- readonly currency: "usd";
100
- readonly interval: "year";
101
- }];
102
- readonly features: {
103
- readonly human_in_the_loop: true;
104
- readonly ratelimit: 1000;
105
- readonly incoming_messages_events: 50000;
106
- readonly integration_spend: 5000000000;
107
- readonly integration_subscription: true;
108
- readonly table_rows: 100000;
109
- readonly bot_count: 3;
110
- readonly always_alive_count: 3;
111
- readonly always_alive_concurrency: 3;
112
- readonly collaborator_count: 3;
113
- readonly file_storage: 10000000000;
114
- readonly vector_db_storage: 2000000000;
115
- readonly saved_versions: 100;
116
- };
117
- };
118
- readonly enterprise: {
119
- readonly id: "enterprise";
120
- readonly name: "Plan - Enterprise";
121
- readonly description: "Enterprise license subscription";
122
- readonly prices: [{
123
- readonly price: -1;
124
- readonly currency: "usd";
125
- readonly interval: "month";
126
- }];
127
- readonly features: {
128
- readonly human_in_the_loop: true;
129
- readonly ratelimit: 10000;
130
- readonly incoming_messages_events: 1000000;
131
- readonly integration_spend: 5000000000;
132
- readonly integration_subscription: true;
133
- readonly table_rows: 10000000;
134
- readonly bot_count: 100;
135
- readonly always_alive_count: 50;
136
- readonly always_alive_concurrency: 3;
137
- readonly collaborator_count: 100;
138
- readonly file_storage: 1000000000000;
139
- readonly vector_db_storage: 500000000000;
140
- readonly saved_versions: 1000;
141
- };
142
- };
143
- };
144
- export declare const billingAddons: {
145
- readonly bot_addon: {
146
- readonly id: "bot_addon";
147
- readonly name: "Add-on - Bot";
148
- readonly description: "Add one more bot to your workspace";
149
- readonly prices: [{
150
- readonly price: 10;
151
- readonly currency: "usd";
152
- readonly interval: "month";
153
- }];
154
- readonly feature: "bot_count";
155
- readonly increment: 1;
156
- };
157
- readonly collaborator_addon: {
158
- readonly id: "collaborator_addon";
159
- readonly name: "Add-on - Collaborators";
160
- readonly description: "Add one more collaborator to your workspace";
161
- readonly prices: [{
162
- readonly price: 25;
163
- readonly currency: "usd";
164
- readonly interval: "month";
165
- }];
166
- readonly feature: "collaborator_count";
167
- readonly increment: 1;
168
- };
169
- readonly always_alive_addon: {
170
- readonly id: "always_alive_addon";
171
- readonly name: "Add-on - Always Alive";
172
- readonly description: "Keep one more bot always alive";
173
- readonly prices: [{
174
- readonly price: 10;
175
- readonly currency: "usd";
176
- readonly interval: "month";
177
- }];
178
- readonly feature: "always_alive_count";
179
- readonly increment: 1;
180
- };
181
- readonly messages_events_addon: {
182
- readonly id: "messages_events_addon";
183
- readonly name: "Add-on - Messages & Events";
184
- readonly description: "Adds 5,000 messages and events";
185
- readonly prices: [{
186
- readonly price: 20;
187
- readonly currency: "usd";
188
- readonly interval: "month";
189
- }];
190
- readonly feature: "incoming_messages_events";
191
- readonly increment: 5000;
192
- };
193
- readonly table_rows_addon: {
194
- readonly id: "table_rows_addon";
195
- readonly name: "Add-on - Table Rows";
196
- readonly description: "Adds 100,000 additional table rows";
197
- readonly prices: [{
198
- readonly price: 25;
199
- readonly currency: "usd";
200
- readonly interval: "month";
201
- }];
202
- readonly feature: "table_rows";
203
- readonly increment: 100000;
204
- };
205
- readonly file_storage_addon: {
206
- readonly id: "file_storage_addon";
207
- readonly name: "Add-on - File Storage";
208
- readonly description: "Adds 10GB of File Storage";
209
- readonly prices: [{
210
- readonly price: 10;
211
- readonly currency: "usd";
212
- readonly interval: "month";
213
- }];
214
- readonly feature: "file_storage";
215
- readonly increment: 10000000000;
216
- };
217
- readonly vector_db_storage_addon: {
218
- readonly id: "vector_db_storage_addon";
219
- readonly name: "Add-on - Vector DB Storage";
220
- readonly description: "Add 1 GB of vector database storage";
221
- readonly prices: [{
222
- readonly price: 20;
223
- readonly currency: "usd";
224
- readonly interval: "month";
225
- }];
226
- readonly feature: "vector_db_storage";
227
- readonly increment: 1000000000;
228
- };
229
- readonly web_search_addon: {
230
- readonly id: "web_search_addon";
231
- readonly name: "Web Search and Crawl";
232
- readonly description: "Web search and crawl functionality";
233
- readonly prices: [{
234
- readonly price: 0.01;
235
- readonly currency: "usd";
236
- readonly interval: "month";
237
- }];
238
- readonly feature: "integration_spend";
239
- readonly increment: 10000000000;
240
- };
241
- readonly ai_credits_addon: {
242
- readonly id: "ai_credits_addon";
243
- readonly name: "AI Tokens";
244
- readonly description: "Add $25 worth of AI credits";
245
- readonly prices: [{
246
- readonly price: 0.01;
247
- readonly currency: "usd";
248
- readonly interval: "month";
249
- }];
250
- readonly feature: "integration_spend";
251
- readonly increment: 25000000000;
252
- };
253
- readonly enterprise_ai_token: {
254
- readonly id: "enterprise_ai_token";
255
- readonly name: "Enterprise - AI Token";
256
- readonly description: "Enterprise AI token credits";
257
- readonly prices: [{
258
- readonly price: -1;
259
- readonly currency: "usd";
260
- readonly interval: "month";
261
- }];
262
- readonly feature: "integration_spend";
263
- readonly increment: 100000000000;
264
- };
265
- readonly enterprise_additional_workspace: {
266
- readonly id: "enterprise_additional_workspace";
267
- readonly name: "Enterprise - Additional Workspace";
268
- readonly description: "Enterprise additional workspace";
269
- readonly prices: [{
270
- readonly price: -1;
271
- readonly currency: "usd";
272
- readonly interval: "month";
273
- }];
274
- readonly feature: "collaborator_count";
275
- readonly increment: 10;
276
- };
277
- };
278
- export declare const ALLOWED_TRIAL_LENGTHS_IN_DAYS = 7;
279
- export declare const ALLOWED_TRIAL_PLANS: readonly ["plus"];
@@ -1,290 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALLOWED_TRIAL_PLANS = exports.ALLOWED_TRIAL_LENGTHS_IN_DAYS = exports.billingAddons = exports.billingPlans = exports.BILLING_PLAN_IDS = exports.FREE_PRICE = void 0;
4
- /**
5
- * Special price value indicating a free product/plan.
6
- * This will be converted to $0 during deployment.
7
- */
8
- exports.FREE_PRICE = -1;
9
- // keep this in order of lowest to highest tier
10
- exports.BILLING_PLAN_IDS = ['community', 'plus', 'team', 'enterprise'];
11
- /* IMPORTANT: the `name` field is used to match existing products in Stripe DO NOT CHANGE THE NAME OF AN EXISTING PRODUCT */
12
- exports.billingPlans = {
13
- community: {
14
- id: 'community',
15
- name: 'Plan - Pay as you go',
16
- description: 'Free plan for developers',
17
- prices: [
18
- {
19
- price: exports.FREE_PRICE,
20
- currency: 'usd',
21
- interval: 'month',
22
- },
23
- ],
24
- features: {
25
- human_in_the_loop: false,
26
- ratelimit: 100,
27
- incoming_messages_events: 500,
28
- integration_spend: 5_000_000_000, // $5 in nano-dollars
29
- integration_subscription: false,
30
- table_rows: 1000,
31
- bot_count: 1,
32
- always_alive_count: 0,
33
- always_alive_concurrency: 1,
34
- collaborator_count: 1,
35
- file_storage: 100_000_000, // 100 MB
36
- vector_db_storage: 100_000_000, // 100 MB
37
- saved_versions: 3,
38
- },
39
- },
40
- plus: {
41
- id: 'plus',
42
- name: 'Plan - Plus',
43
- description: 'For growing businesses',
44
- prices: [
45
- {
46
- price: 89,
47
- currency: 'usd',
48
- interval: 'month',
49
- },
50
- {
51
- price: 948,
52
- currency: 'usd',
53
- interval: 'year',
54
- },
55
- ],
56
- features: {
57
- human_in_the_loop: true,
58
- ratelimit: 100,
59
- incoming_messages_events: 5000,
60
- integration_spend: 5_000_000_000, // $5 in nano-dollars
61
- integration_subscription: true,
62
- table_rows: 100000,
63
- bot_count: 2,
64
- always_alive_count: 1,
65
- always_alive_concurrency: 1,
66
- collaborator_count: 2,
67
- file_storage: 10_000_000_000, // 10 GB
68
- vector_db_storage: 1_000_000_000, // 1 GB
69
- saved_versions: 50,
70
- },
71
- },
72
- team: {
73
- id: 'team',
74
- name: 'Plan - Team',
75
- description: 'For small teams',
76
- prices: [
77
- {
78
- price: 495,
79
- currency: 'usd',
80
- interval: 'month',
81
- },
82
- {
83
- price: 5346,
84
- currency: 'usd',
85
- interval: 'year',
86
- },
87
- ],
88
- features: {
89
- human_in_the_loop: true,
90
- ratelimit: 1000,
91
- incoming_messages_events: 50000,
92
- integration_spend: 5_000_000_000, // $5 in nano-dollars
93
- integration_subscription: true,
94
- table_rows: 100000,
95
- bot_count: 3,
96
- always_alive_count: 3,
97
- always_alive_concurrency: 3,
98
- collaborator_count: 3,
99
- file_storage: 10_000_000_000, // 10 GB
100
- vector_db_storage: 2_000_000_000, // 2 GB
101
- saved_versions: 100,
102
- },
103
- },
104
- enterprise: {
105
- id: 'enterprise',
106
- name: 'Plan - Enterprise',
107
- description: 'Enterprise license subscription',
108
- prices: [
109
- {
110
- price: exports.FREE_PRICE, // Custom pricing
111
- currency: 'usd',
112
- interval: 'month',
113
- },
114
- ],
115
- features: {
116
- human_in_the_loop: true,
117
- ratelimit: 10000,
118
- incoming_messages_events: 1000000,
119
- integration_spend: 5_000_000_000, // $5 in nano-dollars
120
- integration_subscription: true,
121
- table_rows: 10000000,
122
- bot_count: 100,
123
- always_alive_count: 50,
124
- always_alive_concurrency: 3,
125
- collaborator_count: 100,
126
- file_storage: 1000_000_000_000, // 1000 GB
127
- vector_db_storage: 500_000_000_000, // 500 GB
128
- saved_versions: 1000,
129
- },
130
- },
131
- };
132
- /* IMPORTANT: the `name` field is used to match existing products in Stripe DO NOT CHANGE THE NAME OF AN EXISTING PRODUCT */
133
- exports.billingAddons = {
134
- bot_addon: {
135
- id: 'bot_addon',
136
- name: 'Add-on - Bot',
137
- description: 'Add one more bot to your workspace',
138
- prices: [
139
- {
140
- price: 10,
141
- currency: 'usd',
142
- interval: 'month',
143
- },
144
- ],
145
- feature: 'bot_count',
146
- increment: 1,
147
- },
148
- collaborator_addon: {
149
- id: 'collaborator_addon',
150
- name: 'Add-on - Collaborators',
151
- description: 'Add one more collaborator to your workspace',
152
- prices: [
153
- {
154
- price: 25,
155
- currency: 'usd',
156
- interval: 'month',
157
- },
158
- ],
159
- feature: 'collaborator_count',
160
- increment: 1,
161
- },
162
- always_alive_addon: {
163
- id: 'always_alive_addon',
164
- name: 'Add-on - Always Alive',
165
- description: 'Keep one more bot always alive',
166
- prices: [
167
- {
168
- price: 10,
169
- currency: 'usd',
170
- interval: 'month',
171
- },
172
- ],
173
- feature: 'always_alive_count',
174
- increment: 1,
175
- },
176
- messages_events_addon: {
177
- id: 'messages_events_addon',
178
- name: 'Add-on - Messages & Events',
179
- description: 'Adds 5,000 messages and events',
180
- prices: [
181
- {
182
- price: 20,
183
- currency: 'usd',
184
- interval: 'month',
185
- },
186
- ],
187
- feature: 'incoming_messages_events',
188
- increment: 5000,
189
- },
190
- table_rows_addon: {
191
- id: 'table_rows_addon',
192
- name: 'Add-on - Table Rows',
193
- description: 'Adds 100,000 additional table rows',
194
- prices: [
195
- {
196
- price: 25,
197
- currency: 'usd',
198
- interval: 'month',
199
- },
200
- ],
201
- feature: 'table_rows',
202
- increment: 100000,
203
- },
204
- file_storage_addon: {
205
- id: 'file_storage_addon',
206
- name: 'Add-on - File Storage',
207
- description: 'Adds 10GB of File Storage',
208
- prices: [
209
- {
210
- price: 10,
211
- currency: 'usd',
212
- interval: 'month',
213
- },
214
- ],
215
- feature: 'file_storage',
216
- increment: 10_000_000_000, // 10 GB
217
- },
218
- vector_db_storage_addon: {
219
- id: 'vector_db_storage_addon',
220
- name: 'Add-on - Vector DB Storage',
221
- description: 'Add 1 GB of vector database storage',
222
- prices: [
223
- {
224
- price: 20,
225
- currency: 'usd',
226
- interval: 'month',
227
- },
228
- ],
229
- feature: 'vector_db_storage',
230
- increment: 1_000_000_000, // 1 GB
231
- },
232
- web_search_addon: {
233
- id: 'web_search_addon',
234
- name: 'Web Search and Crawl',
235
- description: 'Web search and crawl functionality',
236
- prices: [
237
- {
238
- price: 0.01,
239
- currency: 'usd',
240
- interval: 'month',
241
- },
242
- ],
243
- feature: 'integration_spend',
244
- increment: 10_000_000_000, // $10 in nano-dollars
245
- },
246
- ai_credits_addon: {
247
- id: 'ai_credits_addon',
248
- name: 'AI Tokens',
249
- description: 'Add $25 worth of AI credits',
250
- prices: [
251
- {
252
- price: 0.01,
253
- currency: 'usd',
254
- interval: 'month',
255
- },
256
- ],
257
- feature: 'integration_spend',
258
- increment: 25_000_000_000, // $25 in nano-dollars
259
- },
260
- enterprise_ai_token: {
261
- id: 'enterprise_ai_token',
262
- name: 'Enterprise - AI Token',
263
- description: 'Enterprise AI token credits',
264
- prices: [
265
- {
266
- price: exports.FREE_PRICE, // Custom pricing
267
- currency: 'usd',
268
- interval: 'month',
269
- },
270
- ],
271
- feature: 'integration_spend',
272
- increment: 100_000_000_000, // $100 in nano-dollars
273
- },
274
- enterprise_additional_workspace: {
275
- id: 'enterprise_additional_workspace',
276
- name: 'Enterprise - Additional Workspace',
277
- description: 'Enterprise additional workspace',
278
- prices: [
279
- {
280
- price: exports.FREE_PRICE, // Custom pricing
281
- currency: 'usd',
282
- interval: 'month',
283
- },
284
- ],
285
- feature: 'collaborator_count',
286
- increment: 10,
287
- },
288
- };
289
- exports.ALLOWED_TRIAL_LENGTHS_IN_DAYS = 7;
290
- exports.ALLOWED_TRIAL_PLANS = ['plus'];