@vm0/cli 9.95.1 → 9.96.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/{chunk-WN2AD3KW.js → chunk-IY5MFRXW.js} +268 -97
- package/chunk-IY5MFRXW.js.map +1 -0
- package/index.js +12 -79
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/zero.js +328 -4
- package/zero.js.map +1 -1
- package/chunk-WN2AD3KW.js.map +0 -1
|
@@ -49,7 +49,7 @@ if (DSN) {
|
|
|
49
49
|
Sentry.init({
|
|
50
50
|
dsn: DSN,
|
|
51
51
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
52
|
-
release: "9.
|
|
52
|
+
release: "9.96.1",
|
|
53
53
|
sendDefaultPii: false,
|
|
54
54
|
tracesSampleRate: 0,
|
|
55
55
|
shutdownTimeout: 500,
|
|
@@ -68,7 +68,7 @@ if (DSN) {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
Sentry.setContext("cli", {
|
|
71
|
-
version: "9.
|
|
71
|
+
version: "9.96.1",
|
|
72
72
|
command: process.argv.slice(2).join(" ")
|
|
73
73
|
});
|
|
74
74
|
Sentry.setContext("runtime", {
|
|
@@ -3203,6 +3203,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3203
3203
|
},
|
|
3204
3204
|
"api-token": {
|
|
3205
3205
|
label: "API Token",
|
|
3206
|
+
helpText: "1. Log in to [Ahrefs](https://ahrefs.com) as a workspace owner or admin\n2. Go to **Account settings > API keys**\n3. Create a new API key\n4. Copy the API key and use it in the `Authorization: Bearer <YOUR_API_KEY>` header",
|
|
3206
3207
|
secrets: {
|
|
3207
3208
|
AHREFS_TOKEN: {
|
|
3208
3209
|
label: "API Token",
|
|
@@ -3569,6 +3570,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3569
3570
|
authMethods: {
|
|
3570
3571
|
"api-token": {
|
|
3571
3572
|
label: "API Key",
|
|
3573
|
+
helpText: "1. Log in to [HeyGen](https://app.heygen.com)\n2. Navigate to **Settings > API > API token**\n3. Click to generate your API key\n4. Copy and save the key immediately \u2014 you cannot retrieve it after leaving the page, and regenerating a new key will invalidate the previous one",
|
|
3572
3574
|
secrets: {
|
|
3573
3575
|
HEYGEN_TOKEN: {
|
|
3574
3576
|
label: "API Key",
|
|
@@ -3772,6 +3774,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3772
3774
|
},
|
|
3773
3775
|
"api-token": {
|
|
3774
3776
|
label: "Access Token",
|
|
3777
|
+
helpText: "1. Go to the [Dropbox App Console](https://www.dropbox.com/developers/apps)\n2. Select your app (or create a new one)\n3. Click the button to generate an access token for your own account\n4. Copy the generated OAuth 2 access token",
|
|
3775
3778
|
secrets: {
|
|
3776
3779
|
DROPBOX_TOKEN: {
|
|
3777
3780
|
label: "Access Token",
|
|
@@ -3836,6 +3839,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3836
3839
|
authMethods: {
|
|
3837
3840
|
"api-token": {
|
|
3838
3841
|
label: "Access Token",
|
|
3842
|
+
helpText: "1. Sign up at the [Intercom Developer Hub](https://app.intercom.com/admins/sign_up/developer) on your Intercom workspace\n2. Create a new app in the Developer Hub\n3. Navigate to **Configure > Authentication** within your app in the [Developer Hub](https://app.intercom.io/a/apps/_/developer-hub/app-packages)\n4. Copy your access token",
|
|
3839
3843
|
secrets: {
|
|
3840
3844
|
INTERCOM_TOKEN: {
|
|
3841
3845
|
label: "Access Token",
|
|
@@ -3855,6 +3859,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3855
3859
|
authMethods: {
|
|
3856
3860
|
"api-token": {
|
|
3857
3861
|
label: "API Key",
|
|
3862
|
+
helpText: "1. Log in to [Instantly](https://app.instantly.ai)\n2. Navigate to **Settings > Integrations** at https://app.instantly.ai/app/settings/integrations\n3. Click the **API Keys** section in the left sidebar\n4. Click the **Create API Key** button\n5. Enter a name for the API key\n6. Select the scopes (permissions) you want the API key to have\n7. Click **Create**\n8. Copy the key and store it in a secure place (it will only be displayed once)",
|
|
3858
3863
|
secrets: {
|
|
3859
3864
|
INSTANTLY_API_KEY: {
|
|
3860
3865
|
label: "API Key",
|
|
@@ -3875,6 +3880,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3875
3880
|
authMethods: {
|
|
3876
3881
|
"api-token": {
|
|
3877
3882
|
label: "Personal Access Token",
|
|
3883
|
+
helpText: '1. Log in to [Jam](https://jam.dev)\n2. Go to **Settings > Integrations > AI Agents**\n3. Scroll down to the **Personal Access Tokens** section\n4. Click **Create token**\n5. Enter a name for the token (e.g., "Cursor" or "Claude Code")\n6. Choose an expiration period (7 days, 30 days, 90 days, or 1 year)\n7. Select at least one scope (`mcp:read` for viewing or `mcp:write` for editing)\n8. Click **Create**\n9. Copy the token immediately (it will not be displayed again)',
|
|
3878
3884
|
secrets: {
|
|
3879
3885
|
JAM_TOKEN: {
|
|
3880
3886
|
label: "Personal Access Token",
|
|
@@ -3897,6 +3903,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3897
3903
|
authMethods: {
|
|
3898
3904
|
"api-token": {
|
|
3899
3905
|
label: "API Token",
|
|
3906
|
+
helpText: "1. Go to [Atlassian API token management](https://id.atlassian.com/manage-profile/security/api-tokens)\n2. Log in to your Atlassian account\n3. Click **Create API token**\n4. Enter a name that describes what the token is for\n5. Choose an expiration date (between 1 and 365 days)\n6. Click **Create**\n7. Click **Copy to clipboard** and save the token in a secure place (you cannot recover it later)",
|
|
3900
3907
|
secrets: {
|
|
3901
3908
|
JIRA_API_TOKEN: {
|
|
3902
3909
|
label: "API Token",
|
|
@@ -3949,6 +3956,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
3949
3956
|
authMethods: {
|
|
3950
3957
|
"api-token": {
|
|
3951
3958
|
label: "API Key",
|
|
3959
|
+
helpText: "1. Log in to [Kommo](https://www.kommo.com) and create a **private integration**\n2. Go to the **Keys and Scopes** tab in your private integration settings\n3. Click **Generate long-lived token**\n4. Set the token expiration date (from 1 day to 5 years)\n5. Copy and save the token immediately (it will only be displayed once)",
|
|
3952
3960
|
secrets: {
|
|
3953
3961
|
KOMMO_API_KEY: {
|
|
3954
3962
|
label: "API Key",
|
|
@@ -4015,6 +4023,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4015
4023
|
authMethods: {
|
|
4016
4024
|
"api-token": {
|
|
4017
4025
|
label: "API Token",
|
|
4026
|
+
helpText: "1. Log in to [Make](https://www.make.com)\n2. Click your **avatar** at the bottom-left corner\n3. Select **Profile**, then open the **API** tab\n4. Click **Add token**\n5. Enter a **Label** (custom name to identify the token)\n6. Select the required **Scopes** (permissions)\n7. Click **Save**\n8. Copy the token and store it in a safe place (it will be hidden once you leave the page)",
|
|
4018
4027
|
secrets: {
|
|
4019
4028
|
MAKE_TOKEN: {
|
|
4020
4029
|
label: "API Token",
|
|
@@ -4076,6 +4085,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4076
4085
|
},
|
|
4077
4086
|
"api-token": {
|
|
4078
4087
|
label: "API Token",
|
|
4088
|
+
helpText: "1. Create a [Deel](https://app.deel.com) account and verify your email\n2. Navigate to the **Developer Center**\n3. Select the **API Sandbox** tab (or **Production** for live credentials)\n4. Click **Create Sandbox** and enter a unique email and password\n5. Click **Confirm** to finalize sandbox creation\n6. Locate your **API Key / Access Token** in the Developer Center\n7. Copy and store the token securely",
|
|
4079
4089
|
secrets: {
|
|
4080
4090
|
DEEL_TOKEN: {
|
|
4081
4091
|
label: "API Token",
|
|
@@ -4109,6 +4119,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4109
4119
|
authMethods: {
|
|
4110
4120
|
"api-token": {
|
|
4111
4121
|
label: "API Key",
|
|
4122
|
+
helpText: "1. Go to the [DeepSeek Platform](https://platform.deepseek.com/api_keys)\n2. Sign up for an account or log in\n3. Navigate to the **API Keys** page\n4. Create a new API key and copy it",
|
|
4112
4123
|
secrets: {
|
|
4113
4124
|
DEEPSEEK_TOKEN: {
|
|
4114
4125
|
label: "API Key",
|
|
@@ -4129,6 +4140,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4129
4140
|
authMethods: {
|
|
4130
4141
|
"api-token": {
|
|
4131
4142
|
label: "API Token",
|
|
4143
|
+
helpText: "1. Log in to [ClickUp](https://app.clickup.com)\n2. Click your avatar in the upper-right corner and select **Settings**\n3. In the sidebar, click **Apps** (or visit [app.clickup.com/settings/apps](https://app.clickup.com/settings/apps))\n4. Under the **API Token** section, click **Generate** (or **Regenerate** if you already have one)\n5. Click **Copy** to copy the personal token (tokens start with `pk_` and never expire)",
|
|
4132
4144
|
secrets: {
|
|
4133
4145
|
CLICKUP_TOKEN: {
|
|
4134
4146
|
label: "API Token",
|
|
@@ -4202,6 +4214,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4202
4214
|
authMethods: {
|
|
4203
4215
|
"api-token": {
|
|
4204
4216
|
label: "API Key",
|
|
4217
|
+
helpText: "1. Log in to the [Cronlytic dashboard](https://www.cronlytic.com/dashboard)\n2. Go to the **API Keys** section\n3. Click **Generate New API Key**\n4. Copy your **API Key** and **User ID** (both are required for authentication via `X-API-Key` and `X-User-ID` headers)",
|
|
4205
4218
|
secrets: {
|
|
4206
4219
|
CRONLYTIC_API_KEY: {
|
|
4207
4220
|
label: "API Key",
|
|
@@ -4226,6 +4239,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4226
4239
|
authMethods: {
|
|
4227
4240
|
"api-token": {
|
|
4228
4241
|
label: "API Token",
|
|
4242
|
+
helpText: "1. Log in to your [Customer.io](https://fly.customer.io) account\n2. Go to **Account Settings > [API Credentials](https://fly.customer.io/settings/api_credentials)**\n3. Locate your **Site ID** and **API Key** on the Track API Keys page\n4. Copy both values (they are used together as basic authentication credentials in the format `site_id:api_key`, Base64-encoded)",
|
|
4229
4243
|
secrets: {
|
|
4230
4244
|
CUSTOMERIO_APP_TOKEN: {
|
|
4231
4245
|
label: "App API Key",
|
|
@@ -4245,6 +4259,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4245
4259
|
authMethods: {
|
|
4246
4260
|
"api-token": {
|
|
4247
4261
|
label: "API Key",
|
|
4262
|
+
helpText: "1. Log in to [Dify](https://cloud.dify.ai)\n2. Open your app and navigate to **API Access** in the left sidebar\n3. Click to generate new API credentials\n4. Copy the API key",
|
|
4248
4263
|
secrets: {
|
|
4249
4264
|
DIFY_TOKEN: {
|
|
4250
4265
|
label: "API Key",
|
|
@@ -4280,6 +4295,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4280
4295
|
},
|
|
4281
4296
|
"api-token": {
|
|
4282
4297
|
label: "Personal Access Token",
|
|
4298
|
+
helpText: "1. Log in to [Figma](https://www.figma.com) and open the file browser\n2. Click the account menu in the top-left corner and select **Settings**\n3. Select the **Security** tab\n4. Scroll to the **Personal access tokens** section and click **Generate new token**\n5. Enter a name for the token, assign the desired scopes, and press Return/Enter\n6. Copy the generated token immediately \u2014 it will not be shown again",
|
|
4283
4299
|
secrets: {
|
|
4284
4300
|
FIGMA_TOKEN: {
|
|
4285
4301
|
label: "Personal Access Token",
|
|
@@ -4356,6 +4372,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4356
4372
|
authMethods: {
|
|
4357
4373
|
"api-token": {
|
|
4358
4374
|
label: "API Key",
|
|
4375
|
+
helpText: "1. Log in to [MiniMax Platform](https://platform.minimax.io)\n2. Go to **User Center > Basic Information > Interface Key**\n3. Create a new API key\n4. Copy the key",
|
|
4359
4376
|
secrets: {
|
|
4360
4377
|
MINIMAX_TOKEN: {
|
|
4361
4378
|
label: "API Key",
|
|
@@ -4376,6 +4393,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4376
4393
|
authMethods: {
|
|
4377
4394
|
"api-token": {
|
|
4378
4395
|
label: "API Token",
|
|
4396
|
+
helpText: "1. Log in to [Reportei](https://app.reportei.com)\n2. Go to **Company Settings** (Configura\xE7\xF5es da Empresa)\n3. Navigate to the **API Reportei** section\n4. Click **Generate new token** or copy your existing token",
|
|
4379
4397
|
secrets: {
|
|
4380
4398
|
REPORTEI_TOKEN: {
|
|
4381
4399
|
label: "API Token",
|
|
@@ -4396,6 +4414,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4396
4414
|
authMethods: {
|
|
4397
4415
|
"api-token": {
|
|
4398
4416
|
label: "API Key",
|
|
4417
|
+
helpText: "1. Go to [SerpApi](https://serpapi.com) and sign up for an account (free plan available with 250 searches/month)\n2. Log in and go to your [Dashboard](https://serpapi.com/dashboard)\n3. Your API key is displayed on the dashboard\n4. Copy the API key",
|
|
4399
4418
|
secrets: {
|
|
4400
4419
|
SERPAPI_TOKEN: {
|
|
4401
4420
|
label: "API Key",
|
|
@@ -4597,6 +4616,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4597
4616
|
},
|
|
4598
4617
|
"api-token": {
|
|
4599
4618
|
label: "API Key",
|
|
4619
|
+
helpText: "1. Log in to [Neon Console](https://console.neon.tech)\n2. Navigate to **Account settings > API keys**\n3. Click the button to create a new API key\n4. Copy and store the secret token immediately (it is only displayed once)",
|
|
4600
4620
|
secrets: {
|
|
4601
4621
|
NEON_TOKEN: {
|
|
4602
4622
|
label: "API Key",
|
|
@@ -4755,6 +4775,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
4755
4775
|
},
|
|
4756
4776
|
"api-token": {
|
|
4757
4777
|
label: "Personal API Key",
|
|
4778
|
+
helpText: "1. Log in to [PostHog](https://app.posthog.com)\n2. Navigate to **Personal API keys** in your account settings\n3. Click **+ Create a personal API Key**\n4. Enter a descriptive label for the key\n5. Choose the scopes (permissions) required for your use case\n6. Copy the key immediately (it will not be shown again after refreshing the page)",
|
|
4758
4779
|
secrets: {
|
|
4759
4780
|
POSTHOG_TOKEN: {
|
|
4760
4781
|
label: "Personal API Key",
|
|
@@ -5046,6 +5067,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5046
5067
|
},
|
|
5047
5068
|
"api-token": {
|
|
5048
5069
|
label: "Service Role Key",
|
|
5070
|
+
helpText: "1. Log in to the [Supabase Dashboard](https://supabase.com/dashboard)\n2. Open your project's **Connect** dialog, or go to **Project Settings > API Keys**\n3. For legacy keys, copy the `anon` key (for client-side) or `service_role` key (for server-side) from the **Legacy API Keys** tab\n4. For new keys, open the **API Keys** tab, click **Create new API Keys** if needed, and copy the value from the **Publishable key** section",
|
|
5049
5071
|
secrets: {
|
|
5050
5072
|
SUPABASE_TOKEN: {
|
|
5051
5073
|
label: "Service Role Key",
|
|
@@ -5120,6 +5142,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5120
5142
|
},
|
|
5121
5143
|
"api-token": {
|
|
5122
5144
|
label: "Site Token",
|
|
5145
|
+
helpText: "1. Log in to [Webflow](https://webflow.com) (site administrator access required)\n2. In your workspace, find the site and click the gear icon to open **Site Settings**\n3. In the left sidebar, select **Apps & integrations**\n4. Scroll to the bottom of the page to the **API access** section\n5. Click **Generate API token**\n6. Enter a name for your token and choose the required scopes\n7. Click **Generate token**\n8. Copy the generated token and save it in a secure location",
|
|
5123
5146
|
secrets: {
|
|
5124
5147
|
WEBFLOW_TOKEN: {
|
|
5125
5148
|
label: "Site Token",
|
|
@@ -5161,6 +5184,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5161
5184
|
authMethods: {
|
|
5162
5185
|
"api-token": {
|
|
5163
5186
|
label: "Permanent Access Token",
|
|
5187
|
+
helpText: "1. Navigate to your [Wrike](https://www.wrike.com) workspace\n2. Click on your **profile icon** in the navigation bar\n3. Select **Apps & Integrations**\n4. Click on **API**\n5. Click **+ App**\n6. Enter a name for your integration\n7. Click **Get Token** at the bottom of the window\n8. Copy and securely store your token \u2014 it will not be shown again after closing the page\n9. Click **Save**",
|
|
5164
5188
|
secrets: {
|
|
5165
5189
|
WRIKE_TOKEN: {
|
|
5166
5190
|
label: "Permanent Access Token",
|
|
@@ -5360,6 +5384,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5360
5384
|
authMethods: {
|
|
5361
5385
|
"api-token": {
|
|
5362
5386
|
label: "API Key",
|
|
5387
|
+
helpText: "1. Log in to [OpenAI Platform](https://platform.openai.com)\n2. Navigate to the [API Keys](https://platform.openai.com/api-keys) page in the dashboard\n3. Create a new API key\n4. Copy and store the key in a safe location",
|
|
5363
5388
|
secrets: {
|
|
5364
5389
|
OPENAI_TOKEN: {
|
|
5365
5390
|
label: "API Key",
|
|
@@ -5380,6 +5405,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5380
5405
|
authMethods: {
|
|
5381
5406
|
"api-token": {
|
|
5382
5407
|
label: "API Key",
|
|
5408
|
+
helpText: "1. Log in to the [Similarweb platform](https://pro.similarweb.com/) (admin access required)\n2. From the main menu on the left, select **Settings & Help**, then select **Account**\n3. Under **Data Tools**, select either **REST API** or **Batch API**\n4. Click **Generate a New API Key** on the right\n5. Type the name of the API key, then select whether this is for yourself or another user\n6. Click **Create** \u2014 your key will be displayed in the Generated Keys table\n7. In the Generated Keys table, ensure the **Activation** toggle is on for the relevant API key",
|
|
5383
5409
|
secrets: {
|
|
5384
5410
|
SIMILARWEB_TOKEN: {
|
|
5385
5411
|
label: "API Key",
|
|
@@ -5400,6 +5426,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5400
5426
|
authMethods: {
|
|
5401
5427
|
"api-token": {
|
|
5402
5428
|
label: "API Key",
|
|
5429
|
+
helpText: '1. Log in to the [Perplexity Console](https://console.perplexity.ai)\n2. Navigate to the **API Groups** page and create an API group (e.g., "Production" or "Development")\n3. Go to the **API Keys** page\n4. Generate a new API key\n5. Store the key immediately and securely (you will only see the full token value once)',
|
|
5403
5430
|
secrets: {
|
|
5404
5431
|
PERPLEXITY_TOKEN: {
|
|
5405
5432
|
label: "API Key",
|
|
@@ -5452,6 +5479,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5452
5479
|
},
|
|
5453
5480
|
"api-token": {
|
|
5454
5481
|
label: "API Key",
|
|
5482
|
+
helpText: "1. Log in to [Mailchimp](https://mailchimp.com)\n2. Click your **profile icon** and select **Profile**\n3. Click the **Extras** dropdown menu, then choose **API keys**\n4. In the **Your API Keys** section, click **Create A Key**\n5. Enter a descriptive name for the key\n6. Click **Generate Key**\n7. Click **Copy Key to Clipboard** and store it in a secure place (you will not be able to see or copy it again)\n8. Click **Done**",
|
|
5455
5483
|
secrets: {
|
|
5456
5484
|
MAILCHIMP_TOKEN: {
|
|
5457
5485
|
label: "API Key",
|
|
@@ -5477,6 +5505,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5477
5505
|
authMethods: {
|
|
5478
5506
|
"api-token": {
|
|
5479
5507
|
label: "API Access Token",
|
|
5508
|
+
helpText: "1. Log in to [Chatwoot](https://app.chatwoot.com) with an administrator account\n2. Click on your **avatar image** in the bottom left corner of the screen\n3. Select **Profile Settings** from the menu\n4. Scroll to the bottom of the Profile Settings page\n5. Copy the **Personal Access Token** displayed there",
|
|
5480
5509
|
secrets: {
|
|
5481
5510
|
CHATWOOT_TOKEN: {
|
|
5482
5511
|
label: "API Access Token",
|
|
@@ -5498,6 +5527,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5498
5527
|
authMethods: {
|
|
5499
5528
|
"api-token": {
|
|
5500
5529
|
label: "API Key",
|
|
5530
|
+
helpText: "1. Log in to [Resend](https://resend.com)\n2. Navigate to the [API Keys](https://resend.com/api-keys) page\n3. Click **Create API Key**\n4. Enter a name for your key (up to 50 characters)\n5. Select the permission level: **Full access** or **Sending access**\n6. If choosing sending access, select which domain the key can access\n7. Copy the generated API key",
|
|
5501
5531
|
secrets: {
|
|
5502
5532
|
RESEND_TOKEN: {
|
|
5503
5533
|
label: "API Key",
|
|
@@ -5518,6 +5548,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5518
5548
|
authMethods: {
|
|
5519
5549
|
"api-token": {
|
|
5520
5550
|
label: "Secret API Key",
|
|
5551
|
+
helpText: "1. Log in to [RevenueCat](https://app.revenuecat.com)\n2. Navigate to the **API keys** section in your project dashboard\n3. Public API keys are automatically created when you add an app to your project\n4. To create a secret API key, click **+ New secret API key** in the API keys section\n5. Copy and store the key securely (never embed secret keys in client-side code)",
|
|
5521
5552
|
secrets: {
|
|
5522
5553
|
REVENUECAT_TOKEN: {
|
|
5523
5554
|
label: "Secret API Key",
|
|
@@ -5538,6 +5569,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5538
5569
|
authMethods: {
|
|
5539
5570
|
"api-token": {
|
|
5540
5571
|
label: "API Key",
|
|
5572
|
+
helpText: "1. Register for an account at [PDF4me](https://portal.pdf4me.com) using email/password or via Google, Microsoft, Apple, or Facebook\n2. Go to the **Billing Info** section and select **Start Free Trial**\n3. After activation, you will be redirected to the **Dashboard**\n4. Find and copy your API Key from the Dashboard",
|
|
5541
5573
|
secrets: {
|
|
5542
5574
|
PDF4ME_TOKEN: {
|
|
5543
5575
|
label: "API Key",
|
|
@@ -5579,6 +5611,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5579
5611
|
authMethods: {
|
|
5580
5612
|
"api-token": {
|
|
5581
5613
|
label: "Webhook URL",
|
|
5614
|
+
helpText: "1. Log in to your [Bitrix24](https://www.bitrix24.com) account\n2. Go to **Applications > Developer resources**\n3. Select the **Ready-made scenarios** tab\n4. Choose **Other > Incoming webhook**\n5. Configure the webhook name and set access permissions\n6. Click **Execute** to test the webhook\n7. Copy the generated webhook URL, which contains your secret code in the format `https://<domain>/rest/1/<secret-code>/<method>.json`",
|
|
5582
5615
|
secrets: {
|
|
5583
5616
|
BITRIX_WEBHOOK_URL: {
|
|
5584
5617
|
label: "Webhook URL",
|
|
@@ -5620,6 +5653,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5620
5653
|
authMethods: {
|
|
5621
5654
|
"api-token": {
|
|
5622
5655
|
label: "API Key",
|
|
5656
|
+
helpText: "1. Go to the [Brave Search API dashboard](https://api-dashboard.search.brave.com/register) and sign up for an account\n2. Provide a credit card for identity verification (free plans will not be charged)\n3. After registration, your API key will be available in the dashboard\n4. Copy the API key and use it in the `X-Subscription-Token` request header",
|
|
5623
5657
|
secrets: {
|
|
5624
5658
|
BRAVE_API_KEY: {
|
|
5625
5659
|
label: "API Key",
|
|
@@ -5661,6 +5695,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5661
5695
|
authMethods: {
|
|
5662
5696
|
"api-token": {
|
|
5663
5697
|
label: "API Token",
|
|
5698
|
+
helpText: "1. Sign up for a [Browserbase](https://www.browserbase.com/sign-up) account\n2. Log in and navigate to the **Overview** dashboard\n3. Your **Project ID** and **API key** are displayed on the right side of the Overview page\n4. Copy the API key",
|
|
5664
5699
|
secrets: {
|
|
5665
5700
|
BROWSERBASE_TOKEN: {
|
|
5666
5701
|
label: "API Token",
|
|
@@ -5685,6 +5720,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5685
5720
|
authMethods: {
|
|
5686
5721
|
"api-token": {
|
|
5687
5722
|
label: "API Token",
|
|
5723
|
+
helpText: "1. Sign up or log in at [Browserless](https://browserless.io/account/)\n2. Navigate to the account dashboard\n3. Copy your API token from the dashboard",
|
|
5688
5724
|
secrets: {
|
|
5689
5725
|
BROWSERLESS_TOKEN: {
|
|
5690
5726
|
label: "API Token",
|
|
@@ -5704,6 +5740,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5704
5740
|
authMethods: {
|
|
5705
5741
|
"api-token": {
|
|
5706
5742
|
label: "API Token",
|
|
5743
|
+
helpText: "1. Log in to [Fireflies](https://fireflies.ai)\n2. Navigate to the **Integrations** section\n3. Click on **Fireflies API**\n4. Copy your API key and store it securely",
|
|
5707
5744
|
secrets: {
|
|
5708
5745
|
FIREFLIES_TOKEN: {
|
|
5709
5746
|
label: "API Token",
|
|
@@ -5783,6 +5820,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5783
5820
|
authMethods: {
|
|
5784
5821
|
"api-token": {
|
|
5785
5822
|
label: "API Key",
|
|
5823
|
+
helpText: "1. Log in to [ElevenLabs](https://elevenlabs.io)\n2. Go to [Settings > API Keys](https://elevenlabs.io/app/settings/api-keys)\n3. Click to create a new API key\n4. Copy the key and store it securely",
|
|
5786
5824
|
secrets: {
|
|
5787
5825
|
ELEVENLABS_TOKEN: {
|
|
5788
5826
|
label: "API Key",
|
|
@@ -5803,6 +5841,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5803
5841
|
authMethods: {
|
|
5804
5842
|
"api-token": {
|
|
5805
5843
|
label: "API Key",
|
|
5844
|
+
helpText: "1. Log in to the [Explorium Admin Portal](https://admin.explorium.ai)\n2. Navigate to **Access & Authentication > Getting Your API Key**\n3. Click the **Show Key** button to reveal the masked API key\n4. Click the **Copy Key** button to copy it",
|
|
5806
5845
|
secrets: {
|
|
5807
5846
|
EXPLORIUM_TOKEN: {
|
|
5808
5847
|
label: "API Key",
|
|
@@ -5823,6 +5862,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5823
5862
|
authMethods: {
|
|
5824
5863
|
"api-token": {
|
|
5825
5864
|
label: "API Key",
|
|
5865
|
+
helpText: "1. Log in to [DEV.to](https://dev.to)\n2. Go to **Settings > Extensions** (or visit [dev.to/settings/extensions](https://dev.to/settings/extensions))\n3. Generate a new API key from the settings page\n4. Copy the API key and use it in the `api-key` request header",
|
|
5826
5866
|
secrets: {
|
|
5827
5867
|
DEVTO_TOKEN: {
|
|
5828
5868
|
label: "API Key",
|
|
@@ -5843,6 +5883,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5843
5883
|
authMethods: {
|
|
5844
5884
|
"api-token": {
|
|
5845
5885
|
label: "API Key",
|
|
5886
|
+
helpText: "1. Go to the [fal Dashboard Keys page](https://fal.ai/dashboard/keys)\n2. Click the **Create Key** button\n3. Provide a name for your key and select the appropriate scope (**API** for calling models, or **ADMIN** for full access)\n4. Copy the key immediately \u2014 you will not be able to see it again",
|
|
5846
5887
|
secrets: {
|
|
5847
5888
|
FAL_TOKEN: {
|
|
5848
5889
|
label: "API Key",
|
|
@@ -5863,6 +5904,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5863
5904
|
authMethods: {
|
|
5864
5905
|
"api-token": {
|
|
5865
5906
|
label: "API Key",
|
|
5907
|
+
helpText: "1. Open the [Granola](https://granola.ai) desktop app\n2. Go to **Settings > API**\n3. Click the **Create new key** button\n4. Choose a key type (if prompted) and click **Generate API Key**\n5. Copy and save the API key securely",
|
|
5866
5908
|
secrets: {
|
|
5867
5909
|
GRANOLA_TOKEN: {
|
|
5868
5910
|
label: "API Key",
|
|
@@ -5883,6 +5925,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5883
5925
|
authMethods: {
|
|
5884
5926
|
"api-token": {
|
|
5885
5927
|
label: "API Token",
|
|
5928
|
+
helpText: "1. Log in to [Podchaser](https://www.podchaser.com)\n2. Go to [Profile > Settings > API](https://www.podchaser.com/profile/settings/api) to retrieve your **API Key** and **API Secret**\n3. Request an access token by sending a POST request to `https://api.podchaser.com/graphql` using the `requestAccessToken` mutation with `grant_type` set to `CLIENT_CREDENTIALS`, your API Key as `client_id`, and your API Secret as `client_secret`\n4. Store the returned access token (it lasts 1 year)",
|
|
5886
5929
|
secrets: {
|
|
5887
5930
|
PODCHASER_TOKEN: {
|
|
5888
5931
|
label: "API Token",
|
|
@@ -5951,6 +5994,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5951
5994
|
authMethods: {
|
|
5952
5995
|
"api-token": {
|
|
5953
5996
|
label: "Access Token",
|
|
5997
|
+
helpText: "1. Log in to [Qiita](https://qiita.com)\n2. Go to **Settings > Applications**\n3. Create a new access token with the desired scopes (e.g., `read_qiita`, `write_qiita`)\n4. Copy the generated token\n5. Use it in API requests with the header `Authorization: Bearer [your_token]`",
|
|
5954
5998
|
secrets: {
|
|
5955
5999
|
QIITA_TOKEN: {
|
|
5956
6000
|
label: "Access Token",
|
|
@@ -5971,6 +6015,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5971
6015
|
authMethods: {
|
|
5972
6016
|
"api-token": {
|
|
5973
6017
|
label: "Send Mail Token",
|
|
6018
|
+
helpText: "1. Log in to [ZeptoMail](https://zeptomail.zoho.com)\n2. Select the Mail Agent for which you want to generate the API key\n3. Go to the **SMTP/API** tab\n4. In the **API** section, copy the **Agent alias** (agentkey)\n5. Submit a POST request to `https://api.zeptomail.com/v1.1/agents/{agentkey}/apikeys` with an `Authorization: Zoho-oauthtoken [your-token]` header\n6. The response will contain your send mail token (username and password)",
|
|
5974
6019
|
secrets: {
|
|
5975
6020
|
ZEPTOMAIL_TOKEN: {
|
|
5976
6021
|
label: "Send Mail Token",
|
|
@@ -5991,6 +6036,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
5991
6036
|
authMethods: {
|
|
5992
6037
|
"api-token": {
|
|
5993
6038
|
label: "API Key",
|
|
6039
|
+
helpText: "1. Sign up for an account in the [Runway Developer Portal](https://dev.runwayml.com/)\n2. After signing up, create a new organization\n3. Click to the **API Keys** tab\n4. Create a new key, giving it a descriptive name\n5. Copy the key immediately and store it in a safe place \u2014 it will only be shown once",
|
|
5994
6040
|
secrets: {
|
|
5995
6041
|
RUNWAY_TOKEN: {
|
|
5996
6042
|
label: "API Key",
|
|
@@ -6011,6 +6057,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6011
6057
|
authMethods: {
|
|
6012
6058
|
"api-token": {
|
|
6013
6059
|
label: "API Key",
|
|
6060
|
+
helpText: "1. Log in to the [Short.io](https://short.io) Dashboard\n2. Navigate to **Integrations and API**\n3. Click on **Create API key**\n4. Leave the **Public key** option disabled to create a private (secret) key\n5. Restrict the scope of the key to a specific team or domain\n6. Click **Create**\n7. Copy the key and store it in a safe place \u2014 secret keys cannot be recovered",
|
|
6014
6061
|
secrets: {
|
|
6015
6062
|
SHORTIO_TOKEN: {
|
|
6016
6063
|
label: "API Key",
|
|
@@ -6031,6 +6078,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6031
6078
|
authMethods: {
|
|
6032
6079
|
"api-token": {
|
|
6033
6080
|
label: "API Key",
|
|
6081
|
+
helpText: "1. Install the Streak extension and navigate to [Gmail](https://mail.google.com)\n2. Click on the Streak icon in the right sidebar\n3. Select the **Integrations** button\n4. Under the **Streak API** section, click **Create New Key**\n5. Copy and store the API key securely",
|
|
6034
6082
|
secrets: {
|
|
6035
6083
|
STREAK_TOKEN: {
|
|
6036
6084
|
label: "API Key",
|
|
@@ -6051,6 +6099,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6051
6099
|
authMethods: {
|
|
6052
6100
|
"api-token": {
|
|
6053
6101
|
label: "API Key",
|
|
6102
|
+
helpText: "1. Go to the [Supadata Dashboard](https://dash.supadata.ai)\n2. Sign up for an account (no credit card required)\n3. Your API key will be generated automatically\n4. Use it in API requests with the header `x-api-key: [your_api_key]`",
|
|
6054
6103
|
secrets: {
|
|
6055
6104
|
SUPADATA_TOKEN: {
|
|
6056
6105
|
label: "API Key",
|
|
@@ -6071,6 +6120,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6071
6120
|
authMethods: {
|
|
6072
6121
|
"api-token": {
|
|
6073
6122
|
label: "API Key",
|
|
6123
|
+
helpText: "1. Go to [app.tavily.com](https://app.tavily.com/) and sign up for a free account\n2. After signing in, your API key will be available on the dashboard\n3. Copy the API key (it will start with `tvly-`)",
|
|
6074
6124
|
secrets: {
|
|
6075
6125
|
TAVILY_TOKEN: {
|
|
6076
6126
|
label: "API Key",
|
|
@@ -6091,6 +6141,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6091
6141
|
authMethods: {
|
|
6092
6142
|
"api-token": {
|
|
6093
6143
|
label: "API Key",
|
|
6144
|
+
helpText: "1. Ensure you have a **Business Plan** subscription on [tldv](https://tldv.io)\n2. API and webhook access is only available on the Business Plan\n3. Contact support at **support@tldv.io** to request API access and obtain your credentials",
|
|
6094
6145
|
secrets: {
|
|
6095
6146
|
TLDV_TOKEN: {
|
|
6096
6147
|
label: "API Key",
|
|
@@ -6111,6 +6162,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6111
6162
|
authMethods: {
|
|
6112
6163
|
"api-token": {
|
|
6113
6164
|
label: "API Key",
|
|
6165
|
+
helpText: "1. Log in to your [Twenty](https://twenty.com) workspace\n2. Go to **Settings > APIs & Webhooks**\n3. Click **+ Create key**\n4. Enter a descriptive **Name** and set an **Expiration Date**\n5. Click **Save**\n6. Copy the key immediately \u2014 it is only shown once",
|
|
6114
6166
|
secrets: {
|
|
6115
6167
|
TWENTY_TOKEN: {
|
|
6116
6168
|
label: "API Key",
|
|
@@ -6172,6 +6224,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6172
6224
|
authMethods: {
|
|
6173
6225
|
"api-token": {
|
|
6174
6226
|
label: "API Token",
|
|
6227
|
+
helpText: "1. Log in to your [ZapSign](https://app.zapsign.com) account\n2. Go to **Settings**\n3. Navigate to **Integrations**\n4. Select **ZAPSIGN API**\n5. Copy your API token",
|
|
6175
6228
|
secrets: {
|
|
6176
6229
|
ZAPSIGN_TOKEN: {
|
|
6177
6230
|
label: "API Token",
|
|
@@ -6228,6 +6281,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6228
6281
|
authMethods: {
|
|
6229
6282
|
"api-token": {
|
|
6230
6283
|
label: "API Key",
|
|
6284
|
+
helpText: "1. Log in to [HTML/CSS to Image](https://htmlcsstoimage.com/dashboard)\n2. Go to your **Dashboard**\n3. Locate your **User ID** and **API Key** displayed on the dashboard\n4. Copy the **API Key** (used as the password in HTTP Basic authentication)",
|
|
6231
6285
|
secrets: {
|
|
6232
6286
|
HCTI_API_KEY: {
|
|
6233
6287
|
label: "API Key",
|
|
@@ -6252,6 +6306,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6252
6306
|
authMethods: {
|
|
6253
6307
|
"api-token": {
|
|
6254
6308
|
label: "API Token",
|
|
6309
|
+
helpText: "1. Log in to [Imgur](https://imgur.com)\n2. Go to [Register an Application](https://api.imgur.com/oauth2/addclient)\n3. Fill in the application registration form\n4. After registration, you will receive a **Client ID** and **Client Secret**\n5. Copy and save both credentials",
|
|
6255
6310
|
secrets: {
|
|
6256
6311
|
IMGUR_CLIENT_ID: {
|
|
6257
6312
|
label: "Client ID",
|
|
@@ -6273,6 +6328,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6273
6328
|
authMethods: {
|
|
6274
6329
|
"api-token": {
|
|
6275
6330
|
label: "API Token",
|
|
6331
|
+
helpText: "1. Create a Meta app of type **Business** at [Meta for Developers](https://developers.facebook.com/apps)\n2. In your app dashboard, click **Instagram > API setup with Instagram business login** in the left side menu\n3. Click **Generate token** next to the Instagram account you want to access\n4. Log into Instagram when prompted\n5. Copy the access token",
|
|
6276
6332
|
secrets: {
|
|
6277
6333
|
INSTAGRAM_TOKEN: {
|
|
6278
6334
|
label: "Access Token",
|
|
@@ -6297,6 +6353,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6297
6353
|
authMethods: {
|
|
6298
6354
|
"api-token": {
|
|
6299
6355
|
label: "API Key",
|
|
6356
|
+
helpText: "1. Log in to the [Prisma Console](https://console.prisma.io)\n2. Go to your workspace **Settings** page\n3. Select **Service Tokens**\n4. Click **New Service Token**\n5. Copy and save the generated service token securely",
|
|
6300
6357
|
secrets: {
|
|
6301
6358
|
PRISMA_POSTGRES_TOKEN: {
|
|
6302
6359
|
label: "API Key",
|
|
@@ -6317,6 +6374,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6317
6374
|
authMethods: {
|
|
6318
6375
|
"api-token": {
|
|
6319
6376
|
label: "Bot Token",
|
|
6377
|
+
helpText: "1. Go to the [Discord Developer Portal](https://discord.com/developers/applications)\n2. Select your application (or create a new one)\n3. Navigate to the **Bot** page in your app's settings\n4. In the **Token** section, click **Reset Token** to generate a new bot token\n5. Copy and securely store the token \u2014 you won't be able to view it again unless you regenerate it",
|
|
6320
6378
|
secrets: {
|
|
6321
6379
|
DISCORD_BOT_TOKEN: {
|
|
6322
6380
|
label: "Bot Token",
|
|
@@ -6338,6 +6396,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6338
6396
|
authMethods: {
|
|
6339
6397
|
"api-token": {
|
|
6340
6398
|
label: "App Credentials",
|
|
6399
|
+
helpText: "1. Log in to the [Lark Developer Console](https://open.larksuite.com/app/)\n2. Select your app from the list (or create a new one)\n3. Go to the **Credentials & Basic Info** page\n4. Copy your **App ID** and **App Secret**\n5. Use these credentials to call the tenant_access_token API to obtain an access token",
|
|
6341
6400
|
secrets: {
|
|
6342
6401
|
LARK_TOKEN: {
|
|
6343
6402
|
label: "App Secret",
|
|
@@ -6363,6 +6422,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6363
6422
|
authMethods: {
|
|
6364
6423
|
"api-token": {
|
|
6365
6424
|
label: "API Key",
|
|
6425
|
+
helpText: "1. Go to [Mailsac](https://mailsac.com) and sign up for an account\n2. Log in to your Mailsac dashboard\n3. Navigate to [API Keys](https://mailsac.com/api-keys)\n4. Copy your API key from the dashboard",
|
|
6366
6426
|
secrets: {
|
|
6367
6427
|
MAILSAC_TOKEN: {
|
|
6368
6428
|
label: "API Key",
|
|
@@ -6385,6 +6445,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6385
6445
|
authMethods: {
|
|
6386
6446
|
"api-token": {
|
|
6387
6447
|
label: "Access Credentials",
|
|
6448
|
+
helpText: "1. Log in to the MinIO Console\n2. Navigate to the **Access Keys** section under Security and Access\n3. Click **Create Access Key**\n4. The system automatically generates an access key and secret key\n5. Optionally override the auto-generated values or toggle **Restrict beyond user policy** to limit permissions\n6. Save the secret key in a secure location (you cannot retrieve or reset it after creation)\n7. Click **Create** to finalize",
|
|
6388
6449
|
secrets: {
|
|
6389
6450
|
MINIO_TOKEN: {
|
|
6390
6451
|
label: "Access Key",
|
|
@@ -6416,6 +6477,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6416
6477
|
authMethods: {
|
|
6417
6478
|
"api-token": {
|
|
6418
6479
|
label: "API Key",
|
|
6480
|
+
helpText: "1. Create an account on [pdforge](https://pdforge.com)\n2. Two API keys are automatically generated when you create your account\n3. Go to the **API Keys** menu in the sidebar to view your keys\n4. Copy your API key and use it in the `Authorization: Bearer pdfnoodle_api_[your_key]` header",
|
|
6419
6481
|
secrets: {
|
|
6420
6482
|
PDFORGE_API_KEY: {
|
|
6421
6483
|
label: "API Key",
|
|
@@ -6436,6 +6498,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6436
6498
|
authMethods: {
|
|
6437
6499
|
"api-token": {
|
|
6438
6500
|
label: "Webhook URL",
|
|
6501
|
+
helpText: "1. Open your Discord server and navigate to **Server Settings**\n2. Select the **Integrations** tab\n3. Click the **Create Webhook** button\n4. Configure the webhook name and select the target text channel from the dropdown menu\n5. Click the **Copy Webhook URL** button to copy the webhook URL",
|
|
6439
6502
|
secrets: {
|
|
6440
6503
|
DISCORD_WEBHOOK_URL: {
|
|
6441
6504
|
label: "Webhook URL",
|
|
@@ -6506,6 +6569,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6506
6569
|
authMethods: {
|
|
6507
6570
|
"api-token": {
|
|
6508
6571
|
label: "Webhook URL",
|
|
6572
|
+
helpText: "1. Create a [Slack app](https://api.slack.com/apps) (or use an existing one), choosing a workspace to associate it with\n2. From the app settings page, select **Incoming Webhooks**\n3. Toggle **Activate Incoming Webhooks** to on\n4. Click **Add New Webhook to Workspace**\n5. Pick a channel for the app to post to, then click **Authorize**\n6. Copy the webhook URL from the **Webhook URLs for Your Workspace** section (it will look like `https://hooks.slack.com/services/T.../B.../XXXX...`)",
|
|
6509
6573
|
secrets: {
|
|
6510
6574
|
SLACK_WEBHOOK_URL: {
|
|
6511
6575
|
label: "Webhook URL",
|
|
@@ -6527,6 +6591,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6527
6591
|
authMethods: {
|
|
6528
6592
|
"api-token": {
|
|
6529
6593
|
label: "Personal Access Token",
|
|
6594
|
+
helpText: "1. Log in to [GitLab](https://gitlab.com)\n2. Click your avatar in the upper-right corner and select **Edit profile**\n3. In the left sidebar, navigate to **Access > Personal access tokens**\n4. From the **Generate token** dropdown, select **Legacy token**\n5. Enter a name in the **Token name** field\n6. Optionally set an expiration date (defaults to 365 days)\n7. Select the required scopes for your token\n8. Click **Generate token**\n9. Copy and save the token \u2014 you cannot view it again after leaving the page",
|
|
6530
6595
|
secrets: {
|
|
6531
6596
|
GITLAB_TOKEN: {
|
|
6532
6597
|
label: "Personal Access Token",
|
|
@@ -6552,6 +6617,7 @@ var CONNECTOR_TYPES_DEF = {
|
|
|
6552
6617
|
authMethods: {
|
|
6553
6618
|
"api-token": {
|
|
6554
6619
|
label: "API Key",
|
|
6620
|
+
helpText: "1. Log in to your [Wix](https://www.wix.com) account (account owner or co-owner access required)\n2. Go to the [API Keys Manager](https://manage.wix.com/account/api-keys)\n3. Create a new API key and assign the required permissions\n4. Copy the generated API key and store it securely",
|
|
6555
6621
|
secrets: {
|
|
6556
6622
|
WIX_TOKEN: {
|
|
6557
6623
|
label: "API Key",
|
|
@@ -29822,11 +29888,42 @@ async function deleteZeroComputerConnector() {
|
|
|
29822
29888
|
handleError(result, "Computer connector not found");
|
|
29823
29889
|
}
|
|
29824
29890
|
|
|
29825
|
-
// src/lib/api/domains/
|
|
29891
|
+
// src/lib/api/domains/zero-runs.ts
|
|
29826
29892
|
import { initClient as initClient7 } from "@ts-rest/core";
|
|
29893
|
+
async function createZeroRun(body) {
|
|
29894
|
+
const config = await getClientConfig();
|
|
29895
|
+
const client = initClient7(zeroRunsMainContract, config);
|
|
29896
|
+
const result = await client.create({ body });
|
|
29897
|
+
if (result.status === 201) return result.body;
|
|
29898
|
+
handleError(result, "Failed to create zero run");
|
|
29899
|
+
}
|
|
29900
|
+
async function getZeroRun(id) {
|
|
29901
|
+
const config = await getClientConfig();
|
|
29902
|
+
const client = initClient7(zeroRunsByIdContract, config);
|
|
29903
|
+
const result = await client.getById({ params: { id } });
|
|
29904
|
+
if (result.status === 200) return result.body;
|
|
29905
|
+
handleError(result, `Failed to get zero run "${id}"`);
|
|
29906
|
+
}
|
|
29907
|
+
async function getZeroRunAgentEvents(id, options) {
|
|
29908
|
+
const config = await getClientConfig();
|
|
29909
|
+
const client = initClient7(zeroRunAgentEventsContract, config);
|
|
29910
|
+
const result = await client.getAgentEvents({
|
|
29911
|
+
params: { id },
|
|
29912
|
+
query: {
|
|
29913
|
+
since: options?.since,
|
|
29914
|
+
limit: options?.limit ?? 100,
|
|
29915
|
+
order: options?.order ?? "asc"
|
|
29916
|
+
}
|
|
29917
|
+
});
|
|
29918
|
+
if (result.status === 200) return result.body;
|
|
29919
|
+
handleError(result, `Failed to get zero run events for "${id}"`);
|
|
29920
|
+
}
|
|
29921
|
+
|
|
29922
|
+
// src/lib/api/domains/logs.ts
|
|
29923
|
+
import { initClient as initClient8 } from "@ts-rest/core";
|
|
29827
29924
|
async function getSystemLog(runId, options) {
|
|
29828
29925
|
const config = await getClientConfig();
|
|
29829
|
-
const client =
|
|
29926
|
+
const client = initClient8(runSystemLogContract, config);
|
|
29830
29927
|
const result = await client.getSystemLog({
|
|
29831
29928
|
params: { id: runId },
|
|
29832
29929
|
query: {
|
|
@@ -29842,7 +29939,7 @@ async function getSystemLog(runId, options) {
|
|
|
29842
29939
|
}
|
|
29843
29940
|
async function getMetrics(runId, options) {
|
|
29844
29941
|
const config = await getClientConfig();
|
|
29845
|
-
const client =
|
|
29942
|
+
const client = initClient8(runMetricsContract, config);
|
|
29846
29943
|
const result = await client.getMetrics({
|
|
29847
29944
|
params: { id: runId },
|
|
29848
29945
|
query: {
|
|
@@ -29858,7 +29955,7 @@ async function getMetrics(runId, options) {
|
|
|
29858
29955
|
}
|
|
29859
29956
|
async function getAgentEvents(runId, options) {
|
|
29860
29957
|
const config = await getClientConfig();
|
|
29861
|
-
const client =
|
|
29958
|
+
const client = initClient8(runAgentEventsContract, config);
|
|
29862
29959
|
const result = await client.getAgentEvents({
|
|
29863
29960
|
params: { id: runId },
|
|
29864
29961
|
query: {
|
|
@@ -29874,7 +29971,7 @@ async function getAgentEvents(runId, options) {
|
|
|
29874
29971
|
}
|
|
29875
29972
|
async function getNetworkLogs(runId, options) {
|
|
29876
29973
|
const config = await getClientConfig();
|
|
29877
|
-
const client =
|
|
29974
|
+
const client = initClient8(runNetworkLogsContract, config);
|
|
29878
29975
|
const result = await client.getNetworkLogs({
|
|
29879
29976
|
params: { id: runId },
|
|
29880
29977
|
query: {
|
|
@@ -29890,7 +29987,7 @@ async function getNetworkLogs(runId, options) {
|
|
|
29890
29987
|
}
|
|
29891
29988
|
async function searchLogs(options) {
|
|
29892
29989
|
const config = await getClientConfig();
|
|
29893
|
-
const client =
|
|
29990
|
+
const client = initClient8(logsSearchContract, config);
|
|
29894
29991
|
const result = await client.searchLogs({
|
|
29895
29992
|
query: {
|
|
29896
29993
|
keyword: options.keyword,
|
|
@@ -29909,10 +30006,10 @@ async function searchLogs(options) {
|
|
|
29909
30006
|
}
|
|
29910
30007
|
|
|
29911
30008
|
// src/lib/api/domains/runs.ts
|
|
29912
|
-
import { initClient as
|
|
30009
|
+
import { initClient as initClient9 } from "@ts-rest/core";
|
|
29913
30010
|
async function createRun(body) {
|
|
29914
30011
|
const config = await getClientConfig();
|
|
29915
|
-
const client =
|
|
30012
|
+
const client = initClient9(runsMainContract, config);
|
|
29916
30013
|
const result = await client.create({ body });
|
|
29917
30014
|
if (result.status === 201) {
|
|
29918
30015
|
return result.body;
|
|
@@ -29921,7 +30018,7 @@ async function createRun(body) {
|
|
|
29921
30018
|
}
|
|
29922
30019
|
async function getEvents(runId, options) {
|
|
29923
30020
|
const config = await getClientConfig();
|
|
29924
|
-
const client =
|
|
30021
|
+
const client = initClient9(runEventsContract, config);
|
|
29925
30022
|
const result = await client.getEvents({
|
|
29926
30023
|
params: { id: runId },
|
|
29927
30024
|
query: {
|
|
@@ -29936,7 +30033,7 @@ async function getEvents(runId, options) {
|
|
|
29936
30033
|
}
|
|
29937
30034
|
async function listRuns(params) {
|
|
29938
30035
|
const config = await getClientConfig();
|
|
29939
|
-
const client =
|
|
30036
|
+
const client = initClient9(runsMainContract, config);
|
|
29940
30037
|
const result = await client.list({
|
|
29941
30038
|
query: {
|
|
29942
30039
|
status: params?.status,
|
|
@@ -29953,7 +30050,7 @@ async function listRuns(params) {
|
|
|
29953
30050
|
}
|
|
29954
30051
|
async function getRunQueue() {
|
|
29955
30052
|
const config = await getClientConfig();
|
|
29956
|
-
const client =
|
|
30053
|
+
const client = initClient9(runsQueueContract, config);
|
|
29957
30054
|
const result = await client.getQueue({ headers: {} });
|
|
29958
30055
|
if (result.status === 200) {
|
|
29959
30056
|
return result.body;
|
|
@@ -29962,7 +30059,7 @@ async function getRunQueue() {
|
|
|
29962
30059
|
}
|
|
29963
30060
|
async function cancelRun(runId) {
|
|
29964
30061
|
const config = await getClientConfig();
|
|
29965
|
-
const client =
|
|
30062
|
+
const client = initClient9(runsCancelContract, config);
|
|
29966
30063
|
const result = await client.cancel({
|
|
29967
30064
|
params: { id: runId }
|
|
29968
30065
|
});
|
|
@@ -29973,10 +30070,10 @@ async function cancelRun(runId) {
|
|
|
29973
30070
|
}
|
|
29974
30071
|
|
|
29975
30072
|
// src/lib/api/domains/sessions.ts
|
|
29976
|
-
import { initClient as
|
|
30073
|
+
import { initClient as initClient10 } from "@ts-rest/core";
|
|
29977
30074
|
async function getSession(sessionId) {
|
|
29978
30075
|
const config = await getClientConfig();
|
|
29979
|
-
const client =
|
|
30076
|
+
const client = initClient10(sessionsByIdContract, config);
|
|
29980
30077
|
const result = await client.getById({
|
|
29981
30078
|
params: { id: sessionId }
|
|
29982
30079
|
});
|
|
@@ -29989,7 +30086,7 @@ async function getSession(sessionId) {
|
|
|
29989
30086
|
}
|
|
29990
30087
|
async function getCheckpoint(checkpointId) {
|
|
29991
30088
|
const config = await getClientConfig();
|
|
29992
|
-
const client =
|
|
30089
|
+
const client = initClient10(checkpointsByIdContract, config);
|
|
29993
30090
|
const result = await client.getById({
|
|
29994
30091
|
params: { id: checkpointId }
|
|
29995
30092
|
});
|
|
@@ -30000,10 +30097,10 @@ async function getCheckpoint(checkpointId) {
|
|
|
30000
30097
|
}
|
|
30001
30098
|
|
|
30002
30099
|
// src/lib/api/domains/storages.ts
|
|
30003
|
-
import { initClient as
|
|
30100
|
+
import { initClient as initClient11 } from "@ts-rest/core";
|
|
30004
30101
|
async function prepareStorage(body) {
|
|
30005
30102
|
const config = await getClientConfig();
|
|
30006
|
-
const client =
|
|
30103
|
+
const client = initClient11(storagesPrepareContract, config);
|
|
30007
30104
|
const result = await client.prepare({ body });
|
|
30008
30105
|
if (result.status === 200) {
|
|
30009
30106
|
return result.body;
|
|
@@ -30012,7 +30109,7 @@ async function prepareStorage(body) {
|
|
|
30012
30109
|
}
|
|
30013
30110
|
async function commitStorage(body) {
|
|
30014
30111
|
const config = await getClientConfig();
|
|
30015
|
-
const client =
|
|
30112
|
+
const client = initClient11(storagesCommitContract, config);
|
|
30016
30113
|
const result = await client.commit({ body });
|
|
30017
30114
|
if (result.status === 200) {
|
|
30018
30115
|
return result.body;
|
|
@@ -30021,7 +30118,7 @@ async function commitStorage(body) {
|
|
|
30021
30118
|
}
|
|
30022
30119
|
async function getStorageDownload(query) {
|
|
30023
30120
|
const config = await getClientConfig();
|
|
30024
|
-
const client =
|
|
30121
|
+
const client = initClient11(storagesDownloadContract, config);
|
|
30025
30122
|
const result = await client.download({
|
|
30026
30123
|
query: {
|
|
30027
30124
|
name: query.name,
|
|
@@ -30036,7 +30133,7 @@ async function getStorageDownload(query) {
|
|
|
30036
30133
|
}
|
|
30037
30134
|
async function listStorages(query) {
|
|
30038
30135
|
const config = await getClientConfig();
|
|
30039
|
-
const client =
|
|
30136
|
+
const client = initClient11(storagesListContract, config);
|
|
30040
30137
|
const result = await client.list({ query });
|
|
30041
30138
|
if (result.status === 200) {
|
|
30042
30139
|
return result.body;
|
|
@@ -30045,7 +30142,7 @@ async function listStorages(query) {
|
|
|
30045
30142
|
}
|
|
30046
30143
|
|
|
30047
30144
|
// src/lib/api/domains/zero-orgs.ts
|
|
30048
|
-
import { initClient as
|
|
30145
|
+
import { initClient as initClient12 } from "@ts-rest/core";
|
|
30049
30146
|
async function getUserTokenClientConfig() {
|
|
30050
30147
|
const baseUrl = await getBaseUrl();
|
|
30051
30148
|
const token = await getToken();
|
|
@@ -30063,7 +30160,7 @@ async function getUserTokenClientConfig() {
|
|
|
30063
30160
|
}
|
|
30064
30161
|
async function getZeroOrg() {
|
|
30065
30162
|
const config = await getClientConfig();
|
|
30066
|
-
const client =
|
|
30163
|
+
const client = initClient12(zeroOrgContract, config);
|
|
30067
30164
|
const result = await client.get({ headers: {} });
|
|
30068
30165
|
if (result.status === 200) {
|
|
30069
30166
|
return result.body;
|
|
@@ -30072,7 +30169,7 @@ async function getZeroOrg() {
|
|
|
30072
30169
|
}
|
|
30073
30170
|
async function updateZeroOrg(body) {
|
|
30074
30171
|
const config = await getClientConfig();
|
|
30075
|
-
const client =
|
|
30172
|
+
const client = initClient12(zeroOrgContract, config);
|
|
30076
30173
|
const result = await client.update({ body });
|
|
30077
30174
|
if (result.status === 200) {
|
|
30078
30175
|
return result.body;
|
|
@@ -30081,7 +30178,7 @@ async function updateZeroOrg(body) {
|
|
|
30081
30178
|
}
|
|
30082
30179
|
async function listZeroOrgs() {
|
|
30083
30180
|
const config = await getUserTokenClientConfig();
|
|
30084
|
-
const client =
|
|
30181
|
+
const client = initClient12(zeroOrgListContract, config);
|
|
30085
30182
|
const result = await client.list({ headers: {} });
|
|
30086
30183
|
if (result.status === 200) {
|
|
30087
30184
|
return result.body;
|
|
@@ -30090,7 +30187,7 @@ async function listZeroOrgs() {
|
|
|
30090
30187
|
}
|
|
30091
30188
|
async function getZeroOrgMembers() {
|
|
30092
30189
|
const config = await getClientConfig();
|
|
30093
|
-
const client =
|
|
30190
|
+
const client = initClient12(zeroOrgMembersContract, config);
|
|
30094
30191
|
const result = await client.members({ headers: {} });
|
|
30095
30192
|
if (result.status === 200) {
|
|
30096
30193
|
return result.body;
|
|
@@ -30099,7 +30196,7 @@ async function getZeroOrgMembers() {
|
|
|
30099
30196
|
}
|
|
30100
30197
|
async function inviteZeroOrgMember(email, role = "member") {
|
|
30101
30198
|
const config = await getClientConfig();
|
|
30102
|
-
const client =
|
|
30199
|
+
const client = initClient12(zeroOrgInviteContract, config);
|
|
30103
30200
|
const result = await client.invite({
|
|
30104
30201
|
body: { email, role }
|
|
30105
30202
|
});
|
|
@@ -30110,7 +30207,7 @@ async function inviteZeroOrgMember(email, role = "member") {
|
|
|
30110
30207
|
}
|
|
30111
30208
|
async function removeZeroOrgMember(email) {
|
|
30112
30209
|
const config = await getClientConfig();
|
|
30113
|
-
const client =
|
|
30210
|
+
const client = initClient12(zeroOrgMembersContract, config);
|
|
30114
30211
|
const result = await client.removeMember({
|
|
30115
30212
|
body: { email }
|
|
30116
30213
|
});
|
|
@@ -30121,7 +30218,7 @@ async function removeZeroOrgMember(email) {
|
|
|
30121
30218
|
}
|
|
30122
30219
|
async function leaveZeroOrg() {
|
|
30123
30220
|
const config = await getClientConfig();
|
|
30124
|
-
const client =
|
|
30221
|
+
const client = initClient12(zeroOrgLeaveContract, config);
|
|
30125
30222
|
const result = await client.leave({
|
|
30126
30223
|
body: {}
|
|
30127
30224
|
});
|
|
@@ -30132,7 +30229,7 @@ async function leaveZeroOrg() {
|
|
|
30132
30229
|
}
|
|
30133
30230
|
async function deleteZeroOrg(slug) {
|
|
30134
30231
|
const config = await getClientConfig();
|
|
30135
|
-
const client =
|
|
30232
|
+
const client = initClient12(zeroOrgDeleteContract, config);
|
|
30136
30233
|
const result = await client.delete({
|
|
30137
30234
|
body: { slug }
|
|
30138
30235
|
});
|
|
@@ -30143,7 +30240,7 @@ async function deleteZeroOrg(slug) {
|
|
|
30143
30240
|
}
|
|
30144
30241
|
async function switchZeroOrg(slug) {
|
|
30145
30242
|
const config = await getUserTokenClientConfig();
|
|
30146
|
-
const client =
|
|
30243
|
+
const client = initClient12(cliAuthOrgContract, config);
|
|
30147
30244
|
const result = await client.switchOrg({
|
|
30148
30245
|
headers: {},
|
|
30149
30246
|
body: { slug }
|
|
@@ -30155,10 +30252,10 @@ async function switchZeroOrg(slug) {
|
|
|
30155
30252
|
}
|
|
30156
30253
|
|
|
30157
30254
|
// src/lib/api/domains/zero-org-secrets.ts
|
|
30158
|
-
import { initClient as
|
|
30255
|
+
import { initClient as initClient13 } from "@ts-rest/core";
|
|
30159
30256
|
async function listZeroOrgSecrets() {
|
|
30160
30257
|
const config = await getClientConfig();
|
|
30161
|
-
const client =
|
|
30258
|
+
const client = initClient13(zeroSecretsContract, config);
|
|
30162
30259
|
const result = await client.list({ headers: {} });
|
|
30163
30260
|
if (result.status === 200) {
|
|
30164
30261
|
return result.body;
|
|
@@ -30167,7 +30264,7 @@ async function listZeroOrgSecrets() {
|
|
|
30167
30264
|
}
|
|
30168
30265
|
async function setZeroOrgSecret(body) {
|
|
30169
30266
|
const config = await getClientConfig();
|
|
30170
|
-
const client =
|
|
30267
|
+
const client = initClient13(zeroSecretsContract, config);
|
|
30171
30268
|
const result = await client.set({ body });
|
|
30172
30269
|
if (result.status === 200 || result.status === 201) {
|
|
30173
30270
|
return result.body;
|
|
@@ -30176,7 +30273,7 @@ async function setZeroOrgSecret(body) {
|
|
|
30176
30273
|
}
|
|
30177
30274
|
async function deleteZeroOrgSecret(name) {
|
|
30178
30275
|
const config = await getClientConfig();
|
|
30179
|
-
const client =
|
|
30276
|
+
const client = initClient13(zeroSecretsByNameContract, config);
|
|
30180
30277
|
const result = await client.delete({
|
|
30181
30278
|
params: { name }
|
|
30182
30279
|
});
|
|
@@ -30187,10 +30284,10 @@ async function deleteZeroOrgSecret(name) {
|
|
|
30187
30284
|
}
|
|
30188
30285
|
|
|
30189
30286
|
// src/lib/api/domains/zero-org-variables.ts
|
|
30190
|
-
import { initClient as
|
|
30287
|
+
import { initClient as initClient14 } from "@ts-rest/core";
|
|
30191
30288
|
async function listZeroOrgVariables() {
|
|
30192
30289
|
const config = await getClientConfig();
|
|
30193
|
-
const client =
|
|
30290
|
+
const client = initClient14(zeroVariablesContract, config);
|
|
30194
30291
|
const result = await client.list({ headers: {} });
|
|
30195
30292
|
if (result.status === 200) {
|
|
30196
30293
|
return result.body;
|
|
@@ -30199,7 +30296,7 @@ async function listZeroOrgVariables() {
|
|
|
30199
30296
|
}
|
|
30200
30297
|
async function setZeroOrgVariable(body) {
|
|
30201
30298
|
const config = await getClientConfig();
|
|
30202
|
-
const client =
|
|
30299
|
+
const client = initClient14(zeroVariablesContract, config);
|
|
30203
30300
|
const result = await client.set({ body });
|
|
30204
30301
|
if (result.status === 200 || result.status === 201) {
|
|
30205
30302
|
return result.body;
|
|
@@ -30208,7 +30305,7 @@ async function setZeroOrgVariable(body) {
|
|
|
30208
30305
|
}
|
|
30209
30306
|
async function deleteZeroOrgVariable(name) {
|
|
30210
30307
|
const config = await getClientConfig();
|
|
30211
|
-
const client =
|
|
30308
|
+
const client = initClient14(zeroVariablesByNameContract, config);
|
|
30212
30309
|
const result = await client.delete({
|
|
30213
30310
|
params: { name }
|
|
30214
30311
|
});
|
|
@@ -30219,10 +30316,10 @@ async function deleteZeroOrgVariable(name) {
|
|
|
30219
30316
|
}
|
|
30220
30317
|
|
|
30221
30318
|
// src/lib/api/domains/zero-org-model-providers.ts
|
|
30222
|
-
import { initClient as
|
|
30319
|
+
import { initClient as initClient15 } from "@ts-rest/core";
|
|
30223
30320
|
async function listZeroOrgModelProviders() {
|
|
30224
30321
|
const config = await getClientConfig();
|
|
30225
|
-
const client =
|
|
30322
|
+
const client = initClient15(zeroModelProvidersMainContract, config);
|
|
30226
30323
|
const result = await client.list({ headers: {} });
|
|
30227
30324
|
if (result.status === 200) {
|
|
30228
30325
|
return result.body;
|
|
@@ -30231,7 +30328,7 @@ async function listZeroOrgModelProviders() {
|
|
|
30231
30328
|
}
|
|
30232
30329
|
async function upsertZeroOrgModelProvider(body) {
|
|
30233
30330
|
const config = await getClientConfig();
|
|
30234
|
-
const client =
|
|
30331
|
+
const client = initClient15(zeroModelProvidersMainContract, config);
|
|
30235
30332
|
const result = await client.upsert({ body });
|
|
30236
30333
|
if (result.status === 200 || result.status === 201) {
|
|
30237
30334
|
return result.body;
|
|
@@ -30240,7 +30337,7 @@ async function upsertZeroOrgModelProvider(body) {
|
|
|
30240
30337
|
}
|
|
30241
30338
|
async function deleteZeroOrgModelProvider(type) {
|
|
30242
30339
|
const config = await getClientConfig();
|
|
30243
|
-
const client =
|
|
30340
|
+
const client = initClient15(zeroModelProvidersByTypeContract, config);
|
|
30244
30341
|
const result = await client.delete({
|
|
30245
30342
|
params: { type }
|
|
30246
30343
|
});
|
|
@@ -30251,7 +30348,7 @@ async function deleteZeroOrgModelProvider(type) {
|
|
|
30251
30348
|
}
|
|
30252
30349
|
async function setZeroOrgModelProviderDefault(type) {
|
|
30253
30350
|
const config = await getClientConfig();
|
|
30254
|
-
const client =
|
|
30351
|
+
const client = initClient15(zeroModelProvidersDefaultContract, config);
|
|
30255
30352
|
const result = await client.setDefault({
|
|
30256
30353
|
params: { type }
|
|
30257
30354
|
});
|
|
@@ -30262,7 +30359,7 @@ async function setZeroOrgModelProviderDefault(type) {
|
|
|
30262
30359
|
}
|
|
30263
30360
|
async function updateZeroOrgModelProviderModel(type, selectedModel) {
|
|
30264
30361
|
const config = await getClientConfig();
|
|
30265
|
-
const client =
|
|
30362
|
+
const client = initClient15(zeroModelProvidersUpdateModelContract, config);
|
|
30266
30363
|
const result = await client.updateModel({
|
|
30267
30364
|
params: { type },
|
|
30268
30365
|
body: { selectedModel }
|
|
@@ -30274,52 +30371,52 @@ async function updateZeroOrgModelProviderModel(type, selectedModel) {
|
|
|
30274
30371
|
}
|
|
30275
30372
|
|
|
30276
30373
|
// src/lib/api/domains/zero-agents.ts
|
|
30277
|
-
import { initClient as
|
|
30374
|
+
import { initClient as initClient16 } from "@ts-rest/core";
|
|
30278
30375
|
async function createZeroAgent(body) {
|
|
30279
30376
|
const config = await getClientConfig();
|
|
30280
|
-
const client =
|
|
30377
|
+
const client = initClient16(zeroAgentsMainContract, config);
|
|
30281
30378
|
const result = await client.create({ body });
|
|
30282
30379
|
if (result.status === 201) return result.body;
|
|
30283
30380
|
handleError(result, "Failed to create zero agent");
|
|
30284
30381
|
}
|
|
30285
30382
|
async function listZeroAgents() {
|
|
30286
30383
|
const config = await getClientConfig();
|
|
30287
|
-
const client =
|
|
30384
|
+
const client = initClient16(zeroAgentsMainContract, config);
|
|
30288
30385
|
const result = await client.list({ headers: {} });
|
|
30289
30386
|
if (result.status === 200) return result.body;
|
|
30290
30387
|
handleError(result, "Failed to list zero agents");
|
|
30291
30388
|
}
|
|
30292
30389
|
async function getZeroAgent(id) {
|
|
30293
30390
|
const config = await getClientConfig();
|
|
30294
|
-
const client =
|
|
30391
|
+
const client = initClient16(zeroAgentsByIdContract, config);
|
|
30295
30392
|
const result = await client.get({ params: { id } });
|
|
30296
30393
|
if (result.status === 200) return result.body;
|
|
30297
30394
|
handleError(result, `Zero agent "${id}" not found`);
|
|
30298
30395
|
}
|
|
30299
30396
|
async function updateZeroAgent(id, body) {
|
|
30300
30397
|
const config = await getClientConfig();
|
|
30301
|
-
const client =
|
|
30398
|
+
const client = initClient16(zeroAgentsByIdContract, config);
|
|
30302
30399
|
const result = await client.update({ params: { id }, body });
|
|
30303
30400
|
if (result.status === 200) return result.body;
|
|
30304
30401
|
handleError(result, `Failed to update zero agent "${id}"`);
|
|
30305
30402
|
}
|
|
30306
30403
|
async function deleteZeroAgent(id) {
|
|
30307
30404
|
const config = await getClientConfig();
|
|
30308
|
-
const client =
|
|
30405
|
+
const client = initClient16(zeroAgentsByIdContract, config);
|
|
30309
30406
|
const result = await client.delete({ params: { id } });
|
|
30310
30407
|
if (result.status === 204) return;
|
|
30311
30408
|
handleError(result, `Zero agent "${id}" not found`);
|
|
30312
30409
|
}
|
|
30313
30410
|
async function getZeroAgentInstructions(id) {
|
|
30314
30411
|
const config = await getClientConfig();
|
|
30315
|
-
const client =
|
|
30412
|
+
const client = initClient16(zeroAgentInstructionsContract, config);
|
|
30316
30413
|
const result = await client.get({ params: { id } });
|
|
30317
30414
|
if (result.status === 200) return result.body;
|
|
30318
30415
|
handleError(result, `Failed to get instructions for zero agent "${id}"`);
|
|
30319
30416
|
}
|
|
30320
30417
|
async function getZeroAgentUserConnectors(id) {
|
|
30321
30418
|
const config = await getClientConfig();
|
|
30322
|
-
const client =
|
|
30419
|
+
const client = initClient16(zeroUserConnectorsContract, config);
|
|
30323
30420
|
const result = await client.get({ params: { id } });
|
|
30324
30421
|
if (result.status === 200) return result.body.enabledTypes;
|
|
30325
30422
|
handleError(
|
|
@@ -30329,7 +30426,7 @@ async function getZeroAgentUserConnectors(id) {
|
|
|
30329
30426
|
}
|
|
30330
30427
|
async function updateZeroAgentInstructions(id, content) {
|
|
30331
30428
|
const config = await getClientConfig();
|
|
30332
|
-
const client =
|
|
30429
|
+
const client = initClient16(zeroAgentInstructionsContract, config);
|
|
30333
30430
|
const result = await client.update({
|
|
30334
30431
|
params: { id },
|
|
30335
30432
|
body: { content }
|
|
@@ -30339,48 +30436,48 @@ async function updateZeroAgentInstructions(id, content) {
|
|
|
30339
30436
|
}
|
|
30340
30437
|
|
|
30341
30438
|
// src/lib/api/domains/zero-skills.ts
|
|
30342
|
-
import { initClient as
|
|
30439
|
+
import { initClient as initClient17 } from "@ts-rest/core";
|
|
30343
30440
|
async function listSkills() {
|
|
30344
30441
|
const config = await getClientConfig();
|
|
30345
|
-
const client =
|
|
30442
|
+
const client = initClient17(zeroSkillsCollectionContract, config);
|
|
30346
30443
|
const result = await client.list();
|
|
30347
30444
|
if (result.status === 200) return result.body;
|
|
30348
30445
|
handleError(result, "Failed to list skills");
|
|
30349
30446
|
}
|
|
30350
30447
|
async function createSkill(body) {
|
|
30351
30448
|
const config = await getClientConfig();
|
|
30352
|
-
const client =
|
|
30449
|
+
const client = initClient17(zeroSkillsCollectionContract, config);
|
|
30353
30450
|
const result = await client.create({ body });
|
|
30354
30451
|
if (result.status === 201) return result.body;
|
|
30355
30452
|
handleError(result, `Failed to create skill "${body.name}"`);
|
|
30356
30453
|
}
|
|
30357
30454
|
async function getSkill(name) {
|
|
30358
30455
|
const config = await getClientConfig();
|
|
30359
|
-
const client =
|
|
30456
|
+
const client = initClient17(zeroSkillsDetailContract, config);
|
|
30360
30457
|
const result = await client.get({ params: { name } });
|
|
30361
30458
|
if (result.status === 200) return result.body;
|
|
30362
30459
|
handleError(result, `Skill "${name}" not found`);
|
|
30363
30460
|
}
|
|
30364
30461
|
async function updateSkill(name, body) {
|
|
30365
30462
|
const config = await getClientConfig();
|
|
30366
|
-
const client =
|
|
30463
|
+
const client = initClient17(zeroSkillsDetailContract, config);
|
|
30367
30464
|
const result = await client.update({ params: { name }, body });
|
|
30368
30465
|
if (result.status === 200) return result.body;
|
|
30369
30466
|
handleError(result, `Failed to update skill "${name}"`);
|
|
30370
30467
|
}
|
|
30371
30468
|
async function deleteSkill(name) {
|
|
30372
30469
|
const config = await getClientConfig();
|
|
30373
|
-
const client =
|
|
30470
|
+
const client = initClient17(zeroSkillsDetailContract, config);
|
|
30374
30471
|
const result = await client.delete({ params: { name } });
|
|
30375
30472
|
if (result.status === 204) return;
|
|
30376
30473
|
handleError(result, `Skill "${name}" not found`);
|
|
30377
30474
|
}
|
|
30378
30475
|
|
|
30379
30476
|
// src/lib/api/domains/integrations-slack.ts
|
|
30380
|
-
import { initClient as
|
|
30477
|
+
import { initClient as initClient18 } from "@ts-rest/core";
|
|
30381
30478
|
async function sendSlackMessage(body) {
|
|
30382
30479
|
const config = await getClientConfig();
|
|
30383
|
-
const client =
|
|
30480
|
+
const client = initClient18(integrationsSlackMessageContract, config);
|
|
30384
30481
|
const result = await client.sendMessage({ body, headers: {} });
|
|
30385
30482
|
if (result.status === 200) {
|
|
30386
30483
|
return result.body;
|
|
@@ -30389,7 +30486,7 @@ async function sendSlackMessage(body) {
|
|
|
30389
30486
|
}
|
|
30390
30487
|
async function initSlackFileUpload(body) {
|
|
30391
30488
|
const config = await getClientConfig();
|
|
30392
|
-
const client =
|
|
30489
|
+
const client = initClient18(integrationsSlackUploadInitContract, config);
|
|
30393
30490
|
const result = await client.init({ body, headers: {} });
|
|
30394
30491
|
if (result.status === 200) {
|
|
30395
30492
|
return result.body;
|
|
@@ -30398,7 +30495,7 @@ async function initSlackFileUpload(body) {
|
|
|
30398
30495
|
}
|
|
30399
30496
|
async function completeSlackFileUpload(body) {
|
|
30400
30497
|
const config = await getClientConfig();
|
|
30401
|
-
const client =
|
|
30498
|
+
const client = initClient18(integrationsSlackUploadCompleteContract, config);
|
|
30402
30499
|
const result = await client.complete({ body, headers: {} });
|
|
30403
30500
|
if (result.status === 200) {
|
|
30404
30501
|
return result.body;
|
|
@@ -30407,10 +30504,10 @@ async function completeSlackFileUpload(body) {
|
|
|
30407
30504
|
}
|
|
30408
30505
|
|
|
30409
30506
|
// src/lib/api/domains/zero-schedules.ts
|
|
30410
|
-
import { initClient as
|
|
30507
|
+
import { initClient as initClient19 } from "@ts-rest/core";
|
|
30411
30508
|
async function deployZeroSchedule(body) {
|
|
30412
30509
|
const config = await getClientConfig();
|
|
30413
|
-
const client =
|
|
30510
|
+
const client = initClient19(zeroSchedulesMainContract, config);
|
|
30414
30511
|
const result = await client.deploy({ body });
|
|
30415
30512
|
if (result.status === 200 || result.status === 201) {
|
|
30416
30513
|
return result.body;
|
|
@@ -30419,7 +30516,7 @@ async function deployZeroSchedule(body) {
|
|
|
30419
30516
|
}
|
|
30420
30517
|
async function listZeroSchedules() {
|
|
30421
30518
|
const config = await getClientConfig();
|
|
30422
|
-
const client =
|
|
30519
|
+
const client = initClient19(zeroSchedulesMainContract, config);
|
|
30423
30520
|
const result = await client.list({ headers: {} });
|
|
30424
30521
|
if (result.status === 200) {
|
|
30425
30522
|
return result.body;
|
|
@@ -30428,7 +30525,7 @@ async function listZeroSchedules() {
|
|
|
30428
30525
|
}
|
|
30429
30526
|
async function deleteZeroSchedule(params) {
|
|
30430
30527
|
const config = await getClientConfig();
|
|
30431
|
-
const client =
|
|
30528
|
+
const client = initClient19(zeroSchedulesByNameContract, config);
|
|
30432
30529
|
const result = await client.delete({
|
|
30433
30530
|
params: { name: params.name },
|
|
30434
30531
|
query: { agentId: params.agentId }
|
|
@@ -30440,7 +30537,7 @@ async function deleteZeroSchedule(params) {
|
|
|
30440
30537
|
}
|
|
30441
30538
|
async function enableZeroSchedule(params) {
|
|
30442
30539
|
const config = await getClientConfig();
|
|
30443
|
-
const client =
|
|
30540
|
+
const client = initClient19(zeroSchedulesEnableContract, config);
|
|
30444
30541
|
const result = await client.enable({
|
|
30445
30542
|
params: { name: params.name },
|
|
30446
30543
|
body: { agentId: params.agentId }
|
|
@@ -30452,7 +30549,7 @@ async function enableZeroSchedule(params) {
|
|
|
30452
30549
|
}
|
|
30453
30550
|
async function disableZeroSchedule(params) {
|
|
30454
30551
|
const config = await getClientConfig();
|
|
30455
|
-
const client =
|
|
30552
|
+
const client = initClient19(zeroSchedulesEnableContract, config);
|
|
30456
30553
|
const result = await client.disable({
|
|
30457
30554
|
params: { name: params.name },
|
|
30458
30555
|
body: { agentId: params.agentId }
|
|
@@ -30499,49 +30596,52 @@ async function resolveZeroScheduleByAgent(agentIdentifier, scheduleName) {
|
|
|
30499
30596
|
);
|
|
30500
30597
|
}
|
|
30501
30598
|
|
|
30502
|
-
// src/lib/api/domains/zero-
|
|
30503
|
-
import { initClient as
|
|
30504
|
-
async function
|
|
30505
|
-
const config = await getClientConfig();
|
|
30506
|
-
const client = initClient19(zeroRunsMainContract, config);
|
|
30507
|
-
const result = await client.create({ body });
|
|
30508
|
-
if (result.status === 201) return result.body;
|
|
30509
|
-
handleError(result, "Failed to create zero run");
|
|
30510
|
-
}
|
|
30511
|
-
async function getZeroRun(id) {
|
|
30599
|
+
// src/lib/api/domains/zero-logs.ts
|
|
30600
|
+
import { initClient as initClient20 } from "@ts-rest/core";
|
|
30601
|
+
async function listZeroLogs(options) {
|
|
30512
30602
|
const config = await getClientConfig();
|
|
30513
|
-
const client =
|
|
30514
|
-
const result = await client.
|
|
30603
|
+
const client = initClient20(logsListContract, config);
|
|
30604
|
+
const result = await client.list({
|
|
30605
|
+
query: {
|
|
30606
|
+
agent: options?.agent,
|
|
30607
|
+
status: options?.status,
|
|
30608
|
+
limit: options?.limit,
|
|
30609
|
+
cursor: options?.cursor
|
|
30610
|
+
}
|
|
30611
|
+
});
|
|
30515
30612
|
if (result.status === 200) return result.body;
|
|
30516
|
-
handleError(result,
|
|
30613
|
+
handleError(result, "Failed to list zero logs");
|
|
30517
30614
|
}
|
|
30518
|
-
async function
|
|
30615
|
+
async function searchZeroLogs(options) {
|
|
30519
30616
|
const config = await getClientConfig();
|
|
30520
|
-
const client =
|
|
30521
|
-
const result = await client.
|
|
30522
|
-
params: { id },
|
|
30617
|
+
const client = initClient20(zeroLogsSearchContract, config);
|
|
30618
|
+
const result = await client.searchLogs({
|
|
30523
30619
|
query: {
|
|
30524
|
-
|
|
30525
|
-
|
|
30526
|
-
|
|
30620
|
+
keyword: options.keyword,
|
|
30621
|
+
agent: options.agent,
|
|
30622
|
+
runId: options.runId,
|
|
30623
|
+
since: options.since,
|
|
30624
|
+
limit: options.limit,
|
|
30625
|
+
before: options.before,
|
|
30626
|
+
after: options.after
|
|
30527
30627
|
}
|
|
30528
30628
|
});
|
|
30529
30629
|
if (result.status === 200) return result.body;
|
|
30530
|
-
handleError(result,
|
|
30630
|
+
handleError(result, "Failed to search zero logs");
|
|
30531
30631
|
}
|
|
30532
30632
|
|
|
30533
30633
|
// src/lib/api/domains/zero-ask-user.ts
|
|
30534
|
-
import { initClient as
|
|
30634
|
+
import { initClient as initClient21 } from "@ts-rest/core";
|
|
30535
30635
|
async function postAskUserQuestion(body) {
|
|
30536
30636
|
const config = await getClientConfig();
|
|
30537
|
-
const client =
|
|
30637
|
+
const client = initClient21(zeroAskUserQuestionContract, config);
|
|
30538
30638
|
const result = await client.postQuestion({ body, headers: {} });
|
|
30539
30639
|
if (result.status === 200) return result.body;
|
|
30540
30640
|
handleError(result, "Failed to post question");
|
|
30541
30641
|
}
|
|
30542
30642
|
async function getAskUserAnswer(pendingId) {
|
|
30543
30643
|
const config = await getClientConfig();
|
|
30544
|
-
const client =
|
|
30644
|
+
const client = initClient21(zeroAskUserAnswerContract, config);
|
|
30545
30645
|
const result = await client.getAnswer({
|
|
30546
30646
|
query: { pendingId },
|
|
30547
30647
|
headers: {}
|
|
@@ -31226,6 +31326,73 @@ var EventRenderer = class _EventRenderer {
|
|
|
31226
31326
|
}
|
|
31227
31327
|
};
|
|
31228
31328
|
|
|
31329
|
+
// src/lib/utils/time-parser.ts
|
|
31330
|
+
function parseTime(timeStr) {
|
|
31331
|
+
const relativeMatch = timeStr.match(/^(\d+)([smhdw])$/);
|
|
31332
|
+
if (relativeMatch) {
|
|
31333
|
+
const value = parseInt(relativeMatch[1], 10);
|
|
31334
|
+
const unit = relativeMatch[2];
|
|
31335
|
+
return parseRelativeTime(value, unit);
|
|
31336
|
+
}
|
|
31337
|
+
if (/^\d+$/.test(timeStr)) {
|
|
31338
|
+
const timestamp = parseInt(timeStr, 10);
|
|
31339
|
+
if (timestamp < 1e10) {
|
|
31340
|
+
return timestamp * 1e3;
|
|
31341
|
+
}
|
|
31342
|
+
return timestamp;
|
|
31343
|
+
}
|
|
31344
|
+
const date = new Date(timeStr);
|
|
31345
|
+
if (!isNaN(date.getTime())) {
|
|
31346
|
+
return date.getTime();
|
|
31347
|
+
}
|
|
31348
|
+
throw new Error(
|
|
31349
|
+
`Invalid time format: "${timeStr}". Supported formats: relative (5m, 2h, 1d), ISO 8601 (2024-01-15T10:30:00Z), Unix timestamp`
|
|
31350
|
+
);
|
|
31351
|
+
}
|
|
31352
|
+
function parseRelativeTime(value, unit) {
|
|
31353
|
+
const now = Date.now();
|
|
31354
|
+
const multipliers = {
|
|
31355
|
+
s: 1e3,
|
|
31356
|
+
// seconds
|
|
31357
|
+
m: 60 * 1e3,
|
|
31358
|
+
// minutes
|
|
31359
|
+
h: 60 * 60 * 1e3,
|
|
31360
|
+
// hours
|
|
31361
|
+
d: 24 * 60 * 60 * 1e3,
|
|
31362
|
+
// days
|
|
31363
|
+
w: 7 * 24 * 60 * 60 * 1e3
|
|
31364
|
+
// weeks
|
|
31365
|
+
};
|
|
31366
|
+
const multiplier = multipliers[unit];
|
|
31367
|
+
if (!multiplier) {
|
|
31368
|
+
throw new Error(`Unknown time unit: ${unit}`);
|
|
31369
|
+
}
|
|
31370
|
+
return now - value * multiplier;
|
|
31371
|
+
}
|
|
31372
|
+
|
|
31373
|
+
// src/lib/utils/paginate.ts
|
|
31374
|
+
async function paginate(options) {
|
|
31375
|
+
const { fetchPage, getTimestamp, targetCount, initialSince } = options;
|
|
31376
|
+
const collected = [];
|
|
31377
|
+
let since = initialSince;
|
|
31378
|
+
let hasMore = true;
|
|
31379
|
+
while (hasMore) {
|
|
31380
|
+
const response = await fetchPage(since);
|
|
31381
|
+
collected.push(...response.items);
|
|
31382
|
+
hasMore = response.hasMore;
|
|
31383
|
+
if (targetCount !== "all" && collected.length >= targetCount) {
|
|
31384
|
+
return collected.slice(0, targetCount);
|
|
31385
|
+
}
|
|
31386
|
+
if (response.items.length > 0) {
|
|
31387
|
+
const lastItem = response.items[response.items.length - 1];
|
|
31388
|
+
since = getTimestamp(lastItem);
|
|
31389
|
+
} else {
|
|
31390
|
+
hasMore = false;
|
|
31391
|
+
}
|
|
31392
|
+
}
|
|
31393
|
+
return collected;
|
|
31394
|
+
}
|
|
31395
|
+
|
|
31229
31396
|
// src/commands/run/shared.ts
|
|
31230
31397
|
import chalk5 from "chalk";
|
|
31231
31398
|
import * as fs from "fs";
|
|
@@ -31544,6 +31711,8 @@ export {
|
|
|
31544
31711
|
createZeroRun,
|
|
31545
31712
|
getZeroRun,
|
|
31546
31713
|
getZeroRunAgentEvents,
|
|
31714
|
+
listZeroLogs,
|
|
31715
|
+
searchZeroLogs,
|
|
31547
31716
|
getSystemLog,
|
|
31548
31717
|
getMetrics,
|
|
31549
31718
|
getAgentEvents,
|
|
@@ -31569,6 +31738,8 @@ export {
|
|
|
31569
31738
|
parseIdentifier,
|
|
31570
31739
|
renderRunCreated,
|
|
31571
31740
|
pollEvents,
|
|
31572
|
-
showNextSteps
|
|
31741
|
+
showNextSteps,
|
|
31742
|
+
parseTime,
|
|
31743
|
+
paginate
|
|
31573
31744
|
};
|
|
31574
|
-
//# sourceMappingURL=chunk-
|
|
31745
|
+
//# sourceMappingURL=chunk-IY5MFRXW.js.map
|