From dc64da540749c750ec190dd1de43c89e54f9a643 Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Tue, 28 Jul 2026 12:13:42 -0500 Subject: [PATCH 1/3] feat: Use SeamEvent type from @seamapi/http --- README.md | 8 +- package-lock.json | 211 ++++++++++++++++++++++++++++++++++++---- package.json | 6 +- src/lib/seam-webhook.ts | 2 +- 4 files changed, 198 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 7ba042b..b9fc59b 100644 --- a/README.md +++ b/README.md @@ -56,20 +56,20 @@ Refer to the next section for keeping the types updated. #### Keeping up with the latest types -This package depends on [@seamapi/types] for the latest TypeScript types. +This package depends on [@seamapi/http] for the latest TypeScript `SeamEvent` type. New versions of this SDK are generally not released when new types are published. Unless your project frequently runs a blanket `npm update`, the types will become outdated with the Seam API over time. -Thus, users of this package should explicitly install the types with +Thus, users of this package should explicitly install the new types with ``` -$ npm install -D @seamapi/types +$ npm install -D @seamapi/http ``` and update them when consuming new API features with ``` -$ npm install -D @seamapi/types@latest +$ npm install -D @seamapi/http@latest ``` ## Usage diff --git a/package-lock.json b/package-lock.json index 72985a2..957c5aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "svix": "^1.15.0" }, "devDependencies": { - "@seamapi/types": "^1.166.0", + "@seamapi/http": "^2.0.0", "@types/node": "^24.10.9", "ava": "^8.0.1", "c8": "^12.0.0", @@ -33,10 +33,10 @@ "npm": ">=10.9.4" }, "peerDependencies": { - "@seamapi/types": "^1.166.0" + "@seamapi/http": "^2.0.0" }, "peerDependenciesMeta": { - "@seamapi/types": { + "@seamapi/http": { "optional": true } } @@ -865,18 +865,31 @@ "dev": true, "license": "MIT" }, - "node_modules/@seamapi/types": { - "version": "1.983.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.983.0.tgz", - "integrity": "sha512-SMkfn1SVC70x67mtRAvLMJtpFh/0zaStLatb6LA+kz9n/rV1gBS/UlH8SzBFg7iStE22f/VPjkdltHTIY1paoA==", + "node_modules/@seamapi/http": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@seamapi/http/-/http-2.2.0.tgz", + "integrity": "sha512-Uc4xGaR7Yi5nKLvYSn9YoZxrXuzwJ6AXi28RZGYSQ15VEzIYf9AdsakVJrLr1cznky0OHglgZKPzCK66h5JhyQ==", "dev": true, "license": "MIT", + "dependencies": { + "@seamapi/url-search-params-serializer": "^3.0.0", + "axios": "^1.9.0", + "axios-retry": "^4.4.2" + }, "engines": { "node": ">=22.11.0", "npm": ">=10.9.4" - }, - "peerDependencies": { - "zod": "^3.24.0" + } + }, + "node_modules/@seamapi/url-search-params-serializer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@seamapi/url-search-params-serializer/-/url-search-params-serializer-3.0.0.tgz", + "integrity": "sha512-YCIeXduVh6pAUBGImTShnPKlz79wr0GnTlI7vp6DDhDNRI8EhOFHzYd1+8qQKeul1QmIckKBE3Nz5E0Prg2saQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.9.0", + "npm": ">=10.1.0" } }, "node_modules/@sindresorhus/merge-streams": { @@ -1628,6 +1641,13 @@ "dev": true, "license": "MIT" }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/ava": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ava/-/ava-8.0.1.tgz", @@ -1707,6 +1727,59 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz", + "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" + } + }, + "node_modules/axios/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/axios/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2052,6 +2125,19 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", @@ -2380,6 +2466,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -3409,6 +3505,27 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -3442,6 +3559,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -4329,6 +4463,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-set": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", @@ -4863,6 +5010,29 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -5614,6 +5784,16 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -7114,17 +7294,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } } } } diff --git a/package.json b/package.json index 2f26410..45c17b3 100644 --- a/package.json +++ b/package.json @@ -71,10 +71,10 @@ } }, "peerDependencies": { - "@seamapi/types": "^1.166.0" + "@seamapi/http": "^2.0.0" }, "peerDependenciesMeta": { - "@seamapi/types": { + "@seamapi/http": { "optional": true } }, @@ -82,7 +82,7 @@ "svix": "^1.15.0" }, "devDependencies": { - "@seamapi/types": "^1.166.0", + "@seamapi/http": "^2.0.0", "@types/node": "^24.10.9", "ava": "^8.0.1", "c8": "^12.0.0", diff --git a/src/lib/seam-webhook.ts b/src/lib/seam-webhook.ts index 2a3210e..c793463 100644 --- a/src/lib/seam-webhook.ts +++ b/src/lib/seam-webhook.ts @@ -1,4 +1,4 @@ -import type { SeamEvent } from '@seamapi/types/connect' +import type { SeamEvent } from '@seamapi/http/connect' import { Webhook } from 'svix' export class SeamWebhook { From 3f8d9ca70effcd274b7eab923d82f1b6ab8db7eb Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Tue, 28 Jul 2026 12:32:31 -0500 Subject: [PATCH 2/3] fix lockfile --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 957c5aa..6647eda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1289,9 +1289,9 @@ } }, "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "dev": true, "license": "MIT", "bin": { @@ -2558,9 +2558,9 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.24.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.3.tgz", - "integrity": "sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==", + "version": "5.24.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.4.tgz", + "integrity": "sha512-GVoi+ICHocoOIU7qVVM48wOJziRsqrsyqlI0Ce0LdowRn6v3bcH2zUa9kp85ncx0nwIb9/HOCOLS3fdThDG/XQ==", "dev": true, "license": "MIT", "dependencies": { From be3b2834ad1e931ad080501c3487f004e1054aeb Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Tue, 28 Jul 2026 12:51:00 -0500 Subject: [PATCH 3/3] Sync http peerDependencies version --- .github/workflows/generate.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml index 6c76626..18b876b 100644 --- a/.github/workflows/generate.yml +++ b/.github/workflows/generate.yml @@ -31,10 +31,10 @@ jobs: uses: ./.github/actions/setup with: install_dependencies: 'false' - - name: Sync @seamapi/types version in peerDependencies + - name: Sync @seamapi/http version in peerDependencies run: | sudo apt-get install -y jq moreutils - jq '.peerDependencies."@seamapi/types" = .devDependencies."@seamapi/types"' package.json | sponge package.json + jq '.peerDependencies."@seamapi/http" = .devDependencies."@seamapi/http"' package.json | sponge package.json - name: Normalize package-lock.json run: npm install - name: Commit