@lobehub/market-sdk 0.27.3 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { AgentItem, MarketItemBase, PluginConnectionType, InstallFailureAnalysisQuery, InstallFailureAnalysis, RangeQuery, RangeStats, TopPluginsQuery, TopPlugin, PluginManifest, AdminPluginItem, AdminPluginItemDetail, PluginVersion, PluginVersionLocalization, AdminDeploymentOption, InstallationDetails, SystemDependency, IncompleteI18nPlugin, AgentEventRequest, CategoryListQuery, CategoryItem, PluginItemDetail, InstallReportRequest, InstallReportResponse, CallReportRequest, CallReportResponse, PluginEventRequest, CloudGatewayRequest, CloudGatewayResponse } from '@lobehub/market-types';
3
3
  export * from '@lobehub/market-types';
4
4
  export { CategoryItem, CategoryListQuery, CategoryListResponse } from '@lobehub/market-types';
5
+ import { JSONSchema7 } from 'json-schema';
5
6
 
6
7
  /**
7
8
  * Visibility levels for plugins in the marketplace
@@ -254,7 +255,7 @@ interface AgentListQuery {
254
255
  /** Search query string */
255
256
  q?: string;
256
257
  /** Sort field */
257
- sort?: 'createdAt' | 'updatedAt' | 'name' | 'tokenUsage' | 'knowledgeCount' | 'pluginCount' | 'recommended';
258
+ sort?: 'createdAt' | 'updatedAt' | 'name';
258
259
  /** Publication status filter */
259
260
  status?: 'published' | 'unpublished' | 'archived' | 'deprecated' | 'all';
260
261
  /** Visibility filter */
@@ -1070,7 +1071,7 @@ interface PluginQueryParams {
1070
1071
  /** Search query string */
1071
1072
  q?: string;
1072
1073
  /** Field to sort by */
1073
- sort?: 'installCount' | 'createdAt' | 'updatedAt' | 'ratingAverage' | 'ratingCount' | 'isFeatured' | 'isValidated' | 'recommended';
1074
+ sort?: 'installCount' | 'createdAt' | 'updatedAt' | 'ratingAverage' | 'ratingCount' | 'isFeatured' | 'isValidated';
1074
1075
  /** Filter by tags (comma-separated) */
1075
1076
  tags?: string;
1076
1077
  }
@@ -1269,6 +1270,519 @@ interface CodeInterpreterToolParams {
1269
1270
  writeLocalFile: WriteLocalFileParams;
1270
1271
  }
1271
1272
 
