| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
feat(node-sdk): node sdk connection creation detection for agentic flow (#4923) <!-- Describe the problem and your solution --> <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- Summary by @propel-code-bot --> --- **Add object-based `listConnections` overload & `integrationId` filter across SDK, API, and docs** This PR modernises connection querying by introducing a new object-parameter overload for `listConnections` in the Node SDK, allowing callers to pass `connectionId`, `userId`, `integrationId` (single or array) and limited `tags` filters instead of positional arguments. Server controllers, shared types, CLI helpers, and documentation are updated to understand the new `integrationId` query key and to explain the new call signature while retaining legacy behaviour for backward compatibility. <details> <summary><strong>Key Changes</strong></summary> • Overloaded `listConnections` in `packages/node-client/lib/index.ts` to accept an object with `connectionId`, `userId`, `integrationId`, `tags` • Runtime handling of comma-separated or array `integrationId` values; mapping of `tags.displayName/email` to `search/email` query params • Server controller `packages/server/lib/controllers/connection/getConnections.ts` validates & forwards new `integrationId` (pluralised to `integrationIds`) to service layer • Extended API/Types (`packages/types/lib/connection/api/get.ts`) to include optional `integrationId` in querystring • Docs refreshed (SDK + API connect session) to show new syntax and grammar fixes; CLI example switched to object form • Minor CLI / example error-handler cleanup (remove type annotations on `catch`, etc.) </details> <details> <summary><strong>Affected Areas</strong></summary> • `packages/node-client/lib/index.ts` (public API surface) • `packages/server/lib/controllers/connection/getConnections.ts` • `packages/types/lib/connection/api/get.ts` • Reference documentation under `docs/reference/sdks/node.mdx` and `docs/reference/api/connect/sessions/create.mdx` • CLI helpers under `packages/node-client/bin/*` </details> --- *This summary was automatically generated by @propel-code-bot* | 10 个月前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
feat(sdk): add new endpoints (#2747) ## Describe your changes Fixes https://linear.app/nango/issue/NAN-1753/document-new-endpoints-integrations-and-providers - Add new endpoints to the SDK There is only one method that was different enough, queries and output that even with signature overload it wasn't possible to make it non-breaking. Honestly, I didn't find anything compelling to deprecate without either being ugly or breaking customers' scripts, so very open to suggestions. - Document new SDK method - Add support for `include=webhook` in `GET /integrations/:key` The SDK needs it, and some customers use it. It's a secret but not credentials, so I didn't put a too vague name. If we need credentials at some point, we can differentiate. | 1 年前 | |
feat(sdk): add new endpoints (#2747) ## Describe your changes Fixes https://linear.app/nango/issue/NAN-1753/document-new-endpoints-integrations-and-providers - Add new endpoints to the SDK There is only one method that was different enough, queries and output that even with signature overload it wasn't possible to make it non-breaking. Honestly, I didn't find anything compelling to deprecate without either being ugly or breaking customers' scripts, so very open to suggestions. - Document new SDK method - Add support for `include=webhook` in `GET /integrations/:key` The SDK needs it, and some customers use it. It's a secret but not credentials, so I didn't put a too vague name. If we need credentials at some point, we can differentiate. | 1 年前 | |
[Github #1323] get records pagination (#1350) * [gh-#1323] cursor implementation * [gh-#1323] fix up timestamp * [gh-#1323] if offset is provided don't include the cursor * [gh-#1323] update docs and sdk * [gh-#1323] update pr template * [gh-#1323] fix tests and add 20K under 5s test * [gh-#1323] yaml update * [gh-#1323] bump integration test timeout * [gh-#1323] test runtime * [gh-#1323] reduce scope of encryption test * [gh-#1323] add additional endpoint and SDK method for fetching records * [gh-#1323] indentation * [gh-#1323] spacing | 2 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
feat(node-sdk): node sdk connection creation detection for agentic flow (#4923) <!-- Describe the problem and your solution --> <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- Summary by @propel-code-bot --> --- **Add object-based `listConnections` overload & `integrationId` filter across SDK, API, and docs** This PR modernises connection querying by introducing a new object-parameter overload for `listConnections` in the Node SDK, allowing callers to pass `connectionId`, `userId`, `integrationId` (single or array) and limited `tags` filters instead of positional arguments. Server controllers, shared types, CLI helpers, and documentation are updated to understand the new `integrationId` query key and to explain the new call signature while retaining legacy behaviour for backward compatibility. <details> <summary><strong>Key Changes</strong></summary> • Overloaded `listConnections` in `packages/node-client/lib/index.ts` to accept an object with `connectionId`, `userId`, `integrationId`, `tags` • Runtime handling of comma-separated or array `integrationId` values; mapping of `tags.displayName/email` to `search/email` query params • Server controller `packages/server/lib/controllers/connection/getConnections.ts` validates & forwards new `integrationId` (pluralised to `integrationIds`) to service layer • Extended API/Types (`packages/types/lib/connection/api/get.ts`) to include optional `integrationId` in querystring • Docs refreshed (SDK + API connect session) to show new syntax and grammar fixes; CLI example switched to object form • Minor CLI / example error-handler cleanup (remove type annotations on `catch`, etc.) </details> <details> <summary><strong>Affected Areas</strong></summary> • `packages/node-client/lib/index.ts` (public API surface) • `packages/server/lib/controllers/connection/getConnections.ts` • `packages/types/lib/connection/api/get.ts` • Reference documentation under `docs/reference/sdks/node.mdx` and `docs/reference/api/connect/sessions/create.mdx` • CLI helpers under `packages/node-client/bin/*` </details> --- *This summary was automatically generated by @propel-code-bot* | 10 个月前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
feat(api): POST/PATCH/DELETE /integrations/:unique_key (#3982) ## Changes Fixes https://linear.app/nango/issue/NAN-3092/make-integrations-endpoint-consistent Took too long to finish this, and some customers are complaining about the state of the API (understandable) - POST /integrations/ - PATCH/integrations/:unique_key - DELETE /integrations/:unique_key - Update documentation - Add node client alternative <!-- This is an auto-generated description by mrge. --> --- ## Summary by mrge Added new POST, PATCH, and DELETE endpoints at /integrations/:uniqueKey for creating, updating, and deleting integrations, and updated the API docs to reflect these changes. - **New Features** - Added /integrations (POST) to create integrations with validation and credential support. - Added /integrations/:uniqueKey (PATCH) to update integration details and credentials. - Added /integrations/:uniqueKey (DELETE) to remove integrations. - Updated OpenAPI spec and documentation for the new endpoints. - Marked legacy /config endpoints as deprecated. <!-- End of auto-generated description by mrge. --> <!-- Summary by @propel-code-bot --> --- **Enhanced REST API Endpoints for Integration Management** This PR introduces a consistent REST API for managing integrations with POST, PATCH, and DELETE endpoints at /integrations/:uniqueKey. The implementation includes type-safe validation, proper error handling, and backwards compatibility with the legacy /config endpoints. **Key Changes:** • Added new ``POST`` /integrations endpoint for creating integrations • Added ``PATCH`` /integrations/:`uniqueKey` endpoint for updating integrations • Added ``DELETE`` /integrations/:`uniqueKey` endpoint for removing integrations • Updated `OpenAPI` specification and documentation • Enhanced Node client with method overloads for the new endpoints **Affected Areas:** • ``API`` endpoints and controllers • Request validation schemas • `OpenAPI` documentation • Node client library **Potential Impact:** **Functionality**: Improves API consistency while maintaining backward compatibility with legacy endpoints **Performance**: No significant impact as the same underlying services are used **Security**: Enhanced validation including proper schema checks for credentials improves security posture **Scalability**: No significant impact on scalability **Review Focus:** • Validation logic for credentials • Error handling for edge cases • Type safety across ``API`` interfaces • Migration path from legacy endpoints <details> <summary><strong>Testing Needed</strong></summary> • Create integrations with different credential types • Update integration credentials for various auth modes • Test integration renaming scenarios • Verify integration deletion with and without connections • Verify error handling for invalid inputs </details> <details> <summary><strong>Code Quality Assessment</strong></summary> **packages/server/lib/helpers/validation.ts**: Missing space in RSA private key validation pattern **packages/node-client/lib/index.ts**: Method overload signatures lack JSDoc documentation **packages/server/lib/controllers/integrations/postIntegration.integration.test.ts**: Error path references wrong field in validation test </details> <details> <summary><strong>Best Practices</strong></summary> **API Design**: • Consistent endpoint naming • Appropriate ``HTTP`` verbs • Comprehensive parameter validation **Documentation**: • Updated `OpenAPI` spec • Marked deprecated endpoints clearly **Testing**: • Integration tests for all endpoints • Tests for error cases </details> <details> <summary><strong>Possible Issues</strong></summary> • DELETE endpoint returns 200 instead of 204 No Content (REST best practice) • Inconsistent credential field naming across different interfaces • Missing tests for certain credential validation scenarios • Documentation lacks migration guidance for users of deprecated endpoints </details> --- *This summary was automatically generated by @propel-code-bot* | 1 年前 | |
chore(eslint): enforce err name, upgrade eslint plugins (#3153) ## Changes - Enforce try/catch err variable name It's been in my backlog for a long time. I have chosen `err` because that's what I like the most, it's neither too short nor too common. Happy to change to error if someone prefer. - Upgrade eslint plugins | 1 年前 | |
feat(agentic-sdk): waitForConnection (#4939) <!-- Describe the problem and your solution --> <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- Summary by @propel-code-bot --> --- **Add `waitForConnection` polling helper to Node SDK** Adds a new public helper `waitForConnection()` to `packages/node-client/lib/index.ts`. The method repeatedly calls `listConnections()` until it finds a connection for a given `integrationKey`/end-user pair or a timeout/abort condition is hit. Constants are fixed to 1 initial 10 s delay, then 29 × 2 s retries (max 30 attempts). The change also exposes the `ApiPublicConnection` type, extends Node SDK reference docs, and ships two CLI scripts that demo normal and abortable usage. <details> <summary><strong>Key Changes</strong></summary> • Added `waitForConnection()` (~60 LOC) with polling, timeout and `AbortSignal` support • Re-exported `ApiPublicConnection` in type imports • Updated `docs/reference/sdks/node.mdx` with usage, params, response example • Added CLI examples `bin/wait-for-connection.js` and `bin/wait-for-connection-with-abort.js` </details> <details> <summary><strong>Affected Areas</strong></summary> • `packages/node-client/lib/index.ts` • `docs/reference/sdks/node.mdx` • `packages/node-client/bin/*` </details> --- *This summary was automatically generated by @propel-code-bot* | 10 个月前 | |
feat(agentic-sdk): waitForConnection (#4939) <!-- Describe the problem and your solution --> <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- Summary by @propel-code-bot --> --- **Add `waitForConnection` polling helper to Node SDK** Adds a new public helper `waitForConnection()` to `packages/node-client/lib/index.ts`. The method repeatedly calls `listConnections()` until it finds a connection for a given `integrationKey`/end-user pair or a timeout/abort condition is hit. Constants are fixed to 1 initial 10 s delay, then 29 × 2 s retries (max 30 attempts). The change also exposes the `ApiPublicConnection` type, extends Node SDK reference docs, and ships two CLI scripts that demo normal and abortable usage. <details> <summary><strong>Key Changes</strong></summary> • Added `waitForConnection()` (~60 LOC) with polling, timeout and `AbortSignal` support • Re-exported `ApiPublicConnection` in type imports • Updated `docs/reference/sdks/node.mdx` with usage, params, response example • Added CLI examples `bin/wait-for-connection.js` and `bin/wait-for-connection-with-abort.js` </details> <details> <summary><strong>Affected Areas</strong></summary> • `packages/node-client/lib/index.ts` • `docs/reference/sdks/node.mdx` • `packages/node-client/bin/*` </details> --- *This summary was automatically generated by @propel-code-bot* | 10 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 10 个月前 |