Skip to content

Commit 2884552

Browse files
SDK regeneration
1 parent 209c25f commit 2884552

File tree

227 files changed

+6064
-2276
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

227 files changed

+6064
-2276
lines changed

.fern/metadata.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"cliVersion": "1.0.4",
3+
"generatorName": "fernapi/fern-typescript-node-sdk",
4+
"generatorVersion": "3.29.2",
5+
"generatorConfig": {
6+
"includeApiReference": true,
7+
"namespaceExport": "Pipedream",
8+
"noSerdeLayer": false
9+
}
10+
}

.npmignore

Lines changed: 0 additions & 11 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Contributing
2+
3+
Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project.
4+
5+
## Getting Started
6+
7+
### Prerequisites
8+
9+
- Node.js 20 or higher
10+
- pnpm package manager
11+
12+
### Installation
13+
14+
Install the project dependencies:
15+
16+
```bash
17+
pnpm install
18+
```
19+
20+
### Building
21+
22+
Build the project:
23+
24+
```bash
25+
pnpm build
26+
```
27+
28+
### Testing
29+
30+
Run the test suite:
31+
32+
```bash
33+
pnpm test
34+
```
35+
36+
Run specific test types:
37+
- `pnpm test:unit` - Run unit tests
38+
- `pnpm test:wire` - Run wire/integration tests
39+
40+
### Linting and Formatting
41+
42+
Check code style:
43+
44+
```bash
45+
pnpm run lint
46+
pnpm run format:check
47+
```
48+
49+
Fix code style issues:
50+
51+
```bash
52+
pnpm run lint:fix
53+
pnpm run format:fix
54+
```
55+
56+
Or use the combined check command:
57+
58+
```bash
59+
pnpm run check:fix
60+
```
61+
62+
## About Generated Code
63+
64+
**Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated.
65+
66+
### Generated Files
67+
68+
The following directories contain generated code:
69+
- `src/api/` - API client classes and types
70+
- `src/serialization/` - Serialization/deserialization logic
71+
- Most TypeScript files in `src/`
72+
73+
### How to Customize
74+
75+
If you need to customize the SDK, you have two options:
76+
77+
#### Option 1: Use `.fernignore`
78+
79+
For custom code that should persist across SDK regenerations:
80+
81+
1. Create a `.fernignore` file in the project root
82+
2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax)
83+
3. Add your custom code to those files
84+
85+
Files listed in `.fernignore` will not be overwritten when the SDK is regenerated.
86+
87+
For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code).
88+
89+
#### Option 2: Contribute to the Generator
90+
91+
If you want to change how code is generated for all users of this SDK:
92+
93+
1. The TypeScript SDK generator lives in the [Fern repository](https://github.com/fern-api/fern)
94+
2. Generator code is located at `generators/typescript/sdk/`
95+
3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md)
96+
4. Submit a pull request with your changes to the generator
97+
98+
This approach is best for:
99+
- Bug fixes in generated code
100+
- New features that would benefit all users
101+
- Improvements to code generation patterns
102+
103+
## Making Changes
104+
105+
### Workflow
106+
107+
1. Create a new branch for your changes
108+
2. Make your modifications
109+
3. Run tests to ensure nothing breaks: `pnpm test`
110+
4. Run linting and formatting: `pnpm run check:fix`
111+
5. Build the project: `pnpm build`
112+
6. Commit your changes with a clear commit message
113+
7. Push your branch and create a pull request
114+
115+
### Commit Messages
116+
117+
Write clear, descriptive commit messages that explain what changed and why.
118+
119+
### Code Style
120+
121+
This project uses automated code formatting and linting. Run `pnpm run check:fix` before committing to ensure your code meets the project's style guidelines.
122+
123+
## Questions or Issues?
124+
125+
If you have questions or run into issues:
126+
127+
1. Check the [Fern documentation](https://buildwithfern.com)
128+
2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues)
129+
3. Open a new issue if your question hasn't been addressed
130+
131+
## License
132+
133+
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.

README.md

Lines changed: 71 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { PipedreamClient } from "@pipedream/sdk";
2929

