@scalekit-sdk/node 2.2.0-beta.1 → 2.2.0-beta.3

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.
Files changed (88) hide show
  1. package/lib/actions.d.ts +126 -0
  2. package/lib/actions.js +199 -0
  3. package/lib/actions.js.map +1 -0
  4. package/lib/core.js +2 -2
  5. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js +1 -1
  6. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js +1 -1
  7. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js +1 -1
  8. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.d.ts +32 -0
  9. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js +40 -2
  10. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js.map +1 -1
  11. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js +1 -1
  12. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js +1 -1
  13. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js +1 -1
  14. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js +1 -1
  15. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js +1 -1
  16. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js +1 -1
  17. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js +1 -1
  18. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js +1 -1
  19. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +4 -0
  20. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +2 -1
  21. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
  22. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js +1 -1
  23. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +1 -1
  24. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js +1 -1
  25. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +1 -1
  26. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js +1 -1
  27. package/lib/pkg/grpc/scalekit/v1/options/options_pb.js +1 -1
  28. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js +1 -1
  29. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +1 -1
  30. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js +1 -1
  31. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +1 -1
  32. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js +1 -1
  33. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +1 -1
  34. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.d.ts +10 -1
  35. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js +10 -1
  36. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js.map +1 -1
  37. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.d.ts +54 -0
  38. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js +89 -2
  39. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js.map +1 -1
  40. package/lib/pkg/grpc/scalekit/v1/users/users_connect.d.ts +10 -1
  41. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js +10 -1
  42. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js.map +1 -1
  43. package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +17 -0
  44. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +33 -2
  45. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
  46. package/lib/scalekit.d.ts +2 -0
  47. package/lib/scalekit.js +2 -0
  48. package/lib/scalekit.js.map +1 -1
  49. package/lib/tools.d.ts +22 -5
  50. package/lib/tools.js +30 -5
  51. package/lib/tools.js.map +1 -1
  52. package/package.json +1 -1
  53. package/reference.md +378 -0
  54. package/src/actions.ts +349 -0
  55. package/src/core.ts +2 -2
  56. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.ts +1 -1
  57. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +1 -1
  58. package/src/pkg/grpc/scalekit/v1/auth/auth_connect.ts +1 -1
  59. package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +57 -1
  60. package/src/pkg/grpc/scalekit/v1/auth/passwordless_connect.ts +1 -1
  61. package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +1 -1
  62. package/src/pkg/grpc/scalekit/v1/auth/webauthn_connect.ts +1 -1
  63. package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +1 -1
  64. package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +1 -1
  65. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.ts +1 -1
  66. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.ts +1 -1
  67. package/src/pkg/grpc/scalekit/v1/connections/connections_connect.ts +1 -1
  68. package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +7 -1
  69. package/src/pkg/grpc/scalekit/v1/directories/directories_connect.ts +1 -1
  70. package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +1 -1
  71. package/src/pkg/grpc/scalekit/v1/domains/domains_connect.ts +1 -1
  72. package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +1 -1
  73. package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +1 -1
  74. package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +1 -1
  75. package/src/pkg/grpc/scalekit/v1/organizations/organizations_connect.ts +1 -1
  76. package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +1 -1
  77. package/src/pkg/grpc/scalekit/v1/roles/roles_connect.ts +1 -1
  78. package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +1 -1
  79. package/src/pkg/grpc/scalekit/v1/sessions/sessions_connect.ts +1 -1
  80. package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +1 -1
  81. package/src/pkg/grpc/scalekit/v1/tools/tools_connect.ts +11 -2
  82. package/src/pkg/grpc/scalekit/v1/tools/tools_pb.ts +105 -1
  83. package/src/pkg/grpc/scalekit/v1/users/users_connect.ts +11 -2
  84. package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +38 -1
  85. package/src/scalekit.ts +7 -0
  86. package/src/tools.ts +44 -7
  87. package/tests/actions.test.ts +356 -0
  88. package/tests/tools.test.ts +46 -0
