From 15c68b35c0408c2be81187040a15a04b116af2dc Mon Sep 17 00:00:00 2001 From: Khaliq Date: Tue, 21 Apr 2026 12:35:09 +0200 Subject: [PATCH 1/3] feat(adapters): widen @relayfile/sdk peer range to include 0.2.x + 0.3.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consumers (sage, cloud, nightcto, msd) are bumping @relayfile/sdk to ^0.3.0 for contentIdentity support. Adapters' pinned ^0.1.7 declaration forced npm overrides in every consumer as a workaround. Changes: - github: widen existing peerDependencies from ^0.1.7 to >=0.1.7 <1 - linear, notion, slack, gitlab, teams: move @relayfile/sdk from dependencies to peerDependencies (with the same widened range) so adapters use the consumer's chosen SDK rather than pulling a nested 0.1.x copy. Added @relayfile/sdk: ^0.3.1 to each adapter's devDependencies so typecheck + test keep working in CI. - All six adapters bumped by one patch (0.1.6→0.1.7 or 0.1.7→0.1.8). No runtime code changes. Pure packaging update. After merge + publish, consumers can drop their overrides blocks: - sage: #89 overrides block - cloud: (none added yet) - nightcto: (none added yet) - msd: (none added yet) Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 1 + package-lock.json | 126 +++++++++++++++++++++++++++++------ packages/github/package.json | 4 +- packages/gitlab/package.json | 7 +- packages/linear/package.json | 9 ++- packages/notion/package.json | 9 ++- packages/slack/package.json | 9 ++- packages/teams/package.json | 7 +- 8 files changed, 135 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 494f885..11a5c06 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ packages/*/tests/**/*.js packages/*/tests/**/*.d.ts packages/*/tests/**/*.js.map packages/*/tests/**/*.d.ts.map +.claude/ diff --git a/package-lock.json b/package-lock.json index fc328fe..8cb20b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -687,6 +687,16 @@ "resolved": "packages/teams", "link": true }, + "node_modules/@relayfile/core": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/core/-/core-0.3.2.tgz", + "integrity": "sha512-3qv+m1G7acS3sdydI1OxzxdGMdPYlYAiycbUtPbtf42o9rce/nixCTXzfgdlCKlCZEhPyFzAWXiucXh0TvHieQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@relayfile/sdk": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.1.7.tgz", @@ -2927,7 +2937,7 @@ }, "packages/core": { "name": "@relayfile/adapter-core", - "version": "0.1.5", + "version": "0.1.6", "license": "MIT", "dependencies": { "@scalar/postman-to-openapi": "^0.6.0", @@ -2954,7 +2964,7 @@ }, "packages/github": { "name": "@relayfile/adapter-github", - "version": "0.1.5", + "version": "0.1.7", "license": "MIT", "dependencies": { "@relayfile/adapter-core": "^0.1.1" @@ -2969,86 +2979,162 @@ "node": ">=18" }, "peerDependencies": { - "@relayfile/sdk": "^0.1.7" + "@relayfile/sdk": ">=0.1.7 <1" } }, "packages/gitlab": { "name": "@relayfile/adapter-gitlab", - "version": "0.1.5", + "version": "0.1.7", "license": "MIT", - "dependencies": { - "@relayfile/sdk": "^0.1.7" - }, "devDependencies": { "@agent-relay/sdk": "^3.2.22", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "typescript": "^5.9.3" }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + } + }, + "packages/gitlab/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, "engines": { "node": ">=18" } }, "packages/linear": { "name": "@relayfile/adapter-linear", - "version": "0.1.6", + "version": "0.1.8", "license": "MIT", "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.20.6", "typescript": "^5.9.3" }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + } + }, + "packages/linear/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, "engines": { "node": ">=18" } }, "packages/notion": { "name": "@relayfile/adapter-notion", - "version": "0.1.5", + "version": "0.1.7", "license": "MIT", "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "typescript": "^5.4.0" }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + } + }, + "packages/notion/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, "engines": { "node": ">=18" } }, "packages/slack": { "name": "@relayfile/adapter-slack", - "version": "0.1.6", + "version": "0.1.8", "license": "MIT", "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.20.6", "typescript": "^5.9.3" }, "engines": { "node": ">=20" + }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" } }, - "packages/teams": { - "name": "@relayfile/adapter-teams", - "version": "0.1.5", + "packages/slack/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, "license": "MIT", "dependencies": { - "@relayfile/sdk": "^0.1.7" + "@relayfile/core": "0.3.2" }, + "engines": { + "node": ">=18" + } + }, + "packages/teams": { + "name": "@relayfile/adapter-teams", + "version": "0.1.7", + "license": "MIT", "devDependencies": { "@agent-relay/sdk": "^3.2.22", + "@relayfile/sdk": "^0.3.1", "@types/node": "^25.5.0", "typescript": "^5.4.0" }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + } + }, + "packages/teams/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, "engines": { "node": ">=18" } diff --git a/packages/github/package.json b/packages/github/package.json index f0ebd69..e94669e 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-github", - "version": "0.1.6", + "version": "0.1.7", "description": "GitHub adapter scaffold for Relayfile", "type": "module", "main": "dist/index.js", @@ -39,7 +39,7 @@ "prepublishOnly": "npm run build" }, "peerDependencies": { - "@relayfile/sdk": "^0.1.7" + "@relayfile/sdk": ">=0.1.7 <1" }, "dependencies": { "@relayfile/adapter-core": "^0.1.1" diff --git a/packages/gitlab/package.json b/packages/gitlab/package.json index 167c5b1..ceb3852 100644 --- a/packages/gitlab/package.json +++ b/packages/gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-gitlab", - "version": "0.1.6", + "version": "0.1.7", "description": "GitLab adapter for relayfile — maps GitLab merge requests, issues, pipelines, jobs, commits, and webhooks to relayfile VFS paths", "type": "module", "main": "dist/index.js", @@ -23,11 +23,12 @@ "typecheck": "tsc --noEmit", "prepublishOnly": "npm run build" }, - "dependencies": { - "@relayfile/sdk": "^0.1.7" + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" }, "devDependencies": { "@agent-relay/sdk": "^3.2.22", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "typescript": "^5.9.3" }, diff --git a/packages/linear/package.json b/packages/linear/package.json index b42004d..60e6350 100644 --- a/packages/linear/package.json +++ b/packages/linear/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-linear", - "version": "0.1.7", + "version": "0.1.8", "description": "Linear adapter bootstrap package for Relayfile", "type": "module", "main": "dist/index.js", @@ -43,11 +43,14 @@ "url": "https://github.com/AgentWorkforce/relayfile-adapters", "directory": "packages/linear" }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + }, "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.20.6", "typescript": "^5.9.3" diff --git a/packages/notion/package.json b/packages/notion/package.json index f59c7d1..cec63d3 100644 --- a/packages/notion/package.json +++ b/packages/notion/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-notion", - "version": "0.1.6", + "version": "0.1.7", "description": "Notion adapter for relayfile — maps Notion databases, pages, blocks, and comments to relayfile VFS paths", "type": "module", "main": "dist/index.js", @@ -33,11 +33,14 @@ "typecheck": "tsc --noEmit", "prepublishOnly": "npm run build" }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + }, "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "typescript": "^5.4.0" }, "engines": { diff --git a/packages/slack/package.json b/packages/slack/package.json index b7c3c3e..0e4ad6f 100644 --- a/packages/slack/package.json +++ b/packages/slack/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-slack", - "version": "0.1.7", + "version": "0.1.8", "description": "Slack adapter scaffolding for Relayfile", "type": "module", "sideEffects": false, @@ -45,11 +45,14 @@ "url": "https://github.com/AgentWorkforce/relayfile-adapters", "directory": "packages/slack" }, + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" + }, "dependencies": { - "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7" + "@agent-relay/sdk": "^3.2.22" }, "devDependencies": { + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.20.6", "typescript": "^5.9.3" diff --git a/packages/teams/package.json b/packages/teams/package.json index b3f2e0d..95dad15 100644 --- a/packages/teams/package.json +++ b/packages/teams/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-teams", - "version": "0.1.6", + "version": "0.1.7", "description": "Microsoft Teams adapter for relayfile — maps Teams channels, messages, and change notifications to relayfile VFS paths", "type": "module", "main": "dist/index.js", @@ -34,11 +34,12 @@ "url": "https://github.com/AgentWorkforce/relayfile-adapters", "directory": "packages/teams" }, - "dependencies": { - "@relayfile/sdk": "^0.1.7" + "peerDependencies": { + "@relayfile/sdk": ">=0.1.7 <1" }, "devDependencies": { "@agent-relay/sdk": "^3.2.22", + "@relayfile/sdk": "^0.3.1", "@types/node": "^25.5.0", "typescript": "^5.4.0" } From bb9b55947da71d15e03be72c7ad4f2fdb32aec21 Mon Sep 17 00:00:00 2001 From: Khaliq Date: Tue, 21 Apr 2026 12:39:30 +0200 Subject: [PATCH 2/3] chore(gitignore): narrow .claude ignore to only settings.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previous commit ignored the entire .claude/ directory, which is too broad — skills, commands, and other shared config belong in the repo. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 11a5c06..0b7db26 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,4 @@ packages/*/tests/**/*.js packages/*/tests/**/*.d.ts packages/*/tests/**/*.js.map packages/*/tests/**/*.d.ts.map -.claude/ +.claude/settings.json From 2bddec75db860d4875b00072a2c1aa5d15f9be93 Mon Sep 17 00:00:00 2001 From: Khaliq Date: Tue, 21 Apr 2026 12:43:11 +0200 Subject: [PATCH 3/3] fix(github, core): bump @relayfile/sdk devDep + widen core peer too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses Devin review comment on #23: github's devDependency on @relayfile/sdk was left at ^0.1.7 while every other adapter got bumped to ^0.3.1, leaving github building/testing against stale SDK types. Also widens @relayfile/adapter-core's peer range (and devDep) — core is depended on by github, and its pinned ^0.1.7 peer forced a nested @relayfile/sdk@0.1.7 install that conflicted with github's own nested 0.3.x, producing "two identities for RelayFileClient" type errors. Now all six adapters + core dedupe on @relayfile/sdk@0.3.2. adapter-core bumped 0.1.6 → 0.1.7. Co-Authored-By: Claude Opus 4.7 (1M context) --- package-lock.json | 34 ++++++++++++++++++++++++++++++---- packages/core/package.json | 6 +++--- packages/github/package.json | 2 +- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8cb20b7..804ffec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2937,7 +2937,7 @@ }, "packages/core": { "name": "@relayfile/adapter-core", - "version": "0.1.6", + "version": "0.1.7", "license": "MIT", "dependencies": { "@scalar/postman-to-openapi": "^0.6.0", @@ -2950,7 +2950,7 @@ }, "devDependencies": { "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.5.2", "typescript": "^5.9.2", "vitest": "^3.0.0" @@ -2959,7 +2959,20 @@ "node": ">=18" }, "peerDependencies": { - "@relayfile/sdk": "^0.1.7" + "@relayfile/sdk": ">=0.1.7 <1" + } + }, + "packages/core/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, + "engines": { + "node": ">=18" } }, "packages/github": { @@ -2970,7 +2983,7 @@ "@relayfile/adapter-core": "^0.1.1" }, "devDependencies": { - "@relayfile/sdk": "^0.1.7", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.21.0", "typescript": "^5.9.3" @@ -2982,6 +2995,19 @@ "@relayfile/sdk": ">=0.1.7 <1" } }, + "packages/github/node_modules/@relayfile/sdk": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@relayfile/sdk/-/sdk-0.3.2.tgz", + "integrity": "sha512-tOaXT3fJUIVXRt41o9pxKbUIllqPXiJ0r6syrM8wREZErvE4gxABdqn6DDAZSo4fLMgiWrdyC12qQlS0kVEhZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@relayfile/core": "0.3.2" + }, + "engines": { + "node": ">=18" + } + }, "packages/gitlab": { "name": "@relayfile/adapter-gitlab", "version": "0.1.7", diff --git a/packages/core/package.json b/packages/core/package.json index 401f43a..0c3d0e8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@relayfile/adapter-core", - "version": "0.1.6", + "version": "0.1.7", "description": "Schema-driven relayfile adapter generator and runtime", "type": "module", "main": "dist/src/index.js", @@ -22,7 +22,7 @@ "typecheck": "tsc --noEmit" }, "peerDependencies": { - "@relayfile/sdk": "^0.1.7" + "@relayfile/sdk": ">=0.1.7 <1" }, "dependencies": { "@scalar/postman-to-openapi": "^0.6.0", @@ -32,7 +32,7 @@ }, "devDependencies": { "@agent-relay/sdk": "^3.2.22", - "@relayfile/sdk": "^0.1.7", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.5.2", "typescript": "^5.9.2", "vitest": "^3.0.0" diff --git a/packages/github/package.json b/packages/github/package.json index e94669e..d53285a 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -45,7 +45,7 @@ "@relayfile/adapter-core": "^0.1.1" }, "devDependencies": { - "@relayfile/sdk": "^0.1.7", + "@relayfile/sdk": "^0.3.1", "@types/node": "^24.6.0", "tsx": "^4.21.0", "typescript": "^5.9.3"