3030
const client = new PipedreamClient({ clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET", projectEnvironment: "YOUR_PROJECT_ENVIRONMENT", projectId: "YOUR_PROJECT_ID" });
3131
await client.actions.run({
32+
projectId: "project_id",
3233
id: "id",
3334
externalUserId: "external_user_id"
3435
});
@@ -42,7 +43,7 @@ following namespace:
4243
```typescript
4344
import { Pipedream } from "@pipedream/sdk";
4445

45-
const request: Pipedream.AppsListRequest = {
46+
const request: Pipedream.RetrieveAppCategoriesRequest = {
4647
...
4748
};
4849
```
@@ -464,30 +465,19 @@ List endpoints are paginated. The SDK provides an iterator so that you can simpl
464465
import { PipedreamClient } from "@pipedream/sdk";
465466

466467
const client = new PipedreamClient({ clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET", projectEnvironment: "YOUR_PROJECT_ENVIRONMENT", projectId: "YOUR_PROJECT_ID" });
467-
const response = await client.apps.list({
468-
after: "after",
469-
before: "before",
470-
limit: 1,
471-
q: "q",
472-
sortKey: "name",
473-
sortDirection: "asc"
474-
});
475-
for await (const item of response) {
468+
const pageableResponse = await client.apps.list();
469+
for await (const item of pageableResponse) {
476470
console.log(item);
477471
}
478472

479473
// Or you can manually iterate page-by-page
480-
let page = await client.apps.list({
481-
after: "after",
482-
before: "before",
483-
limit: 1,
484-
q: "q",
485-
sortKey: "name",
486-
sortDirection: "asc"
487-
});
474+
let page = await client.apps.list();
488475
while (page.hasNextPage()) {
489476
page = page.getNextPage();
490477
}
478+
479+
// You can also access the underlying response
480+
const response = page.response;
491481
```
492482

493483
## Advanced
@@ -570,6 +560,69 @@ console.log(data);
570560
console.log(rawResponse.headers['X-My-Header']);
571561
```
572562

563+
### Logging
564+
565+
The SDK supports logging. You can configure the logger by passing in a `logging` object to the client options.
566+
567+
```typescript
568+
import { PipedreamClient, logging } from "@pipedream/sdk";
569+
570+
const client = new PipedreamClient({
571+
...
572+
logging: {
573+
level: logging.LogLevel.Debug, // defaults to logging.LogLevel.Info
574+
logger: new logging.ConsoleLogger(), // defaults to ConsoleLogger
575+
silent: false, // defaults to true, set to false to enable logging
576+
}
577+
});
578+
```
579+
The `logging` object can have the following properties:
580+
- `level`: The log level to use. Defaults to `logging.LogLevel.Info`.
581+
- `logger`: The logger to use. Defaults to a `logging.ConsoleLogger`.
582+
- `silent`: Whether to silence the logger. Defaults to `true`.
583+
584+
The `level` property can be one of the following values:
585+
- `logging.LogLevel.Debug`
586+
- `logging.LogLevel.Info`
587+
- `logging.LogLevel.Warn`
588+
- `logging.LogLevel.Error`
589+
590+
To provide a custom logger, you can pass in an object that implements the `logging.ILogger` interface.
591+
592+
<details>
593+
<summary>Custom logger examples</summary>
594+
595+
Here's an example using the popular `winston` logging library.
596+
```ts
597+
import winston from 'winston';
598+
599+
const winstonLogger = winston.createLogger({...});
600+
601+
const logger: logging.ILogger = {
602+
debug: (msg, ...args) => winstonLogger.debug(msg, ...args),
603+
info: (msg, ...args) => winstonLogger.info(msg, ...args),
604+
warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
605+
error: (msg, ...args) => winstonLogger.error(msg, ...args),
606+
};
607+
```
608+
609+
Here's an example using the popular `pino` logging library.
610+
611+
```ts
612+
import pino from 'pino';
613+
614+
const pinoLogger = pino({...});
615+
616+
const logger: logging.ILogger = {
617+
debug: (msg, ...args) => pinoLogger.debug(args, msg),
618+
info: (msg, ...args) => pinoLogger.info(args, msg),
619+
warn: (msg, ...args) => pinoLogger.warn(args, msg),
620+
error: (msg, ...args) => pinoLogger.error(args, msg),
621+
};
622+
```
623+
</details>
624+
625+
573626
### Runtime Compatibility
574627

575628

biome.json

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/2.3.1/schema.json",
33
"root": true,
44
"vcs": {
55
"enabled": false
66
},
77
"files": {
88
"ignoreUnknown": true,
99
"includes": [
10-
"./**",
11-
"!dist",
12-
"!lib",
13-
"!*.tsbuildinfo",
14-
"!_tmp_*",
15-
"!*.tmp",
16-
"!.tmp/",
17-
"!*.log",
18-
"!.DS_Store",
19-
"!Thumbs.db"
10+
"**",
11+
"!!dist",
12+
"!!**/dist",
13+
"!!lib",
14+
"!!**/lib",
15+
"!!_tmp_*",
16+
"!!**/_tmp_*",
17+
"!!*.tmp",
18+
"!!**/*.tmp",
19+
"!!.tmp/",
20+
"!!**/.tmp/",
21+
"!!*.log",
22+
"!!**/*.log",
23+
"!!**/.DS_Store",
24+
"!!**/Thumbs.db"
2025
]
2126
},
2227
"formatter": {

0 commit comments

Comments
 (0)