Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion packages/sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

# Changelog

## [1.8.0] - 2025-08-13

### Added

- Added `categoryIds` parameter to `getApps` method for filtering
apps by category IDs
- Added `getAppCategories` method to retrieve available app categories

## [1.7.0] - 2025-07-03

### Added
Expand Down Expand Up @@ -41,7 +49,7 @@

- Added `endpoint_url` field to the component metadata, providing the URL to the
HTTP interface of the component.
- Added missing pagination fields to the `GetComponentsResponse` and
- Added missing pagination fields to the `GetComponentsResponse` and
`GetAccountsResponse` types.

## [1.6.7] - 2025-06-06
Expand Down
2 changes: 1 addition & 1 deletion packages/sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@pipedream/sdk",
"type": "module",
"version": "1.7.0",
"version": "1.8.0",
"description": "Pipedream SDK",
"main": "./dist/server.js",
"module": "./dist/server.js",
Expand Down
49 changes: 49 additions & 0 deletions packages/sdk/src/shared/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,31 @@ export type App = AppInfo & {
*/
export type AppResponse = App;

/**
* App category data returned from the API.
*/
export type AppCategory = {
/**
* The unique ID of the category.
*/
id: string;

/**
* The name of the category.
*/
name: string;

/**
* A description of the category.
*/
description: string;
};

/**
* The response received when retrieving app categories.
*/
export type GetAppCategoriesResponse = AppCategory[];

/**
* A configuration option for a component's prop.
*/
Expand Down Expand Up @@ -255,6 +280,10 @@ export type GetAppsOpts = RelationOpts & {
* Filter by whether apps have triggers in the component registry.
*/
hasTriggers?: boolean;
/**
* Filter apps by category IDs (format: appcat_[a-zA-Z0-9]+).
*/
categoryIds?: string[];
/**
* The key to sort the apps by.
*
Expand Down Expand Up @@ -1190,6 +1219,9 @@ export abstract class BaseClient {
? "1"
: "0";
}
if (opts?.categoryIds && opts.categoryIds.length > 0) {
params.category_ids = opts.categoryIds.join(",");
}
if (opts?.sortKey) {
params.sort_key = opts.sortKey;
}
Expand Down Expand Up @@ -1240,6 +1272,23 @@ export abstract class BaseClient {
return this.getApp(idOrNameSlug);
}

/**
* Retrieves the list of app categories available in Pipedream.
*
* @returns A promise resolving to a list of app categories.
*
* @example
* ```typescript
* const categories = await client.getAppCategories();
* console.log(categories);
* ```
*/
public getAppCategories() {
return this.makeAuthorizedRequest<GetAppCategoriesResponse>("/connect/app_categories", {
method: "GET",
});
}

/**
* Retrieves the list of components available in Pipedream.
*
Expand Down
19 changes: 13 additions & 6 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading