@zapier/zapier-sdk 0.40.3 → 0.41.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/CHANGELOG.md +12 -0
- package/dist/api/polling.js +3 -4
- package/dist/api/schemas.d.ts +1 -0
- package/dist/api/schemas.d.ts.map +1 -1
- package/dist/api/schemas.js +1 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +14 -7
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -2
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +21 -19
- package/dist/index.cjs +143 -105
- package/dist/index.d.mts +2 -1
- package/dist/index.mjs +143 -85
- package/dist/plugins/capabilities/index.d.ts.map +1 -1
- package/dist/plugins/capabilities/index.js +1 -3
- package/dist/plugins/eventEmission/builders.d.ts.map +1 -1
- package/dist/plugins/eventEmission/builders.js +4 -4
- package/dist/plugins/eventEmission/index.d.ts.map +1 -1
- package/dist/plugins/eventEmission/index.js +11 -11
- package/dist/plugins/eventEmission/utils.d.ts.map +1 -1
- package/dist/plugins/eventEmission/utils.js +43 -36
- package/dist/plugins/getConnection/index.d.ts.map +1 -1
- package/dist/plugins/getConnection/index.js +6 -1
- package/dist/plugins/getProfile/index.js +1 -1
- package/dist/plugins/listConnections/index.d.ts.map +1 -1
- package/dist/plugins/listConnections/index.js +5 -2
- package/dist/plugins/tables/createTable/schemas.d.ts +2 -0
- package/dist/plugins/tables/createTable/schemas.d.ts.map +1 -1
- package/dist/plugins/tables/getTable/schemas.d.ts +2 -0
- package/dist/plugins/tables/getTable/schemas.d.ts.map +1 -1
- package/dist/plugins/tables/listTables/schemas.d.ts +5 -1
- package/dist/plugins/tables/listTables/schemas.d.ts.map +1 -1
- package/dist/plugins/tables/listTables/schemas.js +3 -1
- package/dist/plugins/tables/utils.d.ts.map +1 -1
- package/dist/plugins/tables/utils.js +3 -2
- package/dist/utils/batch-utils.d.ts.map +1 -1
- package/dist/utils/batch-utils.js +5 -6
- package/dist/utils/domain-utils.d.ts +7 -1
- package/dist/utils/domain-utils.d.ts.map +1 -1
- package/dist/utils/domain-utils.js +35 -0
- package/dist/utils/url-utils.js +2 -2
- package/package.json +6 -2
package/dist/index.mjs
CHANGED
|
@@ -2,8 +2,6 @@ import { z } from 'zod';
|
|
|
2
2
|
import { ListAppsQuerySchema, AppItemSchema as AppItemSchema$1 } from '@zapier/zapier-sdk-core/v0/schemas/apps';
|
|
3
3
|
import { ListConnectionsQuerySchema as ListConnectionsQuerySchema$1, ConnectionItemSchema as ConnectionItemSchema$1 } from '@zapier/zapier-sdk-core/v0/schemas/connections';
|
|
4
4
|
import { ListClientCredentialsQuerySchema as ListClientCredentialsQuerySchema$1, CreateClientCredentialsRequestSchema, ClientCredentialsItemSchema as ClientCredentialsItemSchema$1, ClientCredentialsCreatedItemSchema as ClientCredentialsCreatedItemSchema$1 } from '@zapier/zapier-sdk-core/v0/schemas/client-credentials';
|
|
5
|
-
import { setTimeout as setTimeout$1 } from 'timers/promises';
|
|
6
|
-
import * as os from 'os';
|
|
7
5
|
|
|
8
6
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
9
7
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
@@ -40,12 +38,12 @@ function isPositional(schema) {
|
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
// src/constants.ts
|
|
43
|
-
var ZAPIER_BASE_URL = process
|
|
41
|
+
var ZAPIER_BASE_URL = globalThis.process?.env?.ZAPIER_BASE_URL || "https://zapier.com";
|
|
44
42
|
var MAX_PAGE_LIMIT = 1e4;
|
|
45
43
|
var DEFAULT_PAGE_SIZE = 100;
|
|
46
44
|
var DEFAULT_ACTION_TIMEOUT_MS = 18e4;
|
|
47
45
|
function parseIntEnvVar(name) {
|
|
48
|
-
const value = process
|
|
46
|
+
const value = globalThis.process?.env?.[name];
|
|
49
47
|
if (value === void 0) return void 0;
|
|
50
48
|
const parsed = parseInt(value, 10);
|
|
51
49
|
if (isNaN(parsed)) {
|
|
@@ -617,6 +615,34 @@ function normalizeActionItem(action) {
|
|
|
617
615
|
type: "action"
|
|
618
616
|
};
|
|
619
617
|
}
|
|
618
|
+
function transformConnectionItem(item) {
|
|
619
|
+
const raw = item;
|
|
620
|
+
const publicId = raw.public_id;
|
|
621
|
+
const accountPublicId = raw.account_public_id;
|
|
622
|
+
const customuserPublicId = raw.customuser_public_id;
|
|
623
|
+
return {
|
|
624
|
+
id: String(publicId ?? item.id),
|
|
625
|
+
date: item.date,
|
|
626
|
+
account_id: String(accountPublicId ?? item.account_id),
|
|
627
|
+
is_invite_only: item.is_invite_only,
|
|
628
|
+
is_private: item.is_private,
|
|
629
|
+
shared_with_all: item.shared_with_all,
|
|
630
|
+
title: item.title,
|
|
631
|
+
lastchanged: item.lastchanged,
|
|
632
|
+
is_stale: item.is_stale,
|
|
633
|
+
is_shared: item.is_shared,
|
|
634
|
+
identifier: item.identifier,
|
|
635
|
+
groups: item.groups,
|
|
636
|
+
members: item.members,
|
|
637
|
+
permissions: item.permissions,
|
|
638
|
+
implementation_id: item.implementation_id,
|
|
639
|
+
profile_id: customuserPublicId ? String(customuserPublicId) : item.profile_id,
|
|
640
|
+
is_expired: item.is_expired,
|
|
641
|
+
expired_at: item.expired_at,
|
|
642
|
+
app_key: item.app_key,
|
|
643
|
+
app_version: item.app_version
|
|
644
|
+
};
|
|
645
|
+
}
|
|
620
646
|
function isSlug(slug) {
|
|
621
647
|
return !!slug.match(/^[a-z0-9]+(?:-[a-z0-9]+)*$/);
|
|
622
648
|
}
|
|
@@ -1599,6 +1625,7 @@ z.object({
|
|
|
1599
1625
|
});
|
|
1600
1626
|
z.object({
|
|
1601
1627
|
id: z.number(),
|
|
1628
|
+
public_id: z.string().optional(),
|
|
1602
1629
|
code: z.string(),
|
|
1603
1630
|
user_id: z.number(),
|
|
1604
1631
|
auto_provisioned: z.boolean(),
|
|
@@ -2104,8 +2131,12 @@ function transformTableItem(apiItem) {
|
|
|
2104
2131
|
created_at: apiItem.created_at,
|
|
2105
2132
|
edited_at: apiItem.edited_at,
|
|
2106
2133
|
kind: apiItem.kind,
|
|
2107
|
-
|
|
2108
|
-
|
|
2134
|
+
account_id: String(
|
|
2135
|
+
apiItem.owner_account_public_id ?? apiItem.owner_account_id
|
|
2136
|
+
),
|
|
2137
|
+
profile_id: String(
|
|
2138
|
+
apiItem.owner_zapier_customuser_public_id ?? apiItem.owner_zapier_customuser_id
|
|
2139
|
+
),
|
|
2109
2140
|
parent_table_id: apiItem.parent_table_id ?? void 0
|
|
2110
2141
|
};
|
|
2111
2142
|
}
|
|
@@ -3321,7 +3352,10 @@ var listConnectionsPlugin = ({ context }) => {
|
|
|
3321
3352
|
authRequired: true
|
|
3322
3353
|
}
|
|
3323
3354
|
);
|
|
3324
|
-
return
|
|
3355
|
+
return {
|
|
3356
|
+
...response,
|
|
3357
|
+
data: response.data.map(transformConnectionItem)
|
|
3358
|
+
};
|
|
3325
3359
|
}
|
|
3326
3360
|
const methodName = stripPageSuffix(listConnectionsPage.name);
|
|
3327
3361
|
const listConnectionsDefinition = createPaginatedFunction(
|
|
@@ -3718,9 +3752,13 @@ var getConnectionPlugin = ({ context }) => {
|
|
|
3718
3752
|
if (!resolvedConnectionId) {
|
|
3719
3753
|
throw new Error("connection is required");
|
|
3720
3754
|
}
|
|
3721
|
-
|
|
3755
|
+
const response = await api.get(
|
|
3722
3756
|
`/api/v0/connections/${encodeURIComponent(String(resolvedConnectionId))}`
|
|
3723
3757
|
);
|
|
3758
|
+
return {
|
|
3759
|
+
...response,
|
|
3760
|
+
data: transformConnectionItem(response.data)
|
|
3761
|
+
};
|
|
3724
3762
|
}
|
|
3725
3763
|
const getConnectionDefinition = createFunction(
|
|
3726
3764
|
getConnection,
|
|
@@ -4680,7 +4718,7 @@ var getProfilePlugin = ({ context }) => {
|
|
|
4680
4718
|
);
|
|
4681
4719
|
return {
|
|
4682
4720
|
data: {
|
|
4683
|
-
id: String(profile.id),
|
|
4721
|
+
id: String(profile.public_id ?? profile.id),
|
|
4684
4722
|
first_name: profile.first_name,
|
|
4685
4723
|
last_name: profile.last_name,
|
|
4686
4724
|
full_name: `${profile.first_name} ${profile.last_name}`,
|
|
@@ -4986,7 +5024,7 @@ async function pollUntilComplete(options) {
|
|
|
4986
5024
|
let attempts = 0;
|
|
4987
5025
|
let errorCount = 0;
|
|
4988
5026
|
if (initialDelay > 0) {
|
|
4989
|
-
await
|
|
5027
|
+
await sleep(initialDelay);
|
|
4990
5028
|
}
|
|
4991
5029
|
while (true) {
|
|
4992
5030
|
const elapsedTime = Date.now() - startTime;
|
|
@@ -5001,7 +5039,7 @@ async function pollUntilComplete(options) {
|
|
|
5001
5039
|
if (attempts > 0) {
|
|
5002
5040
|
const interval = getPollingInterval(elapsedTime);
|
|
5003
5041
|
const waitTime = calculateErrorBackoffMs(interval, errorCount);
|
|
5004
|
-
await
|
|
5042
|
+
await sleep(waitTime);
|
|
5005
5043
|
}
|
|
5006
5044
|
attempts++;
|
|
5007
5045
|
try {
|
|
@@ -5113,8 +5151,8 @@ function getTrackingBaseUrl({
|
|
|
5113
5151
|
if (trackingBaseUrl) {
|
|
5114
5152
|
return trackingBaseUrl;
|
|
5115
5153
|
}
|
|
5116
|
-
if (process
|
|
5117
|
-
return process
|
|
5154
|
+
if (globalThis.process?.env?.ZAPIER_TRACKING_BASE_URL) {
|
|
5155
|
+
return globalThis.process?.env?.ZAPIER_TRACKING_BASE_URL;
|
|
5118
5156
|
}
|
|
5119
5157
|
if (baseUrl) {
|
|
5120
5158
|
const zapierBaseUrl = getZapierBaseUrl(baseUrl);
|
|
@@ -5135,9 +5173,9 @@ function deriveAuthBaseUrl(sdkBaseUrl) {
|
|
|
5135
5173
|
}
|
|
5136
5174
|
function normalizeCredentialsObject(obj, sdkBaseUrl) {
|
|
5137
5175
|
const merged = {
|
|
5138
|
-
clientSecret: process
|
|
5139
|
-
baseUrl: process
|
|
5140
|
-
scope: process
|
|
5176
|
+
clientSecret: globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_SECRET,
|
|
5177
|
+
baseUrl: globalThis.process?.env?.ZAPIER_CREDENTIALS_BASE_URL,
|
|
5178
|
+
scope: globalThis.process?.env?.ZAPIER_CREDENTIALS_SCOPE,
|
|
5141
5179
|
...obj
|
|
5142
5180
|
};
|
|
5143
5181
|
const resolvedBaseUrl = merged.baseUrl || deriveAuthBaseUrl(sdkBaseUrl);
|
|
@@ -5158,47 +5196,47 @@ function normalizeCredentialsObject(obj, sdkBaseUrl) {
|
|
|
5158
5196
|
};
|
|
5159
5197
|
}
|
|
5160
5198
|
function resolveCredentialsFromEnv(sdkBaseUrl) {
|
|
5161
|
-
if (process
|
|
5162
|
-
return process
|
|
5199
|
+
if (globalThis.process?.env?.ZAPIER_CREDENTIALS) {
|
|
5200
|
+
return globalThis.process?.env?.ZAPIER_CREDENTIALS;
|
|
5163
5201
|
}
|
|
5164
|
-
if (process
|
|
5165
|
-
const resolvedBaseUrl = process
|
|
5166
|
-
if (process
|
|
5202
|
+
if (globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_ID) {
|
|
5203
|
+
const resolvedBaseUrl = globalThis.process?.env?.ZAPIER_CREDENTIALS_BASE_URL || deriveAuthBaseUrl(sdkBaseUrl);
|
|
5204
|
+
if (globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_SECRET) {
|
|
5167
5205
|
return {
|
|
5168
5206
|
type: "client_credentials",
|
|
5169
|
-
clientId: process
|
|
5170
|
-
clientSecret: process
|
|
5207
|
+
clientId: globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_ID,
|
|
5208
|
+
clientSecret: globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_SECRET,
|
|
5171
5209
|
baseUrl: resolvedBaseUrl,
|
|
5172
|
-
scope: process
|
|
5210
|
+
scope: globalThis.process?.env?.ZAPIER_CREDENTIALS_SCOPE
|
|
5173
5211
|
};
|
|
5174
5212
|
} else {
|
|
5175
5213
|
return {
|
|
5176
5214
|
type: "pkce",
|
|
5177
|
-
clientId: process
|
|
5215
|
+
clientId: globalThis.process?.env?.ZAPIER_CREDENTIALS_CLIENT_ID,
|
|
5178
5216
|
baseUrl: resolvedBaseUrl,
|
|
5179
|
-
scope: process
|
|
5217
|
+
scope: globalThis.process?.env?.ZAPIER_CREDENTIALS_SCOPE
|
|
5180
5218
|
};
|
|
5181
5219
|
}
|
|
5182
5220
|
}
|
|
5183
|
-
if (process
|
|
5221
|
+
if (globalThis.process?.env?.ZAPIER_TOKEN) {
|
|
5184
5222
|
logDeprecation(
|
|
5185
5223
|
"ZAPIER_TOKEN is deprecated. Use ZAPIER_CREDENTIALS instead."
|
|
5186
5224
|
);
|
|
5187
|
-
return process
|
|
5225
|
+
return globalThis.process?.env?.ZAPIER_TOKEN;
|
|
5188
5226
|
}
|
|
5189
|
-
if (process
|
|
5227
|
+
if (globalThis.process?.env?.ZAPIER_AUTH_CLIENT_ID) {
|
|
5190
5228
|
logDeprecation(
|
|
5191
5229
|
"ZAPIER_AUTH_CLIENT_ID is deprecated. Use ZAPIER_CREDENTIALS_CLIENT_ID instead."
|
|
5192
5230
|
);
|
|
5193
|
-
if (process
|
|
5231
|
+
if (globalThis.process?.env?.ZAPIER_AUTH_BASE_URL) {
|
|
5194
5232
|
logDeprecation(
|
|
5195
5233
|
"ZAPIER_AUTH_BASE_URL is deprecated. Use ZAPIER_CREDENTIALS_BASE_URL instead."
|
|
5196
5234
|
);
|
|
5197
5235
|
}
|
|
5198
|
-
const resolvedBaseUrl = process
|
|
5236
|
+
const resolvedBaseUrl = globalThis.process?.env?.ZAPIER_AUTH_BASE_URL || deriveAuthBaseUrl(sdkBaseUrl);
|
|
5199
5237
|
return {
|
|
5200
5238
|
type: "pkce",
|
|
5201
|
-
clientId: process
|
|
5239
|
+
clientId: globalThis.process?.env?.ZAPIER_AUTH_CLIENT_ID,
|
|
5202
5240
|
baseUrl: resolvedBaseUrl
|
|
5203
5241
|
};
|
|
5204
5242
|
}
|
|
@@ -5370,17 +5408,23 @@ async function getCliLogin() {
|
|
|
5370
5408
|
return cachedCliLogin || void 0;
|
|
5371
5409
|
}
|
|
5372
5410
|
try {
|
|
5373
|
-
|
|
5374
|
-
|
|
5411
|
+
const mod = await import('@zapier/zapier-sdk-cli/login');
|
|
5412
|
+
if (typeof mod.getToken === "function") {
|
|
5413
|
+
cachedCliLogin = mod;
|
|
5414
|
+
return cachedCliLogin;
|
|
5415
|
+
}
|
|
5375
5416
|
} catch {
|
|
5376
5417
|
}
|
|
5377
5418
|
try {
|
|
5378
|
-
|
|
5379
|
-
|
|
5419
|
+
const mod = await import('@zapier/zapier-sdk-cli-login');
|
|
5420
|
+
if (typeof mod.getToken === "function") {
|
|
5421
|
+
cachedCliLogin = mod;
|
|
5422
|
+
return cachedCliLogin;
|
|
5423
|
+
}
|
|
5380
5424
|
} catch {
|
|
5381
|
-
cachedCliLogin = false;
|
|
5382
|
-
return void 0;
|
|
5383
5425
|
}
|
|
5426
|
+
cachedCliLogin = false;
|
|
5427
|
+
return void 0;
|
|
5384
5428
|
}
|
|
5385
5429
|
function injectCliLogin(module) {
|
|
5386
5430
|
cachedCliLogin = module;
|
|
@@ -5908,6 +5952,8 @@ var apiPlugin = (params) => {
|
|
|
5908
5952
|
}
|
|
5909
5953
|
};
|
|
5910
5954
|
};
|
|
5955
|
+
|
|
5956
|
+
// src/utils/batch-utils.ts
|
|
5911
5957
|
var DEFAULT_CONCURRENCY = 10;
|
|
5912
5958
|
var BATCH_START_DELAY_MS = 25;
|
|
5913
5959
|
var DEFAULT_BATCH_TIMEOUT_MS = 18e4;
|
|
@@ -5943,7 +5989,7 @@ async function batch(tasks, options = {}) {
|
|
|
5943
5989
|
try {
|
|
5944
5990
|
let result;
|
|
5945
5991
|
if (taskTimeoutMs !== void 0) {
|
|
5946
|
-
const timeoutPromise =
|
|
5992
|
+
const timeoutPromise = sleep(taskTimeoutMs).then(() => {
|
|
5947
5993
|
throw new ZapierTimeoutError(
|
|
5948
5994
|
`Task timed out after ${taskTimeoutMs}ms`
|
|
5949
5995
|
);
|
|
@@ -5958,7 +6004,7 @@ async function batch(tasks, options = {}) {
|
|
|
5958
6004
|
const isTimeout = error instanceof ZapierTimeoutError;
|
|
5959
6005
|
if (retry && !isTimeout && newErrorCount < MAX_CONSECUTIVE_ERRORS) {
|
|
5960
6006
|
const waitTime = calculateErrorBackoffMs(1e3, newErrorCount);
|
|
5961
|
-
await
|
|
6007
|
+
await sleep(waitTime);
|
|
5962
6008
|
taskQueue.push({
|
|
5963
6009
|
index,
|
|
5964
6010
|
task,
|
|
@@ -5981,7 +6027,7 @@ async function batch(tasks, options = {}) {
|
|
|
5981
6027
|
if (!taskState) break;
|
|
5982
6028
|
await executeTask(taskState);
|
|
5983
6029
|
if (taskQueue.length > 0 && batchDelay > 0) {
|
|
5984
|
-
await
|
|
6030
|
+
await sleep(batchDelay);
|
|
5985
6031
|
}
|
|
5986
6032
|
}
|
|
5987
6033
|
}
|
|
@@ -5990,7 +6036,7 @@ async function batch(tasks, options = {}) {
|
|
|
5990
6036
|
for (let i = 0; i < workerCount; i++) {
|
|
5991
6037
|
workers.push(worker());
|
|
5992
6038
|
if (i < workerCount - 1 && batchDelay > 0) {
|
|
5993
|
-
await
|
|
6039
|
+
await sleep(batchDelay / 10);
|
|
5994
6040
|
}
|
|
5995
6041
|
}
|
|
5996
6042
|
await Promise.all(workers);
|
|
@@ -6044,8 +6090,7 @@ var GATED_FLAGS = [
|
|
|
6044
6090
|
"canDeleteTables"
|
|
6045
6091
|
];
|
|
6046
6092
|
function isEnabledByEnv(key) {
|
|
6047
|
-
|
|
6048
|
-
const value = process.env[toEnvVar(key)];
|
|
6093
|
+
const value = globalThis.process?.env?.[toEnvVar(key)];
|
|
6049
6094
|
if (value === void 0) return void 0;
|
|
6050
6095
|
if (value === "true" || value === "1") return true;
|
|
6051
6096
|
if (value === "false" || value === "0") return false;
|
|
@@ -6090,8 +6135,10 @@ var TableApiItemSchema = z.object({
|
|
|
6090
6135
|
edited_at: z.string(),
|
|
6091
6136
|
kind: z.enum(["table", "virtual_table"]),
|
|
6092
6137
|
owner_account_id: z.number(),
|
|
6138
|
+
owner_account_public_id: z.string().optional(),
|
|
6093
6139
|
owner_user_id: z.number().nullable().optional(),
|
|
6094
6140
|
owner_zapier_customuser_id: z.number(),
|
|
6141
|
+
owner_zapier_customuser_public_id: z.string().optional(),
|
|
6095
6142
|
parent_table_id: z.string().nullable().optional()
|
|
6096
6143
|
});
|
|
6097
6144
|
var ListTablesApiResponseSchema = z.object({
|
|
@@ -6107,7 +6154,7 @@ var TableItemSchema = z.object({
|
|
|
6107
6154
|
created_at: z.string(),
|
|
6108
6155
|
edited_at: z.string(),
|
|
6109
6156
|
kind: z.enum(["table", "virtual_table"]),
|
|
6110
|
-
|
|
6157
|
+
account_id: z.string(),
|
|
6111
6158
|
profile_id: z.string(),
|
|
6112
6159
|
parent_table_id: z.string().optional()
|
|
6113
6160
|
});
|
|
@@ -7843,6 +7890,14 @@ function createTransport(config) {
|
|
|
7843
7890
|
return createNoopTransport();
|
|
7844
7891
|
}
|
|
7845
7892
|
}
|
|
7893
|
+
|
|
7894
|
+
// src/plugins/eventEmission/utils.ts
|
|
7895
|
+
var osModule = null;
|
|
7896
|
+
try {
|
|
7897
|
+
osModule = __require("os");
|
|
7898
|
+
} catch {
|
|
7899
|
+
osModule = null;
|
|
7900
|
+
}
|
|
7846
7901
|
function generateEventId() {
|
|
7847
7902
|
return crypto.randomUUID();
|
|
7848
7903
|
}
|
|
@@ -7850,65 +7905,65 @@ function getCurrentTimestamp() {
|
|
|
7850
7905
|
return Date.now();
|
|
7851
7906
|
}
|
|
7852
7907
|
function getReleaseId() {
|
|
7853
|
-
return process?.env?.SDK_RELEASE_ID || "development";
|
|
7908
|
+
return globalThis.process?.env?.SDK_RELEASE_ID || "development";
|
|
7854
7909
|
}
|
|
7855
7910
|
function getOsInfo() {
|
|
7911
|
+
if (!osModule) {
|
|
7912
|
+
return { platform: null, release: null, architecture: null };
|
|
7913
|
+
}
|
|
7856
7914
|
try {
|
|
7857
7915
|
return {
|
|
7858
|
-
platform:
|
|
7859
|
-
release:
|
|
7860
|
-
architecture:
|
|
7916
|
+
platform: osModule.platform() || null,
|
|
7917
|
+
release: osModule.release() || null,
|
|
7918
|
+
architecture: osModule.arch() || null
|
|
7861
7919
|
};
|
|
7862
7920
|
} catch {
|
|
7863
|
-
return {
|
|
7864
|
-
platform: null,
|
|
7865
|
-
release: null,
|
|
7866
|
-
architecture: null
|
|
7867
|
-
};
|
|
7921
|
+
return { platform: null, release: null, architecture: null };
|
|
7868
7922
|
}
|
|
7869
7923
|
}
|
|
7870
7924
|
function getPlatformVersions() {
|
|
7871
7925
|
const versions = {};
|
|
7872
|
-
if (typeof process?.versions === "object") {
|
|
7873
|
-
for (const [key, value] of Object.entries(process.versions)) {
|
|
7926
|
+
if (typeof globalThis.process?.versions === "object") {
|
|
7927
|
+
for (const [key, value] of Object.entries(globalThis.process.versions)) {
|
|
7874
7928
|
versions[key] = value || null;
|
|
7875
7929
|
}
|
|
7876
7930
|
}
|
|
7877
7931
|
return versions;
|
|
7878
7932
|
}
|
|
7879
7933
|
function isCi() {
|
|
7880
|
-
return !!(process?.env?.CI || process?.env?.CONTINUOUS_INTEGRATION || process?.env?.GITHUB_ACTIONS || process?.env?.JENKINS_URL || process?.env?.GITLAB_CI || process?.env?.CIRCLECI || process?.env?.TRAVIS || process?.env?.BUILDKITE || process?.env?.DRONE || process?.env?.BITBUCKET_PIPELINES_UUID);
|
|
7934
|
+
return !!(globalThis.process?.env?.CI || globalThis.process?.env?.CONTINUOUS_INTEGRATION || globalThis.process?.env?.GITHUB_ACTIONS || globalThis.process?.env?.JENKINS_URL || globalThis.process?.env?.GITLAB_CI || globalThis.process?.env?.CIRCLECI || globalThis.process?.env?.TRAVIS || globalThis.process?.env?.BUILDKITE || globalThis.process?.env?.DRONE || globalThis.process?.env?.BITBUCKET_PIPELINES_UUID);
|
|
7881
7935
|
}
|
|
7882
7936
|
function getCiPlatform() {
|
|
7883
|
-
if (process?.env?.GITHUB_ACTIONS) return "github-actions";
|
|
7884
|
-
if (process?.env?.JENKINS_URL) return "jenkins";
|
|
7885
|
-
if (process?.env?.GITLAB_CI) return "gitlab-ci";
|
|
7886
|
-
if (process?.env?.CIRCLECI) return "circleci";
|
|
7887
|
-
if (process?.env?.TRAVIS) return "travis";
|
|
7888
|
-
if (process?.env?.BUILDKITE) return "buildkite";
|
|
7889
|
-
if (process?.env?.DRONE) return "drone";
|
|
7890
|
-
if (process?.env?.BITBUCKET_PIPELINES_UUID)
|
|
7891
|
-
|
|
7937
|
+
if (globalThis.process?.env?.GITHUB_ACTIONS) return "github-actions";
|
|
7938
|
+
if (globalThis.process?.env?.JENKINS_URL) return "jenkins";
|
|
7939
|
+
if (globalThis.process?.env?.GITLAB_CI) return "gitlab-ci";
|
|
7940
|
+
if (globalThis.process?.env?.CIRCLECI) return "circleci";
|
|
7941
|
+
if (globalThis.process?.env?.TRAVIS) return "travis";
|
|
7942
|
+
if (globalThis.process?.env?.BUILDKITE) return "buildkite";
|
|
7943
|
+
if (globalThis.process?.env?.DRONE) return "drone";
|
|
7944
|
+
if (globalThis.process?.env?.BITBUCKET_PIPELINES_UUID)
|
|
7945
|
+
return "bitbucket-pipelines";
|
|
7946
|
+
if (globalThis.process?.env?.CI || globalThis.process?.env?.CONTINUOUS_INTEGRATION)
|
|
7892
7947
|
return "unknown-ci";
|
|
7893
7948
|
return null;
|
|
7894
7949
|
}
|
|
7895
7950
|
function getMemoryUsage() {
|
|
7896
|
-
if (process?.memoryUsage) {
|
|
7897
|
-
const usage = process.memoryUsage();
|
|
7951
|
+
if (globalThis.process?.memoryUsage) {
|
|
7952
|
+
const usage = globalThis.process.memoryUsage();
|
|
7898
7953
|
return usage.rss || null;
|
|
7899
7954
|
}
|
|
7900
7955
|
return null;
|
|
7901
7956
|
}
|
|
7902
7957
|
function getCpuTime() {
|
|
7903
|
-
if (process?.cpuUsage) {
|
|
7904
|
-
const usage = process.cpuUsage();
|
|
7958
|
+
if (globalThis.process?.cpuUsage) {
|
|
7959
|
+
const usage = globalThis.process.cpuUsage();
|
|
7905
7960
|
return Math.round((usage.user + usage.system) / 1e3);
|
|
7906
7961
|
}
|
|
7907
7962
|
return null;
|
|
7908
7963
|
}
|
|
7909
7964
|
|
|
7910
7965
|
// src/plugins/eventEmission/builders.ts
|
|
7911
|
-
var SDK_VERSION =
|
|
7966
|
+
var SDK_VERSION = globalThis.process?.env?.SDK_VERSION || "unknown";
|
|
7912
7967
|
function createBaseEvent(context = {}) {
|
|
7913
7968
|
return {
|
|
7914
7969
|
event_id: generateEventId(),
|
|
@@ -7949,12 +8004,12 @@ function buildApplicationLifecycleEvent(data, context = {}) {
|
|
|
7949
8004
|
os_release: osInfo.release,
|
|
7950
8005
|
os_architecture: osInfo.architecture,
|
|
7951
8006
|
platform_versions: platformVersions,
|
|
7952
|
-
environment: context.environment ?? (process
|
|
8007
|
+
environment: context.environment ?? (globalThis.process?.env?.NODE_ENV || null),
|
|
7953
8008
|
is_ci_environment: isCi(),
|
|
7954
8009
|
ci_platform: getCiPlatform(),
|
|
7955
8010
|
session_id: null,
|
|
7956
8011
|
metadata: null,
|
|
7957
|
-
process_argv: process
|
|
8012
|
+
process_argv: globalThis.process?.argv || null,
|
|
7958
8013
|
...data,
|
|
7959
8014
|
sdk_version: SDK_VERSION
|
|
7960
8015
|
};
|
|
@@ -7968,7 +8023,7 @@ function buildErrorEventWithContext(data, context = {}) {
|
|
|
7968
8023
|
selected_api: context.selected_api,
|
|
7969
8024
|
app_id: context.app_id,
|
|
7970
8025
|
app_version_id: context.app_version_id,
|
|
7971
|
-
environment: context.environment ?? (process
|
|
8026
|
+
environment: context.environment ?? (globalThis.process?.env?.NODE_ENV || null),
|
|
7972
8027
|
execution_time_before_error_ms: executionTime,
|
|
7973
8028
|
...data,
|
|
7974
8029
|
sdk_version: SDK_VERSION
|
|
@@ -8021,7 +8076,10 @@ function removeExistingListeners() {
|
|
|
8021
8076
|
for (const event of events) {
|
|
8022
8077
|
const listener = registeredListeners[event];
|
|
8023
8078
|
if (listener) {
|
|
8024
|
-
process
|
|
8079
|
+
globalThis.process?.removeListener(
|
|
8080
|
+
event,
|
|
8081
|
+
listener
|
|
8082
|
+
);
|
|
8025
8083
|
}
|
|
8026
8084
|
}
|
|
8027
8085
|
registeredListeners = {};
|
|
@@ -8067,14 +8125,14 @@ async function silentEmit(transport, subject, event, userContextPromise) {
|
|
|
8067
8125
|
}
|
|
8068
8126
|
}
|
|
8069
8127
|
function getTransportConfig(options) {
|
|
8070
|
-
const envTransport = process?.env?.ZAPIER_SDK_TELEMETRY_TRANSPORT;
|
|
8128
|
+
const envTransport = globalThis.process?.env?.ZAPIER_SDK_TELEMETRY_TRANSPORT;
|
|
8071
8129
|
if (envTransport === "noop" || envTransport === "disabled") {
|
|
8072
8130
|
return { type: "noop" };
|
|
8073
8131
|
}
|
|
8074
8132
|
if (envTransport === "console") {
|
|
8075
8133
|
return { type: "console" };
|
|
8076
8134
|
}
|
|
8077
|
-
const endpoint = process?.env?.ZAPIER_SDK_TELEMETRY_ENDPOINT || `${getTrackingBaseUrl({
|
|
8135
|
+
const endpoint = globalThis.process?.env?.ZAPIER_SDK_TELEMETRY_ENDPOINT || `${getTrackingBaseUrl({
|
|
8078
8136
|
trackingBaseUrl: options?.trackingBaseUrl,
|
|
8079
8137
|
baseUrl: options?.baseUrl
|
|
8080
8138
|
})}/api/v4/tracking/event/`;
|
|
@@ -8093,7 +8151,7 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8093
8151
|
callContext: context.options.eventEmission?.callContext,
|
|
8094
8152
|
transport: (
|
|
8095
8153
|
// If env var is set, use it (defaultTransport will be from env)
|
|
8096
|
-
process?.env?.ZAPIER_SDK_TELEMETRY_TRANSPORT ? defaultTransport : (
|
|
8154
|
+
globalThis.process?.env?.ZAPIER_SDK_TELEMETRY_TRANSPORT ? defaultTransport : (
|
|
8097
8155
|
// Otherwise, use option transport or default
|
|
8098
8156
|
context.options.eventEmission?.transport ?? defaultTransport
|
|
8099
8157
|
)
|
|
@@ -8192,7 +8250,7 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8192
8250
|
getUserContext
|
|
8193
8251
|
)
|
|
8194
8252
|
);
|
|
8195
|
-
if (typeof process?.on === "function") {
|
|
8253
|
+
if (typeof globalThis.process?.on === "function") {
|
|
8196
8254
|
removeExistingListeners();
|
|
8197
8255
|
const exitHandler = (code) => {
|
|
8198
8256
|
if (closed) return;
|
|
@@ -8215,7 +8273,7 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8215
8273
|
);
|
|
8216
8274
|
};
|
|
8217
8275
|
registeredListeners.exit = exitHandler;
|
|
8218
|
-
process.on("exit", exitHandler);
|
|
8276
|
+
globalThis.process.on("exit", exitHandler);
|
|
8219
8277
|
const uncaughtExceptionHandler = async (error) => {
|
|
8220
8278
|
let errorEvent = buildErrorEventWithContext({
|
|
8221
8279
|
error_message: error.message || "Unknown error",
|
|
@@ -8238,7 +8296,7 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8238
8296
|
);
|
|
8239
8297
|
};
|
|
8240
8298
|
registeredListeners.uncaughtException = uncaughtExceptionHandler;
|
|
8241
|
-
process.on("uncaughtException", uncaughtExceptionHandler);
|
|
8299
|
+
globalThis.process.on("uncaughtException", uncaughtExceptionHandler);
|
|
8242
8300
|
const unhandledRejectionHandler = async (reason, promise) => {
|
|
8243
8301
|
const errorMessage = reason instanceof Error ? reason.message : typeof reason === "string" ? reason : "Unhandled promise rejection";
|
|
8244
8302
|
const errorStack = reason instanceof Error ? reason.stack : null;
|
|
@@ -8266,7 +8324,7 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8266
8324
|
);
|
|
8267
8325
|
};
|
|
8268
8326
|
registeredListeners.unhandledRejection = unhandledRejectionHandler;
|
|
8269
|
-
process.on("unhandledRejection", unhandledRejectionHandler);
|
|
8327
|
+
globalThis.process.on("unhandledRejection", unhandledRejectionHandler);
|
|
8270
8328
|
const handleSignal = async (signal) => {
|
|
8271
8329
|
shutdownStartTime = Date.now();
|
|
8272
8330
|
const uptime = Date.now() - startupTime;
|
|
@@ -8287,14 +8345,14 @@ var eventEmissionPlugin = ({ context }) => {
|
|
|
8287
8345
|
signalEvent
|
|
8288
8346
|
);
|
|
8289
8347
|
const exitCode = signal === "SIGINT" ? 130 : 143;
|
|
8290
|
-
process.exit(exitCode);
|
|
8348
|
+
globalThis.process.exit(exitCode);
|
|
8291
8349
|
};
|
|
8292
8350
|
const sigintHandler = () => handleSignal("SIGINT");
|
|
8293
8351
|
const sigtermHandler = () => handleSignal("SIGTERM");
|
|
8294
8352
|
registeredListeners.SIGINT = sigintHandler;
|
|
8295
8353
|
registeredListeners.SIGTERM = sigtermHandler;
|
|
8296
|
-
process.on("SIGINT", sigintHandler);
|
|
8297
|
-
process.on("SIGTERM", sigtermHandler);
|
|
8354
|
+
globalThis.process.on("SIGINT", sigintHandler);
|
|
8355
|
+
globalThis.process.on("SIGTERM", sigtermHandler);
|
|
8298
8356
|
}
|
|
8299
8357
|
}
|
|
8300
8358
|
const close = async (exitCode) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqBpD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,QAAA,MAAM,WAAW,uFAIP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqBpD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,QAAA,MAAM,WAAW,uFAIP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAUrD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,EAAE,EACF;IACE,OAAO,CAAC,EAAE;QACR,2BAA2B,CAAC,EAAE,OAAO,CAAC;QACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,mBAAmB,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACrD,EACD,0BAA0B,CA8C3B,CAAC"}
|
|
@@ -27,9 +27,7 @@ const GATED_FLAGS = [
|
|
|
27
27
|
"canDeleteTables",
|
|
28
28
|
];
|
|
29
29
|
function isEnabledByEnv(key) {
|
|
30
|
-
|
|
31
|
-
return undefined;
|
|
32
|
-
const value = process.env[toEnvVar(key)];
|
|
30
|
+
const value = globalThis.process?.env?.[toEnvVar(key)];
|
|
33
31
|
if (value === undefined)
|
|
34
32
|
return undefined;
|
|
35
33
|
if (value === "true" || value === "1")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/plugins/eventEmission/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAgBjB,wBAAgB,eAAe,CAAC,OAAO,GAAE,YAAiB,GAAG,SAAS,CAWrE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,YAAiB,GACzB,kBAAkB,CAYpB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,6BAA6B,EACnC,OAAO,GAAE,YAAiB,GACzB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/plugins/eventEmission/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAgBjB,wBAAgB,eAAe,CAAC,OAAO,GAAE,YAAiB,GAAG,SAAS,CAWrE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,YAAiB,GACzB,kBAAkB,CAYpB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,6BAA6B,EACnC,OAAO,GAAE,YAAiB,GACzB,yBAAyB,CA0B3B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,GAAE,YAAiB,GACzB,kBAAkB,CAkBpB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,YAAiB,GACzB,iBAAiB,CA+BnB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* schema compliance for all event types.
|
|
6
6
|
*/
|
|
7
7
|
import { generateEventId, getCurrentTimestamp, getReleaseId, getOsInfo, getPlatformVersions, getMemoryUsage, getCpuTime, isCi, getCiPlatform, } from "./utils";
|
|
8
|
-
const SDK_VERSION = process
|
|
8
|
+
const SDK_VERSION = globalThis.process?.env?.SDK_VERSION || "unknown";
|
|
9
9
|
// Create base event with auto-populated common fields
|
|
10
10
|
// Kept for backward compatibility but can be replaced with direct construction
|
|
11
11
|
export function createBaseEvent(context = {}) {
|
|
@@ -48,12 +48,12 @@ export function buildApplicationLifecycleEvent(data, context = {}) {
|
|
|
48
48
|
os_release: osInfo.release,
|
|
49
49
|
os_architecture: osInfo.architecture,
|
|
50
50
|
platform_versions: platformVersions,
|
|
51
|
-
environment: context.environment ?? (process
|
|
51
|
+
environment: context.environment ?? (globalThis.process?.env?.NODE_ENV || null),
|
|
52
52
|
is_ci_environment: isCi(),
|
|
53
53
|
ci_platform: getCiPlatform(),
|
|
54
54
|
session_id: null,
|
|
55
55
|
metadata: null,
|
|
56
|
-
process_argv: process
|
|
56
|
+
process_argv: globalThis.process?.argv || null,
|
|
57
57
|
...data,
|
|
58
58
|
sdk_version: SDK_VERSION,
|
|
59
59
|
};
|
|
@@ -69,7 +69,7 @@ export function buildErrorEventWithContext(data, context = {}) {
|
|
|
69
69
|
selected_api: context.selected_api,
|
|
70
70
|
app_id: context.app_id,
|
|
71
71
|
app_version_id: context.app_version_id,
|
|
72
|
-
environment: context.environment ?? (process
|
|
72
|
+
environment: context.environment ?? (globalThis.process?.env?.NODE_ENV || null),
|
|
73
73
|
execution_time_before_error_ms: executionTime,
|
|
74
74
|
...data,
|
|
75
75
|
sdk_version: SDK_VERSION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/eventEmission/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWnE,OAAO,KAAK,EAAgB,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/eventEmission/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWnE,OAAO,KAAK,EAAgB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAyCnE;;;GAGG;AACH,wBAAgB,qBAAqB,SAEpC;AAGD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACrC;AAGD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE;QACb,SAAS,EAAE,cAAc,CAAC;QAC1B,MAAM,EAAE,mBAAmB,CAAC;QAE5B,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;QAErD,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;QAEtC,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;QAEpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAIvB,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACzC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAyFD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,EAAE,EACF;IACE,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,mBAAmB,CAAC;QACpC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,EACD,qBAAqB,CAmVtB,CAAC;AAGF,YAAY,EACV,YAAY,EACZ,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,cAAc,SAAS,CAAC"}
|