Skip to content

Commit 2dca0d4

Browse files
[world-vercel] Use custom user-agent for API requests (#297)
1 parent 0668077 commit 2dca0d4

File tree

6 files changed

+165
-29
lines changed

6 files changed

+165
-29
lines changed

.changeset/happy-bees-greet.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@workflow/world-vercel": patch
3+
---
4+
5+
Add custom user agent

packages/world-vercel/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Auto-generated version file
2+
src/version.ts
3+

packages/world-vercel/package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,22 @@
2323
}
2424
},
2525
"scripts": {
26-
"build": "tsc",
27-
"dev": "tsc --watch",
28-
"clean": "tsc --build --clean && rm -rf dist",
26+
"build": "genversion --es6 src/version.ts && tsc",
27+
"dev": "genversion --es6 src/version.ts && tsc --watch",
28+
"clean": "tsc --build --clean && rm -rf dist src/version.ts",
2929
"test": "echo 'No tests yet'",
30-
"typecheck": "tsc --noEmit"
30+
"typecheck": "genversion --es6 src/version.ts && tsc --noEmit"
3131
},
3232
"dependencies": {
3333
"@vercel/oidc": "catalog:",
3434
"@vercel/queue": "0.0.0-alpha.28",
35-
"@workflow/world": "workspace:*",
3635
"@workflow/errors": "workspace:*",
36+
"@workflow/world": "workspace:*",
3737
"zod": "catalog:"
3838
},
3939
"devDependencies": {
4040
"@types/node": "catalog:",
41-
"@workflow/tsconfig": "workspace:*"
41+
"@workflow/tsconfig": "workspace:*",
42+
"genversion": "^3.2.0"
4243
}
4344
}

packages/world-vercel/src/utils.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import os from 'node:os';
12
import { getVercelOidcToken } from '@vercel/oidc';
23
import { WorkflowAPIError } from '@workflow/errors';
34
import { ZodError, type z } from 'zod';
5+
import { version } from './version.js';
46

57
export interface APIConfig {
68
baseUrl?: string;
@@ -22,6 +24,10 @@ export function dateToStringReplacer(_key: string, value: unknown): unknown {
2224
return value;
2325
}
2426

27+
const getUserAgent = () => {
28+
return `@workflow/world-vercel/${version} node-${process.version} ${os.platform()} (${os.arch()})`;
29+
};
30+
2531
export interface HttpConfig {
2632
baseUrl: string;
2733
headers: Headers;
@@ -45,6 +51,7 @@ export const getHttpUrl = (
4551
export const getHeaders = (config?: APIConfig): Headers => {
4652
const projectConfig = config?.projectConfig;
4753
const headers = new Headers(config?.headers);
54+
headers.set('User-Agent', getUserAgent());
4855
if (projectConfig) {
4956
headers.set(
5057
'x-vercel-environment',

packages/world-vercel/turbo.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": ["//"],
3+
"tasks": {
4+
"build": {
5+
"dependsOn": ["^build"],
6+
"outputs": ["dist", "src/version.ts"]
7+
}
8+
}
9+
}

0 commit comments

Comments
 (0)