@dobbyai/mcp-external 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/__tests__/agent-mail-tools.test.d.ts +8 -0
  2. package/dist/__tests__/agent-mail-tools.test.d.ts.map +1 -0
  3. package/dist/__tests__/agent-mail-tools.test.js +262 -0
  4. package/dist/__tests__/agent-mail-tools.test.js.map +1 -0
  5. package/dist/__tests__/annotations.test.d.ts +8 -0
  6. package/dist/__tests__/annotations.test.d.ts.map +1 -0
  7. package/dist/__tests__/annotations.test.js +108 -0
  8. package/dist/__tests__/annotations.test.js.map +1 -0
  9. package/dist/__tests__/auth.test.d.ts +7 -0
  10. package/dist/__tests__/auth.test.d.ts.map +1 -0
  11. package/dist/__tests__/auth.test.js +116 -0
  12. package/dist/__tests__/auth.test.js.map +1 -0
  13. package/dist/__tests__/integration/protocol.test.d.ts +8 -0
  14. package/dist/__tests__/integration/protocol.test.d.ts.map +1 -0
  15. package/dist/__tests__/integration/protocol.test.js +104 -0
  16. package/dist/__tests__/integration/protocol.test.js.map +1 -0
  17. package/dist/__tests__/mcp-integrations.test.d.ts +8 -0
  18. package/dist/__tests__/mcp-integrations.test.d.ts.map +1 -0
  19. package/dist/__tests__/mcp-integrations.test.js +375 -0
  20. package/dist/__tests__/mcp-integrations.test.js.map +1 -0
  21. package/dist/__tests__/memory-graph-tools.test.d.ts +8 -0
  22. package/dist/__tests__/memory-graph-tools.test.d.ts.map +1 -0
  23. package/dist/__tests__/memory-graph-tools.test.js +265 -0
  24. package/dist/__tests__/memory-graph-tools.test.js.map +1 -0
  25. package/dist/__tests__/schedule-tools.test.d.ts +8 -0
  26. package/dist/__tests__/schedule-tools.test.d.ts.map +1 -0
  27. package/dist/__tests__/schedule-tools.test.js +290 -0
  28. package/dist/__tests__/schedule-tools.test.js.map +1 -0
  29. package/dist/__tests__/tiers.test.d.ts +7 -0
  30. package/dist/__tests__/tiers.test.d.ts.map +1 -0
  31. package/dist/__tests__/tiers.test.js +103 -0
  32. package/dist/__tests__/tiers.test.js.map +1 -0
  33. package/dist/__tests__/tools.test.d.ts +7 -0
  34. package/dist/__tests__/tools.test.d.ts.map +1 -0
  35. package/dist/__tests__/tools.test.js +143 -0
  36. package/dist/__tests__/tools.test.js.map +1 -0
  37. package/dist/__tests__/transport.test.d.ts +7 -0
  38. package/dist/__tests__/transport.test.d.ts.map +1 -0
  39. package/dist/__tests__/transport.test.js +55 -0
  40. package/dist/__tests__/transport.test.js.map +1 -0
  41. package/dist/__tests__/web-eval-tools.test.d.ts +8 -0
  42. package/dist/__tests__/web-eval-tools.test.d.ts.map +1 -0
  43. package/dist/__tests__/web-eval-tools.test.js +252 -0
  44. package/dist/__tests__/web-eval-tools.test.js.map +1 -0
  45. package/dist/__tests__/workflow-tools.test.d.ts +8 -0
  46. package/dist/__tests__/workflow-tools.test.d.ts.map +1 -0
  47. package/dist/__tests__/workflow-tools.test.js +268 -0
  48. package/dist/__tests__/workflow-tools.test.js.map +1 -0
  49. package/dist/auth/oauth-provider.d.ts +34 -0
  50. package/dist/auth/oauth-provider.d.ts.map +1 -0
  51. package/dist/auth/oauth-provider.js +75 -0
  52. package/dist/auth/oauth-provider.js.map +1 -0
  53. package/dist/auth/token-verifier.d.ts +40 -0
  54. package/dist/auth/token-verifier.d.ts.map +1 -0
  55. package/dist/auth/token-verifier.js +138 -0
  56. package/dist/auth/token-verifier.js.map +1 -0
  57. package/dist/http-server.d.ts +35 -0
  58. package/dist/http-server.d.ts.map +1 -0
  59. package/dist/http-server.js +175 -0
  60. package/dist/http-server.js.map +1 -0
  61. package/dist/index.js +113 -52
  62. package/dist/index.js.map +1 -1
  63. package/dist/lib/dobby-client.d.ts +50 -20
  64. package/dist/lib/dobby-client.d.ts.map +1 -1
  65. package/dist/lib/dobby-client.js +50 -0
  66. package/dist/lib/dobby-client.js.map +1 -1
  67. package/dist/tools/agent-mail.d.ts +153 -0
  68. package/dist/tools/agent-mail.d.ts.map +1 -0
  69. package/dist/tools/agent-mail.js +340 -0
  70. package/dist/tools/agent-mail.js.map +1 -0
  71. package/dist/tools/approvals.d.ts +24 -0
  72. package/dist/tools/approvals.d.ts.map +1 -1
  73. package/dist/tools/approvals.js +24 -0
  74. package/dist/tools/approvals.js.map +1 -1
  75. package/dist/tools/crew-builder.d.ts +24 -0
  76. package/dist/tools/crew-builder.d.ts.map +1 -1
  77. package/dist/tools/crew-builder.js +24 -0
  78. package/dist/tools/crew-builder.js.map +1 -1
  79. package/dist/tools/crewai.d.ts +24 -0
  80. package/dist/tools/crewai.d.ts.map +1 -1
  81. package/dist/tools/crewai.js +24 -0
  82. package/dist/tools/crewai.js.map +1 -1
  83. package/dist/tools/exa.d.ts +161 -0
  84. package/dist/tools/exa.d.ts.map +1 -0
  85. package/dist/tools/exa.js +228 -0
  86. package/dist/tools/exa.js.map +1 -0
  87. package/dist/tools/github-mcp.d.ts +303 -0
  88. package/dist/tools/github-mcp.d.ts.map +1 -0
  89. package/dist/tools/github-mcp.js +397 -0
  90. package/dist/tools/github-mcp.js.map +1 -0
  91. package/dist/tools/governance.d.ts +129 -0
  92. package/dist/tools/governance.d.ts.map +1 -0
  93. package/dist/tools/governance.js +171 -0
  94. package/dist/tools/governance.js.map +1 -0
  95. package/dist/tools/index.d.ts +3589 -159
  96. package/dist/tools/index.d.ts.map +1 -1
  97. package/dist/tools/index.js +250 -0
  98. package/dist/tools/index.js.map +1 -1
  99. package/dist/tools/jira.d.ts +60 -0
  100. package/dist/tools/jira.d.ts.map +1 -1
  101. package/dist/tools/jira.js +60 -0
  102. package/dist/tools/jira.js.map +1 -1
  103. package/dist/tools/knowledge-base.d.ts +144 -0
  104. package/dist/tools/knowledge-base.d.ts.map +1 -0
  105. package/dist/tools/knowledge-base.js +179 -0
  106. package/dist/tools/knowledge-base.js.map +1 -0
  107. package/dist/tools/mcp-metrics.d.ts +62 -0
  108. package/dist/tools/mcp-metrics.d.ts.map +1 -0
  109. package/dist/tools/mcp-metrics.js +270 -0
  110. package/dist/tools/mcp-metrics.js.map +1 -0
  111. package/dist/tools/mcp-tools.d.ts +12 -0
  112. package/dist/tools/mcp-tools.d.ts.map +1 -1
  113. package/dist/tools/mcp-tools.js +12 -0
  114. package/dist/tools/mcp-tools.js.map +1 -1
  115. package/dist/tools/mem0.d.ts +168 -0
  116. package/dist/tools/mem0.d.ts.map +1 -0
  117. package/dist/tools/mem0.js +255 -0
  118. package/dist/tools/mem0.js.map +1 -0
  119. package/dist/tools/memory-graph.d.ts +197 -0
  120. package/dist/tools/memory-graph.d.ts.map +1 -0
  121. package/dist/tools/memory-graph.js +545 -0
  122. package/dist/tools/memory-graph.js.map +1 -0
  123. package/dist/tools/messages.d.ts +12 -0
  124. package/dist/tools/messages.d.ts.map +1 -1
  125. package/dist/tools/messages.js +12 -0
  126. package/dist/tools/messages.js.map +1 -1
  127. package/dist/tools/moltbook.d.ts +564 -0
  128. package/dist/tools/moltbook.d.ts.map +1 -0
  129. package/dist/tools/moltbook.js +792 -0
  130. package/dist/tools/moltbook.js.map +1 -0
  131. package/dist/tools/ops.d.ts +219 -0
  132. package/dist/tools/ops.d.ts.map +1 -0
  133. package/dist/tools/ops.js +360 -0
  134. package/dist/tools/ops.js.map +1 -0
  135. package/dist/tools/schedules.d.ts +196 -0
  136. package/dist/tools/schedules.d.ts.map +1 -0
  137. package/dist/tools/schedules.js +264 -0
  138. package/dist/tools/schedules.js.map +1 -0
  139. package/dist/tools/services.d.ts +6 -0
  140. package/dist/tools/services.d.ts.map +1 -1
  141. package/dist/tools/services.js +6 -0
  142. package/dist/tools/services.js.map +1 -1
  143. package/dist/tools/tasks.d.ts +45 -0
  144. package/dist/tools/tasks.d.ts.map +1 -1
  145. package/dist/tools/tasks.js +49 -4
  146. package/dist/tools/tasks.js.map +1 -1
  147. package/dist/tools/tiers.d.ts +39 -0
  148. package/dist/tools/tiers.d.ts.map +1 -0
  149. package/dist/tools/tiers.js +138 -0
  150. package/dist/tools/tiers.js.map +1 -0
  151. package/dist/tools/unified-agents.d.ts +62 -0
  152. package/dist/tools/unified-agents.d.ts.map +1 -0
  153. package/dist/tools/unified-agents.js +147 -0
  154. package/dist/tools/unified-agents.js.map +1 -0
  155. package/dist/tools/web-eval.d.ts +172 -0
  156. package/dist/tools/web-eval.d.ts.map +1 -0
  157. package/dist/tools/web-eval.js +347 -0
  158. package/dist/tools/web-eval.js.map +1 -0
  159. package/dist/tools/workflow.d.ts +171 -0
  160. package/dist/tools/workflow.d.ts.map +1 -0
  161. package/dist/tools/workflow.js +518 -0
  162. package/dist/tools/workflow.js.map +1 -0
  163. package/package.json +8 -3
