agent-relay 2.0.23 → 2.0.25
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/dist/src/cli/index.js +160 -17
- package/package.json +18 -52
- package/packages/api-types/package.json +1 -1
- package/packages/bridge/package.json +8 -8
- package/packages/cli-tester/package.json +1 -1
- package/packages/config/package.json +2 -2
- package/packages/continuity/package.json +1 -1
- package/packages/daemon/package.json +12 -12
- package/packages/hooks/package.json +4 -4
- package/packages/mcp/package.json +2 -2
- package/packages/memory/package.json +2 -2
- package/packages/policy/package.json +2 -2
- package/packages/protocol/package.json +1 -1
- package/packages/resiliency/package.json +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/spawner/package.json +1 -1
- package/packages/state/package.json +1 -1
- package/packages/storage/package.json +2 -2
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +1 -1
- package/packages/wrapper/package.json +6 -6
- package/deploy/init-db.sql +0 -5
- package/deploy/scripts/setup-fly-workspaces.sh +0 -69
- package/deploy/scripts/setup-railway.sh +0 -75
- package/dist/src/cloud/index.d.ts +0 -8
- package/dist/src/cloud/index.js +0 -8
- package/packages/cloud/dist/api/admin.d.ts +0 -8
- package/packages/cloud/dist/api/admin.js +0 -225
- package/packages/cloud/dist/api/auth.d.ts +0 -20
- package/packages/cloud/dist/api/auth.js +0 -138
- package/packages/cloud/dist/api/billing.d.ts +0 -7
- package/packages/cloud/dist/api/billing.js +0 -564
- package/packages/cloud/dist/api/cli-pty-runner.d.ts +0 -53
- package/packages/cloud/dist/api/cli-pty-runner.js +0 -175
- package/packages/cloud/dist/api/codex-auth-helper.d.ts +0 -21
- package/packages/cloud/dist/api/codex-auth-helper.js +0 -327
- package/packages/cloud/dist/api/consensus.d.ts +0 -13
- package/packages/cloud/dist/api/consensus.js +0 -261
- package/packages/cloud/dist/api/coordinators.d.ts +0 -8
- package/packages/cloud/dist/api/coordinators.js +0 -750
- package/packages/cloud/dist/api/daemons.d.ts +0 -12
- package/packages/cloud/dist/api/daemons.js +0 -535
- package/packages/cloud/dist/api/email-auth.d.ts +0 -11
- package/packages/cloud/dist/api/email-auth.js +0 -347
- package/packages/cloud/dist/api/generic-webhooks.d.ts +0 -8
- package/packages/cloud/dist/api/generic-webhooks.js +0 -129
- package/packages/cloud/dist/api/git.d.ts +0 -8
- package/packages/cloud/dist/api/git.js +0 -269
- package/packages/cloud/dist/api/github-app.d.ts +0 -11
- package/packages/cloud/dist/api/github-app.js +0 -223
- package/packages/cloud/dist/api/middleware/planLimits.d.ts +0 -43
- package/packages/cloud/dist/api/middleware/planLimits.js +0 -202
- package/packages/cloud/dist/api/monitoring.d.ts +0 -11
- package/packages/cloud/dist/api/monitoring.js +0 -578
- package/packages/cloud/dist/api/nango-auth.d.ts +0 -9
- package/packages/cloud/dist/api/nango-auth.js +0 -741
- package/packages/cloud/dist/api/onboarding.d.ts +0 -15
- package/packages/cloud/dist/api/onboarding.js +0 -679
- package/packages/cloud/dist/api/policy.d.ts +0 -8
- package/packages/cloud/dist/api/policy.js +0 -229
- package/packages/cloud/dist/api/provider-env.d.ts +0 -26
- package/packages/cloud/dist/api/provider-env.js +0 -141
- package/packages/cloud/dist/api/providers.d.ts +0 -7
- package/packages/cloud/dist/api/providers.js +0 -574
- package/packages/cloud/dist/api/repos.d.ts +0 -8
- package/packages/cloud/dist/api/repos.js +0 -577
- package/packages/cloud/dist/api/sessions.d.ts +0 -11
- package/packages/cloud/dist/api/sessions.js +0 -302
- package/packages/cloud/dist/api/teams.d.ts +0 -7
- package/packages/cloud/dist/api/teams.js +0 -281
- package/packages/cloud/dist/api/test-helpers.d.ts +0 -10
- package/packages/cloud/dist/api/test-helpers.js +0 -745
- package/packages/cloud/dist/api/usage.d.ts +0 -7
- package/packages/cloud/dist/api/usage.js +0 -111
- package/packages/cloud/dist/api/webhooks.d.ts +0 -8
- package/packages/cloud/dist/api/webhooks.js +0 -645
- package/packages/cloud/dist/api/workspaces.d.ts +0 -25
- package/packages/cloud/dist/api/workspaces.js +0 -1799
- package/packages/cloud/dist/billing/index.d.ts +0 -9
- package/packages/cloud/dist/billing/index.js +0 -9
- package/packages/cloud/dist/billing/plans.d.ts +0 -39
- package/packages/cloud/dist/billing/plans.js +0 -245
- package/packages/cloud/dist/billing/service.d.ts +0 -80
- package/packages/cloud/dist/billing/service.js +0 -388
- package/packages/cloud/dist/billing/types.d.ts +0 -141
- package/packages/cloud/dist/billing/types.js +0 -7
- package/packages/cloud/dist/config.d.ts +0 -5
- package/packages/cloud/dist/config.js +0 -5
- package/packages/cloud/dist/db/bulk-ingest.d.ts +0 -89
- package/packages/cloud/dist/db/bulk-ingest.js +0 -268
- package/packages/cloud/dist/db/drizzle.d.ts +0 -290
- package/packages/cloud/dist/db/drizzle.js +0 -1422
- package/packages/cloud/dist/db/index.d.ts +0 -56
- package/packages/cloud/dist/db/index.js +0 -70
- package/packages/cloud/dist/db/schema.d.ts +0 -5117
- package/packages/cloud/dist/db/schema.js +0 -656
- package/packages/cloud/dist/index.d.ts +0 -11
- package/packages/cloud/dist/index.js +0 -38
- package/packages/cloud/dist/provisioner/index.d.ts +0 -207
- package/packages/cloud/dist/provisioner/index.js +0 -2118
- package/packages/cloud/dist/server.d.ts +0 -17
- package/packages/cloud/dist/server.js +0 -2055
- package/packages/cloud/dist/services/auto-scaler.d.ts +0 -152
- package/packages/cloud/dist/services/auto-scaler.js +0 -439
- package/packages/cloud/dist/services/capacity-manager.d.ts +0 -148
- package/packages/cloud/dist/services/capacity-manager.js +0 -449
- package/packages/cloud/dist/services/ci-agent-spawner.d.ts +0 -49
- package/packages/cloud/dist/services/ci-agent-spawner.js +0 -373
- package/packages/cloud/dist/services/cloud-message-bus.d.ts +0 -28
- package/packages/cloud/dist/services/cloud-message-bus.js +0 -19
- package/packages/cloud/dist/services/compute-enforcement.d.ts +0 -57
- package/packages/cloud/dist/services/compute-enforcement.js +0 -175
- package/packages/cloud/dist/services/coordinator.d.ts +0 -62
- package/packages/cloud/dist/services/coordinator.js +0 -389
- package/packages/cloud/dist/services/index.d.ts +0 -17
- package/packages/cloud/dist/services/index.js +0 -25
- package/packages/cloud/dist/services/intro-expiration.d.ts +0 -60
- package/packages/cloud/dist/services/intro-expiration.js +0 -252
- package/packages/cloud/dist/services/mention-handler.d.ts +0 -65
- package/packages/cloud/dist/services/mention-handler.js +0 -405
- package/packages/cloud/dist/services/nango.d.ts +0 -219
- package/packages/cloud/dist/services/nango.js +0 -424
- package/packages/cloud/dist/services/persistence.d.ts +0 -131
- package/packages/cloud/dist/services/persistence.js +0 -200
- package/packages/cloud/dist/services/planLimits.d.ts +0 -147
- package/packages/cloud/dist/services/planLimits.js +0 -335
- package/packages/cloud/dist/services/presence-registry.d.ts +0 -56
- package/packages/cloud/dist/services/presence-registry.js +0 -91
- package/packages/cloud/dist/services/scaling-orchestrator.d.ts +0 -159
- package/packages/cloud/dist/services/scaling-orchestrator.js +0 -502
- package/packages/cloud/dist/services/scaling-policy.d.ts +0 -121
- package/packages/cloud/dist/services/scaling-policy.js +0 -415
- package/packages/cloud/dist/services/ssh-security.d.ts +0 -31
- package/packages/cloud/dist/services/ssh-security.js +0 -63
- package/packages/cloud/dist/services/workspace-keepalive.d.ts +0 -76
- package/packages/cloud/dist/services/workspace-keepalive.js +0 -234
- package/packages/cloud/dist/shims/consensus.d.ts +0 -23
- package/packages/cloud/dist/shims/consensus.js +0 -5
- package/packages/cloud/dist/webhooks/index.d.ts +0 -24
- package/packages/cloud/dist/webhooks/index.js +0 -29
- package/packages/cloud/dist/webhooks/parsers/github.d.ts +0 -8
- package/packages/cloud/dist/webhooks/parsers/github.js +0 -234
- package/packages/cloud/dist/webhooks/parsers/index.d.ts +0 -23
- package/packages/cloud/dist/webhooks/parsers/index.js +0 -30
- package/packages/cloud/dist/webhooks/parsers/linear.d.ts +0 -9
- package/packages/cloud/dist/webhooks/parsers/linear.js +0 -258
- package/packages/cloud/dist/webhooks/parsers/slack.d.ts +0 -9
- package/packages/cloud/dist/webhooks/parsers/slack.js +0 -214
- package/packages/cloud/dist/webhooks/responders/github.d.ts +0 -8
- package/packages/cloud/dist/webhooks/responders/github.js +0 -73
- package/packages/cloud/dist/webhooks/responders/index.d.ts +0 -23
- package/packages/cloud/dist/webhooks/responders/index.js +0 -30
- package/packages/cloud/dist/webhooks/responders/linear.d.ts +0 -9
- package/packages/cloud/dist/webhooks/responders/linear.js +0 -149
- package/packages/cloud/dist/webhooks/responders/slack.d.ts +0 -20
- package/packages/cloud/dist/webhooks/responders/slack.js +0 -178
- package/packages/cloud/dist/webhooks/router.d.ts +0 -25
- package/packages/cloud/dist/webhooks/router.js +0 -504
- package/packages/cloud/dist/webhooks/rules-engine.d.ts +0 -24
- package/packages/cloud/dist/webhooks/rules-engine.js +0 -287
- package/packages/cloud/dist/webhooks/types.d.ts +0 -186
- package/packages/cloud/dist/webhooks/types.js +0 -8
- package/packages/cloud/package.json +0 -60
- package/scripts/run-migrations.js +0 -43
- package/scripts/setup-stripe-products.ts +0 -312
- package/scripts/verify-schema.js +0 -134
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Relay Cloud - Billing Module
|
|
3
|
-
*
|
|
4
|
-
* Stripe-based subscription management and billing.
|
|
5
|
-
*/
|
|
6
|
-
export * from './types.js';
|
|
7
|
-
export * from './plans.js';
|
|
8
|
-
export { BillingService, getBillingService } from './service.js';
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Relay Cloud - Billing Module
|
|
3
|
-
*
|
|
4
|
-
* Stripe-based subscription management and billing.
|
|
5
|
-
*/
|
|
6
|
-
export * from './types.js';
|
|
7
|
-
export * from './plans.js';
|
|
8
|
-
export { BillingService, getBillingService } from './service.js';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Relay Cloud - Billing Plans
|
|
3
|
-
*
|
|
4
|
-
* Plan definitions for subscription tiers.
|
|
5
|
-
*/
|
|
6
|
-
import type { BillingPlan, SubscriptionTier } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* All available billing plans
|
|
9
|
-
*/
|
|
10
|
-
export declare const BILLING_PLANS: Record<SubscriptionTier, BillingPlan>;
|
|
11
|
-
/**
|
|
12
|
-
* Get plan by ID
|
|
13
|
-
*/
|
|
14
|
-
export declare function getPlan(tier: SubscriptionTier): BillingPlan;
|
|
15
|
-
/**
|
|
16
|
-
* Get all plans as array
|
|
17
|
-
*/
|
|
18
|
-
export declare function getAllPlans(): BillingPlan[];
|
|
19
|
-
/**
|
|
20
|
-
* Check if a limit is within plan bounds
|
|
21
|
-
* Returns true if the value is within limits (-1 means unlimited)
|
|
22
|
-
*/
|
|
23
|
-
export declare function isWithinLimit(limit: number, current: number): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Get the next tier upgrade from current
|
|
26
|
-
*/
|
|
27
|
-
export declare function getUpgradeTier(current: SubscriptionTier): SubscriptionTier | null;
|
|
28
|
-
/**
|
|
29
|
-
* Format price for display
|
|
30
|
-
*/
|
|
31
|
-
export declare function formatPrice(cents: number): string;
|
|
32
|
-
/**
|
|
33
|
-
* Get plan limits comparison
|
|
34
|
-
*/
|
|
35
|
-
export declare function comparePlans(from: SubscriptionTier, to: SubscriptionTier): {
|
|
36
|
-
upgrades: string[];
|
|
37
|
-
downgrades: string[];
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=plans.d.ts.map
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Relay Cloud - Billing Plans
|
|
3
|
-
*
|
|
4
|
-
* Plan definitions for subscription tiers.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* All available billing plans
|
|
8
|
-
*/
|
|
9
|
-
export const BILLING_PLANS = {
|
|
10
|
-
free: {
|
|
11
|
-
id: 'free',
|
|
12
|
-
name: 'Free',
|
|
13
|
-
description: 'Try AI agent workflows with limited access',
|
|
14
|
-
priceMonthly: 0,
|
|
15
|
-
priceYearly: 0,
|
|
16
|
-
limits: {
|
|
17
|
-
maxWorkspaces: 1,
|
|
18
|
-
maxAgentsPerWorkspace: 2,
|
|
19
|
-
maxTeamMembers: 1,
|
|
20
|
-
maxStorageGB: 1,
|
|
21
|
-
maxComputeHoursPerMonth: 5, // Limited to 5 hours/month
|
|
22
|
-
customDomains: false,
|
|
23
|
-
prioritySupport: false,
|
|
24
|
-
sla: false,
|
|
25
|
-
ssoEnabled: false,
|
|
26
|
-
auditLogs: false,
|
|
27
|
-
sessionPersistence: false,
|
|
28
|
-
},
|
|
29
|
-
features: [
|
|
30
|
-
'1 workspace',
|
|
31
|
-
'Up to 2 agents',
|
|
32
|
-
'5 compute hours/month',
|
|
33
|
-
'Shared CPU (may throttle)',
|
|
34
|
-
'Community support',
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
pro: {
|
|
38
|
-
id: 'pro',
|
|
39
|
-
name: 'Pro',
|
|
40
|
-
description: 'For professional developers building with AI agents',
|
|
41
|
-
priceMonthly: 6900, // $69/month
|
|
42
|
-
priceYearly: 69000, // $690/year (2 months free)
|
|
43
|
-
stripePriceIdMonthly: process.env.STRIPE_PRO_MONTHLY_PRICE_ID,
|
|
44
|
-
stripePriceIdYearly: process.env.STRIPE_PRO_YEARLY_PRICE_ID,
|
|
45
|
-
limits: {
|
|
46
|
-
maxWorkspaces: 5,
|
|
47
|
-
maxAgentsPerWorkspace: 5,
|
|
48
|
-
maxTeamMembers: 3,
|
|
49
|
-
maxStorageGB: 10,
|
|
50
|
-
maxComputeHoursPerMonth: 50,
|
|
51
|
-
customDomains: true,
|
|
52
|
-
prioritySupport: false,
|
|
53
|
-
sla: false,
|
|
54
|
-
ssoEnabled: false,
|
|
55
|
-
auditLogs: false,
|
|
56
|
-
sessionPersistence: true,
|
|
57
|
-
},
|
|
58
|
-
features: [
|
|
59
|
-
'Up to 5 workspaces',
|
|
60
|
-
'Up to 5 agents per workspace',
|
|
61
|
-
'50 compute hours/month',
|
|
62
|
-
'10 GB storage',
|
|
63
|
-
'3 team members',
|
|
64
|
-
'Custom domains',
|
|
65
|
-
'Session persistence',
|
|
66
|
-
'Email support',
|
|
67
|
-
],
|
|
68
|
-
},
|
|
69
|
-
team: {
|
|
70
|
-
id: 'team',
|
|
71
|
-
name: 'Team',
|
|
72
|
-
description: 'For growing teams with advanced needs',
|
|
73
|
-
priceMonthly: 12900, // $129/month
|
|
74
|
-
priceYearly: 129000, // $1290/year (2 months free)
|
|
75
|
-
stripePriceIdMonthly: process.env.STRIPE_TEAM_MONTHLY_PRICE_ID,
|
|
76
|
-
stripePriceIdYearly: process.env.STRIPE_TEAM_YEARLY_PRICE_ID,
|
|
77
|
-
limits: {
|
|
78
|
-
maxWorkspaces: 50,
|
|
79
|
-
maxAgentsPerWorkspace: 25,
|
|
80
|
-
maxTeamMembers: 25,
|
|
81
|
-
maxStorageGB: 50,
|
|
82
|
-
maxComputeHoursPerMonth: 500,
|
|
83
|
-
customDomains: true,
|
|
84
|
-
prioritySupport: true,
|
|
85
|
-
sla: false,
|
|
86
|
-
ssoEnabled: false,
|
|
87
|
-
auditLogs: true,
|
|
88
|
-
sessionPersistence: true,
|
|
89
|
-
},
|
|
90
|
-
features: [
|
|
91
|
-
'Up to 50 workspaces',
|
|
92
|
-
'Up to 25 agents per workspace',
|
|
93
|
-
'500 compute hours/month',
|
|
94
|
-
'50 GB storage',
|
|
95
|
-
'25 team members',
|
|
96
|
-
'Custom domains',
|
|
97
|
-
'Session persistence',
|
|
98
|
-
'Priority support',
|
|
99
|
-
'Audit logs',
|
|
100
|
-
],
|
|
101
|
-
},
|
|
102
|
-
enterprise: {
|
|
103
|
-
id: 'enterprise',
|
|
104
|
-
name: 'Enterprise',
|
|
105
|
-
description: 'For organizations requiring dedicated support and SLAs',
|
|
106
|
-
priceMonthly: 49900, // $499/month starting
|
|
107
|
-
priceYearly: 499000, // $4990/year
|
|
108
|
-
stripePriceIdMonthly: process.env.STRIPE_ENTERPRISE_MONTHLY_PRICE_ID,
|
|
109
|
-
stripePriceIdYearly: process.env.STRIPE_ENTERPRISE_YEARLY_PRICE_ID,
|
|
110
|
-
limits: {
|
|
111
|
-
maxWorkspaces: -1, // unlimited
|
|
112
|
-
maxAgentsPerWorkspace: -1, // unlimited
|
|
113
|
-
maxTeamMembers: -1, // unlimited
|
|
114
|
-
maxStorageGB: 500,
|
|
115
|
-
maxComputeHoursPerMonth: -1, // unlimited
|
|
116
|
-
customDomains: true,
|
|
117
|
-
prioritySupport: true,
|
|
118
|
-
sla: true,
|
|
119
|
-
ssoEnabled: true,
|
|
120
|
-
auditLogs: true,
|
|
121
|
-
sessionPersistence: true,
|
|
122
|
-
},
|
|
123
|
-
features: [
|
|
124
|
-
'Unlimited workspaces',
|
|
125
|
-
'Unlimited agents',
|
|
126
|
-
'Unlimited compute hours',
|
|
127
|
-
'500 GB storage',
|
|
128
|
-
'Unlimited team members',
|
|
129
|
-
'Custom domains',
|
|
130
|
-
'Session persistence',
|
|
131
|
-
'Priority support with SLA',
|
|
132
|
-
'SSO/SAML integration',
|
|
133
|
-
'Audit logs & compliance',
|
|
134
|
-
'Dedicated account manager',
|
|
135
|
-
],
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* Get plan by ID
|
|
140
|
-
*/
|
|
141
|
-
export function getPlan(tier) {
|
|
142
|
-
return BILLING_PLANS[tier];
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Get all plans as array
|
|
146
|
-
*/
|
|
147
|
-
export function getAllPlans() {
|
|
148
|
-
return Object.values(BILLING_PLANS);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Check if a limit is within plan bounds
|
|
152
|
-
* Returns true if the value is within limits (-1 means unlimited)
|
|
153
|
-
*/
|
|
154
|
-
export function isWithinLimit(limit, current) {
|
|
155
|
-
if (limit === -1)
|
|
156
|
-
return true; // unlimited
|
|
157
|
-
return current < limit;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get the next tier upgrade from current
|
|
161
|
-
*/
|
|
162
|
-
export function getUpgradeTier(current) {
|
|
163
|
-
const tiers = ['free', 'pro', 'team', 'enterprise'];
|
|
164
|
-
const currentIndex = tiers.indexOf(current);
|
|
165
|
-
if (currentIndex === -1 || currentIndex >= tiers.length - 1) {
|
|
166
|
-
return null;
|
|
167
|
-
}
|
|
168
|
-
return tiers[currentIndex + 1];
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Format price for display
|
|
172
|
-
*/
|
|
173
|
-
export function formatPrice(cents) {
|
|
174
|
-
if (cents === 0)
|
|
175
|
-
return 'Free';
|
|
176
|
-
return `$${(cents / 100).toFixed(0)}`;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Get plan limits comparison
|
|
180
|
-
*/
|
|
181
|
-
export function comparePlans(from, to) {
|
|
182
|
-
const fromPlan = BILLING_PLANS[from];
|
|
183
|
-
const toPlan = BILLING_PLANS[to];
|
|
184
|
-
const upgrades = [];
|
|
185
|
-
const downgrades = [];
|
|
186
|
-
// Compare limits
|
|
187
|
-
const compareLimit = (name, fromVal, toVal) => {
|
|
188
|
-
if (toVal === -1 && fromVal !== -1) {
|
|
189
|
-
upgrades.push(`Unlimited ${name}`);
|
|
190
|
-
}
|
|
191
|
-
else if (fromVal === -1 && toVal !== -1) {
|
|
192
|
-
downgrades.push(`${name} limited to ${toVal}`);
|
|
193
|
-
}
|
|
194
|
-
else if (toVal > fromVal) {
|
|
195
|
-
upgrades.push(`${name}: ${fromVal} -> ${toVal}`);
|
|
196
|
-
}
|
|
197
|
-
else if (toVal < fromVal) {
|
|
198
|
-
downgrades.push(`${name}: ${fromVal} -> ${toVal}`);
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
compareLimit('workspaces', fromPlan.limits.maxWorkspaces, toPlan.limits.maxWorkspaces);
|
|
202
|
-
compareLimit('agents per workspace', fromPlan.limits.maxAgentsPerWorkspace, toPlan.limits.maxAgentsPerWorkspace);
|
|
203
|
-
compareLimit('team members', fromPlan.limits.maxTeamMembers, toPlan.limits.maxTeamMembers);
|
|
204
|
-
compareLimit('storage GB', fromPlan.limits.maxStorageGB, toPlan.limits.maxStorageGB);
|
|
205
|
-
compareLimit('compute hours', fromPlan.limits.maxComputeHoursPerMonth, toPlan.limits.maxComputeHoursPerMonth);
|
|
206
|
-
// Compare boolean features
|
|
207
|
-
if (toPlan.limits.customDomains && !fromPlan.limits.customDomains) {
|
|
208
|
-
upgrades.push('Custom domains');
|
|
209
|
-
}
|
|
210
|
-
else if (!toPlan.limits.customDomains && fromPlan.limits.customDomains) {
|
|
211
|
-
downgrades.push('Custom domains');
|
|
212
|
-
}
|
|
213
|
-
if (toPlan.limits.prioritySupport && !fromPlan.limits.prioritySupport) {
|
|
214
|
-
upgrades.push('Priority support');
|
|
215
|
-
}
|
|
216
|
-
else if (!toPlan.limits.prioritySupport && fromPlan.limits.prioritySupport) {
|
|
217
|
-
downgrades.push('Priority support');
|
|
218
|
-
}
|
|
219
|
-
if (toPlan.limits.sla && !fromPlan.limits.sla) {
|
|
220
|
-
upgrades.push('SLA');
|
|
221
|
-
}
|
|
222
|
-
else if (!toPlan.limits.sla && fromPlan.limits.sla) {
|
|
223
|
-
downgrades.push('SLA');
|
|
224
|
-
}
|
|
225
|
-
if (toPlan.limits.ssoEnabled && !fromPlan.limits.ssoEnabled) {
|
|
226
|
-
upgrades.push('SSO/SAML');
|
|
227
|
-
}
|
|
228
|
-
else if (!toPlan.limits.ssoEnabled && fromPlan.limits.ssoEnabled) {
|
|
229
|
-
downgrades.push('SSO/SAML');
|
|
230
|
-
}
|
|
231
|
-
if (toPlan.limits.auditLogs && !fromPlan.limits.auditLogs) {
|
|
232
|
-
upgrades.push('Audit logs');
|
|
233
|
-
}
|
|
234
|
-
else if (!toPlan.limits.auditLogs && fromPlan.limits.auditLogs) {
|
|
235
|
-
downgrades.push('Audit logs');
|
|
236
|
-
}
|
|
237
|
-
if (toPlan.limits.sessionPersistence && !fromPlan.limits.sessionPersistence) {
|
|
238
|
-
upgrades.push('Session persistence');
|
|
239
|
-
}
|
|
240
|
-
else if (!toPlan.limits.sessionPersistence && fromPlan.limits.sessionPersistence) {
|
|
241
|
-
downgrades.push('Session persistence');
|
|
242
|
-
}
|
|
243
|
-
return { upgrades, downgrades };
|
|
244
|
-
}
|
|
245
|
-
//# sourceMappingURL=plans.js.map
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Relay Cloud - Billing Service
|
|
3
|
-
*
|
|
4
|
-
* Stripe integration for subscription management, payments, and webhooks.
|
|
5
|
-
*/
|
|
6
|
-
import Stripe from 'stripe';
|
|
7
|
-
import type { SubscriptionTier, BillingCustomer, CustomerSubscription, PaymentMethod, Invoice, CheckoutSession, PortalSession, BillingEvent } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Billing Service
|
|
10
|
-
*/
|
|
11
|
-
export declare class BillingService {
|
|
12
|
-
private stripe;
|
|
13
|
-
constructor();
|
|
14
|
-
/**
|
|
15
|
-
* Create or get a Stripe customer for a user
|
|
16
|
-
*/
|
|
17
|
-
getOrCreateCustomer(userId: string, email: string, name?: string): Promise<string>;
|
|
18
|
-
/**
|
|
19
|
-
* Get customer details including subscription
|
|
20
|
-
*/
|
|
21
|
-
getCustomer(stripeCustomerId: string): Promise<BillingCustomer | null>;
|
|
22
|
-
/**
|
|
23
|
-
* Create a checkout session for subscription
|
|
24
|
-
*/
|
|
25
|
-
createCheckoutSession(customerId: string, tier: SubscriptionTier, billingInterval: 'month' | 'year', successUrl: string, cancelUrl: string): Promise<CheckoutSession>;
|
|
26
|
-
/**
|
|
27
|
-
* Create a billing portal session for managing subscription
|
|
28
|
-
*/
|
|
29
|
-
createPortalSession(customerId: string, returnUrl: string): Promise<PortalSession>;
|
|
30
|
-
/**
|
|
31
|
-
* Change subscription tier
|
|
32
|
-
*/
|
|
33
|
-
changeSubscription(subscriptionId: string, newTier: SubscriptionTier, billingInterval: 'month' | 'year'): Promise<CustomerSubscription>;
|
|
34
|
-
/**
|
|
35
|
-
* Cancel subscription at period end
|
|
36
|
-
*/
|
|
37
|
-
cancelSubscription(subscriptionId: string): Promise<CustomerSubscription>;
|
|
38
|
-
/**
|
|
39
|
-
* Resume a canceled subscription
|
|
40
|
-
*/
|
|
41
|
-
resumeSubscription(subscriptionId: string): Promise<CustomerSubscription>;
|
|
42
|
-
/**
|
|
43
|
-
* Add a payment method to customer
|
|
44
|
-
*/
|
|
45
|
-
addPaymentMethod(customerId: string, paymentMethodId: string, setAsDefault?: boolean): Promise<PaymentMethod>;
|
|
46
|
-
/**
|
|
47
|
-
* Remove a payment method
|
|
48
|
-
*/
|
|
49
|
-
removePaymentMethod(paymentMethodId: string): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Set default payment method
|
|
52
|
-
*/
|
|
53
|
-
setDefaultPaymentMethod(customerId: string, paymentMethodId: string): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Get upcoming invoice preview
|
|
56
|
-
*/
|
|
57
|
-
getUpcomingInvoice(customerId: string): Promise<Invoice | null>;
|
|
58
|
-
/**
|
|
59
|
-
* Record usage for metered billing
|
|
60
|
-
*/
|
|
61
|
-
recordUsage(subscriptionItemId: string, quantity: number, timestamp?: Date): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Verify webhook signature
|
|
64
|
-
*/
|
|
65
|
-
verifyWebhookSignature(payload: string | Buffer, signature: string): Stripe.Event;
|
|
66
|
-
/**
|
|
67
|
-
* Process webhook event
|
|
68
|
-
*/
|
|
69
|
-
processWebhookEvent(event: Stripe.Event): Promise<BillingEvent>;
|
|
70
|
-
/**
|
|
71
|
-
* Get subscription tier from Stripe subscription
|
|
72
|
-
*/
|
|
73
|
-
getTierFromSubscription(subscription: Stripe.Subscription): SubscriptionTier;
|
|
74
|
-
private mapSubscription;
|
|
75
|
-
private mapPaymentMethod;
|
|
76
|
-
private mapInvoice;
|
|
77
|
-
private mapEventType;
|
|
78
|
-
}
|
|
79
|
-
export declare function getBillingService(): BillingService;
|
|
80
|
-
//# sourceMappingURL=service.d.ts.map
|