opalserve 0.1.2 → 2.0.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 (223) hide show
  1. package/README.md +112 -116
  2. package/assets/logo.svg +54 -0
  3. package/dist/cli/commands/health.d.ts +4 -0
  4. package/dist/cli/commands/health.d.ts.map +1 -0
  5. package/dist/cli/commands/health.js +36 -0
  6. package/dist/cli/commands/health.js.map +1 -0
  7. package/dist/cli/commands/init.d.ts +2 -0
  8. package/dist/cli/commands/init.d.ts.map +1 -0
  9. package/dist/cli/commands/init.js +81 -0
  10. package/dist/cli/commands/init.js.map +1 -0
  11. package/dist/cli/commands/server.d.ts +10 -0
  12. package/dist/cli/commands/server.d.ts.map +1 -0
  13. package/dist/cli/commands/server.js +108 -0
  14. package/dist/cli/commands/server.js.map +1 -0
  15. package/dist/cli/commands/start.d.ts +6 -0
  16. package/dist/cli/commands/start.d.ts.map +1 -0
  17. package/dist/cli/commands/start.js +63 -0
  18. package/dist/cli/commands/start.js.map +1 -0
  19. package/dist/cli/commands/status.d.ts +2 -0
  20. package/dist/cli/commands/status.d.ts.map +1 -0
  21. package/dist/cli/commands/status.js +21 -0
  22. package/dist/cli/commands/status.js.map +1 -0
  23. package/dist/cli/commands/tools.d.ts +8 -0
  24. package/dist/cli/commands/tools.d.ts.map +1 -0
  25. package/dist/cli/commands/tools.js +28 -0
  26. package/dist/cli/commands/tools.js.map +1 -0
  27. package/dist/cli/index.d.ts +1 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/index.js +82 -30
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/ui/banner.d.ts +8 -0
  32. package/dist/cli/ui/banner.d.ts.map +1 -0
  33. package/dist/cli/ui/banner.js +54 -0
  34. package/dist/cli/ui/banner.js.map +1 -0
  35. package/dist/cli/ui/prompts.d.ts +11 -0
  36. package/dist/cli/ui/prompts.d.ts.map +1 -0
  37. package/dist/cli/ui/prompts.js +74 -0
  38. package/dist/cli/ui/prompts.js.map +1 -0
  39. package/dist/cli/ui/table.d.ts +5 -0
  40. package/dist/cli/ui/table.d.ts.map +1 -0
  41. package/dist/cli/ui/table.js +103 -0
  42. package/dist/cli/ui/table.js.map +1 -0
  43. package/dist/config/defaults.d.ts +5 -0
  44. package/dist/config/defaults.d.ts.map +1 -0
  45. package/dist/config/defaults.js +18 -0
  46. package/dist/config/defaults.js.map +1 -0
  47. package/dist/config/loader.d.ts +4 -0
  48. package/dist/config/loader.d.ts.map +1 -0
  49. package/dist/config/loader.js +57 -0
  50. package/dist/config/loader.js.map +1 -0
  51. package/dist/config/schema.d.ts +2 -0
  52. package/dist/config/schema.d.ts.map +1 -0
  53. package/dist/config/schema.js +2 -0
  54. package/dist/config/schema.js.map +1 -0
  55. package/dist/core/discovery.d.ts +17 -0
  56. package/dist/core/discovery.d.ts.map +1 -0
  57. package/dist/core/discovery.js +31 -0
  58. package/dist/core/discovery.js.map +1 -0
  59. package/dist/core/proxy.d.ts +14 -0
  60. package/dist/core/proxy.d.ts.map +1 -0
  61. package/dist/core/proxy.js +36 -0
  62. package/dist/core/proxy.js.map +1 -0
  63. package/dist/core/registry.d.ts +28 -31
  64. package/dist/core/registry.d.ts.map +1 -1
  65. package/dist/core/registry.js +90 -234
  66. package/dist/core/registry.js.map +1 -1
  67. package/dist/core/server-manager.d.ts +18 -0
  68. package/dist/core/server-manager.d.ts.map +1 -0
  69. package/dist/core/server-manager.js +120 -0
  70. package/dist/core/server-manager.js.map +1 -0
  71. package/dist/index.d.ts +11 -12
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +14 -9
  74. package/dist/index.js.map +1 -1
  75. package/dist/server/app.d.ts +8 -0
  76. package/dist/server/app.d.ts.map +1 -0
  77. package/dist/server/app.js +35 -0
  78. package/dist/server/app.js.map +1 -0
  79. package/dist/server/mcp-gateway.d.ts +12 -0
  80. package/dist/server/mcp-gateway.d.ts.map +1 -0
  81. package/dist/server/mcp-gateway.js +91 -0
  82. package/dist/server/mcp-gateway.js.map +1 -0
  83. package/dist/server/routes/health.d.ts +4 -0
  84. package/dist/server/routes/health.d.ts.map +1 -0
  85. package/dist/server/routes/health.js +22 -0
  86. package/dist/server/routes/health.js.map +1 -0
  87. package/dist/server/routes/servers.d.ts +4 -0
  88. package/dist/server/routes/servers.d.ts.map +1 -0
  89. package/dist/server/routes/servers.js +47 -0
  90. package/dist/server/routes/servers.js.map +1 -0
  91. package/dist/server/routes/tools.d.ts +4 -0
  92. package/dist/server/routes/tools.d.ts.map +1 -0
  93. package/dist/server/routes/tools.js +44 -0
  94. package/dist/server/routes/tools.js.map +1 -0
  95. package/dist/storage/database.d.ts +41 -0
  96. package/dist/storage/database.d.ts.map +1 -0
  97. package/dist/storage/database.js +195 -0
  98. package/dist/storage/database.js.map +1 -0
  99. package/dist/storage/repositories/server-repo.d.ts +2 -0
  100. package/dist/storage/repositories/server-repo.d.ts.map +1 -0
  101. package/dist/storage/repositories/server-repo.js +3 -0
  102. package/dist/storage/repositories/server-repo.js.map +1 -0
  103. package/dist/storage/repositories/tool-repo.d.ts +2 -0
  104. package/dist/storage/repositories/tool-repo.d.ts.map +1 -0
  105. package/dist/storage/repositories/tool-repo.js +3 -0
  106. package/dist/storage/repositories/tool-repo.js.map +1 -0
  107. package/dist/types/index.d.ts +384 -591
  108. package/dist/types/index.d.ts.map +1 -1
  109. package/dist/types/index.js +44 -69
  110. package/dist/types/index.js.map +1 -1
  111. package/dist/utils/logger.d.ts +7 -0
  112. package/dist/utils/logger.d.ts.map +1 -0
  113. package/dist/utils/logger.js +23 -0
  114. package/dist/utils/logger.js.map +1 -0
  115. package/package.json +65 -56
  116. package/.env.example +0 -19
  117. package/config/servers.example.yaml +0 -67
  118. package/config/servers.yaml +0 -2
  119. package/dist/cli/discover.d.ts +0 -3
  120. package/dist/cli/discover.d.ts.map +0 -1
  121. package/dist/cli/discover.js +0 -160
  122. package/dist/cli/discover.js.map +0 -1
  123. package/dist/connectors/base.d.ts +0 -49
  124. package/dist/connectors/base.d.ts.map +0 -1
  125. package/dist/connectors/base.js +0 -45
  126. package/dist/connectors/base.js.map +0 -1
  127. package/dist/connectors/custom.d.ts +0 -19
  128. package/dist/connectors/custom.d.ts.map +0 -1
  129. package/dist/connectors/custom.js +0 -129
  130. package/dist/connectors/custom.js.map +0 -1
  131. package/dist/connectors/github.d.ts +0 -18
  132. package/dist/connectors/github.d.ts.map +0 -1
  133. package/dist/connectors/github.js +0 -188
  134. package/dist/connectors/github.js.map +0 -1
  135. package/dist/connectors/google-drive.d.ts +0 -18
  136. package/dist/connectors/google-drive.d.ts.map +0 -1
  137. package/dist/connectors/google-drive.js +0 -209
  138. package/dist/connectors/google-drive.js.map +0 -1
  139. package/dist/connectors/index.d.ts +0 -11
  140. package/dist/connectors/index.d.ts.map +0 -1
  141. package/dist/connectors/index.js +0 -76
  142. package/dist/connectors/index.js.map +0 -1
  143. package/dist/connectors/postgres.d.ts +0 -18
  144. package/dist/connectors/postgres.d.ts.map +0 -1
  145. package/dist/connectors/postgres.js +0 -140
  146. package/dist/connectors/postgres.js.map +0 -1
  147. package/dist/connectors/slack.d.ts +0 -18
  148. package/dist/connectors/slack.d.ts.map +0 -1
  149. package/dist/connectors/slack.js +0 -181
  150. package/dist/connectors/slack.js.map +0 -1
  151. package/dist/core/auth.d.ts +0 -26
  152. package/dist/core/auth.d.ts.map +0 -1
  153. package/dist/core/auth.js +0 -81
  154. package/dist/core/auth.js.map +0 -1
  155. package/dist/core/tokenizer.d.ts +0 -16
  156. package/dist/core/tokenizer.d.ts.map +0 -1
  157. package/dist/core/tokenizer.js +0 -29
  158. package/dist/core/tokenizer.js.map +0 -1
  159. package/dist/governance/audit.d.ts +0 -27
  160. package/dist/governance/audit.d.ts.map +0 -1
  161. package/dist/governance/audit.js +0 -149
  162. package/dist/governance/audit.js.map +0 -1
  163. package/dist/governance/index.d.ts +0 -5
  164. package/dist/governance/index.d.ts.map +0 -1
  165. package/dist/governance/index.js +0 -5
  166. package/dist/governance/index.js.map +0 -1
  167. package/dist/governance/policy.d.ts +0 -20
  168. package/dist/governance/policy.d.ts.map +0 -1
  169. package/dist/governance/policy.js +0 -162
  170. package/dist/governance/policy.js.map +0 -1
  171. package/dist/governance/rate-limiter.d.ts +0 -20
  172. package/dist/governance/rate-limiter.d.ts.map +0 -1
  173. package/dist/governance/rate-limiter.js +0 -73
  174. package/dist/governance/rate-limiter.js.map +0 -1
  175. package/dist/governance/types.d.ts +0 -246
  176. package/dist/governance/types.d.ts.map +0 -1
  177. package/dist/governance/types.js +0 -72
  178. package/dist/governance/types.js.map +0 -1
  179. package/dist/identity/access-control.d.ts +0 -15
  180. package/dist/identity/access-control.d.ts.map +0 -1
  181. package/dist/identity/access-control.js +0 -81
  182. package/dist/identity/access-control.js.map +0 -1
  183. package/dist/identity/index.d.ts +0 -4
  184. package/dist/identity/index.d.ts.map +0 -1
  185. package/dist/identity/index.js +0 -4
  186. package/dist/identity/index.js.map +0 -1
  187. package/dist/identity/manager.d.ts +0 -29
  188. package/dist/identity/manager.d.ts.map +0 -1
  189. package/dist/identity/manager.js +0 -167
  190. package/dist/identity/manager.js.map +0 -1
  191. package/dist/identity/types.d.ts +0 -237
  192. package/dist/identity/types.d.ts.map +0 -1
  193. package/dist/identity/types.js +0 -80
  194. package/dist/identity/types.js.map +0 -1
  195. package/dist/registry/server.d.ts +0 -14
  196. package/dist/registry/server.d.ts.map +0 -1
  197. package/dist/registry/server.js +0 -177
  198. package/dist/registry/server.js.map +0 -1
  199. package/dist/utils/config.d.ts +0 -29
  200. package/dist/utils/config.d.ts.map +0 -1
  201. package/dist/utils/config.js +0 -47
  202. package/dist/utils/config.js.map +0 -1
  203. package/dist/utils/index.d.ts +0 -7
  204. package/dist/utils/index.d.ts.map +0 -1
  205. package/dist/utils/index.js +0 -44
  206. package/dist/utils/index.js.map +0 -1
  207. package/dist/workflow/engine.d.ts +0 -18
  208. package/dist/workflow/engine.d.ts.map +0 -1
  209. package/dist/workflow/engine.js +0 -155
  210. package/dist/workflow/engine.js.map +0 -1
  211. package/dist/workflow/index.d.ts +0 -4
  212. package/dist/workflow/index.d.ts.map +0 -1
  213. package/dist/workflow/index.js +0 -4
  214. package/dist/workflow/index.js.map +0 -1
  215. package/dist/workflow/templates.d.ts +0 -4
  216. package/dist/workflow/templates.d.ts.map +0 -1
  217. package/dist/workflow/templates.js +0 -218
  218. package/dist/workflow/templates.js.map +0 -1
  219. package/dist/workflow/types.d.ts +0 -255
  220. package/dist/workflow/types.d.ts.map +0 -1
  221. package/dist/workflow/types.js +0 -48
  222. package/dist/workflow/types.js.map +0 -1
  223. package/eslint.config.js +0 -25