@@ -0,0 +1,175 @@
1
+ /**
2
+ * HTTP Server for Dobby MCP
3
+ *
4
+ * Express app serving MCP over Streamable HTTP transport with OAuth 2.1 auth.
5
+ * Runs alongside the existing STDIO mode — selected via --transport http.
6
+ *
7
+ * Endpoints:
8
+ * GET /.well-known/oauth-authorization-server — OAuth metadata (via mcpAuthRouter)
9
+ * GET /authorize — Redirect to web app consent page (via mcpAuthRouter)
10
+ * POST /token — Token exchange proxy (via mcpAuthRouter)
11
+ * POST /register — Dynamic client registration proxy (via mcpAuthRouter)
12
+ * POST /revoke — Token revocation proxy (via mcpAuthRouter)
13
+ * POST /mcp — Streamable HTTP MCP endpoint (Bearer auth required)
14
+ * GET /mcp — SSE stream for Streamable HTTP (Bearer auth required)
15
+ * DELETE /mcp — Session termination (Bearer auth required)
16
+ * GET /health — Health check (no auth)
17
+ */
18
+ import express from 'express';
19
+ import cors from 'cors';
20
+ import { randomUUID } from 'node:crypto';
21
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
22
+ import { mcpAuthRouter } from '@modelcontextprotocol/sdk/server/auth/router.js';
23
+ import { requireBearerAuth } from '@modelcontextprotocol/sdk/server/auth/middleware/bearerAuth.js';
24
+ import { createOAuthProvider } from './auth/oauth-provider.js';
25
+ // ============================================
26
+ // Session Management
27
+ // ============================================
28
+ /** Active transport sessions keyed by session ID */
29
+ const sessions = new Map();
30
+ // ============================================
31
+ // Start HTTP Server
32
+ // ============================================
33
+ export async function startHttpServer(config) {
34
+ const { port, issuerUrl, mcpPublicUrl, createMcpServer } = config;
35
+ // Create OAuth proxy provider
36
+ const { provider, tokenVerifier } = createOAuthProvider({
37
+ issuerUrl,
38
+ mcpPublicUrl,
39
+ });
40
+ const app = express();
41
+ // ============================================
42
+ // CORS — allow Claude Code, Claude.ai, Dobby web
43
+ // ============================================
44
+ app.use(cors({
45
+ origin: (origin, callback) => {
46
+ // Allow requests with no origin (curl, server-to-server)
47
+ if (!origin)
48
+ return callback(null, true);
49
+ // Allow any origin — OAuth tokens provide security, not CORS
50
+ callback(null, true);
51
+ },
52
+ methods: ['GET', 'POST', 'DELETE', 'OPTIONS'],
53
+ allowedHeaders: ['Content-Type', 'Authorization', 'Mcp-Session-Id'],
54
+ exposedHeaders: ['Mcp-Session-Id'],
55
+ credentials: true,
56
+ maxAge: 86400,
57
+ }));
58
+ // Parse JSON for MCP requests
59
+ app.use(express.json());
60
+ // ============================================
61
+ // OAuth proxy routes (served by MCP SDK's mcpAuthRouter)
62
+ // ============================================
63
+ const authRouter = mcpAuthRouter({
64
+ provider,
65
+ issuerUrl: new URL(issuerUrl),
66
+ baseUrl: new URL(mcpPublicUrl),
67
+ serviceDocumentationUrl: new URL(`${issuerUrl}/docs/mcp`),
68
+ scopesSupported: [
69
+ 'mcp:read',
70
+ 'mcp:execute',
71
+ 'mcp:pro',
72
+ 'mcp:*',
73
+ ],
74
+ });
75
+ app.use(authRouter);
76
+ // ============================================
77
+ // Health check (no auth)
78
+ // ============================================
79
+ app.get('/health', (_req, res) => {
80
+ res.json({
81
+ status: 'ok',
82
+ server: 'dobby-mcp',
83
+ version: '1.1.0',
84
+ transport: 'streamable-http',
85
+ activeSessions: sessions.size,
86
+ tokenCacheSize: tokenVerifier.cacheSize,
87
+ });
88
+ });
89
+ // ============================================
90
+ // MCP Streamable HTTP endpoint (Bearer auth required)
91
+ // ============================================
92
+ const bearerAuth = requireBearerAuth({ verifier: provider });
93
+ // POST /mcp — JSON-RPC requests (initialize, tools/list, tools/call, etc.)
94
+ app.post('/mcp', bearerAuth, async (req, res) => {
95
+ const sessionId = req.headers['mcp-session-id'];
96
+ let transport;
97
+ if (sessionId && sessions.has(sessionId)) {
98
+ // Existing session
99
+ transport = sessions.get(sessionId);
100
+ }
101
+ else if (!sessionId) {
102
+ // New session — create transport and connect to a fresh MCP server
103
+ transport = new StreamableHTTPServerTransport({
104
+ sessionIdGenerator: () => randomUUID(),
105
+ });
106
+ // Connect MCP server to this transport
107
+ const mcpServer = await createMcpServer();
108
+ await mcpServer.connect(transport);
109
+ // Store session after connect (sessionId is set during initialize)
110
+ if (transport.sessionId) {
111
+ sessions.set(transport.sessionId, transport);
112
+ }
113
+ // Clean up on close
114
+ transport.onclose = () => {
115
+ if (transport.sessionId) {
116
+ sessions.delete(transport.sessionId);
117
+ }
118
+ };
119
+ }
120
+ else {
121
+ // Invalid session ID
122
+ res.status(404).json({
123
+ jsonrpc: '2.0',
124
+ error: { code: -32000, message: 'Session not found' },
125
+ id: null,
126
+ });
127
+ return;
128
+ }
129
+ await transport.handleRequest(req, res, req.body);
130
+ });
131
+ // GET /mcp — SSE stream for server-to-client notifications
132
+ app.get('/mcp', bearerAuth, async (req, res) => {
133
+ const sessionId = req.headers['mcp-session-id'];
134
+ if (!sessionId || !sessions.has(sessionId)) {
135
+ res.status(404).json({
136
+ jsonrpc: '2.0',
137
+ error: { code: -32000, message: 'Session not found' },
138
+ id: null,
139
+ });
140
+ return;
141
+ }
142
+ const transport = sessions.get(sessionId);
143
+ await transport.handleRequest(req, res);
144
+ });
145
+ // DELETE /mcp — Session termination
146
+ app.delete('/mcp', bearerAuth, async (req, res) => {
147
+ const sessionId = req.headers['mcp-session-id'];
148
+ if (!sessionId || !sessions.has(sessionId)) {
149
+ res.status(404).json({
150
+ jsonrpc: '2.0',
151
+ error: { code: -32000, message: 'Session not found' },
152
+ id: null,
153
+ });
154
+ return;
155
+ }
156
+ const transport = sessions.get(sessionId);
157
+ await transport.close();
158
+ sessions.delete(sessionId);
159
+ res.status(200).json({ ok: true });
160
+ });
161
+ // ============================================
162
+ // Start listening
163
+ // ============================================
164
+ return new Promise((resolve) => {
165
+ app.listen(port, () => {
166
+ console.error(`Dobby MCP HTTP server listening on port ${port}`);
167
+ console.error(` OAuth issuer: ${issuerUrl}`);
168
+ console.error(` Public URL: ${mcpPublicUrl}`);
169
+ console.error(` Health: http://localhost:${port}/health`);
170
+ console.error(` MCP endpoint: POST http://localhost:${port}/mcp`);
171
+ resolve({ app, tokenVerifier });
172
+ });
173
+ });
174
+ }
175
+ //# sourceMappingURL=http-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,10 +15,11 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
15
15
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
16
16
  import { Command } from 'commander';