1273
+ /**
1274
+ * Connect Types for LobeHub Market SDK
1275
+ *
1276
+ * Types related to OAuth connection management.
1277
+ */
1278
+ /**
1279
+ * OAuth Provider scope configuration
1280
+ */
1281
+ interface ConnectProviderScopes {
1282
+ /**
1283
+ * All available scopes for this provider
1284
+ */
1285
+ available: string[];
1286
+ /**
1287
+ * Default scopes requested during authorization
1288
+ */
1289
+ default: string[];
1290
+ /**
1291
+ * Scope separator used by this provider
1292
+ */
1293
+ separator: string;
1294
+ }
1295
+ /**
1296
+ * OAuth Provider information
1297
+ */
1298
+ interface ConnectProvider {
1299
+ /**
1300
+ * Provider icon URL
1301
+ */
1302
+ icon?: string;
1303
+ /**
1304
+ * Unique provider identifier (e.g., 'github', 'linear')
1305
+ */
1306
+ id: string;
1307
+ /**
1308
+ * Display name of the provider
1309
+ */
1310
+ name: string;
1311
+ /**
1312
+ * Whether API proxy is supported
1313
+ */
1314
+ proxySupported: boolean;
1315
+ /**
1316
+ * Whether token refresh is supported
1317
+ */
1318
+ refreshSupported: boolean;
1319
+ /**
1320
+ * Scope configuration
1321
+ */
1322
+ scopes: ConnectProviderScopes;
1323
+ }
1324
+ /**
1325
+ * Detailed provider information
1326
+ */
1327
+ interface ConnectProviderDetail extends ConnectProvider {
1328
+ /**
1329
+ * Whether the provider has credentials configured on the server
1330
+ */
1331
+ configured: boolean;
1332
+ /**
1333
+ * Proxy base URL if supported
1334
+ */
1335
+ proxyBaseUrl?: string;
1336
+ }
1337
+ /**
1338
+ * User's OAuth connection to a provider
1339
+ */
1340
+ interface OAuthConnection {
1341
+ /**
1342
+ * When the connection was created
1343
+ */
1344
+ createdAt: string;
1345
+ /**
1346
+ * Provider user email (if available)
1347
+ */
1348
+ providerEmail?: string;
1349
+ /**
1350
+ * Provider identifier
1351
+ */
1352
+ providerId: string;
1353
+ /**
1354
+ * Provider display name
1355
+ */
1356
+ providerName: string;
1357
+ /**
1358
+ * Provider user ID
1359
+ */
1360
+ providerUserId?: string;
1361
+ /**
1362
+ * Provider username (if available)
1363
+ */
1364
+ providerUsername?: string;
1365
+ /**
1366
+ * Authorized scopes
1367
+ */
1368
+ scopes: string[];
1369
+ /**
1370
+ * Token expiry time (ISO string)
1371
+ */
1372
+ tokenExpiresAt?: string;
1373
+ /**
1374
+ * When the connection was last updated
1375
+ */
1376
+ updatedAt: string;
1377
+ }
1378
+ /**
1379
+ * Connection health status
1380
+ */
1381
+ interface ConnectionHealth {
1382
+ /**
1383
+ * Whether the connection is healthy
1384
+ */
1385
+ healthy: boolean;
1386
+ /**
1387
+ * Provider identifier
1388
+ */
1389
+ providerId: string;
1390
+ /**
1391
+ * Provider display name
1392
+ */
1393
+ providerName: string;
1394
+ /**
1395
+ * Token status
1396
+ */
1397
+ tokenStatus: 'valid' | 'expiring_soon' | 'expired' | 'unknown';
1398
+ }
1399
+ /**
1400
+ * Connection statistics
1401
+ */
1402
+ interface ConnectionStats {
1403
+ /**
1404
+ * Number of active/healthy connections
1405
+ */
1406
+ active: number;
1407
+ /**
1408
+ * Number of expired connections
1409
+ */
1410
+ expired: number;
1411
+ /**
1412
+ * Number of connections expiring soon
1413
+ */
1414
+ expiringSoon: number;
1415
+ /**
1416
+ * Total number of connections
1417
+ */
1418
+ total: number;
1419
+ }
1420
+ /**
1421
+ * Response for listing providers
1422
+ */
1423
+ interface ListConnectProvidersResponse {
1424
+ /**
1425
+ * List of available providers
1426
+ */
1427
+ providers: ConnectProvider[];
1428
+ /**
1429
+ * Whether the request was successful
1430
+ */
1431
+ success: boolean;
1432
+ }
1433
+ /**
1434
+ * Response for getting provider details
1435
+ */
1436
+ interface GetConnectProviderResponse {
1437
+ /**
1438
+ * Provider details
1439
+ */
1440
+ provider: ConnectProviderDetail;
1441
+ /**
1442
+ * Whether the request was successful
1443
+ */
1444
+ success: boolean;
1445
+ }
1446
+ /**
1447
+ * Response for getting connection status
1448
+ */
1449
+ interface GetConnectionStatusResponse {
1450
+ /**
1451
+ * Whether the user is connected to this provider
1452
+ */
1453
+ connected: boolean;
1454
+ /**
1455
+ * Connection details (if connected)
1456
+ */
1457
+ connection: OAuthConnection | null;
1458
+ /**
1459
+ * Whether the request was successful
1460
+ */
1461
+ success: boolean;
1462
+ }
1463
+ /**
1464
+ * Response for listing all connections
1465
+ */
1466
+ interface ListConnectionsResponse {
1467
+ /**
1468
+ * List of user's connections
1469
+ */
1470
+ connections: OAuthConnection[];
1471
+ /**
1472
+ * Whether the request was successful
1473
+ */
1474
+ success: boolean;
1475
+ }
1476
+ /**
1477
+ * Response for connection statistics
1478
+ */
1479
+ interface GetConnectionStatsResponse {
1480
+ /**
1481
+ * Connection statistics
1482
+ */
1483
+ stats: ConnectionStats;
1484
+ /**
1485
+ * Whether the request was successful
1486
+ */
1487
+ success: boolean;
1488
+ }
1489
+ /**
1490
+ * Response for connection health check
1491
+ */
1492
+ interface GetConnectionHealthResponse {
1493
+ /**
1494
+ * Token expiry time (ISO string)
1495
+ */
1496
+ expiresAt?: string;
1497
+ /**
1498
+ * Whether the connection is healthy
1499
+ */
1500
+ healthy: boolean;
1501
+ /**
1502
+ * Provider identifier
1503
+ */
1504
+ provider: string;
1505
+ /**
1506
+ * Whether the request was successful
1507
+ */
1508
+ success: boolean;
1509
+ /**
1510
+ * Token status
1511
+ */
1512
+ tokenStatus: 'valid' | 'expiring_soon' | 'expired' | 'unknown';
1513
+ }
1514
+ /**
1515
+ * Response for all connections health check
1516
+ */
1517
+ interface GetAllConnectionsHealthResponse {
1518
+ /**
1519
+ * Health status for each connection
1520
+ */
1521
+ connections: ConnectionHealth[];
1522
+ /**
1523
+ * Whether the request was successful
1524
+ */
1525
+ success: boolean;
1526
+ /**
1527
+ * Health summary
1528
+ */
1529
+ summary: {
1530
+ expired: number;
1531
+ expiringSoon: number;
1532
+ healthy: number;
1533
+ total: number;
1534
+ unhealthy: number;
1535
+ };
1536
+ }
1537
+ /**
1538
+ * Response for token refresh
1539
+ */
1540
+ interface RefreshConnectionResponse {
1541
+ /**
1542
+ * Updated connection details
1543
+ */
1544
+ connection: OAuthConnection | null;
1545
+ /**
1546
+ * Whether the token was refreshed
1547
+ */
1548
+ refreshed: boolean;
1549
+ /**
1550
+ * Whether the request was successful
1551
+ */
1552
+ success: boolean;
1553
+ }
1554
+ /**
1555
+ * Response for revoking connection
1556
+ */
1557
+ interface RevokeConnectionResponse {
1558
+ /**
1559
+ * Whether the request was successful
1560
+ */
1561
+ success: boolean;
1562
+ }
1563
+ /**
1564
+ * Parameters for getting authorize URL
1565
+ */
1566
+ interface GetAuthorizeUrlParams {
1567
+ /**
1568
+ * Redirect URI after authorization (optional)
1569
+ */
1570
+ redirectUri?: string;
1571
+ /**
1572
+ * Custom scopes to request (optional, uses provider defaults if not specified)
1573
+ */
1574
+ scopes?: string[];
1575
+ }
1576
+ /**
1577
+ * Parameters for authorize request
1578
+ */
1579
+ interface AuthorizeParams {
1580
+ /**
1581
+ * Redirect URI after authorization (optional)
1582
+ */
1583
+ redirect_uri?: string;
1584
+ /**
1585
+ * Custom scopes to request (optional, uses provider defaults if not specified)
1586
+ */
1587
+ scopes?: string[];
1588
+ }
1589
+ /**
1590
+ * Response for authorize request
1591
+ *
1592
+ * Returns a signed authorization code that can be used to initiate
1593
+ * the OAuth flow in a browser context where Bearer tokens cannot be sent.
1594
+ */
1595
+ interface AuthorizeResponse {
1596
+ /**
1597
+ * The full URL to open in browser to start OAuth flow
1598
+ * Includes the signed code as a query parameter
1599
+ */
1600
+ authorize_url: string;
1601
+ /**
1602
+ * Signed authorization code
1603
+ * Can be used with GET /api/connect/:provider/start?code=xxx
1604
+ */
1605
+ code: string;
1606
+ /**
1607
+ * Code expiration time in seconds (typically 300 = 5 minutes)
1608
+ */
1609
+ expires_in: number;
1610
+ /**
1611
+ * Whether the request was successful
1612
+ */
1613
+ success: boolean;
1614
+ }
1615
+
1616
+ /**
1617
+ * Skill Types for LobeHub Market SDK
1618
+ *
1619
+ * Types related to skill providers, tools, and operations.
1620
+ */
1621
+
1622
+ /**
1623
+ * Represents a tool/function that can be called through a skill provider
1624
+ */
1625
+ interface SkillTool {
1626
+ /**
1627
+ * Optional description of the tool
1628
+ */
1629
+ description?: string;
1630
+ /**
1631
+ * JSON Schema for the tool's input parameters
1632
+ */
1633
+ inputSchema: JSONSchema7;
1634
+ /**
1635
+ * Unique name of the tool within the provider
1636
+ */
1637
+ name: string;
1638
+ }
1639
+ /**
1640
+ * Parameters for calling a tool
1641
+ */
1642
+ interface SkillCallParams {
1643
+ /**
1644
+ * Arguments to pass to the tool
1645
+ */
1646
+ args?: Record<string, unknown>;
1647
+ /**
1648
+ * Name of the tool to call
1649
+ */
1650
+ tool: string;
1651
+ }
1652
+ /**
1653
+ * Summary information about a skill provider
1654
+ */
1655
+ interface SkillProviderInfo {
1656
+ /**
1657
+ * Unique provider identifier (e.g., 'linear', 'github')
1658
+ */
1659
+ id: string;
1660
+ /**
1661
+ * Display name of the provider
1662
+ */
1663
+ name: string;
1664
+ /**
1665
+ * Type of the provider
1666
+ */
1667
+ type: 'mcp' | 'rest' | 'custom';
1668
+ }
1669
+ /**
1670
+ * Provider connection status
1671
+ */
1672
+ interface SkillProviderStatus {
1673
+ /**
1674
+ * Whether the user is connected to this provider
1675
+ */
1676
+ connected: boolean;
1677
+ /**
1678
+ * Error message if connection check failed
1679
+ */
1680
+ error?: string;
1681
+ /**
1682
+ * Provider identifier
1683
+ */
1684
+ provider: string;
1685
+ }
1686
+ /**
1687
+ * Response for listing skill providers
1688
+ */
1689
+ interface ListSkillProvidersResponse {
1690
+ /**
1691
+ * List of available providers
1692
+ */
1693
+ providers: SkillProviderInfo[];
1694
+ /**
1695
+ * Whether the request was successful
1696
+ */
1697
+ success: boolean;
1698
+ }
1699
+ /**
1700
+ * Response for listing tools of a provider
1701
+ */
1702
+ interface ListSkillToolsResponse {
1703
+ /**
1704
+ * Provider identifier
1705
+ */
1706
+ provider: string;
1707
+ /**
1708
+ * Whether the request was successful
1709
+ */
1710
+ success: boolean;
1711
+ /**
1712
+ * List of available tools
1713
+ */
1714
+ tools: SkillTool[];
1715
+ }
1716
+ /**
1717
+ * Response for getting a specific tool
1718
+ */
1719
+ interface GetSkillToolResponse {
1720
+ /**
1721
+ * Provider identifier
1722
+ */
1723
+ provider: string;
1724
+ /**
1725
+ * Whether the request was successful
1726
+ */
1727
+ success: boolean;
1728
+ /**
1729
+ * Tool details
1730
+ */
1731
+ tool: SkillTool;
1732
+ }
1733
+ /**
1734
+ * Response for getting provider status
1735
+ */
1736
+ interface GetSkillStatusResponse extends SkillProviderStatus {
1737
+ /**
1738
+ * Whether the request was successful
1739
+ */
1740
+ success: boolean;
1741
+ }
1742
+ /**
1743
+ * Response for calling a tool
1744
+ */
1745
+ interface CallSkillToolResponse<T = unknown> {
1746
+ /**
1747
+ * Result data from the tool call
1748
+ */
1749
+ data?: T;
1750
+ /**
1751
+ * Provider identifier
1752
+ */
1753
+ provider: string;
1754
+ /**
1755
+ * Whether the request was successful
1756
+ */
1757
+ success: boolean;
1758
+ /**
1759
+ * Tool that was called
1760
+ */
1761
+ tool: string;
1762
+ }
1763
+ /**
1764
+ * Error response from skill API
1765
+ */
1766
+ interface SkillErrorResponse {
1767
+ /**
1768
+ * Error details
1769
+ */
1770
+ error: {
1771
+ /**
1772
+ * Error code for programmatic handling
1773
+ */
1774
+ code: string;
1775
+ /**
1776
+ * Human-readable error message
1777
+ */
1778
+ message: string;
1779
+ };
1780
+ /**
1781
+ * Always false for error responses
1782
+ */
1783
+ success: false;
1784
+ }
1785
+
1272
1786
  /**
1273
1787
  * User-related type definitions for LobeHub Market SDK
1274
1788
  *
@@ -3189,6 +3703,184 @@ declare class AuthService extends BaseSDK {
3189
3703
  }>;
3190
3704
  }
3191
3705
 
3706
+ /**
3707
+ * Connect Service
3708
+ *
3709
+ * Provides OAuth connection management functionality.
3710
+ * This service allows:
3711
+ * - Listing available OAuth providers
3712
+ * - Getting authorize URL to initiate OAuth flow
3713
+ * - Checking connection status
3714
+ * - Managing existing connections (refresh, revoke)
3715
+ *
3716
+ * @example
3717
+ * ```typescript
3718
+ * const sdk = new MarketSDK({ accessToken: 'user-token' });
3719
+ *
3720
+ * // 1. List available providers
3721
+ * const { providers } = await sdk.connect.listProviders();
3722
+ *
3723
+ * // 2. Check if connected to Linear
3724
+ * const { connected } = await sdk.connect.getStatus('linear');
3725
+ *
3726
+ * // 3. If not connected, get authorize URL and redirect user
3727
+ * if (!connected) {
3728
+ * const authorizeUrl = sdk.connect.getAuthorizeUrl('linear');
3729
+ * window.location.href = authorizeUrl;
3730
+ * }
3731
+ *
3732
+ * // 4. After user completes OAuth, they can use skills
3733
+ * const result = await sdk.skills.callTool('linear', {
3734
+ * tool: 'create_issue',
3735
+ * args: { title: 'New issue', team: 'Engineering' }
3736
+ * });
3737
+ * ```
3738
+ */
3739
+ declare class ConnectService extends BaseSDK {
3740
+ /**
3741
+ * Lists all available OAuth providers
3742
+ *
3743
+ * Returns providers that have credentials configured on the server.
3744
+ * This is a public endpoint that doesn't require authentication.
3745
+ *
3746
+ * @param options - Optional request options
3747
+ * @returns Promise resolving to the list of available providers
3748
+ */
3749
+ listProviders(options?: globalThis.RequestInit): Promise<ListConnectProvidersResponse>;
3750
+ /**
3751
+ * Gets detailed information about a specific provider
3752
+ *
3753
+ * This is a public endpoint that doesn't require authentication.
3754
+ *
3755
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3756
+ * @param options - Optional request options
3757
+ * @returns Promise resolving to the provider details
3758
+ */
3759
+ getProvider(provider: string, options?: globalThis.RequestInit): Promise<GetConnectProviderResponse>;
3760
+ /**
3761
+ * Requests an authorization code for initiating OAuth flow
3762
+ *
3763
+ * This method obtains a signed, short-lived authorization code that can be
3764
+ * used to start the OAuth flow in a browser context where Bearer tokens
3765
+ * cannot be sent (e.g., opening a popup or redirecting the page).
3766
+ *
3767
+ * The returned `authorize_url` can be directly opened in a browser.
3768
+ *
3769
+ * **This is the recommended way to initiate OAuth authorization.**
3770
+ *
3771
+ * @param provider - The provider ID (e.g., 'linear', 'github', 'microsoft')
3772
+ * @param params - Optional parameters for scopes and redirect URI
3773
+ * @param options - Optional request options (must include authentication)
3774
+ * @returns Promise resolving to the authorization code and URL
3775
+ *
3776
+ * @example
3777
+ * ```typescript
3778
+ * // Get authorization code and URL
3779
+ * const { authorize_url, code, expires_in } = await sdk.connect.authorize('linear');
3780
+ *
3781
+ * // Open the URL in a popup
3782
+ * const popup = window.open(authorize_url, 'oauth', 'width=600,height=700,popup=yes');
3783
+ *
3784
+ * // With custom scopes
3785
+ * const { authorize_url } = await sdk.connect.authorize('github', {
3786
+ * scopes: ['user', 'repo', 'read:org']
3787
+ * });
3788
+ *
3789
+ * // With redirect URI
3790
+ * const { authorize_url } = await sdk.connect.authorize('microsoft', {
3791
+ * scopes: ['Calendars.ReadWrite'],
3792
+ * redirect_uri: 'https://myapp.com/oauth/callback'
3793
+ * });
3794
+ * ```
3795
+ */
3796
+ authorize(provider: string, params?: AuthorizeParams, options?: globalThis.RequestInit): Promise<AuthorizeResponse>;
3797
+ /**
3798
+ * Generates the OAuth authorization URL for a provider (deprecated)
3799
+ *
3800
+ * @deprecated Use `authorize()` instead. This method constructs a URL that
3801
+ * requires Bearer token authentication, which doesn't work in browser redirects.
3802
+ * The new `authorize()` method returns a URL with a signed code that works
3803
+ * in browser contexts.
3804
+ *
3805
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3806
+ * @param params - Optional parameters for scopes and redirect URI
3807
+ * @returns The authorization URL (requires Bearer token, won't work in browser)
3808
+ *
3809
+ * @example
3810
+ * ```typescript
3811
+ * // OLD way (deprecated) - won't work in browser
3812
+ * const url = sdk.connect.getAuthorizeUrl('linear');
3813
+ *
3814
+ * // NEW way (recommended) - works in browser
3815
+ * const { authorize_url } = await sdk.connect.authorize('linear');
3816
+ * window.open(authorize_url, 'oauth', 'width=600,height=700');
3817
+ * ```
3818
+ */
3819
+ getAuthorizeUrl(provider: string, params?: GetAuthorizeUrlParams): string;
3820
+ /**
3821
+ * Gets the connection status for a specific provider
3822
+ *
3823
+ * Checks if the authenticated user has an active OAuth connection.
3824
+ * Requires authentication.
3825
+ *
3826
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3827
+ * @param options - Optional request options (must include authentication)
3828
+ * @returns Promise resolving to the connection status
3829
+ */
3830
+ getStatus(provider: string, options?: globalThis.RequestInit): Promise<GetConnectionStatusResponse>;
3831
+ /**
3832
+ * Lists all OAuth connections for the authenticated user
3833
+ *
3834
+ * Requires authentication.
3835
+ *
3836
+ * @param options - Optional request options (must include authentication)
3837
+ * @returns Promise resolving to the list of connections
3838
+ */
3839
+ listConnections(options?: globalThis.RequestInit): Promise<ListConnectionsResponse>;
3840
+ /**
3841
+ * Checks the health of a specific provider connection
3842
+ *
3843
+ * Verifies if the token is valid, expiring soon, or expired.
3844
+ * Requires authentication.
3845
+ *
3846
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3847
+ * @param options - Optional request options (must include authentication)
3848
+ * @returns Promise resolving to the connection health status
3849
+ */
3850
+ getHealth(provider: string, options?: globalThis.RequestInit): Promise<GetConnectionHealthResponse>;
3851
+ /**
3852
+ * Checks the health of all provider connections
3853
+ *
3854
+ * Requires authentication.
3855
+ *
3856
+ * @param options - Optional request options (must include authentication)
3857
+ * @returns Promise resolving to the health status of all connections
3858
+ */
3859
+ getAllHealth(options?: globalThis.RequestInit): Promise<GetAllConnectionsHealthResponse>;
3860
+ /**
3861
+ * Manually refreshes the access token for a provider connection
3862
+ *
3863
+ * Only works for providers that support token refresh.
3864
+ * Requires authentication.
3865
+ *
3866
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3867
+ * @param options - Optional request options (must include authentication)
3868
+ * @returns Promise resolving to the refresh result
3869
+ */
3870
+ refresh(provider: string, options?: globalThis.RequestInit): Promise<RefreshConnectionResponse>;
3871
+ /**
3872
+ * Revokes/disconnects a provider connection
3873
+ *
3874
+ * Removes the OAuth connection and deletes stored tokens.
3875
+ * Requires authentication.
3876
+ *
3877
+ * @param provider - The provider ID (e.g., 'linear', 'github')
3878
+ * @param options - Optional request options (must include authentication)
3879
+ * @returns Promise resolving to the revoke result
3880
+ */
3881
+ revoke(provider: string, options?: globalThis.RequestInit): Promise<RevokeConnectionResponse>;
3882
+ }
3883
+
3192
3884
  /**
3193
3885
  * Feedback Service
3194
3886
  *
@@ -3503,6 +4195,88 @@ declare class PluginsService extends BaseSDK {
3503
4195
  }): Promise<RunBuildInToolsResponse>;
3504
4196
  }
3505
4197
 
4198
+ /**
4199
+ * Skill Service
4200
+ *
4201
+ * Provides access to skill providers and tool calling functionality.
4202
+ * This service allows:
4203
+ * - Listing available skill providers (OAuth-connected services like Linear, GitHub)
4204
+ * - Listing available tools for each provider
4205
+ * - Calling tools on connected providers
4206
+ * - Checking connection status
4207
+ */
4208
+ declare class SkillService extends BaseSDK {
4209
+ /**
4210
+ * Lists all available skill providers
4211
+ *
4212
+ * Returns a list of providers that can be connected via OAuth.
4213
+ * This is a public endpoint that doesn't require authentication.
4214
+ *
4215
+ * @param options - Optional request options
4216
+ * @returns Promise resolving to the list of available providers
4217
+ */
4218
+ listProviders(options?: globalThis.RequestInit): Promise<ListSkillProvidersResponse>;
4219
+ /**
4220
+ * Lists available tools for a specific provider
4221
+ *
4222
+ * Returns the tools/functions that can be called on the provider.
4223
+ * This is a public endpoint that doesn't require authentication.
4224
+ *
4225
+ * @param provider - The provider ID (e.g., 'linear', 'github')
4226
+ * @param options - Optional request options
4227
+ * @returns Promise resolving to the list of available tools
4228
+ */
4229
+ listTools(provider: string, options?: globalThis.RequestInit): Promise<ListSkillToolsResponse>;
4230
+ /**
4231
+ * Gets details of a specific tool
4232
+ *
4233
+ * Returns detailed information about a tool including its input schema.
4234
+ * This is a public endpoint that doesn't require authentication.
4235
+ *
4236
+ * @param provider - The provider ID (e.g., 'linear', 'github')
4237
+ * @param toolName - The name of the tool
4238
+ * @param options - Optional request options
4239
+ * @returns Promise resolving to the tool details
4240
+ */
4241
+ getTool(provider: string, toolName: string, options?: globalThis.RequestInit): Promise<GetSkillToolResponse>;
4242
+ /**
4243
+ * Gets the connection status for a provider
4244
+ *
4245
+ * Checks if the authenticated user has an active OAuth connection to the provider.
4246
+ * Requires authentication.
4247
+ *
4248
+ * @param provider - The provider ID (e.g., 'linear', 'github')
4249
+ * @param options - Optional request options (must include authentication)
4250
+ * @returns Promise resolving to the connection status
4251
+ */
4252
+ getStatus(provider: string, options?: globalThis.RequestInit): Promise<GetSkillStatusResponse>;
4253
+ /**
4254
+ * Calls a tool on a connected provider
4255
+ *
4256
+ * Executes a tool/function on the provider using the user's OAuth connection.
4257
+ * Requires authentication and an active OAuth connection to the provider.
4258
+ *
4259
+ * @param provider - The provider ID (e.g., 'linear', 'github')
4260
+ * @param params - The tool call parameters (tool name and arguments)
4261
+ * @param options - Optional request options (must include authentication)
4262
+ * @returns Promise resolving to the tool call result
4263
+ *
4264
+ * @example
4265
+ * ```typescript
4266
+ * // Create a Linear issue
4267
+ * const result = await sdk.skills.callTool('linear', {
4268
+ * tool: 'create_issue',
4269
+ * args: {
4270
+ * title: 'New feature request',
4271
+ * team: 'Engineering',
4272
+ * description: 'We need to implement...'
4273
+ * }
4274
+ * });
4275
+ * ```
4276
+ */
4277
+ callTool<T = unknown>(provider: string, params: SkillCallParams, options?: globalThis.RequestInit): Promise<CallSkillToolResponse<T>>;
4278
+ }
4279
+
3506
4280
  /**
3507
4281
  * User Service
3508
4282
  *
@@ -3823,6 +4597,11 @@ declare class MarketSDK extends BaseSDK {
3823
4597
  * Provides methods for OIDC user authentication, client registration, and M2M token management
3824
4598
  */
