@civic/nexus-bridge
Version:
Stdio <-> HTTP/SSE MCP bridge with Civic auth handling
48 lines • 1.41 kB
TypeScript
/**
* types.ts
*
* Contains type definitions used throughout the nexus bridge,
* particularly for service-specific authentication flows.
*/
import type { CallToolRequestSchema, CallToolResultSchema } from "@modelcontextprotocol/sdk/types.js";
import type { z, ZodType } from "zod";
type TextContent = {
type: 'text';
text: string;
};
type ResourceContent = {
type: 'resource';
resource: {
uri: string;
name: string;
mimeType: string;
text: string;
};
};
type AuthorizationUrlResourceContent = ResourceContent & {
resource: ResourceContent['resource'] & {
name: 'authorization_url';
};
};
type ContinueJobIdResourceContent = ResourceContent & {
resource: ResourceContent['resource'] & {
name: 'continue_job_id';
};
};
export type MCPResult<TResultSchema extends ZodType<object>> = z.infer<TResultSchema>;
export type ToolCallResult = MCPResult<typeof CallToolResultSchema>;
export type AuthorizationRequiredResponse = ToolCallResult & {
content: [
TextContent,
AuthorizationUrlResourceContent,
ContinueJobIdResourceContent
];
};
export type LocalToolHandler = (request: z.infer<typeof CallToolRequestSchema>) => Promise<ToolCallResult>;
export type Tokens = {
id_token?: string;
access_token?: string;
refresh_token?: string;
};
export {};
//# sourceMappingURL=types.d.ts.map