17
17
  import dotenv from 'dotenv';
18
- import { createDobbyClient } from './lib/dobby-client.js';
19
- import { allTools, handleToolCall } from './tools/index.js';
18
+ import { createDobbyClient, DobbyClient } from './lib/dobby-client.js';
19
+ import { getToolDefinitions, handleToolCall } from './tools/index.js';
20
20
  import { resourceDefinitions, resourceTemplates, handleResourceRead } from './resources/index.js';
21
21
  import { promptDefinitions, handlePromptGet } from './prompts/index.js';
22
+ import { startHttpServer } from './http-server.js';
22
23
  // Load environment variables
23
24
  dotenv.config();
24
25
  // ============================================
@@ -30,7 +31,7 @@ program
30
31
  .description('Dobby MCP Server - Connect to Dobby from any MCP client')
31
32
  .version('1.0.0')
32
33
  .option('-t, --transport <type>', 'Transport type: stdio or http', 'stdio')
33
- .option('-p, --port <number>', 'HTTP server port (for http transport)', '3001')
34
+ .option('-p, --port <number>', 'HTTP server port (for http transport)', '8080')
34
35
  .option('--api-url <url>', 'Dobby API URL', process.env.DOBBY_API_URL)
35
36
  .option('--api-key <key>', 'Dobby API Key', process.env.DOBBY_API_KEY)