3825
4599
  readonly auth: AuthService;
4600
+ /**
4601
+ * Connect service for OAuth connection management
4602
+ * Provides methods to list providers, initiate OAuth flows, and manage connections
4603
+ */
4604
+ readonly connect: ConnectService;
3826
4605
  /**
3827
4606
  * Plugins service for accessing plugin-related functionality
3828
4607
  * Provides methods to list, search, retrieve plugin information, and report installation attempts
@@ -3853,6 +4632,11 @@ declare class MarketSDK extends BaseSDK {
3853
4632
  * Provides methods to submit feedback which is tracked in Linear
3854
4633
  */
3855
4634
  readonly feedback: FeedbackService;
4635
+ /**
4636
+ * Skill service for skill providers and tool calling
4637
+ * Provides methods to list providers, list tools, and call tools on connected OAuth providers
4638
+ */
4639
+ readonly skills: SkillService;
3856
4640
  /**
3857
4641
  * Discovery service for retrieving API service information
3858
4642
  * Used to get information about available endpoints and services
@@ -3961,4 +4745,4 @@ declare function buildTrustedClientPayload(params: {
3961
4745
  userId: string;
3962
4746
  }): TrustedClientPayload;
3963
4747
 
3964
- export { type AccountMeta, type AdminListQueryParams, type AdminListResponse, type AdminPluginParams, type AgentCreateRequest, type AgentCreateResponse, type AgentDetailQuery, type AgentExtension, type AgentInstallCountRequest, type AgentInstallCountResponse, type AgentInterface, type AgentItemDetail, type AgentListQuery, type AgentListResponse, type AgentModifyRequest, type AgentModifyResponse, type AgentSecurityRequirement, type AgentSecurityScheme, type AgentSkill, type AgentStatus, type AgentStatusChangeResponse, type AgentUploadRequest, type AgentUploadResponse, type AgentUploadVersion, type AgentVersionCreateRequest, type AgentVersionCreateResponse, type AgentVersionLocalization, type AgentVersionModifyRequest, type AgentVersionModifyResponse, type AuthorizationCodeTokenRequest, type CheckFavoriteQuery, type CheckFavoriteResponse, type CheckFollowQuery, type CheckFollowResponse, type CheckLikeQuery, type CheckLikeResponse, type ClientRegistrationError, type ClientRegistrationRequest, type ClientRegistrationResponse, type CodeInterpreterToolName, type CodeInterpreterToolParams, type DiscoveryDocument, type EditLocalFileParams, type ExecuteCodeParams, type ExportFileParams, type FavoriteListResponse, type FavoriteQuery, type FavoriteRequest, type FeedbackClientInfo, type FollowListItem, type FollowListResponse, type FollowRequest, type GetCommandOutputParams, type GlobLocalFilesParams, type GrepContentParams, type InteractionTargetType, type KillCommandParams, type LikeListResponse, type LikeQuery, type LikeRequest, type ListLocalFilesParams, MarketAdmin, MarketSDK, type MarketSDKOptions, type MoveLocalFilesParams, type MoveOperation, type OAuthTokenResponse, type OwnAgentListQuery, type PaginationQuery, type PluginI18nImportParams, type PluginI18nImportResponse, type PluginItem, type PluginListResponse, type PluginLocalization, type PluginQueryParams, type PluginUpdateParams, type PluginVersionCreateParams, type PluginVersionUpdateParams, type ProgrammingLanguage, type ReadLocalFileParams, type RefreshTokenRequest, type RenameLocalFileParams, type ReviewStatus, ReviewStatusEnumSchema, type RunBuildInToolsError, type RunBuildInToolsRequest, type RunBuildInToolsResponse, type RunBuildInToolsSuccessData, type RunCommandParams, type SearchLocalFilesParams, type SharedTokenState, StatusEnumSchema, type SubmitFeedbackRequest, type SubmitFeedbackResponse, type SuccessResponse, type ToggleLikeResponse, type TrustedClientPayload, type UnclaimedPluginItem, type UpdateUserInfoRequest, type UpdateUserInfoResponse, type UserAgentItem, type UserInfoQuery, type UserInfoResponse, type UserProfile, VisibilityEnumSchema, type WriteLocalFileParams, buildTrustedClientPayload, createTrustedClientToken, generateNonce };
4748
+ export { type AccountMeta, type AdminListQueryParams, type AdminListResponse, type AdminPluginParams, type AgentCreateRequest, type AgentCreateResponse, type AgentDetailQuery, type AgentExtension, type AgentInstallCountRequest, type AgentInstallCountResponse, type AgentInterface, type AgentItemDetail, type AgentListQuery, type AgentListResponse, type AgentModifyRequest, type AgentModifyResponse, type AgentSecurityRequirement, type AgentSecurityScheme, type AgentSkill, type AgentStatus, type AgentStatusChangeResponse, type AgentUploadRequest, type AgentUploadResponse, type AgentUploadVersion, type AgentVersionCreateRequest, type AgentVersionCreateResponse, type AgentVersionLocalization, type AgentVersionModifyRequest, type AgentVersionModifyResponse, type AuthorizationCodeTokenRequest, type AuthorizeParams, type AuthorizeResponse, type CallSkillToolResponse, type CheckFavoriteQuery, type CheckFavoriteResponse, type CheckFollowQuery, type CheckFollowResponse, type CheckLikeQuery, type CheckLikeResponse, type ClientRegistrationError, type ClientRegistrationRequest, type ClientRegistrationResponse, type CodeInterpreterToolName, type CodeInterpreterToolParams, type ConnectProvider, type ConnectProviderDetail, type ConnectProviderScopes, type ConnectionHealth, type ConnectionStats, type DiscoveryDocument, type EditLocalFileParams, type ExecuteCodeParams, type ExportFileParams, type FavoriteListResponse, type FavoriteQuery, type FavoriteRequest, type FeedbackClientInfo, type FollowListItem, type FollowListResponse, type FollowRequest, type GetAllConnectionsHealthResponse, type GetAuthorizeUrlParams, type GetCommandOutputParams, type GetConnectProviderResponse, type GetConnectionHealthResponse, type GetConnectionStatsResponse, type GetConnectionStatusResponse, type GetSkillStatusResponse, type GetSkillToolResponse, type GlobLocalFilesParams, type GrepContentParams, type InteractionTargetType, type KillCommandParams, type LikeListResponse, type LikeQuery, type LikeRequest, type ListConnectProvidersResponse, type ListConnectionsResponse, type ListLocalFilesParams, type ListSkillProvidersResponse, type ListSkillToolsResponse, MarketAdmin, MarketSDK, type MarketSDKOptions, type MoveLocalFilesParams, type MoveOperation, type OAuthConnection, type OAuthTokenResponse, type OwnAgentListQuery, type PaginationQuery, type PluginI18nImportParams, type PluginI18nImportResponse, type PluginItem, type PluginListResponse, type PluginLocalization, type PluginQueryParams, type PluginUpdateParams, type PluginVersionCreateParams, type PluginVersionUpdateParams, type ProgrammingLanguage, type ReadLocalFileParams, type RefreshConnectionResponse, type RefreshTokenRequest, type RenameLocalFileParams, type ReviewStatus, ReviewStatusEnumSchema, type RevokeConnectionResponse, type RunBuildInToolsError, type RunBuildInToolsRequest, type RunBuildInToolsResponse, type RunBuildInToolsSuccessData, type RunCommandParams, type SearchLocalFilesParams, type SharedTokenState, type SkillCallParams, type SkillErrorResponse, type SkillProviderInfo, type SkillProviderStatus, type SkillTool, StatusEnumSchema, type SubmitFeedbackRequest, type SubmitFeedbackResponse, type SuccessResponse, type ToggleLikeResponse, type TrustedClientPayload, type UnclaimedPluginItem, type UpdateUserInfoRequest, type UpdateUserInfoResponse, type UserAgentItem, type UserInfoQuery, type UserInfoResponse, type UserProfile, VisibilityEnumSchema, type WriteLocalFileParams, buildTrustedClientPayload, createTrustedClientToken, generateNonce };