@@ -1,639 +1,432 @@
1
1
  import { z } from 'zod';
2
- export declare const ToolSchema: z.ZodObject<{
3
- id: z.ZodString;
2
+ export declare const StdioTransportSchema: z.ZodObject<{
3
+ type: z.ZodLiteral<"stdio">;
4
+ command: z.ZodString;
5
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
7
+ cwd: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ type: "stdio";
10
+ command: string;
11
+ args: string[];
12
+ env?: Record<string, string> | undefined;
13
+ cwd?: string | undefined;
14
+ }, {
15
+ type: "stdio";
16
+ command: string;
17
+ args?: string[] | undefined;
18
+ env?: Record<string, string> | undefined;
19
+ cwd?: string | undefined;
20
+ }>;
21
+ export declare const SseTransportSchema: z.ZodObject<{
22
+ type: z.ZodLiteral<"sse">;
23
+ url: z.ZodString;
24
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ type: "sse";
27
+ url: string;
28
+ headers?: Record<string, string> | undefined;
29
+ }, {
30
+ type: "sse";
31
+ url: string;
32
+ headers?: Record<string, string> | undefined;
33
+ }>;
34
+ export declare const StreamableHttpTransportSchema: z.ZodObject<{
35
+ type: z.ZodLiteral<"streamable-http">;
36
+ url: z.ZodString;
37
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ type: "streamable-http";
40
+ url: string;
41
+ headers?: Record<string, string> | undefined;
42
+ }, {
43
+ type: "streamable-http";
44
+ url: string;
45
+ headers?: Record<string, string> | undefined;
46
+ }>;
47
+ export declare const TransportConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
48
+ type: z.ZodLiteral<"stdio">;
49
+ command: z.ZodString;
50
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
51
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
52
+ cwd: z.ZodOptional<z.ZodString>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: "stdio";
55
+ command: string;
56
+ args: string[];
57
+ env?: Record<string, string> | undefined;
58
+ cwd?: string | undefined;
59
+ }, {
60
+ type: "stdio";
61
+ command: string;
62
+ args?: string[] | undefined;
63
+ env?: Record<string, string> | undefined;
64
+ cwd?: string | undefined;
65
+ }>, z.ZodObject<{
66
+ type: z.ZodLiteral<"sse">;
67
+ url: z.ZodString;
68
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ type: "sse";
71
+ url: string;
72
+ headers?: Record<string, string> | undefined;
73
+ }, {
74
+ type: "sse";
75
+ url: string;
76
+ headers?: Record<string, string> | undefined;
77
+ }>, z.ZodObject<{
78
+ type: z.ZodLiteral<"streamable-http">;
79
+ url: z.ZodString;
80
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ type: "streamable-http";
83
+ url: string;
84
+ headers?: Record<string, string> | undefined;
85
+ }, {
86
+ type: "streamable-http";
87
+ url: string;
88
+ headers?: Record<string, string> | undefined;
89
+ }>]>;
90
+ export declare const McpServerConfigSchema: z.ZodObject<{
4
91
  name: z.ZodString;
5
- description: z.ZodString;
6
- serverId: z.ZodString;
7
- serverName: z.ZodString;
8
- inputSchema: z.ZodRecord<z.ZodString, z.ZodAny>;
9
- outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
10
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
11
- capabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
12
- authRequirements: z.ZodDefault<z.ZodObject<{
13
- required: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
14
- optional: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
92
+ transport: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
93
+ type: z.ZodLiteral<"stdio">;
94
+ command: z.ZodString;
95
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
96
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
97
+ cwd: z.ZodOptional<z.ZodString>;
15
98
  }, "strip", z.ZodTypeAny, {
16
- required: string[];
17
- optional: string[];
99
+ type: "stdio";
100
+ command: string;
101
+ args: string[];
102
+ env?: Record<string, string> | undefined;
103
+ cwd?: string | undefined;
18
104
  }, {
19
- required?: string[] | undefined;
20
- optional?: string[] | undefined;
21
- }>>;
22
- rateLimits: z.ZodOptional<z.ZodObject<{
23
- requestsPerMinute: z.ZodOptional<z.ZodNumber>;
24
- requestsPerHour: z.ZodOptional<z.ZodNumber>;
105
+ type: "stdio";
106
+ command: string;
107
+ args?: string[] | undefined;
108
+ env?: Record<string, string> | undefined;
109
+ cwd?: string | undefined;
110
+ }>, z.ZodObject<{
111
+ type: z.ZodLiteral<"sse">;
112
+ url: z.ZodString;
113
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
25
114
  }, "strip", z.ZodTypeAny, {
26
- requestsPerMinute?: number | undefined;
27
- requestsPerHour?: number | undefined;
115
+ type: "sse";
116
+ url: string;
117
+ headers?: Record<string, string> | undefined;
28
118
  }, {
29
- requestsPerMinute?: number | undefined;
30
- requestsPerHour?: number | undefined;
31
- }>>;
32
- contextRequirements: z.ZodDefault<z.ZodObject<{
33
- minTokens: z.ZodDefault<z.ZodNumber>;
34
- maxTokens: z.ZodDefault<z.ZodNumber>;
119
+ type: "sse";
120
+ url: string;
121
+ headers?: Record<string, string> | undefined;
122
+ }>, z.ZodObject<{
123
+ type: z.ZodLiteral<"streamable-http">;
124
+ url: z.ZodString;
125
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
35
126
  }, "strip", z.ZodTypeAny, {
36
- minTokens: number;
37
- maxTokens: number;
127
+ type: "streamable-http";
128
+ url: string;
129
+ headers?: Record<string, string> | undefined;
38
130
  }, {
39
- minTokens?: number | undefined;
40
- maxTokens?: number | undefined;
41
- }>>;
42
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
43
- createdAt: z.ZodString;
44
- updatedAt: z.ZodString;
131
+ type: "streamable-http";
132
+ url: string;
133
+ headers?: Record<string, string> | undefined;
134
+ }>]>;
135
+ enabled: z.ZodDefault<z.ZodBoolean>;
136
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
137
+ autoConnect: z.ZodDefault<z.ZodBoolean>;
45
138
  }, "strip", z.ZodTypeAny, {
46
- id: string;
47
139
  name: string;
48
- description: string;
49
- serverId: string;
50
- serverName: string;
51
- inputSchema: Record<string, any>;
52
- tags: string[];
53
- capabilities: string[];
54
- authRequirements: {
55
- required: string[];
56
- optional: string[];
57
- };
58
- contextRequirements: {
59
- minTokens: number;
60
- maxTokens: number;
140
+ transport: {
141
+ type: "stdio";
142
+ command: string;
143
+ args: string[];
144
+ env?: Record<string, string> | undefined;
145
+ cwd?: string | undefined;
146
+ } | {
147
+ type: "sse";
148
+ url: string;
149
+ headers?: Record<string, string> | undefined;
150
+ } | {
151
+ type: "streamable-http";
152
+ url: string;
153
+ headers?: Record<string, string> | undefined;
61
154
  };
62
- metadata: Record<string, any>;
63
- createdAt: string;
64
- updatedAt: string;
65
- outputSchema?: Record<string, any> | undefined;
66
- rateLimits?: {
67
- requestsPerMinute?: number | undefined;
68
- requestsPerHour?: number | undefined;
69
- } | undefined;
155
+ enabled: boolean;
156
+ tags: string[];
157
+ autoConnect: boolean;
70
158
  }, {
71
- id: string;
72
159
  name: string;
73
- description: string;
74
- serverId: string;
75
- serverName: string;
76
- inputSchema: Record<string, any>;
77
- createdAt: string;
78
- updatedAt: string;
79
- outputSchema?: Record<string, any> | undefined;
160
+ transport: {
161
+ type: "stdio";
162
+ command: string;
163
+ args?: string[] | undefined;
164
+ env?: Record<string, string> | undefined;
165
+ cwd?: string | undefined;
166
+ } | {
167
+ type: "sse";
168
+ url: string;
169
+ headers?: Record<string, string> | undefined;
170
+ } | {
171
+ type: "streamable-http";
172
+ url: string;
173
+ headers?: Record<string, string> | undefined;
174
+ };
175
+ enabled?: boolean | undefined;
80
176
  tags?: string[] | undefined;
81
- capabilities?: string[] | undefined;
82
- authRequirements?: {
83
- required?: string[] | undefined;
84
- optional?: string[] | undefined;
85
- } | undefined;
86
- rateLimits?: {
87
- requestsPerMinute?: number | undefined;
88
- requestsPerHour?: number | undefined;
89
- } | undefined;
90
- contextRequirements?: {
91
- minTokens?: number | undefined;
92
- maxTokens?: number | undefined;
93
- } | undefined;
94
- metadata?: Record<string, any> | undefined;
177
+ autoConnect?: boolean | undefined;
95
178
  }>;
96
- export type Tool = z.infer<typeof ToolSchema>;
97
- export declare const ServerSchema: z.ZodObject<{
98
- id: z.ZodString;
99
- name: z.ZodString;
100
- type: z.ZodEnum<["github", "slack", "postgres", "google-drive", "custom", "http"]>;
101
- status: z.ZodEnum<["active", "inactive", "error", "connecting"]>;
102
- endpoint: z.ZodOptional<z.ZodString>;
103
- localCommand: z.ZodOptional<z.ZodString>;
104
- description: z.ZodString;
105
- version: z.ZodDefault<z.ZodString>;
106
- capabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
107
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
108
- health: z.ZodDefault<z.ZodObject<{
109
- status: z.ZodEnum<["healthy", "degraded", "unhealthy"]>;
110
- lastChecked: z.ZodString;
111
- responseTimeMs: z.ZodOptional<z.ZodNumber>;
112
- errorCount: z.ZodDefault<z.ZodNumber>;
113
- }, "strip", z.ZodTypeAny, {
114
- status: "healthy" | "degraded" | "unhealthy";
115
- lastChecked: string;
116
- errorCount: number;
117
- responseTimeMs?: number | undefined;
118
- }, {
119
- status: "healthy" | "degraded" | "unhealthy";
120
- lastChecked: string;
121
- responseTimeMs?: number | undefined;
122
- errorCount?: number | undefined;
123
- }>>;
124
- auth: z.ZodDefault<z.ZodObject<{
125
- type: z.ZodEnum<["none", "api-key", "oauth", "jwt", "basic"]>;
126
- configured: z.ZodDefault<z.ZodBoolean>;
127
- }, "strip", z.ZodTypeAny, {
128
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
129
- configured: boolean;
130
- }, {
131
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
132
- configured?: boolean | undefined;
133
- }>>;
134
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
135
- registeredAt: z.ZodString;
136
- lastSeen: z.ZodString;
137
- }, "strip", z.ZodTypeAny, {
138
- id: string;
179
+ export type McpServerConfig = z.infer<typeof McpServerConfigSchema>;
180
+ export type TransportConfig = z.infer<typeof TransportConfigSchema>;
181
+ export declare const ServerStatusSchema: z.ZodEnum<["connecting", "connected", "disconnected", "error"]>;
182
+ export type ServerStatus = z.infer<typeof ServerStatusSchema>;
183
+ export interface ConnectedServer {
139
184
  name: string;
140
- description: string;
141
- status: "active" | "inactive" | "error" | "connecting";
142
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
143
- tags: string[];
144
- capabilities: string[];
145
- metadata: Record<string, any>;
146
- version: string;
147
- health: {
148
- status: "healthy" | "degraded" | "unhealthy";
149
- lastChecked: string;
150
- errorCount: number;
151
- responseTimeMs?: number | undefined;
152
- };
153
- auth: {
154
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
155
- configured: boolean;
156
- };
157
- registeredAt: string;
185
+ status: ServerStatus;
186
+ transport: 'stdio' | 'sse' | 'streamable-http';
187
+ toolCount: number;
158
188
  lastSeen: string;
159
- endpoint?: string | undefined;
160
- localCommand?: string | undefined;
161
- }, {
189
+ error: string | null;
190
+ serverInfo: {
191
+ name: string;
192
+ version: string;
193
+ } | null;
194
+ }
195
+ export interface ToolAnnotations {
196
+ title?: string;
197
+ readOnlyHint?: boolean;
198
+ destructiveHint?: boolean;
199
+ idempotentHint?: boolean;
200
+ openWorldHint?: boolean;
201
+ }
202
+ export interface IndexedTool {
162
203
  id: string;
204
+ serverName: string;
163
205
  name: string;
164
206
  description: string;
165
- status: "active" | "inactive" | "error" | "connecting";
166
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
167
- registeredAt: string;
168
- lastSeen: string;
169
- tags?: string[] | undefined;
170
- capabilities?: string[] | undefined;
171
- metadata?: Record<string, any> | undefined;
172
- endpoint?: string | undefined;
173
- localCommand?: string | undefined;
174
- version?: string | undefined;
175
- health?: {
176
- status: "healthy" | "degraded" | "unhealthy";
177
- lastChecked: string;
178
- responseTimeMs?: number | undefined;
179
- errorCount?: number | undefined;
180
- } | undefined;
181
- auth?: {
182
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
183
- configured?: boolean | undefined;
184
- } | undefined;
207
+ inputSchema: unknown;
208
+ annotations?: ToolAnnotations;
209
+ discoveredAt: string;
210
+ lastVerified: string;
211
+ }
212
+ export interface SearchResult {
213
+ tool: IndexedTool;
214
+ score: number;
215
+ }
216
+ export declare const GatewayConfigSchema: z.ZodObject<{
217
+ port: z.ZodDefault<z.ZodNumber>;
218
+ host: z.ZodDefault<z.ZodString>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ port: number;
221
+ host: string;
222
+ }, {
223
+ port?: number | undefined;
224
+ host?: string | undefined;
185
225
  }>;
186
- export type Server = z.infer<typeof ServerSchema>;
187
- export declare const DiscoveryQuerySchema: z.ZodObject<{
188
- query: z.ZodOptional<z.ZodString>;
189
- capabilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
190
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
191
- limit: z.ZodDefault<z.ZodNumber>;
192
- offset: z.ZodDefault<z.ZodNumber>;
193
- contextBudget: z.ZodDefault<z.ZodNumber>;
194
- includeServers: z.ZodDefault<z.ZodBoolean>;
226
+ export declare const StorageConfigSchema: z.ZodObject<{
227
+ path: z.ZodDefault<z.ZodString>;
195
228
  }, "strip", z.ZodTypeAny, {
196
- limit: number;
197
- offset: number;
198
- contextBudget: number;
199
- includeServers: boolean;
200
- tags?: string[] | undefined;
201
- capabilities?: string[] | undefined;
202
- query?: string | undefined;
229
+ path: string;
203
230
  }, {
204
- tags?: string[] | undefined;
205
- capabilities?: string[] | undefined;
206
- query?: string | undefined;
207
- limit?: number | undefined;
208
- offset?: number | undefined;
209
- contextBudget?: number | undefined;
210
- includeServers?: boolean | undefined;
231
+ path?: string | undefined;
211
232
  }>;
212
- export type DiscoveryQuery = z.infer<typeof DiscoveryQuerySchema>;
213
- export declare const DiscoveryResultSchema: z.ZodObject<{
214
- tools: z.ZodArray<z.ZodObject<{
215
- tool: z.ZodObject<{
216
- id: z.ZodString;
217
- name: z.ZodString;
218
- description: z.ZodString;
219
- serverId: z.ZodString;
220
- serverName: z.ZodString;
221
- inputSchema: z.ZodRecord<z.ZodString, z.ZodAny>;
222
- outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
223
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
224
- capabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
225
- authRequirements: z.ZodDefault<z.ZodObject<{
226
- required: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
227
- optional: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
228
- }, "strip", z.ZodTypeAny, {
229
- required: string[];
230
- optional: string[];
231
- }, {
232
- required?: string[] | undefined;
233
- optional?: string[] | undefined;
234
- }>>;
235
- rateLimits: z.ZodOptional<z.ZodObject<{
236
- requestsPerMinute: z.ZodOptional<z.ZodNumber>;
237
- requestsPerHour: z.ZodOptional<z.ZodNumber>;
238
- }, "strip", z.ZodTypeAny, {
239
- requestsPerMinute?: number | undefined;
240
- requestsPerHour?: number | undefined;
241
- }, {
242
- requestsPerMinute?: number | undefined;
243
- requestsPerHour?: number | undefined;
244
- }>>;
245
- contextRequirements: z.ZodDefault<z.ZodObject<{
246
- minTokens: z.ZodDefault<z.ZodNumber>;
247
- maxTokens: z.ZodDefault<z.ZodNumber>;
248
- }, "strip", z.ZodTypeAny, {
249
- minTokens: number;
250
- maxTokens: number;
251
- }, {
252
- minTokens?: number | undefined;
253
- maxTokens?: number | undefined;
254
- }>>;
255
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
256
- createdAt: z.ZodString;
257
- updatedAt: z.ZodString;
233
+ export declare const LoggingConfigSchema: z.ZodObject<{
234
+ level: z.ZodDefault<z.ZodEnum<["silent", "error", "warn", "info", "debug", "trace"]>>;
235
+ }, "strip", z.ZodTypeAny, {
236
+ level: "error" | "silent" | "warn" | "info" | "debug" | "trace";
237
+ }, {
238
+ level?: "error" | "silent" | "warn" | "info" | "debug" | "trace" | undefined;
239
+ }>;
240
+ export declare const OpalServeConfigSchema: z.ZodObject<{
241
+ servers: z.ZodDefault<z.ZodArray<z.ZodObject<{
242
+ name: z.ZodString;
243
+ transport: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
244
+ type: z.ZodLiteral<"stdio">;
245
+ command: z.ZodString;
246
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
247
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
248
+ cwd: z.ZodOptional<z.ZodString>;
258
249
  }, "strip", z.ZodTypeAny, {
259
- id: string;
260
- name: string;
261
- description: string;
262
- serverId: string;
263
- serverName: string;
264
- inputSchema: Record<string, any>;
265
- tags: string[];
266
- capabilities: string[];
267
- authRequirements: {
268
- required: string[];
269
- optional: string[];
270
- };
271
- contextRequirements: {
272
- minTokens: number;
273
- maxTokens: number;
274
- };
275
- metadata: Record<string, any>;
276
- createdAt: string;
277
- updatedAt: string;
278
- outputSchema?: Record<string, any> | undefined;
279
- rateLimits?: {
280
- requestsPerMinute?: number | undefined;
281
- requestsPerHour?: number | undefined;
282
- } | undefined;
250
+ type: "stdio";
251
+ command: string;
252
+ args: string[];
253
+ env?: Record<string, string> | undefined;
254
+ cwd?: string | undefined;
283
255
  }, {
284
- id: string;
285
- name: string;
286
- description: string;
287
- serverId: string;
288
- serverName: string;
289
- inputSchema: Record<string, any>;
290
- createdAt: string;
291
- updatedAt: string;
292
- outputSchema?: Record<string, any> | undefined;
293
- tags?: string[] | undefined;
294
- capabilities?: string[] | undefined;
295
- authRequirements?: {
296
- required?: string[] | undefined;
297
- optional?: string[] | undefined;
298
- } | undefined;
299
- rateLimits?: {
300
- requestsPerMinute?: number | undefined;
301
- requestsPerHour?: number | undefined;
302
- } | undefined;
303
- contextRequirements?: {
304
- minTokens?: number | undefined;
305
- maxTokens?: number | undefined;
306
- } | undefined;
307
- metadata?: Record<string, any> | undefined;
308
- }>;
309
- relevanceScore: z.ZodNumber;
310
- matchReasons: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
311
- tokenEstimate: z.ZodNumber;
312
- }, "strip", z.ZodTypeAny, {
313
- tool: {
314
- id: string;
315
- name: string;
316
- description: string;
317
- serverId: string;
318
- serverName: string;
319
- inputSchema: Record<string, any>;
320
- tags: string[];
321
- capabilities: string[];
322
- authRequirements: {
323
- required: string[];
324
- optional: string[];
325
- };
326
- contextRequirements: {
327
- minTokens: number;
328
- maxTokens: number;
329
- };
330
- metadata: Record<string, any>;
331
- createdAt: string;
332
- updatedAt: string;
333
- outputSchema?: Record<string, any> | undefined;
334
- rateLimits?: {
335
- requestsPerMinute?: number | undefined;
336
- requestsPerHour?: number | undefined;
337
- } | undefined;
338
- };
339
- relevanceScore: number;
340
- matchReasons: string[];
341
- tokenEstimate: number;
342
- }, {
343
- tool: {
344
- id: string;
345
- name: string;
346
- description: string;
347
- serverId: string;
348
- serverName: string;
349
- inputSchema: Record<string, any>;
350
- createdAt: string;
351
- updatedAt: string;
352
- outputSchema?: Record<string, any> | undefined;
353
- tags?: string[] | undefined;
354
- capabilities?: string[] | undefined;
355
- authRequirements?: {
356
- required?: string[] | undefined;
357
- optional?: string[] | undefined;
358
- } | undefined;
359
- rateLimits?: {
360
- requestsPerMinute?: number | undefined;
361
- requestsPerHour?: number | undefined;
362
- } | undefined;
363
- contextRequirements?: {
364
- minTokens?: number | undefined;
365
- maxTokens?: number | undefined;
366
- } | undefined;
367
- metadata?: Record<string, any> | undefined;
368
- };
369
- relevanceScore: number;
370
- tokenEstimate: number;
371
- matchReasons?: string[] | undefined;
372
- }>, "many">;
373
- servers: z.ZodArray<z.ZodObject<{
374
- id: z.ZodString;
375
- name: z.ZodString;
376
- type: z.ZodEnum<["github", "slack", "postgres", "google-drive", "custom", "http"]>;
377
- status: z.ZodEnum<["active", "inactive", "error", "connecting"]>;
378
- endpoint: z.ZodOptional<z.ZodString>;
379
- localCommand: z.ZodOptional<z.ZodString>;
380
- description: z.ZodString;
381
- version: z.ZodDefault<z.ZodString>;
382
- capabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
383
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
384
- health: z.ZodDefault<z.ZodObject<{
385
- status: z.ZodEnum<["healthy", "degraded", "unhealthy"]>;
386
- lastChecked: z.ZodString;
387
- responseTimeMs: z.ZodOptional<z.ZodNumber>;
388
- errorCount: z.ZodDefault<z.ZodNumber>;
256
+ type: "stdio";
257
+ command: string;
258
+ args?: string[] | undefined;
259
+ env?: Record<string, string> | undefined;
260
+ cwd?: string | undefined;
261
+ }>, z.ZodObject<{
262
+ type: z.ZodLiteral<"sse">;
263
+ url: z.ZodString;
264
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
389
265
  }, "strip", z.ZodTypeAny, {
390
- status: "healthy" | "degraded" | "unhealthy";
391
- lastChecked: string;
392
- errorCount: number;
393
- responseTimeMs?: number | undefined;
266
+ type: "sse";
267
+ url: string;
268
+ headers?: Record<string, string> | undefined;
394
269
  }, {
395
- status: "healthy" | "degraded" | "unhealthy";
396
- lastChecked: string;
397
- responseTimeMs?: number | undefined;
398
- errorCount?: number | undefined;
399
- }>>;
400
- auth: z.ZodDefault<z.ZodObject<{
401
- type: z.ZodEnum<["none", "api-key", "oauth", "jwt", "basic"]>;
402
- configured: z.ZodDefault<z.ZodBoolean>;
270
+ type: "sse";
271
+ url: string;
272
+ headers?: Record<string, string> | undefined;
273
+ }>, z.ZodObject<{
274
+ type: z.ZodLiteral<"streamable-http">;
275
+ url: z.ZodString;
276
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
403
277
  }, "strip", z.ZodTypeAny, {
404
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
405
- configured: boolean;
278
+ type: "streamable-http";
279
+ url: string;
280
+ headers?: Record<string, string> | undefined;
406
281
  }, {
407
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
408
- configured?: boolean | undefined;
409
- }>>;
410
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
411
- registeredAt: z.ZodString;
412
- lastSeen: z.ZodString;
282
+ type: "streamable-http";
283
+ url: string;
284
+ headers?: Record<string, string> | undefined;
285
+ }>]>;
286
+ enabled: z.ZodDefault<z.ZodBoolean>;
287
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
288
+ autoConnect: z.ZodDefault<z.ZodBoolean>;
413
289
  }, "strip", z.ZodTypeAny, {
414
- id: string;
415
290
  name: string;
416
- description: string;
417
- status: "active" | "inactive" | "error" | "connecting";
418
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
419
- tags: string[];
420
- capabilities: string[];
421
- metadata: Record<string, any>;
422
- version: string;
423
- health: {
424
- status: "healthy" | "degraded" | "unhealthy";
425
- lastChecked: string;
426
- errorCount: number;
427
- responseTimeMs?: number | undefined;
291
+ transport: {
292
+ type: "stdio";
293
+ command: string;
294
+ args: string[];
295
+ env?: Record<string, string> | undefined;
296
+ cwd?: string | undefined;
297
+ } | {
298
+ type: "sse";
299
+ url: string;
300
+ headers?: Record<string, string> | undefined;
301
+ } | {
302
+ type: "streamable-http";
303
+ url: string;
304
+ headers?: Record<string, string> | undefined;
428
305
  };
429
- auth: {
430
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
431
- configured: boolean;
432
- };
433
- registeredAt: string;
434
- lastSeen: string;
435
- endpoint?: string | undefined;
436
- localCommand?: string | undefined;
306
+ enabled: boolean;
307
+ tags: string[];
308
+ autoConnect: boolean;
437
309
  }, {
438
- id: string;
439
310
  name: string;
440
- description: string;
441
- status: "active" | "inactive" | "error" | "connecting";
442
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
443
- registeredAt: string;
444
- lastSeen: string;
311
+ transport: {
312
+ type: "stdio";
313
+ command: string;
314
+ args?: string[] | undefined;
315
+ env?: Record<string, string> | undefined;
316
+ cwd?: string | undefined;
317
+ } | {
318
+ type: "sse";
319
+ url: string;
320
+ headers?: Record<string, string> | undefined;
321
+ } | {
322
+ type: "streamable-http";
323
+ url: string;
324
+ headers?: Record<string, string> | undefined;
325
+ };
326
+ enabled?: boolean | undefined;
445
327
  tags?: string[] | undefined;
446
- capabilities?: string[] | undefined;
447
- metadata?: Record<string, any> | undefined;
448
- endpoint?: string | undefined;
449
- localCommand?: string | undefined;
450
- version?: string | undefined;
451
- health?: {
452
- status: "healthy" | "degraded" | "unhealthy";
453
- lastChecked: string;
454
- responseTimeMs?: number | undefined;
455
- errorCount?: number | undefined;
456
- } | undefined;
457
- auth?: {
458
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
459
- configured?: boolean | undefined;
460
- } | undefined;
461
- }>, "many">;
462
- totalMatches: z.ZodNumber;
463
- contextUsed: z.ZodNumber;
464
- contextBudget: z.ZodNumber;
465
- suggestions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
466
- queryInterpretation: z.ZodString;
328
+ autoConnect?: boolean | undefined;
329
+ }>, "many">>;
330
+ gateway: z.ZodDefault<z.ZodObject<{
331
+ port: z.ZodDefault<z.ZodNumber>;
332
+ host: z.ZodDefault<z.ZodString>;
333
+ }, "strip", z.ZodTypeAny, {
334
+ port: number;
335
+ host: string;
336
+ }, {
337
+ port?: number | undefined;
338
+ host?: string | undefined;
339
+ }>>;
340
+ storage: z.ZodDefault<z.ZodObject<{
341
+ path: z.ZodDefault<z.ZodString>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ path: string;
344
+ }, {
345
+ path?: string | undefined;
346
+ }>>;
347
+ logging: z.ZodDefault<z.ZodObject<{
348
+ level: z.ZodDefault<z.ZodEnum<["silent", "error", "warn", "info", "debug", "trace"]>>;
349
+ }, "strip", z.ZodTypeAny, {
350
+ level: "error" | "silent" | "warn" | "info" | "debug" | "trace";
351
+ }, {
352
+ level?: "error" | "silent" | "warn" | "info" | "debug" | "trace" | undefined;
353
+ }>>;
467
354
  }, "strip", z.ZodTypeAny, {
468
- contextBudget: number;
469
- tools: {
470
- tool: {
471
- id: string;
472
- name: string;
473
- description: string;
474
- serverId: string;
475
- serverName: string;
476
- inputSchema: Record<string, any>;
477
- tags: string[];
478
- capabilities: string[];
479
- authRequirements: {
480
- required: string[];
481
- optional: string[];
482
- };
483
- contextRequirements: {
484
- minTokens: number;
485
- maxTokens: number;
486
- };
487
- metadata: Record<string, any>;
488
- createdAt: string;
489
- updatedAt: string;
490
- outputSchema?: Record<string, any> | undefined;
491
- rateLimits?: {
492
- requestsPerMinute?: number | undefined;
493
- requestsPerHour?: number | undefined;
494
- } | undefined;
495
- };
496
- relevanceScore: number;
497
- matchReasons: string[];
498
- tokenEstimate: number;
499
- }[];
500
355
  servers: {
501
- id: string;
502
356
  name: string;
503
- description: string;
504
- status: "active" | "inactive" | "error" | "connecting";
505
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
506
- tags: string[];
507
- capabilities: string[];
508
- metadata: Record<string, any>;
509
- version: string;
510
- health: {
511
- status: "healthy" | "degraded" | "unhealthy";
512
- lastChecked: string;
513
- errorCount: number;
514
- responseTimeMs?: number | undefined;
515
- };
516
- auth: {
517
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
518
- configured: boolean;
357
+ transport: {
358
+ type: "stdio";
359
+ command: string;
360
+ args: string[];
361
+ env?: Record<string, string> | undefined;
362
+ cwd?: string | undefined;
363
+ } | {
364
+ type: "sse";
365
+ url: string;
366
+ headers?: Record<string, string> | undefined;
367
+ } | {
368
+ type: "streamable-http";
369
+ url: string;
370
+ headers?: Record<string, string> | undefined;
519
371
  };
520
- registeredAt: string;
521
- lastSeen: string;
522
- endpoint?: string | undefined;
523
- localCommand?: string | undefined;
372
+ enabled: boolean;
373
+ tags: string[];
374
+ autoConnect: boolean;
524
375
  }[];
525
- totalMatches: number;
526
- contextUsed: number;
527
- suggestions: string[];
528
- queryInterpretation: string;
376
+ gateway: {
377
+ port: number;
378
+ host: string;
379
+ };
380
+ storage: {
381
+ path: string;
382
+ };
383
+ logging: {
384
+ level: "error" | "silent" | "warn" | "info" | "debug" | "trace";
385
+ };
529
386
  }, {
530
- contextBudget: number;
531
- tools: {
532
- tool: {
533
- id: string;
534
- name: string;
535
- description: string;
536
- serverId: string;
537
- serverName: string;
538
- inputSchema: Record<string, any>;
539
- createdAt: string;
540
- updatedAt: string;
541
- outputSchema?: Record<string, any> | undefined;
542
- tags?: string[] | undefined;
543
- capabilities?: string[] | undefined;
544
- authRequirements?: {
545
- required?: string[] | undefined;
546
- optional?: string[] | undefined;
547
- } | undefined;
548
- rateLimits?: {
549
- requestsPerMinute?: number | undefined;
550
- requestsPerHour?: number | undefined;
551
- } | undefined;
552
- contextRequirements?: {
553
- minTokens?: number | undefined;
554
- maxTokens?: number | undefined;
555
- } | undefined;
556
- metadata?: Record<string, any> | undefined;
557
- };
558
- relevanceScore: number;
559
- tokenEstimate: number;
560
- matchReasons?: string[] | undefined;
561
- }[];
562
- servers: {
563
- id: string;
387
+ servers?: {
564
388
  name: string;
565
- description: string;
566
- status: "active" | "inactive" | "error" | "connecting";
567
- type: "custom" | "github" | "slack" | "postgres" | "google-drive" | "http";
568
- registeredAt: string;
569
- lastSeen: string;
389
+ transport: {
390
+ type: "stdio";
391
+ command: string;
392
+ args?: string[] | undefined;
393
+ env?: Record<string, string> | undefined;
394
+ cwd?: string | undefined;
395
+ } | {
396
+ type: "sse";
397
+ url: string;
398
+ headers?: Record<string, string> | undefined;
399
+ } | {
400
+ type: "streamable-http";
401
+ url: string;
402
+ headers?: Record<string, string> | undefined;
403
+ };
404
+ enabled?: boolean | undefined;
570
405
  tags?: string[] | undefined;
571
- capabilities?: string[] | undefined;
572
- metadata?: Record<string, any> | undefined;
573
- endpoint?: string | undefined;
574
- localCommand?: string | undefined;
575
- version?: string | undefined;
576
- health?: {
577
- status: "healthy" | "degraded" | "unhealthy";
578
- lastChecked: string;
579
- responseTimeMs?: number | undefined;
580
- errorCount?: number | undefined;
581
- } | undefined;
582
- auth?: {
583
- type: "none" | "api-key" | "oauth" | "jwt" | "basic";
584
- configured?: boolean | undefined;
585
- } | undefined;
586
- }[];
587
- totalMatches: number;
588
- contextUsed: number;
589
- queryInterpretation: string;
590
- suggestions?: string[] | undefined;
406
+ autoConnect?: boolean | undefined;
407
+ }[] | undefined;
408
+ gateway?: {
409
+ port?: number | undefined;
410
+ host?: string | undefined;
411
+ } | undefined;
412
+ storage?: {
413
+ path?: string | undefined;
414
+ } | undefined;
415
+ logging?: {
416
+ level?: "error" | "silent" | "warn" | "info" | "debug" | "trace" | undefined;
417
+ } | undefined;
591
418
  }>;
592
- export type DiscoveryResult = z.infer<typeof DiscoveryResultSchema>;
593
- export interface MCPServer {
594
- id: string;
595
- name: string;
596
- type: string;
597
- getTools(): Tool[];
598
- connect(): Promise<void>;
599
- disconnect(): Promise<void>;
600
- healthCheck(): Promise<{
601
- healthy: boolean;
602
- latencyMs?: number;
603
- }>;
604
- }
605
- export interface ConnectorConfig {
606
- serverId: string;
607
- endpoint?: string;
608
- auth?: {
609
- type: 'none' | 'api-key' | 'oauth' | 'jwt' | 'basic';
610
- credentials?: Record<string, string>;
611
- };
612
- options?: Record<string, unknown>;
613
- }
614
- export interface RegistryConfig {
615
- port: number;
616
- host: string;
617
- jwtSecret: string;
618
- apiKey?: string;
619
- maxToolsPerResponse: number;
620
- contextTokenBudget: number;
621
- enableAuth: boolean;
419
+ export type OpalServeConfig = z.infer<typeof OpalServeConfigSchema>;
420
+ export interface HealthResult {
421
+ serverName: string;
422
+ healthy: boolean;
423
+ toolCount: number;
424
+ latencyMs?: number;
425
+ error?: string;
622
426
  }
623
- export interface ToolDefinition {
624
- name: string;
625
- description: string;
626
- inputSchema: Record<string, unknown>;
627
- tags?: string[];
628
- capabilities?: string[];
629
- authRequirements?: {
630
- required?: string[];
631
- optional?: string[];
632
- };
633
- contextRequirements?: {
634
- minTokens?: number;
635
- maxTokens?: number;
636
- };
637
- metadata?: Record<string, unknown>;
427
+ export interface ApiResponse<T> {
428
+ ok: boolean;
429
+ data?: T;
430
+ error?: string;
638
431
  }
639
432
  //# sourceMappingURL=index.d.ts.map