36
37
  .option('--tenant-id <id>', 'Dobby Tenant ID', process.env.DOBBY_TENANT_ID)
@@ -53,20 +54,28 @@ function resolveGatewayKey(opts) {
53
54
  return opts.apiKey;
54
55
  return undefined;
55
56
  }
56
- // ============================================
57
- // Server Setup
58
- // ============================================
59
- async function createServer() {
60
- // Create Dobby client
61
- const client = createDobbyClient({
62
- apiUrl: options.apiUrl,
63
- apiKey: options.apiKey,
64
- tenantId: options.tenantId,
65
- });
57
+ /**
58
+ * Create an MCP Server with all handlers registered.
59
+ *
60
+ * In STDIO mode: tenant context comes from env vars (DOBBY_TENANT_ID, DOBBY_API_KEY).
61
+ * In HTTP mode: tenant context comes from OAuth token (extra.authInfo.extra.tenant_id).
62
+ * The DobbyClient is created lazily per-request in HTTP mode.
63
+ */
64
+ async function createServer(opts = { mode: 'stdio' }) {
65
+ const apiUrl = options.apiUrl || process.env.DOBBY_API_URL || 'https://dobby-ai.com';
66
+ // In STDIO mode, create a shared client from env vars
67
+ let stdioClient;
68
+ if (opts.mode === 'stdio') {
69
+ stdioClient = createDobbyClient({
70
+ apiUrl: options.apiUrl,
71
+ apiKey: options.apiKey,
72
+ tenantId: options.tenantId,
73
+ });
74
+ }
66
75
  // Create MCP server
67
76
  const server = new Server({
68
77
  name: 'dobby-mcp-server',
69
- version: '1.0.0',
78
+ version: '1.1.0',
70
79
  }, {
71
80
  capabilities: {
72
81
  tools: {},
@@ -74,40 +83,80 @@ async function createServer() {
74
83
  prompts: {},
75
84
  },
76
85
  });
77
- // User context (can be expanded with actual auth)
86
+ // STDIO user context
78
87
  const userContext = {
79
88
  userId: process.env.DOBBY_USER_ID || 'mcp-user',
80
89
  userName: process.env.DOBBY_USER_NAME || 'MCP User',
81
90
  };
82
- // Gateway auth context (optional — if configured, enables auth + audit logging)
91
+ // STDIO gateway auth context
83
92
  const gatewayKey = resolveGatewayKey({
84
93
  gatewayKey: options.gatewayKey,
85
94
  apiKey: options.apiKey,
86
95
  });
87
- const gatewayUrl = options.gatewayUrl || client.apiUrl;
96
+ const gatewayUrl = options.gatewayUrl || apiUrl;
88
97
  // ============================================
89
98
  // Tools Handler
90
99
  // ============================================
91
- server.setRequestHandler(ListToolsRequestSchema, async () => {
100
+ server.setRequestHandler(ListToolsRequestSchema, async (_request, extra) => {
101
+ // In HTTP mode, could filter by tier based on auth scopes
102
+ // For now, return all tools with annotations
92
103
  return {
93
- tools: Object.values(allTools).map((tool) => ({
94
- name: tool.name,
95
- description: tool.description,
96
- inputSchema: tool.inputSchema,
97
- })),
104
+ tools: getToolDefinitions('enterprise'),
98
105
  };
99
106
  });
100
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
107
+ server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
101
108
  const { name, arguments: args } = request.params;
102
109
  try {
110
+ let client;
111
+ let userId;
112
+ let userName;
113
+ let tenantId;
114
+ let region;
115
+ let gwKey;
116
+ let gwUrl;
117
+ if (opts.mode === 'http' && extra.authInfo) {
118
+ // HTTP mode — resolve context from OAuth token
119
+ const tokenExtra = extra.authInfo.extra;
120
+ const tokenTenantId = tokenExtra?.tenant_id;
121
+ const tokenOrgId = tokenExtra?.org_id;
122
+ const tokenUserId = tokenExtra?.user_id || 'oauth-user';
123
+ if (!tokenTenantId) {
124
+ return {
125
+ content: [{ type: 'text', text: 'Error: OAuth token missing tenant_id' }],
126
+ isError: true,
127
+ };
128
+ }
129
+ // Create per-request client using the OAuth access token as the API key
130
+ client = new DobbyClient({
131
+ apiUrl,
132
+ apiKey: extra.authInfo.token,
133
+ tenantId: tokenTenantId,
134
+ });
135
+ userId = tokenUserId;
136
+ userName = 'OAuth User';
137
+ tenantId = tokenTenantId;
138
+ region = undefined; // resolved by web app from tenant
139
+ gwKey = extra.authInfo.token; // use OAuth token for gateway auth
140
+ gwUrl = apiUrl;
141
+ }
142
+ else {
143
+ // STDIO mode — use env vars
144
+ client = stdioClient;
145
+ userId = userContext.userId;
146
+ userName = userContext.userName;
147
+ tenantId = client.tenantId;
148
+ region = process.env.DOBBY_REGION;
149
+ gwKey = gatewayKey;
150
+ gwUrl = gatewayUrl;
151
+ }
103
152
  const result = await handleToolCall(name, args || {}, {
104
153
  client,
105
- userId: userContext.userId,
106
- userName: userContext.userName,
107
- gatewayKey,
108
- gatewayUrl,
109
- tenantId: client.tenantId,
110
- region: process.env.DOBBY_REGION,
154
+ userId,
155
+ userName,
156
+ gatewayKey: gwKey,
157
+ gatewayUrl: gwUrl,
158
+ tenantId,
159
+ region,
111
160
  });
112
161
  return result;
113
162
  }
@@ -134,6 +183,7 @@ async function createServer() {
134
183
  });
135
184
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
136
185
  const { uri } = request.params;
186
+ const client = stdioClient || new DobbyClient({ apiUrl, apiKey: '', tenantId: '' });
137
187
  try {
138
188
  return await handleResourceRead(uri, client);
139
189
  }
@@ -158,7 +208,7 @@ async function createServer() {
158
208
  throw new Error(`Failed to get prompt ${name}: ${error.message}`);
159
209
  }
160
210
  });
161
- return { server, client };
211
+ return server;
162
212
  }
163
213
  // ============================================
164
214
  // Main Entry Point
@@ -173,34 +223,45 @@ async function main() {
173
223
  console.error('Starting Dobby MCP Server...');
174
224
  console.error(`Transport: ${options.transport}`);
175
225
  try {
176
- const { server, client } = await createServer();
177
- // Verify connection
178
- const healthy = await client.checkHealth();
179
- if (!healthy) {
180
- console.error('Warning: Could not connect to Dobby API');
181
- }
182
- else {
183
- console.error('Connected to Dobby API');
184
- }
185
- // Gateway auth status
186
- const gwKey = resolveGatewayKey({ gatewayKey: options.gatewayKey, apiKey: options.apiKey });
187
- if (gwKey) {
188
- console.error(`Gateway auth enabled (key prefix: ${gwKey.slice(0, 12)}...)`);
189
- }
190
- else {
191
- console.error('Gateway auth disabled (no gateway key configured)');
192
- }
193
226
  if (options.transport === 'stdio') {
194
227
  // STDIO transport (for Claude Desktop, Cursor, etc.)
228
+ const server = await createServer({ mode: 'stdio' });
229
+ // Verify connection
230
+ const client = createDobbyClient({
231
+ apiUrl: options.apiUrl,
232
+ apiKey: options.apiKey,
233
+ tenantId: options.tenantId,
234
+ });
235
+ const healthy = await client.checkHealth();
236
+ if (!healthy) {
237
+ console.error('Warning: Could not connect to Dobby API');
238
+ }
239
+ else {
240
+ console.error('Connected to Dobby API');
241
+ }
242
+ // Gateway auth status
243
+ const gwKey = resolveGatewayKey({ gatewayKey: options.gatewayKey, apiKey: options.apiKey });
244
+ if (gwKey) {
245
+ console.error(`Gateway auth enabled (key prefix: ${gwKey.slice(0, 12)}...)`);
246
+ }
247
+ else {
248
+ console.error('Gateway auth disabled (no gateway key configured)');
249
+ }
195
250
  const transport = new StdioServerTransport();
196
251
  await server.connect(transport);
197
252
  console.error('Dobby MCP Server running on STDIO');
198
253
  }
199
254
  else if (options.transport === 'http') {
200
- // HTTP transport (for remote clients)
201
- console.error(`HTTP transport on port ${options.port} - Not yet implemented`);
202
- console.error('Use STDIO transport for now');
203
- process.exit(1);
255
+ // HTTP transport (for remote clients via OAuth)
256
+ const issuerUrl = process.env.OAUTH_ISSUER_URL || options.apiUrl || 'https://dobby-ai.com';
257
+ const mcpPublicUrl = process.env.MCP_PUBLIC_URL || `http://localhost:${options.port}`;
258
+ const port = parseInt(options.port, 10);
259
+ await startHttpServer({
260
+ port,
261
+ issuerUrl,
262
+ mcpPublicUrl,
263
+ createMcpServer: () => createServer({ mode: 'http' }),
264
+ });
204
265
  }
205
266
  else {
206
267
  console.error(`Unknown transport: ${options.transport}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAY,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,wBAAwB,EAAE,+BAA+B,EAAE,OAAO,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KACrE,MAAM,CAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KACrE,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAC7F,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;KACrG,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC1C,KAAK,EAAE,CAAC;AAEX,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAA8C;IACvE,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrE,OAAO,SAAS,CAAC;AACnB,CAAC;AAWD;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,OAA4B,EAAE,IAAI,EAAE,OAAO,EAAE;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC;IAErF,sDAAsD;IACtD,IAAI,WAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,WAAW,GAAG,iBAAiB,CAAC;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CACF,CAAC;IAEF,qBAAqB;IACrB,MAAM,WAAW,GAAG;QAClB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;QAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU;KACpD,CAAC;IAEF,6BAA6B;IAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;IAEhD,+CAA+C;IAC/C,gBAAgB;IAChB,+CAA+C;IAE/C,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACzE,0DAA0D;QAC1D,6CAA6C;QAC7C,OAAO;YACL,KAAK,EAAE,kBAAkB,CAAC,YAAY,CAAC;SACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,IAAI,MAAmB,CAAC;YACxB,IAAI,MAAc,CAAC;YACnB,IAAI,QAAgB,CAAC;YACrB,IAAI,QAA4B,CAAC;YACjC,IAAI,MAA0B,CAAC;YAC/B,IAAI,KAAyB,CAAC;YAC9B,IAAI,KAAa,CAAC;YAElB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3C,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,KAIrB,CAAC;gBAEd,MAAM,aAAa,GAAG,UAAU,EAAE,SAAS,CAAC;gBAC5C,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,CAAC;gBACtC,MAAM,WAAW,GAAG,UAAU,EAAE,OAAO,IAAI,YAAY,CAAC;gBAExD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC;wBAClF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,wEAAwE;gBACxE,MAAM,GAAG,IAAI,WAAW,CAAC;oBACvB,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;oBAC5B,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;gBAEH,MAAM,GAAG,WAAW,CAAC;gBACrB,QAAQ,GAAG,YAAY,CAAC;gBACxB,QAAQ,GAAG,aAAa,CAAC;gBACzB,MAAM,GAAG,SAAS,CAAC,CAAC,kCAAkC;gBACtD,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,mCAAmC;gBACjE,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,MAAM,GAAG,WAAY,CAAC;gBACtB,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC5B,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAChC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3B,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAClC,KAAK,GAAG,UAAU,CAAC;gBACnB,KAAK,GAAG,UAAU,CAAC;YACrB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;gBACpD,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,KAAK;gBACjB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE;qBAChC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,oBAAoB;IACpB,+CAA+C;IAE/C,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC9D,OAAO;YACL,SAAS,EAAE,mBAAmB;YAC9B,iBAAiB,EAAE,iBAAiB;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,kBAAkB;IAClB,+CAA+C;IAE/C,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QAC5D,OAAO;YACL,OAAO,EAAE,iBAAiB;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,KAAK,UAAU,IAAI;IACjB,oBAAoB;IACpB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtE,MAAM,mBAAmB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,qDAAqD;YACrD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAErD,oBAAoB;YACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC;gBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1C,CAAC;YAED,sBAAsB;YACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAErD,CAAC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACxC,gDAAgD;YAChD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC;YAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;YACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAExC,MAAM,eAAe,CAAC;gBACpB,IAAI;gBACJ,SAAS;gBACT,YAAY;gBACZ,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aACtD,CAAC,CAAC;QAEL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -22,24 +22,24 @@ export declare const TaskSchema: z.ZodObject<{
22
22
  branch_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
23
  result_summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
24
  }, "strip", z.ZodTypeAny, {
25
- task_id: string;
26
25
  tenant_id: string;
27
- title: string;
28
26
  description: string | null;
29
- status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
30
27
  priority: "high" | "medium" | "low" | null;
28
+ title: string;
29
+ status: "completed" | "failed" | "cancelled" | "pending" | "in_progress";
30
+ task_id: string;
31
31
  created_at: string;
32
32
  updated_at: string;
33
33
  pr_url?: string | null | undefined;
34
34
  branch_name?: string | null | undefined;
35
35
  result_summary?: string | null | undefined;
36
36
  }, {
37
- task_id: string;
38
37
  tenant_id: string;
39
- title: string;
40
38
  description: string | null;
41
- status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
42
39
  priority: "high" | "medium" | "low" | null;
40
+ title: string;
41
+ status: "completed" | "failed" | "cancelled" | "pending" | "in_progress";
42
+ task_id: string;
43
43
  created_at: string;
44
44
  updated_at: string;
45
45
  pr_url?: string | null | undefined;
@@ -56,54 +56,54 @@ export declare const MessageSchema: z.ZodObject<{
56
56
  name: z.ZodString;
57
57
  }, "strip", z.ZodTypeAny, {
58
58
  type: "user" | "agent" | "system";
59
- id: string;
60
59
  name: string;
60
+ id: string;
61
61
  }, {
62
62
  type: "user" | "agent" | "system";
63
- id: string;
64
63
  name: string;
64
+ id: string;
65
65
  }>;
66
66
  message: z.ZodObject<{
67
67
  type: z.ZodString;
68
68
  content: z.ZodString;
69
69
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
70
70
  }, "strip", z.ZodTypeAny, {
71
- type: string;
72
71
  content: string;
72
+ type: string;
73
73
  metadata?: Record<string, any> | undefined;
74
74
  }, {
75
- type: string;
76
75
  content: string;
76
+ type: string;
77
77
  metadata?: Record<string, any> | undefined;
78
78
  }>;
79
79
  created_at: z.ZodString;
80
80
  }, "strip", z.ZodTypeAny, {
81
+ id: string;
81
82
  task_id: string;
82
83
  message: {
83
- type: string;
84
84
  content: string;
85
+ type: string;
85
86
  metadata?: Record<string, any> | undefined;
86
87
  };
87
88
  created_at: string;
88
- id: string;
89
89
  sender: {
90
90
  type: "user" | "agent" | "system";
91
- id: string;
92
91
  name: string;
92
+ id: string;
93
93
  };
94
94
  }, {
95
+ id: string;
95
96
  task_id: string;
96
97
  message: {
97
- type: string;
98
98
  content: string;
99
+ type: string;
99
100
  metadata?: Record<string, any> | undefined;
100
101
  };
101
102
  created_at: string;
102
- id: string;
103
103
  sender: {
104
104
  type: "user" | "agent" | "system";
105
- id: string;
106
105
  name: string;
106
+ id: string;
107
107
  };
108
108
  }>;
109
109
  export type Message = z.infer<typeof MessageSchema>;
@@ -117,20 +117,20 @@ export declare const ApprovalSchema: z.ZodObject<{
117
117
  created_at: z.ZodString;
118
118
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
119
119
  }, "strip", z.ZodTypeAny, {
120
- task_id: string;
121
120
  description: string;
122
121
  status: "pending" | "approved" | "rejected";
123
- created_at: string;
124
122
  id: string;
123
+ task_id: string;
124
+ created_at: string;
125
125
  approval_type: string;
126
126
  requested_by: string;
127
127
  metadata?: Record<string, any> | undefined;
128
128
  }, {
129
- task_id: string;
130
129
  description: string;
131
130
  status: "pending" | "approved" | "rejected";
132
- created_at: string;
133
131
  id: string;
132
+ task_id: string;
133
+ created_at: string;
134
134
  approval_type: string;
135
135
  requested_by: string;
136
136
  metadata?: Record<string, any> | undefined;
@@ -146,9 +146,13 @@ export declare class DobbyClient {
146
146
  /** Tenant ID for scoped requests */
147
147
  get tenantId(): string;
148
148
  private fetch;
149
+ request<T = any>(endpoint: string, options?: RequestInit): Promise<T>;
150
+ get<T = any>(endpoint: string): Promise<T>;
151
+ post<T = any>(endpoint: string, body?: unknown): Promise<T>;
149
152
  listTasks(options?: {
150
153
  status?: string;
151
154
  priority?: string;
155
+ assigned_to?: string;
152
156
  limit?: number;
153
157
  }): Promise<Task[]>;
154
158
  getTask(taskId: string): Promise<Task | null>;
@@ -198,6 +202,32 @@ export declare class DobbyClient {
198
202
  listServices(options?: {
199
203
  category?: 'all' | 'llm' | 'mcp_tools' | 'mcp_servers' | 'managed_services';
200
204
  }): Promise<any>;
205
+ createSchedule(data: {
206
+ name: string;
207
+ task_title: string;
208
+ task_description: string;
209
+ task_priority?: string;
210
+ schedule_type: string;
211
+ schedule_config?: {
212
+ frequency: string;
213
+ time: string;
214
+ timezone: string;
215
+ dayOfWeek?: number;
216
+ dayOfMonth?: number;
217
+ };
218
+ schedule_at?: string;
219
+ overlap_policy?: string;
220
+ }): Promise<any>;
221
+ listSchedules(options?: {
222
+ enabled_only?: boolean;
223
+ limit?: number;
224
+ }): Promise<any>;
225
+ pauseSchedule(data: {
226
+ schedule_id: string;
227
+ action: string;
228
+ reason?: string;
229
+ }): Promise<any>;
230
+ deleteSchedule(scheduleId: string): Promise<any>;
201
231
  checkHealth(): Promise<boolean>;
202
232
  }
203
233
  export declare function createDobbyClient(config?: Partial<DobbyClientConfig>): DobbyClient;
@@ -1 +1 @@
1
- {"version":3,"file":"dobby-client.d.ts","sourceRoot":"","sources":["../../src/lib/dobby-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dobby-client.d.ts","sourceRoot":"","sources":["../../src/lib/dobby-client.ts"],"names":[],"mappings":"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"}