Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/corsair/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export { CorsairClientError, createCorsairClient } from './client';
export type { ResolveConnectLinkResult } from './core';
export {
AuthMissingError,
assertReadonlyAllowed,
createCorsair,
PermissionRequiredError,
ReadonlyForbiddenError,
Expand Down
28 changes: 28 additions & 0 deletions packages/mcp/__mocks__/corsair.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
let isReadonlyScopeActive = false;

export const runReadonly = async (fn: () => any) => {
const prev = isReadonlyScopeActive;
isReadonlyScopeActive = true;
try {
return await fn();
} finally {
isReadonlyScopeActive = prev;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
}
};

export class AuthMissingError extends Error {}
export class PermissionRequiredError extends Error {}
export class ReadonlyForbiddenError extends Error {
constructor() {
super('ReadonlyForbiddenError');
this.name = 'ReadonlyForbiddenError';
}
}

export const assertReadonlyAllowed = (path: string, type: string) => {
if (isReadonlyScopeActive) {
throw new ReadonlyForbiddenError();
}
};

export const listOperations = (_corsair: any) => [];
6 changes: 4 additions & 2 deletions packages/mcp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"scripts": {
"build": "tsup && tsc -p tsconfig.build.json",
"build:watch": "tsup --watch",
"typecheck": "tsc --noEmit"
"typecheck": "tsc --noEmit",
"test": "vitest run"
},
"dependencies": {
"@ai-sdk/mcp": "^1.0.0",
Expand Down Expand Up @@ -57,7 +58,8 @@
"@types/express": "^4.17.21",
"@types/node": "^22.0.0",
"tsup": "^8.0.1",
"typescript": "^5.8.0"
"typescript": "^5.8.0",
"vitest": "^4.1.11"
},
"files": [
"dist"
Expand Down
Loading
Loading