@oxygen-agent/cli 1.377.3 → 1.591.1
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/README.md +1 -1
- package/dist/column-run-notices.d.ts +11 -0
- package/dist/column-run-notices.js +37 -0
- package/dist/command-manifest.js +13 -8
- package/dist/help.js +79 -16
- package/dist/index.js +3812 -460
- package/dist/skills.js +106 -1
- package/node_modules/@oxygen/formula/dist/coerce.d.ts +8 -0
- package/node_modules/@oxygen/formula/dist/coerce.js +10 -0
- package/node_modules/@oxygen/formula/dist/evaluate.d.ts +31 -0
- package/node_modules/@oxygen/formula/dist/evaluate.js +248 -0
- package/node_modules/@oxygen/formula/dist/expression.d.ts +64 -0
- package/node_modules/@oxygen/formula/dist/expression.js +428 -0
- package/node_modules/@oxygen/formula/dist/formula-functions.d.ts +71 -0
- package/node_modules/@oxygen/formula/dist/formula-functions.js +1100 -0
- package/node_modules/@oxygen/formula/dist/index.d.ts +17 -0
- package/node_modules/@oxygen/formula/dist/index.js +17 -0
- package/node_modules/@oxygen/formula/dist/value-normalizers.d.ts +30 -0
- package/node_modules/@oxygen/formula/dist/value-normalizers.js +80 -0
- package/node_modules/@oxygen/formula/package.json +26 -0
- package/node_modules/@oxygen/recipe-sdk/dist/index.d.ts +30 -0
- package/node_modules/@oxygen/recipe-sdk/dist/index.js +2 -2
- package/node_modules/@oxygen/shared/dist/billing-anchors.d.ts +60 -0
- package/node_modules/@oxygen/shared/dist/billing-anchors.js +135 -0
- package/node_modules/@oxygen/shared/dist/billing.d.ts +99 -5
- package/node_modules/@oxygen/shared/dist/billing.js +185 -8
- package/node_modules/@oxygen/shared/dist/call-outcomes.d.ts +59 -0
- package/node_modules/@oxygen/shared/dist/call-outcomes.js +73 -0
- package/node_modules/@oxygen/shared/dist/cli-result.js +1 -0
- package/node_modules/@oxygen/shared/dist/credit-guidance.js +3 -1
- package/node_modules/@oxygen/shared/dist/crm-reply-events.d.ts +35 -0
- package/node_modules/@oxygen/shared/dist/crm-reply-events.js +31 -0
- package/node_modules/@oxygen/shared/dist/dial-guardrail-overrides.d.ts +50 -0
- package/node_modules/@oxygen/shared/dist/dial-guardrail-overrides.js +65 -0
- package/node_modules/@oxygen/shared/dist/directory.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/directory.js +1 -0
- package/node_modules/@oxygen/shared/dist/file-import.js +58 -11
- package/node_modules/@oxygen/shared/dist/hosted-ai.d.ts +15 -0
- package/node_modules/@oxygen/shared/dist/hosted-ai.js +19 -0
- package/node_modules/@oxygen/shared/dist/index.d.ts +9 -0
- package/node_modules/@oxygen/shared/dist/index.js +9 -0
- package/node_modules/@oxygen/shared/dist/linkedin-quota-denial.d.ts +31 -0
- package/node_modules/@oxygen/shared/dist/linkedin-quota-denial.js +56 -0
- package/node_modules/@oxygen/shared/dist/linkedin-sequences.d.ts +5 -4
- package/node_modules/@oxygen/shared/dist/linkedin-sequences.js +5 -4
- package/node_modules/@oxygen/shared/dist/linkedin-url.d.ts +22 -0
- package/node_modules/@oxygen/shared/dist/linkedin-url.js +7 -4
- package/node_modules/@oxygen/shared/dist/log.js +41 -2
- package/node_modules/@oxygen/shared/dist/microsoft-consent-url.d.ts +7 -0
- package/node_modules/@oxygen/shared/dist/microsoft-consent-url.js +29 -0
- package/node_modules/@oxygen/shared/dist/object-storage.d.ts +31 -0
- package/node_modules/@oxygen/shared/dist/object-storage.js +61 -0
- package/node_modules/@oxygen/shared/dist/plan-limits.d.ts +636 -0
- package/node_modules/@oxygen/shared/dist/plan-limits.js +199 -0
- package/node_modules/@oxygen/shared/dist/pricing-sheet.d.ts +89 -23
- package/node_modules/@oxygen/shared/dist/pricing-sheet.js +88 -24
- package/node_modules/@oxygen/shared/dist/sequence-crm-events.d.ts +291 -0
- package/node_modules/@oxygen/shared/dist/sequence-crm-events.js +224 -0
- package/node_modules/@oxygen/shared/dist/sequence-template.d.ts +42 -1
- package/node_modules/@oxygen/shared/dist/sequence-template.js +0 -0
- package/node_modules/@oxygen/shared/dist/sequences.d.ts +287 -24
- package/node_modules/@oxygen/shared/dist/sequences.js +940 -60
- package/node_modules/@oxygen/shared/dist/spend-safety.d.ts +70 -0
- package/node_modules/@oxygen/shared/dist/spend-safety.js +106 -0
- package/node_modules/@oxygen/shared/dist/tags.d.ts +90 -1
- package/node_modules/@oxygen/shared/dist/tags.js +122 -6
- package/node_modules/@oxygen/shared/dist/version.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/version.js +1 -1
- package/node_modules/@oxygen/shared/dist/workflow-trigger-metadata.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/workflow-trigger-metadata.js +4 -0
- package/node_modules/@oxygen/shared/package.json +95 -0
- package/node_modules/@oxygen/workflows/dist/event-dispatch.d.ts +126 -0
- package/node_modules/@oxygen/workflows/dist/event-dispatch.js +173 -0
- package/node_modules/@oxygen/workflows/dist/graph/expression.d.ts +78 -0
- package/node_modules/@oxygen/workflows/dist/graph/expression.js +700 -0
- package/node_modules/@oxygen/workflows/dist/graph/index.d.ts +20 -0
- package/node_modules/@oxygen/workflows/dist/graph/index.js +20 -0
- package/node_modules/@oxygen/workflows/dist/graph/lint.d.ts +4 -0
- package/node_modules/@oxygen/workflows/dist/graph/lint.js +812 -0
- package/node_modules/@oxygen/workflows/dist/graph/manifest-schema.d.ts +501 -0
- package/node_modules/@oxygen/workflows/dist/graph/manifest-schema.js +200 -0
- package/node_modules/@oxygen/workflows/dist/graph/params.d.ts +86 -0
- package/node_modules/@oxygen/workflows/dist/graph/params.js +173 -0
- package/node_modules/@oxygen/workflows/dist/graph/remap.d.ts +48 -0
- package/node_modules/@oxygen/workflows/dist/graph/remap.js +213 -0
- package/node_modules/@oxygen/workflows/dist/graph/topology.d.ts +46 -0
- package/node_modules/@oxygen/workflows/dist/graph/topology.js +280 -0
- package/node_modules/@oxygen/workflows/dist/graph/types.d.ts +270 -0
- package/node_modules/@oxygen/workflows/dist/graph/types.js +93 -0
- package/node_modules/@oxygen/workflows/dist/index.d.ts +113 -1
- package/node_modules/@oxygen/workflows/dist/index.js +179 -13
- package/node_modules/@oxygen/workflows/dist/tool-effects.d.ts +1 -0
- package/node_modules/@oxygen/workflows/dist/tool-effects.js +19 -0
- package/node_modules/@oxygen/workflows/dist/usage-estimate.js +135 -4
- package/node_modules/@oxygen/workflows/package.json +4 -0
- package/package.json +7 -5
|
@@ -65,9 +65,16 @@ export function buildPublishingMediaObjectKey(input) {
|
|
|
65
65
|
const safeName = sanitizeFileName(input.fileName) || "media";
|
|
66
66
|
return `publishing-media/${input.organizationId}/${randomUUID()}/${safeName}`;
|
|
67
67
|
}
|
|
68
|
+
export function buildCopilotAttachmentObjectKey(input) {
|
|
69
|
+
const safeName = sanitizeFileName(input.fileName) || "attachment";
|
|
70
|
+
return `copilot/${input.organizationId}/${randomUUID()}/${safeName}`;
|
|
71
|
+
}
|
|
68
72
|
export function isImportObjectKeyForOrganization(key, organizationId) {
|
|
69
73
|
return key.startsWith(`imports/${organizationId}/`);
|
|
70
74
|
}
|
|
75
|
+
export function isCopilotAttachmentObjectKeyForOrganization(key, organizationId) {
|
|
76
|
+
return key.startsWith(`copilot/${organizationId}/`);
|
|
77
|
+
}
|
|
71
78
|
export function isPublishingMediaObjectKeyForOrganization(key, organizationId) {
|
|
72
79
|
return key.startsWith(`publishing-media/${organizationId}/`);
|
|
73
80
|
}
|
|
@@ -115,6 +122,60 @@ export async function presignPublishingMediaUpload(input) {
|
|
|
115
122
|
expiresInSeconds: PRESIGN_EXPIRY_SECONDS,
|
|
116
123
|
};
|
|
117
124
|
}
|
|
125
|
+
export async function presignCopilotAttachmentUpload(input) {
|
|
126
|
+
const { client, config } = resolveClient();
|
|
127
|
+
const storageKey = buildCopilotAttachmentObjectKey({
|
|
128
|
+
organizationId: input.organizationId,
|
|
129
|
+
fileName: input.fileName ?? null,
|
|
130
|
+
});
|
|
131
|
+
const command = new PutObjectCommand({
|
|
132
|
+
Bucket: config.bucket,
|
|
133
|
+
Key: storageKey,
|
|
134
|
+
ContentLength: input.contentLength,
|
|
135
|
+
...(input.contentType ? { ContentType: input.contentType } : {}),
|
|
136
|
+
});
|
|
137
|
+
const uploadUrl = await getSignedUrl(client, command, { expiresIn: PRESIGN_EXPIRY_SECONDS });
|
|
138
|
+
return {
|
|
139
|
+
uploadUrl,
|
|
140
|
+
bucket: config.bucket,
|
|
141
|
+
storageKey,
|
|
142
|
+
contentLength: input.contentLength,
|
|
143
|
+
provider: "s3",
|
|
144
|
+
expiresInSeconds: PRESIGN_EXPIRY_SECONDS,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Read an uploaded attachment back into memory. Bounded by `maxBytes` because
|
|
149
|
+
* the callers are a CSV header sniff and a text extraction, neither of which
|
|
150
|
+
* needs the whole object — and a 400MB upload must not become a 400MB buffer in
|
|
151
|
+
* a Vercel handler.
|
|
152
|
+
*/
|
|
153
|
+
export async function readCopilotAttachmentObject(input) {
|
|
154
|
+
const { client, config } = resolveClient();
|
|
155
|
+
const result = await client.send(new GetObjectCommand({
|
|
156
|
+
Bucket: config.bucket,
|
|
157
|
+
Key: input.storageKey,
|
|
158
|
+
// Ask for one byte past the cap so a full read is distinguishable from a
|
|
159
|
+
// file that happens to be exactly maxBytes long.
|
|
160
|
+
Range: `bytes=0-${input.maxBytes}`,
|
|
161
|
+
}));
|
|
162
|
+
const raw = await result.Body?.transformToByteArray();
|
|
163
|
+
const body = raw ?? new Uint8Array();
|
|
164
|
+
const truncated = body.byteLength > input.maxBytes;
|
|
165
|
+
return {
|
|
166
|
+
body: truncated ? body.subarray(0, input.maxBytes) : body,
|
|
167
|
+
contentType: typeof result.ContentType === "string" ? result.ContentType : null,
|
|
168
|
+
truncated,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
export async function getCopilotAttachmentObjectMetadata(input) {
|
|
172
|
+
const { client, config } = resolveClient();
|
|
173
|
+
const result = await client.send(new HeadObjectCommand({ Bucket: config.bucket, Key: input.storageKey }));
|
|
174
|
+
return {
|
|
175
|
+
contentLength: typeof result.ContentLength === "number" ? result.ContentLength : null,
|
|
176
|
+
contentType: typeof result.ContentType === "string" ? result.ContentType : null,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
118
179
|
export async function getImportObjectMetadata(input) {
|
|
119
180
|
const { client, config } = resolveClient();
|
|
120
181
|
const result = await client.send(new HeadObjectCommand({ Bucket: config.bucket, Key: input.storageKey }));
|
|
@@ -0,0 +1,636 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The five enforcement rungs of the per-plan limits ladder. Every PlanTier maps
|
|
3
|
+
* onto exactly one rung: "free" doubles as the unentitled fallback (no live
|
|
4
|
+
* plan, churned, expired trial, missing org), "enterprise" shares the "scale"
|
|
5
|
+
* rung, and a trialing org gets its subscription tier's rung — the card on file
|
|
6
|
+
* plus the trial credit pool are the spend bound, not the rate limits.
|
|
7
|
+
*
|
|
8
|
+
* Credits are the billing meter; these limits are abuse/runaway guards. They
|
|
9
|
+
* are sized so legitimate interactive use never hits them and scale with plan
|
|
10
|
+
* price so worst-case burn stays proportional to what the org pays.
|
|
11
|
+
*/
|
|
12
|
+
export type LimitsTier = "free" | "starter" | "pro" | "team" | "scale";
|
|
13
|
+
export declare const LIMITS_TIER_ORDER: readonly LimitsTier[];
|
|
14
|
+
/** An org-scope budget window: `limit` consumable units per `windowSeconds`. */
|
|
15
|
+
export type OrgWindowLimit = {
|
|
16
|
+
limit: number;
|
|
17
|
+
windowSeconds: number;
|
|
18
|
+
};
|
|
19
|
+
/** Request bucket (per api-key / web-user scope) + org-scope unit budget. */
|
|
20
|
+
export type UnitPolicyLimits = {
|
|
21
|
+
requestsPerMinute: number;
|
|
22
|
+
orgUnits: OrgWindowLimit;
|
|
23
|
+
};
|
|
24
|
+
/** Request-count-only policy: per-scope burst + org-scope request budget. */
|
|
25
|
+
export type RequestPolicyLimits = {
|
|
26
|
+
requestsPerMinute: number;
|
|
27
|
+
orgRequests: OrgWindowLimit;
|
|
28
|
+
};
|
|
29
|
+
export type PlanLimits = {
|
|
30
|
+
cli: {
|
|
31
|
+
global: {
|
|
32
|
+
keyRequestsPerMinute: number;
|
|
33
|
+
orgRequestsPerMinute: number;
|
|
34
|
+
};
|
|
35
|
+
tenantRead: UnitPolicyLimits;
|
|
36
|
+
tenantWrite: UnitPolicyLimits;
|
|
37
|
+
bulkImport: RequestPolicyLimits;
|
|
38
|
+
aiLive: RequestPolicyLimits;
|
|
39
|
+
toolLive: RequestPolicyLimits;
|
|
40
|
+
toolDryRun: RequestPolicyLimits;
|
|
41
|
+
tenantSchema: RequestPolicyLimits;
|
|
42
|
+
maxWriteRowsPerRequest: number;
|
|
43
|
+
};
|
|
44
|
+
web: {
|
|
45
|
+
tenantRead: UnitPolicyLimits;
|
|
46
|
+
tenantWrite: UnitPolicyLimits;
|
|
47
|
+
columnRun: UnitPolicyLimits;
|
|
48
|
+
import: RequestPolicyLimits;
|
|
49
|
+
};
|
|
50
|
+
import: {
|
|
51
|
+
maxRowsPerFile: number;
|
|
52
|
+
maxFileBytes: number;
|
|
53
|
+
maxDirectCsvBodyBytes: number;
|
|
54
|
+
};
|
|
55
|
+
agents: {
|
|
56
|
+
maxTotalCredits: number;
|
|
57
|
+
maxInferenceCredits: number;
|
|
58
|
+
maxUpstreamCostUsd: number;
|
|
59
|
+
maxUpstreamCostUsdByok: number;
|
|
60
|
+
};
|
|
61
|
+
copilot: {
|
|
62
|
+
maxSessionBudgetCredits: number;
|
|
63
|
+
defaultPerTurnCreditCeiling: number;
|
|
64
|
+
};
|
|
65
|
+
signals: {
|
|
66
|
+
maxEvents: number;
|
|
67
|
+
maxWindowDays: number;
|
|
68
|
+
};
|
|
69
|
+
tableActions: {
|
|
70
|
+
maxActionsPerRun: number;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* The per-rung limit matrix. `ai_live` deliberately equals `tool_live` at every
|
|
75
|
+
* rung — one "live actions" mental model; the per-call cost asymmetry between
|
|
76
|
+
* AI and tool calls is priced in credits, not throttled here.
|
|
77
|
+
*/
|
|
78
|
+
export declare const PLAN_LIMITS: {
|
|
79
|
+
readonly free: {
|
|
80
|
+
readonly cli: {
|
|
81
|
+
readonly global: {
|
|
82
|
+
readonly keyRequestsPerMinute: 120;
|
|
83
|
+
readonly orgRequestsPerMinute: 600;
|
|
84
|
+
};
|
|
85
|
+
readonly tenantRead: {
|
|
86
|
+
readonly requestsPerMinute: 60;
|
|
87
|
+
readonly orgUnits: {
|
|
88
|
+
readonly limit: 500000;
|
|
89
|
+
readonly windowSeconds: number;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly tenantWrite: {
|
|
93
|
+
readonly requestsPerMinute: 30;
|
|
94
|
+
readonly orgUnits: {
|
|
95
|
+
readonly limit: 100000;
|
|
96
|
+
readonly windowSeconds: number;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
readonly bulkImport: {
|
|
100
|
+
readonly requestsPerMinute: 10;
|
|
101
|
+
readonly orgRequests: {
|
|
102
|
+
readonly limit: 100;
|
|
103
|
+
readonly windowSeconds: number;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
readonly aiLive: {
|
|
107
|
+
readonly requestsPerMinute: 20;
|
|
108
|
+
readonly orgRequests: {
|
|
109
|
+
readonly limit: 100;
|
|
110
|
+
readonly windowSeconds: number;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
readonly toolLive: {
|
|
114
|
+
readonly requestsPerMinute: 20;
|
|
115
|
+
readonly orgRequests: {
|
|
116
|
+
readonly limit: 100;
|
|
117
|
+
readonly windowSeconds: number;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
readonly toolDryRun: {
|
|
121
|
+
readonly requestsPerMinute: 60;
|
|
122
|
+
readonly orgRequests: {
|
|
123
|
+
readonly limit: 500;
|
|
124
|
+
readonly windowSeconds: number;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
readonly tenantSchema: {
|
|
128
|
+
readonly requestsPerMinute: 20;
|
|
129
|
+
readonly orgRequests: {
|
|
130
|
+
readonly limit: 100;
|
|
131
|
+
readonly windowSeconds: number;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
readonly maxWriteRowsPerRequest: 5000;
|
|
135
|
+
};
|
|
136
|
+
readonly web: {
|
|
137
|
+
readonly tenantRead: {
|
|
138
|
+
readonly requestsPerMinute: 120;
|
|
139
|
+
readonly orgUnits: {
|
|
140
|
+
readonly limit: 1000000;
|
|
141
|
+
readonly windowSeconds: number;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
readonly tenantWrite: {
|
|
145
|
+
readonly requestsPerMinute: 60;
|
|
146
|
+
readonly orgUnits: {
|
|
147
|
+
readonly limit: 500000;
|
|
148
|
+
readonly windowSeconds: number;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
readonly columnRun: {
|
|
152
|
+
readonly requestsPerMinute: 30;
|
|
153
|
+
readonly orgUnits: {
|
|
154
|
+
readonly limit: 2000;
|
|
155
|
+
readonly windowSeconds: number;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
readonly import: {
|
|
159
|
+
readonly requestsPerMinute: 10;
|
|
160
|
+
readonly orgRequests: {
|
|
161
|
+
readonly limit: 100;
|
|
162
|
+
readonly windowSeconds: number;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly import: {
|
|
167
|
+
readonly maxRowsPerFile: 50000;
|
|
168
|
+
readonly maxFileBytes: number;
|
|
169
|
+
readonly maxDirectCsvBodyBytes: 10000000;
|
|
170
|
+
};
|
|
171
|
+
readonly agents: {
|
|
172
|
+
readonly maxTotalCredits: 10000;
|
|
173
|
+
readonly maxInferenceCredits: 5000;
|
|
174
|
+
readonly maxUpstreamCostUsd: 10;
|
|
175
|
+
readonly maxUpstreamCostUsdByok: 10;
|
|
176
|
+
};
|
|
177
|
+
readonly copilot: {
|
|
178
|
+
readonly maxSessionBudgetCredits: 5000;
|
|
179
|
+
readonly defaultPerTurnCreditCeiling: 1500;
|
|
180
|
+
};
|
|
181
|
+
readonly signals: {
|
|
182
|
+
readonly maxEvents: 100;
|
|
183
|
+
readonly maxWindowDays: 30;
|
|
184
|
+
};
|
|
185
|
+
readonly tableActions: {
|
|
186
|
+
readonly maxActionsPerRun: 10;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
readonly starter: {
|
|
190
|
+
readonly cli: {
|
|
191
|
+
readonly global: {
|
|
192
|
+
readonly keyRequestsPerMinute: 240;
|
|
193
|
+
readonly orgRequestsPerMinute: 600;
|
|
194
|
+
};
|
|
195
|
+
readonly tenantRead: {
|
|
196
|
+
readonly requestsPerMinute: 120;
|
|
197
|
+
readonly orgUnits: {
|
|
198
|
+
readonly limit: 25000000;
|
|
199
|
+
readonly windowSeconds: number;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
readonly tenantWrite: {
|
|
203
|
+
readonly requestsPerMinute: 120;
|
|
204
|
+
readonly orgUnits: {
|
|
205
|
+
readonly limit: 5000000;
|
|
206
|
+
readonly windowSeconds: number;
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
readonly bulkImport: {
|
|
210
|
+
readonly requestsPerMinute: 30;
|
|
211
|
+
readonly orgRequests: {
|
|
212
|
+
readonly limit: 500;
|
|
213
|
+
readonly windowSeconds: number;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
readonly aiLive: {
|
|
217
|
+
readonly requestsPerMinute: 60;
|
|
218
|
+
readonly orgRequests: {
|
|
219
|
+
readonly limit: 5000;
|
|
220
|
+
readonly windowSeconds: number;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
readonly toolLive: {
|
|
224
|
+
readonly requestsPerMinute: 60;
|
|
225
|
+
readonly orgRequests: {
|
|
226
|
+
readonly limit: 5000;
|
|
227
|
+
readonly windowSeconds: number;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
readonly toolDryRun: {
|
|
231
|
+
readonly requestsPerMinute: 120;
|
|
232
|
+
readonly orgRequests: {
|
|
233
|
+
readonly limit: 2000;
|
|
234
|
+
readonly windowSeconds: number;
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
readonly tenantSchema: {
|
|
238
|
+
readonly requestsPerMinute: 60;
|
|
239
|
+
readonly orgRequests: {
|
|
240
|
+
readonly limit: 600;
|
|
241
|
+
readonly windowSeconds: number;
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
readonly maxWriteRowsPerRequest: 50000;
|
|
245
|
+
};
|
|
246
|
+
readonly web: {
|
|
247
|
+
readonly tenantRead: {
|
|
248
|
+
readonly requestsPerMinute: 300;
|
|
249
|
+
readonly orgUnits: {
|
|
250
|
+
readonly limit: 20000000;
|
|
251
|
+
readonly windowSeconds: number;
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
readonly tenantWrite: {
|
|
255
|
+
readonly requestsPerMinute: 180;
|
|
256
|
+
readonly orgUnits: {
|
|
257
|
+
readonly limit: 10000000;
|
|
258
|
+
readonly windowSeconds: number;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
readonly columnRun: {
|
|
262
|
+
readonly requestsPerMinute: 120;
|
|
263
|
+
readonly orgUnits: {
|
|
264
|
+
readonly limit: 500000;
|
|
265
|
+
readonly windowSeconds: number;
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
readonly import: {
|
|
269
|
+
readonly requestsPerMinute: 30;
|
|
270
|
+
readonly orgRequests: {
|
|
271
|
+
readonly limit: 500;
|
|
272
|
+
readonly windowSeconds: number;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
readonly import: {
|
|
277
|
+
readonly maxRowsPerFile: 1000000;
|
|
278
|
+
readonly maxFileBytes: number;
|
|
279
|
+
readonly maxDirectCsvBodyBytes: 10000000;
|
|
280
|
+
};
|
|
281
|
+
readonly agents: {
|
|
282
|
+
readonly maxTotalCredits: 10000;
|
|
283
|
+
readonly maxInferenceCredits: 5000;
|
|
284
|
+
readonly maxUpstreamCostUsd: 10;
|
|
285
|
+
readonly maxUpstreamCostUsdByok: 250;
|
|
286
|
+
};
|
|
287
|
+
readonly copilot: {
|
|
288
|
+
readonly maxSessionBudgetCredits: 5000;
|
|
289
|
+
readonly defaultPerTurnCreditCeiling: 1500;
|
|
290
|
+
};
|
|
291
|
+
readonly signals: {
|
|
292
|
+
readonly maxEvents: 200;
|
|
293
|
+
readonly maxWindowDays: 90;
|
|
294
|
+
};
|
|
295
|
+
readonly tableActions: {
|
|
296
|
+
readonly maxActionsPerRun: 25;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
readonly pro: {
|
|
300
|
+
readonly cli: {
|
|
301
|
+
readonly global: {
|
|
302
|
+
readonly keyRequestsPerMinute: 240;
|
|
303
|
+
readonly orgRequestsPerMinute: 1200;
|
|
304
|
+
};
|
|
305
|
+
readonly tenantRead: {
|
|
306
|
+
readonly requestsPerMinute: 240;
|
|
307
|
+
readonly orgUnits: {
|
|
308
|
+
readonly limit: 50000000;
|
|
309
|
+
readonly windowSeconds: number;
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
readonly tenantWrite: {
|
|
313
|
+
readonly requestsPerMinute: 240;
|
|
314
|
+
readonly orgUnits: {
|
|
315
|
+
readonly limit: 10000000;
|
|
316
|
+
readonly windowSeconds: number;
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
readonly bulkImport: {
|
|
320
|
+
readonly requestsPerMinute: 60;
|
|
321
|
+
readonly orgRequests: {
|
|
322
|
+
readonly limit: 1000;
|
|
323
|
+
readonly windowSeconds: number;
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
readonly aiLive: {
|
|
327
|
+
readonly requestsPerMinute: 120;
|
|
328
|
+
readonly orgRequests: {
|
|
329
|
+
readonly limit: 12000;
|
|
330
|
+
readonly windowSeconds: number;
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
readonly toolLive: {
|
|
334
|
+
readonly requestsPerMinute: 120;
|
|
335
|
+
readonly orgRequests: {
|
|
336
|
+
readonly limit: 12000;
|
|
337
|
+
readonly windowSeconds: number;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
readonly toolDryRun: {
|
|
341
|
+
readonly requestsPerMinute: 120;
|
|
342
|
+
readonly orgRequests: {
|
|
343
|
+
readonly limit: 2000;
|
|
344
|
+
readonly windowSeconds: number;
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
readonly tenantSchema: {
|
|
348
|
+
readonly requestsPerMinute: 60;
|
|
349
|
+
readonly orgRequests: {
|
|
350
|
+
readonly limit: 600;
|
|
351
|
+
readonly windowSeconds: number;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
readonly maxWriteRowsPerRequest: 50000;
|
|
355
|
+
};
|
|
356
|
+
readonly web: {
|
|
357
|
+
readonly tenantRead: {
|
|
358
|
+
readonly requestsPerMinute: 600;
|
|
359
|
+
readonly orgUnits: {
|
|
360
|
+
readonly limit: 40000000;
|
|
361
|
+
readonly windowSeconds: number;
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
readonly tenantWrite: {
|
|
365
|
+
readonly requestsPerMinute: 360;
|
|
366
|
+
readonly orgUnits: {
|
|
367
|
+
readonly limit: 20000000;
|
|
368
|
+
readonly windowSeconds: number;
|
|
369
|
+
};
|
|
370
|
+
};
|
|
371
|
+
readonly columnRun: {
|
|
372
|
+
readonly requestsPerMinute: 240;
|
|
373
|
+
readonly orgUnits: {
|
|
374
|
+
readonly limit: 1000000;
|
|
375
|
+
readonly windowSeconds: number;
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
readonly import: {
|
|
379
|
+
readonly requestsPerMinute: 60;
|
|
380
|
+
readonly orgRequests: {
|
|
381
|
+
readonly limit: 1000;
|
|
382
|
+
readonly windowSeconds: number;
|
|
383
|
+
};
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
readonly import: {
|
|
387
|
+
readonly maxRowsPerFile: 1000000;
|
|
388
|
+
readonly maxFileBytes: number;
|
|
389
|
+
readonly maxDirectCsvBodyBytes: 10000000;
|
|
390
|
+
};
|
|
391
|
+
readonly agents: {
|
|
392
|
+
readonly maxTotalCredits: 25000;
|
|
393
|
+
readonly maxInferenceCredits: 12500;
|
|
394
|
+
readonly maxUpstreamCostUsd: 25;
|
|
395
|
+
readonly maxUpstreamCostUsdByok: 250;
|
|
396
|
+
};
|
|
397
|
+
readonly copilot: {
|
|
398
|
+
readonly maxSessionBudgetCredits: 10000;
|
|
399
|
+
readonly defaultPerTurnCreditCeiling: 2500;
|
|
400
|
+
};
|
|
401
|
+
readonly signals: {
|
|
402
|
+
readonly maxEvents: 200;
|
|
403
|
+
readonly maxWindowDays: 180;
|
|
404
|
+
};
|
|
405
|
+
readonly tableActions: {
|
|
406
|
+
readonly maxActionsPerRun: 25;
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
readonly team: {
|
|
410
|
+
readonly cli: {
|
|
411
|
+
readonly global: {
|
|
412
|
+
readonly keyRequestsPerMinute: 240;
|
|
413
|
+
readonly orgRequestsPerMinute: 2400;
|
|
414
|
+
};
|
|
415
|
+
readonly tenantRead: {
|
|
416
|
+
readonly requestsPerMinute: 480;
|
|
417
|
+
readonly orgUnits: {
|
|
418
|
+
readonly limit: 100000000;
|
|
419
|
+
readonly windowSeconds: number;
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
readonly tenantWrite: {
|
|
423
|
+
readonly requestsPerMinute: 480;
|
|
424
|
+
readonly orgUnits: {
|
|
425
|
+
readonly limit: 25000000;
|
|
426
|
+
readonly windowSeconds: number;
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
readonly bulkImport: {
|
|
430
|
+
readonly requestsPerMinute: 120;
|
|
431
|
+
readonly orgRequests: {
|
|
432
|
+
readonly limit: 2000;
|
|
433
|
+
readonly windowSeconds: number;
|
|
434
|
+
};
|
|
435
|
+
};
|
|
436
|
+
readonly aiLive: {
|
|
437
|
+
readonly requestsPerMinute: 240;
|
|
438
|
+
readonly orgRequests: {
|
|
439
|
+
readonly limit: 30000;
|
|
440
|
+
readonly windowSeconds: number;
|
|
441
|
+
};
|
|
442
|
+
};
|
|
443
|
+
readonly toolLive: {
|
|
444
|
+
readonly requestsPerMinute: 240;
|
|
445
|
+
readonly orgRequests: {
|
|
446
|
+
readonly limit: 30000;
|
|
447
|
+
readonly windowSeconds: number;
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
readonly toolDryRun: {
|
|
451
|
+
readonly requestsPerMinute: 120;
|
|
452
|
+
readonly orgRequests: {
|
|
453
|
+
readonly limit: 2000;
|
|
454
|
+
readonly windowSeconds: number;
|
|
455
|
+
};
|
|
456
|
+
};
|
|
457
|
+
readonly tenantSchema: {
|
|
458
|
+
readonly requestsPerMinute: 60;
|
|
459
|
+
readonly orgRequests: {
|
|
460
|
+
readonly limit: 600;
|
|
461
|
+
readonly windowSeconds: number;
|
|
462
|
+
};
|
|
463
|
+
};
|
|
464
|
+
readonly maxWriteRowsPerRequest: 50000;
|
|
465
|
+
};
|
|
466
|
+
readonly web: {
|
|
467
|
+
readonly tenantRead: {
|
|
468
|
+
readonly requestsPerMinute: 1200;
|
|
469
|
+
readonly orgUnits: {
|
|
470
|
+
readonly limit: 100000000;
|
|
471
|
+
readonly windowSeconds: number;
|
|
472
|
+
};
|
|
473
|
+
};
|
|
474
|
+
readonly tenantWrite: {
|
|
475
|
+
readonly requestsPerMinute: 720;
|
|
476
|
+
readonly orgUnits: {
|
|
477
|
+
readonly limit: 50000000;
|
|
478
|
+
readonly windowSeconds: number;
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
readonly columnRun: {
|
|
482
|
+
readonly requestsPerMinute: 480;
|
|
483
|
+
readonly orgUnits: {
|
|
484
|
+
readonly limit: 2500000;
|
|
485
|
+
readonly windowSeconds: number;
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
readonly import: {
|
|
489
|
+
readonly requestsPerMinute: 120;
|
|
490
|
+
readonly orgRequests: {
|
|
491
|
+
readonly limit: 2000;
|
|
492
|
+
readonly windowSeconds: number;
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
};
|
|
496
|
+
readonly import: {
|
|
497
|
+
readonly maxRowsPerFile: 1000000;
|
|
498
|
+
readonly maxFileBytes: number;
|
|
499
|
+
readonly maxDirectCsvBodyBytes: 10000000;
|
|
500
|
+
};
|
|
501
|
+
readonly agents: {
|
|
502
|
+
readonly maxTotalCredits: 50000;
|
|
503
|
+
readonly maxInferenceCredits: 25000;
|
|
504
|
+
readonly maxUpstreamCostUsd: 50;
|
|
505
|
+
readonly maxUpstreamCostUsdByok: 250;
|
|
506
|
+
};
|
|
507
|
+
readonly copilot: {
|
|
508
|
+
readonly maxSessionBudgetCredits: 20000;
|
|
509
|
+
readonly defaultPerTurnCreditCeiling: 5000;
|
|
510
|
+
};
|
|
511
|
+
readonly signals: {
|
|
512
|
+
readonly maxEvents: 200;
|
|
513
|
+
readonly maxWindowDays: 365;
|
|
514
|
+
};
|
|
515
|
+
readonly tableActions: {
|
|
516
|
+
readonly maxActionsPerRun: 25;
|
|
517
|
+
};
|
|
518
|
+
};
|
|
519
|
+
readonly scale: {
|
|
520
|
+
readonly cli: {
|
|
521
|
+
readonly global: {
|
|
522
|
+
readonly keyRequestsPerMinute: 240;
|
|
523
|
+
readonly orgRequestsPerMinute: 6000;
|
|
524
|
+
};
|
|
525
|
+
readonly tenantRead: {
|
|
526
|
+
readonly requestsPerMinute: 1000;
|
|
527
|
+
readonly orgUnits: {
|
|
528
|
+
readonly limit: 500000000;
|
|
529
|
+
readonly windowSeconds: number;
|
|
530
|
+
};
|
|
531
|
+
};
|
|
532
|
+
readonly tenantWrite: {
|
|
533
|
+
readonly requestsPerMinute: 1000;
|
|
534
|
+
readonly orgUnits: {
|
|
535
|
+
readonly limit: 100000000;
|
|
536
|
+
readonly windowSeconds: number;
|
|
537
|
+
};
|
|
538
|
+
};
|
|
539
|
+
readonly bulkImport: {
|
|
540
|
+
readonly requestsPerMinute: 240;
|
|
541
|
+
readonly orgRequests: {
|
|
542
|
+
readonly limit: 5000;
|
|
543
|
+
readonly windowSeconds: number;
|
|
544
|
+
};
|
|
545
|
+
};
|
|
546
|
+
readonly aiLive: {
|
|
547
|
+
readonly requestsPerMinute: 600;
|
|
548
|
+
readonly orgRequests: {
|
|
549
|
+
readonly limit: 100000;
|
|
550
|
+
readonly windowSeconds: number;
|
|
551
|
+
};
|
|
552
|
+
};
|
|
553
|
+
readonly toolLive: {
|
|
554
|
+
readonly requestsPerMinute: 600;
|
|
555
|
+
readonly orgRequests: {
|
|
556
|
+
readonly limit: 100000;
|
|
557
|
+
readonly windowSeconds: number;
|
|
558
|
+
};
|
|
559
|
+
};
|
|
560
|
+
readonly toolDryRun: {
|
|
561
|
+
readonly requestsPerMinute: 120;
|
|
562
|
+
readonly orgRequests: {
|
|
563
|
+
readonly limit: 2000;
|
|
564
|
+
readonly windowSeconds: number;
|
|
565
|
+
};
|
|
566
|
+
};
|
|
567
|
+
readonly tenantSchema: {
|
|
568
|
+
readonly requestsPerMinute: 60;
|
|
569
|
+
readonly orgRequests: {
|
|
570
|
+
readonly limit: 600;
|
|
571
|
+
readonly windowSeconds: number;
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
readonly maxWriteRowsPerRequest: 50000;
|
|
575
|
+
};
|
|
576
|
+
readonly web: {
|
|
577
|
+
readonly tenantRead: {
|
|
578
|
+
readonly requestsPerMinute: 2000;
|
|
579
|
+
readonly orgUnits: {
|
|
580
|
+
readonly limit: 400000000;
|
|
581
|
+
readonly windowSeconds: number;
|
|
582
|
+
};
|
|
583
|
+
};
|
|
584
|
+
readonly tenantWrite: {
|
|
585
|
+
readonly requestsPerMinute: 1500;
|
|
586
|
+
readonly orgUnits: {
|
|
587
|
+
readonly limit: 200000000;
|
|
588
|
+
readonly windowSeconds: number;
|
|
589
|
+
};
|
|
590
|
+
};
|
|
591
|
+
readonly columnRun: {
|
|
592
|
+
readonly requestsPerMinute: 1000;
|
|
593
|
+
readonly orgUnits: {
|
|
594
|
+
readonly limit: 10000000;
|
|
595
|
+
readonly windowSeconds: number;
|
|
596
|
+
};
|
|
597
|
+
};
|
|
598
|
+
readonly import: {
|
|
599
|
+
readonly requestsPerMinute: 240;
|
|
600
|
+
readonly orgRequests: {
|
|
601
|
+
readonly limit: 5000;
|
|
602
|
+
readonly windowSeconds: number;
|
|
603
|
+
};
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
readonly import: {
|
|
607
|
+
readonly maxRowsPerFile: 1000000;
|
|
608
|
+
readonly maxFileBytes: number;
|
|
609
|
+
readonly maxDirectCsvBodyBytes: 10000000;
|
|
610
|
+
};
|
|
611
|
+
readonly agents: {
|
|
612
|
+
readonly maxTotalCredits: 100000;
|
|
613
|
+
readonly maxInferenceCredits: 50000;
|
|
614
|
+
readonly maxUpstreamCostUsd: 100;
|
|
615
|
+
readonly maxUpstreamCostUsdByok: 250;
|
|
616
|
+
};
|
|
617
|
+
readonly copilot: {
|
|
618
|
+
readonly maxSessionBudgetCredits: 50000;
|
|
619
|
+
readonly defaultPerTurnCreditCeiling: 10000;
|
|
620
|
+
};
|
|
621
|
+
readonly signals: {
|
|
622
|
+
readonly maxEvents: 200;
|
|
623
|
+
readonly maxWindowDays: 365;
|
|
624
|
+
};
|
|
625
|
+
readonly tableActions: {
|
|
626
|
+
readonly maxActionsPerRun: 25;
|
|
627
|
+
};
|
|
628
|
+
};
|
|
629
|
+
};
|
|
630
|
+
/**
|
|
631
|
+
* Map a raw plan-tier string (subscription `tier`, metadata tier, legacy plan
|
|
632
|
+
* key like `growth_250`) onto its enforcement rung. Unknown/absent tiers land
|
|
633
|
+
* on the unentitled "free" rung; enterprise shares "scale".
|
|
634
|
+
*/
|
|
635
|
+
export declare function limitsTierForPlanTier(tier: string | null | undefined): LimitsTier;
|
|
636
|
+
export declare function planLimitsForTier(tier: LimitsTier): PlanLimits;
|