package/reference.md CHANGED
@@ -5187,6 +5187,313 @@ await scalekitClient.auth.updateLoginUserDetails(
5187
5187
  </dl>
5188
5188
 
5189
5189
 
5190
+ </dd>
5191
+ </dl>
5192
+ </details>
5193
+
5194
+ ## Actions
5195
+
5196
+ <details><summary><code>client.actions.<a href="/src/actions.ts">executeTool</a>(params) -> Promise&lt;ExecuteToolResponse&gt;</code></summary>
5197
+ <dl>
5198
+ <dd>
5199
+
5200
+ #### 📝 Description
5201
+
5202
+ <dl>
5203
+ <dd>
5204
+
5205
+ <dl>
5206
+ <dd>
5207
+
5208
+ Executes a tool on behalf of a connected account using the high-level actions wrapper. This is a thin wrapper around `client.tools.executeTool` and is the primary entrypoint for agent-style tool execution in the Node SDK.
5209
+ </dd>
5210
+ </dl>
5211
+ </dd>
5212
+ </dl>
5213
+
5214
+ #### 🔌 Usage
5215
+
5216
+ <dl>
5217
+ <dd>
5218
+
5219
+ <dl>
5220
+ <dd>
5221
+
5222
+ ```typescript
5223
+ // Execute a tool with a connected account ID
5224
+ const executeResponse = await scalekitClient.actions.executeTool({
5225
+ toolName: 'gmail_send_email',
5226
+ toolInput: {
5227
+ to: 'user@example.com',
5228
+ subject: 'Hello',
5229
+ body: 'Hello from Scalekit Actions',
5230
+ },
5231
+ connectedAccountId: 'ca_123',
5232
+ });
5233
+
5234
+ // Execute a tool by resolving the connected account via identifier + connector
5235
+ const executeResponse2 = await scalekitClient.actions.executeTool({
5236
+ toolName: 'gmail_send_email',
5237
+ toolInput: {
5238
+ to: 'user@example.com',
5239
+ subject: 'Test',
5240
+ body: 'Body',
5241
+ },
5242
+ identifier: 'user@example.com',
5243
+ connector: 'google_workspace',
5244
+ organizationId: 'org_123',
5245
+ });
5246
+ ```
5247
+ </dd>
5248
+ </dl>
5249
+ </dd>
5250
+ </dl>
5251
+
5252
+ #### ⚙️ Parameters
5253
+
5254
+ <dl>
5255
+ <dd>
5256
+
5257
+ <dl>
5258
+ <dd>
5259
+
5260
+ **params:** `object`
5261
+ - `toolName: string` - Name of the tool to execute
5262
+ - `toolInput: Record<string, unknown>` - JSON payload passed as the tool's input parameters
5263
+ - `identifier?: string` - Connected account identifier (e.g., email, workspace ID)
5264
+ - `connectedAccountId?: string` - Direct ID of the connected account (`ca_...`)
5265
+ - `connector?: string` - Connector/provider name when using identifier-based lookup
5266
+ - `organizationId?: string` - Organization scope for identifier-based lookup
5267
+ - `userId?: string` - User scope for identifier-based lookup
5268
+
5269
+ </dd>
5270
+ </dl>
5271
+ </dd>
5272
+ </dl>
5273
+
5274
+
5275
+ </dd>
5276
+ </dl>
5277
+ </details>
5278
+
5279
+ <details><summary><code>client.actions.<a href="/src/actions.ts">getAuthorizationLink</a>(params) -> Promise&lt;GetMagicLinkForConnectedAccountResponse&gt;</code></summary>
5280
+ <dl>
5281
+ <dd>
5282
+
5283
+ #### 📝 Description
5284
+
5285
+ <dl>
5286
+ <dd>
5287
+
5288
+ <dl>
5289
+ <dd>
5290
+
5291
+ Generates a time-limited magic link to authorize or re-authorize a third-party account for a given connector and identifier, via the high-level actions wrapper.
5292
+ </dd>
5293
+ </dl>
5294
+ </dd>
5295
+ </dl>
5296
+
5297
+ #### 🔌 Usage
5298
+
5299
+ <dl>
5300
+ <dd>
5301
+
5302
+ <dl>
5303
+ <dd>
5304
+
5305
+ ```typescript
5306
+ const magicLinkResponse = await scalekitClient.actions.getAuthorizationLink({
5307
+ connectionName: 'notion',
5308
+ identifier: 'workspace_123',
5309
+ organizationId: 'org_123',
5310
+ });
5311
+
5312
+ // Redirect the user to magicLinkResponse.link before it expires
5313
+ console.log(magicLinkResponse.link, magicLinkResponse.expiry);
5314
+ ```
5315
+ </dd>
5316
+ </dl>
5317
+ </dd>
5318
+ </dl>
5319
+
5320
+ #### ⚙️ Parameters
5321
+
5322
+ <dl>
5323
+ <dd>
5324
+
5325
+ <dl>
5326
+ <dd>
5327
+
5328
+ **params:** `object`
5329
+ - `connectionName?: string` - Connector identifier (e.g., `notion`, `google_workspace`)
5330
+ - `identifier?: string` - Connected account identifier (e.g., workspace ID, email)
5331
+ - `connectedAccountId?: string` - Optional connected account ID (`ca_...`)
5332
+ - `organizationId?: string` - Optional organization scope
5333
+ - `userId?: string` - Optional user scope
5334
+
5335
+ </dd>
5336
+ </dl>
5337
+ </dd>
5338
+ </dl>
5339
+
5340
+
5341
+ </dd>
5342
+ </dl>
5343
+ </details>
5344
+
5345
+ <details><summary><code>client.actions.<a href="/src/actions.ts">getOrCreateConnectedAccount</a>(params) -> Promise&lt;CreateConnectedAccountResponse&gt;</code></summary>
5346
+ <dl>
5347
+ <dd>
5348
+
5349
+ #### 📝 Description
5350
+
5351
+ <dl>
5352
+ <dd>
5353
+
5354
+ <dl>
5355
+ <dd>
5356
+
5357
+ Retrieves an existing connected account for a connector + identifier or creates one if it does not exist. This mirrors the Python `ActionClient.get_or_create_connected_account` behavior.
5358
+ </dd>
5359
+ </dl>
5360
+ </dd>
5361
+ </dl>
5362
+
5363
+ #### 🔌 Usage
5364
+
5365
+ <dl>
5366
+ <dd>
5367
+
5368
+ <dl>
5369
+ <dd>
5370
+
5371
+ ```typescript
5372
+ import {
5373
+ AuthorizationDetails,
5374
+ OauthToken,
5375
+ } from '@scalekit-sdk/node';
5376
+
5377
+ const oauthToken = new OauthToken({
5378
+ accessToken: 'test_access_token',
5379
+ refreshToken: 'test_refresh_token',
5380
+ scopes: ['read', 'write'],
5381
+ });
5382
+
5383
+ const authorizationDetails = new AuthorizationDetails({
5384
+ details: {
5385
+ case: 'oauthToken',
5386
+ value: oauthToken,
5387
+ },
5388
+ });
5389
+
5390
+ const connectedAccountResponse = await scalekitClient.actions.getOrCreateConnectedAccount({
5391
+ connectionName: 'gmail',
5392
+ identifier: 'user@example.com',
5393
+ authorizationDetails,
5394
+ organizationId: 'org_123',
5395
+ });
5396
+
5397
+ console.log(connectedAccountResponse.connectedAccount?.id);
5398
+ ```
5399
+ </dd>
5400
+ </dl>
5401
+ </dd>
5402
+ </dl>
5403
+
5404
+ #### ⚙️ Parameters
5405
+
5406
+ <dl>
5407
+ <dd>
5408
+
5409
+ <dl>
5410
+ <dd>
5411
+
5412
+ **params:** `object`
5413
+ - `connectionName: string` - Connector identifier (e.g., `gmail`, `notion`)
5414
+ - `identifier: string` - Connected account identifier (e.g., email, workspace ID)
5415
+ - `authorizationDetails?: AuthorizationDetails` - Optional auth details used when creating a new account
5416
+ - `organizationId?: string` - Optional organization scope
5417
+ - `userId?: string` - Optional user scope
5418
+ - `apiConfig?: Record<string, unknown>` - Optional API configuration used when creating a new account
5419
+
5420
+ </dd>
5421
+ </dl>
5422
+ </dd>
5423
+ </dl>
5424
+
5425
+
5426
+ </dd>
5427
+ </dl>
5428
+ </details>
5429
+
5430
+ <details><summary><code>client.actions.<a href="/src/actions.ts">request</a>(params) -> Promise&lt;AxiosResponse&lt;any&gt;&gt;</code></summary>
5431
+ <dl>
5432
+ <dd>
5433
+
5434
+ #### 📝 Description
5435
+
5436
+ <dl>
5437
+ <dd>
5438
+
5439
+ <dl>
5440
+ <dd>
5441
+
5442
+ Makes a proxied REST API call through Scalekit on behalf of a connected account. This mirrors the Python `ActionClient.request` helper and is useful for direct HTTP calls to third-party APIs.
5443
+ </dd>
5444
+ </dl>
5445
+ </dd>
5446
+ </dl>
5447
+
5448
+ #### 🔌 Usage
5449
+
5450
+ <dl>
5451
+ <dd>
5452
+
5453
+ <dl>
5454
+ <dd>
5455
+
5456
+ ```typescript
5457
+ const response = await scalekitClient.actions.request({
5458
+ connectionName: 'microsoft_graph',
5459
+ identifier: 'user@example.com',
5460
+ path: '/v1.0/me/messages',
5461
+ method: 'GET',
5462
+ queryParams: { '$top': 10 },
5463
+ });
5464
+
5465
+ console.log(response.status, response.data);
5466
+ ```
5467
+ </dd>
5468
+ </dl>
5469
+ </dd>
5470
+ </dl>
5471
+
5472
+ #### ⚙️ Parameters
5473
+
5474
+ <dl>
5475
+ <dd>
5476
+
5477
+ <dl>
5478
+ <dd>
5479
+
5480
+ **params:** `object`
5481
+ - `connectionName: string` - Connector identifier to route the proxied call
5482
+ - `identifier: string` - Connected account identifier whose credentials are used
5483
+ - `path: string` - Target API path (e.g., `/v1.0/me/messages`)
5484
+ - `method?: string` - HTTP method (`GET`, `POST`, `PUT`, etc., default: `GET`)
5485
+ - `queryParams?: Record<string, unknown>` - URL query parameters
5486
+ - `body?: unknown` - JSON body payload
5487
+ - `formData?: Record<string, unknown>` - Form-encoded payload (alternative to `body`)
5488
+ - `headers?: Record<string, string>` - Additional HTTP headers to send
5489
+ - `timeoutMs?: number` - Optional request timeout in milliseconds
5490
+
5491
+ </dd>
5492
+ </dl>
5493
+ </dd>
5494
+ </dl>
5495
+
5496
+
5190
5497
  </dd>
5191
5498
  </dl>
5192
5499
  </details>
@@ -5338,6 +5645,77 @@ const nextPage = await scalekitClient.tools.listScopedTools('user@example.com',
5338
5645
  </dl>
5339
5646
 
5340
5647
 
5648
+ </dd>
5649
+ </dl>
5650
+ </details>
5651
+
5652
+ <details><summary><code>client.tools.<a href="/src/tools.ts">listAvailableTools</a>(identifier, options?) -> Promise&lt;ListAvailableToolsResponse&gt;</code></summary>
5653
+ <dl>
5654
+ <dd>
5655
+
5656
+ #### 📝 Description
5657
+
5658
+ <dl>
5659
+ <dd>
5660
+
5661
+ <dl>
5662
+ <dd>
5663
+
5664
+ Lists tools that are available for a specific connected account identifier. Use this to discover which tools can be made available for a given identifier (for example, an email or workspace ID), with optional pagination.
5665
+ </dd>
5666
+ </dl>
5667
+ </dd>
5668
+ </dl>
5669
+
5670
+ #### 🔌 Usage
5671
+
5672
+ <dl>
5673
+ <dd>
5674
+
5675
+ <dl>
5676
+ <dd>
5677
+
5678
+ ```typescript
5679
+ // List available tools for an identifier
5680
+ const response = await scalekitClient.tools.listAvailableTools('user@example.com');
5681
+
5682
+ // List available tools with pagination
5683
+ const nextPage = await scalekitClient.tools.listAvailableTools('user@example.com', {
5684
+ pageSize: 10,
5685
+ pageToken: response.nextPageToken,
5686
+ });
5687
+ ```
5688
+ </dd>
5689
+ </dl>
5690
+ </dd>
5691
+ </dl>
5692
+
5693
+ #### ⚙️ Parameters
5694
+
5695
+ <dl>
5696
+ <dd>
5697
+
5698
+ <dl>
5699
+ <dd>
5700
+
5701
+ **identifier:** `string` - Connected account identifier (e.g., email or workspace ID) to scope the available tools.
5702
+
5703
+ </dd>
5704
+ </dl>
5705
+
5706
+ <dl>
5707
+ <dd>
5708
+
5709
+ **options?:** `object` - Optional pagination parameters.
5710
+ - `pageSize?: number` - Maximum number of tools per page.
5711
+ - `pageToken?: string` - Token from a previous response for pagination.
5712
+
5713
+ </dd>
5714
+ </dl>
5715
+ </dd>
5716
+ </dl>
5717
+
5718
+
5341
5719
  </dd>
5342
5720
  </dl>
5343
5721
  </details>