codex-grok-mcp 0.2.0-beta.1

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 (56) hide show
  1. package/CONTRIBUTING.md +67 -0
  2. package/LICENSE +21 -0
  3. package/README.md +255 -0
  4. package/SECURITY.md +109 -0
  5. package/dist/bridge-companion.d.ts +61 -0
  6. package/dist/bridge-companion.js +436 -0
  7. package/dist/bridge-companion.js.map +1 -0
  8. package/dist/bridge-pairing.d.ts +30 -0
  9. package/dist/bridge-pairing.js +364 -0
  10. package/dist/bridge-pairing.js.map +1 -0
  11. package/dist/bridge-protocol.d.ts +187 -0
  12. package/dist/bridge-protocol.js +360 -0
  13. package/dist/bridge-protocol.js.map +1 -0
  14. package/dist/bridge-replay.d.ts +10 -0
  15. package/dist/bridge-replay.js +107 -0
  16. package/dist/bridge-replay.js.map +1 -0
  17. package/dist/bridge-runtime.d.ts +11 -0
  18. package/dist/bridge-runtime.js +259 -0
  19. package/dist/bridge-runtime.js.map +1 -0
  20. package/dist/direct-gateway-transport.d.ts +7 -0
  21. package/dist/direct-gateway-transport.js +241 -0
  22. package/dist/direct-gateway-transport.js.map +1 -0
  23. package/dist/grok-bot-client.d.ts +93 -0
  24. package/dist/grok-bot-client.js +475 -0
  25. package/dist/grok-bot-client.js.map +1 -0
  26. package/dist/grok-bot-gateway.d.ts +204 -0
  27. package/dist/grok-bot-gateway.js +741 -0
  28. package/dist/grok-bot-gateway.js.map +1 -0
  29. package/dist/grok-cli.d.ts +31 -0
  30. package/dist/grok-cli.js +338 -0
  31. package/dist/grok-cli.js.map +1 -0
  32. package/dist/index.d.ts +8 -0
  33. package/dist/index.js +228 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/relay-transport.d.ts +9 -0
  36. package/dist/relay-transport.js +278 -0
  37. package/dist/relay-transport.js.map +1 -0
  38. package/dist/schema.d.ts +16 -0
  39. package/dist/schema.js +22 -0
  40. package/dist/schema.js.map +1 -0
  41. package/dist/version.d.ts +4 -0
  42. package/dist/version.js +10 -0
  43. package/dist/version.js.map +1 -0
  44. package/package.json +71 -0
  45. package/plugins/codex-grok-mcp/assets/icon.png +0 -0
  46. package/relay/.dev.vars.example +2 -0
  47. package/relay/README.md +26 -0
  48. package/relay/package-lock.json +3291 -0
  49. package/relay/package.json +17 -0
  50. package/relay/src/index.ts +182 -0
  51. package/relay/test/relay.test.ts +127 -0
  52. package/relay/test/tsconfig.json +13 -0
  53. package/relay/tsconfig.json +15 -0
  54. package/relay/vitest.config.ts +15 -0
  55. package/relay/worker-configuration.d.ts +15362 -0
  56. package/relay/wrangler.jsonc +33 -0
@@ -0,0 +1,204 @@
1
+ import { McpServer } from "@modelcontextprotocol/server";
2
+ import { z } from "zod";
3
+ export declare const MAX_PING_BOTS = 50;
4
+ export type GrokBotGatewayErrorCode = "AUTH_FAILED" | "BOT_NOT_FOUND" | "CANCELLED" | "CONFIG_INVALID" | "GATEWAY_REJECTED" | "INVALID_RESPONSE" | "OUTPUT_LIMIT" | "RATE_LIMITED" | "ROSTER_CHANGED" | "TIMEOUT" | "UPGRADE_REQUIRED" | "UNAVAILABLE";
5
+ export declare class GrokBotGatewayError extends Error {
6
+ readonly code: GrokBotGatewayErrorCode;
7
+ readonly deliveryMayHaveOccurred: boolean;
8
+ readonly requestId: string | undefined;
9
+ constructor(code: GrokBotGatewayErrorCode, message: string, options?: {
10
+ deliveryMayHaveOccurred?: boolean;
11
+ requestId?: string;
12
+ });
13
+ }
14
+ export type GrokBotSummary = {
15
+ id: string;
16
+ name: string;
17
+ is_running: boolean | null;
18
+ };
19
+ export type GrokBotRoster = {
20
+ bot_count: number;
21
+ bots: GrokBotSummary[];
22
+ roster_fingerprint: string;
23
+ };
24
+ export type GrokBotSendReceipt = {
25
+ accepted: true;
26
+ requestId: string;
27
+ };
28
+ export type GrokBotReadMessage = {
29
+ speaker: "user" | "bot" | "peer";
30
+ text: string;
31
+ timestamp_ms: number | null;
32
+ };
33
+ export type GrokBotReadSnapshot = {
34
+ bot_id: string;
35
+ is_running: boolean | null;
36
+ is_composing: boolean | null;
37
+ awaiting_user: boolean | null;
38
+ async_task_count: number | null;
39
+ running_subagent_count: number | null;
40
+ messages: GrokBotReadMessage[];
41
+ next_before_sequence: number | null;
42
+ truncated: boolean;
43
+ };
44
+ export type GrokBotReadOptions = {
45
+ limit: number;
46
+ beforeSequence?: number;
47
+ };
48
+ export type GrokBotTransport = {
49
+ listBots(signal?: AbortSignal): Promise<GrokBotSummary[]>;
50
+ readBot(botId: string, options: GrokBotReadOptions, signal?: AbortSignal): Promise<GrokBotReadSnapshot>;
51
+ sendMessage(botId: string, message: string, signal?: AbortSignal): Promise<GrokBotSendReceipt>;
52
+ };
53
+ export declare const grokListBotsInputSchema: z.ZodObject<{}, z.core.$strict>;
54
+ export declare const grokListBotsOutputSchema: z.ZodObject<{
55
+ experimental: z.ZodLiteral<true>;
56
+ bot_count: z.ZodNumber;
57
+ bots: z.ZodArray<z.ZodObject<{
58
+ id: z.ZodString;
59
+ name: z.ZodString;
60
+ is_running: z.ZodNullable<z.ZodBoolean>;
61
+ }, z.core.$strict>>;
62
+ roster_fingerprint: z.ZodString;
63
+ }, z.core.$strict>;
64
+ export declare const grokSendBotMessageInputSchema: z.ZodObject<{
65
+ bot_id: z.ZodString;
66
+ message: z.ZodString;
67
+ }, z.core.$strict>;
68
+ export declare const grokSendBotMessageOutputSchema: z.ZodObject<{
69
+ experimental: z.ZodLiteral<true>;
70
+ bot_id: z.ZodString;
71
+ bot_name: z.ZodString;
72
+ accepted: z.ZodLiteral<true>;
73
+ request_id: z.ZodString;
74
+ completion_boundary: z.ZodLiteral<"gateway_accepted_not_bot_reply">;
75
+ }, z.core.$strict>;
76
+ export declare const grokReadBotInputSchema: z.ZodObject<{
77
+ bot_id: z.ZodString;
78
+ limit: z.ZodDefault<z.ZodNumber>;
79
+ cursor: z.ZodOptional<z.ZodString>;
80
+ }, z.core.$strict>;
81
+ export declare const grokWaitForBotInputSchema: z.ZodObject<{
82
+ bot_id: z.ZodString;
83
+ timeout_seconds: z.ZodDefault<z.ZodNumber>;
84
+ limit: z.ZodDefault<z.ZodNumber>;
85
+ }, z.core.$strict>;
86
+ export declare const grokReadBotOutputSchema: z.ZodObject<{
87
+ experimental: z.ZodLiteral<true>;
88
+ bot_id: z.ZodString;
89
+ bot_name: z.ZodString;
90
+ is_running: z.ZodNullable<z.ZodBoolean>;
91
+ is_composing: z.ZodNullable<z.ZodBoolean>;
92
+ awaiting_user: z.ZodNullable<z.ZodBoolean>;
93
+ async_task_count: z.ZodNullable<z.ZodNumber>;
94
+ running_subagent_count: z.ZodNullable<z.ZodNumber>;
95
+ activity_state: z.ZodEnum<{
96
+ awaiting_user: "awaiting_user";
97
+ idle: "idle";
98
+ unknown: "unknown";
99
+ working: "working";
100
+ }>;
101
+ messages: z.ZodArray<z.ZodObject<{
102
+ speaker: z.ZodEnum<{
103
+ bot: "bot";
104
+ peer: "peer";
105
+ user: "user";
106
+ }>;
107
+ text: z.ZodString;
108
+ timestamp_ms: z.ZodNullable<z.ZodNumber>;
109
+ }, z.core.$strict>>;
110
+ message_count: z.ZodNumber;
111
+ has_more: z.ZodBoolean;
112
+ next_cursor: z.ZodNullable<z.ZodString>;
113
+ truncated: z.ZodBoolean;
114
+ correlation: z.ZodLiteral<"not_claimed">;
115
+ content_boundary: z.ZodLiteral<"sanitized_text_only">;
116
+ completion_boundary: z.ZodLiteral<"activity_snapshot_not_task_completion">;
117
+ untrusted_external_content: z.ZodLiteral<true>;
118
+ }, z.core.$strict>;
119
+ export declare const grokWaitForBotOutputSchema: z.ZodObject<{
120
+ experimental: z.ZodLiteral<true>;
121
+ bot_id: z.ZodString;
122
+ bot_name: z.ZodString;
123
+ is_running: z.ZodNullable<z.ZodBoolean>;
124
+ is_composing: z.ZodNullable<z.ZodBoolean>;
125
+ awaiting_user: z.ZodNullable<z.ZodBoolean>;
126
+ async_task_count: z.ZodNullable<z.ZodNumber>;
127
+ running_subagent_count: z.ZodNullable<z.ZodNumber>;
128
+ activity_state: z.ZodEnum<{
129
+ awaiting_user: "awaiting_user";
130
+ idle: "idle";
131
+ unknown: "unknown";
132
+ working: "working";
133
+ }>;
134
+ messages: z.ZodArray<z.ZodObject<{
135
+ speaker: z.ZodEnum<{
136
+ bot: "bot";
137
+ peer: "peer";
138
+ user: "user";
139
+ }>;
140
+ text: z.ZodString;
141
+ timestamp_ms: z.ZodNullable<z.ZodNumber>;
142
+ }, z.core.$strict>>;
143
+ message_count: z.ZodNumber;
144
+ has_more: z.ZodBoolean;
145
+ next_cursor: z.ZodNullable<z.ZodString>;
146
+ truncated: z.ZodBoolean;
147
+ correlation: z.ZodLiteral<"not_claimed">;
148
+ content_boundary: z.ZodLiteral<"sanitized_text_only">;
149
+ completion_boundary: z.ZodLiteral<"activity_snapshot_not_task_completion">;
150
+ untrusted_external_content: z.ZodLiteral<true>;
151
+ stop_reason: z.ZodEnum<{
152
+ awaiting_user: "awaiting_user";
153
+ idle: "idle";
154
+ timeout: "timeout";
155
+ }>;
156
+ observed_working: z.ZodBoolean;
157
+ observations: z.ZodNumber;
158
+ elapsed_ms: z.ZodNumber;
159
+ }, z.core.$strict>;
160
+ export declare const grokPingAllBotsInputSchema: z.ZodObject<{
161
+ roster_fingerprint: z.ZodOptional<z.ZodString>;
162
+ bot_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
163
+ confirmation: z.ZodOptional<z.ZodLiteral<"PING_ALL">>;
164
+ }, z.core.$strict>;
165
+ export declare const grokPingAllBotsOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
166
+ experimental: z.ZodLiteral<true>;
167
+ requires_confirmation: z.ZodLiteral<true>;
168
+ message: z.ZodLiteral<"PING">;
169
+ bot_count: z.ZodNumber;
170
+ bots: z.ZodArray<z.ZodObject<{
171
+ id: z.ZodString;
172
+ name: z.ZodString;
173
+ is_running: z.ZodNullable<z.ZodBoolean>;
174
+ }, z.core.$strict>>;
175
+ roster_fingerprint: z.ZodString;
176
+ }, z.core.$strict>, z.ZodObject<{
177
+ experimental: z.ZodLiteral<true>;
178
+ requires_confirmation: z.ZodLiteral<false>;
179
+ message: z.ZodLiteral<"PING">;
180
+ roster_fingerprint: z.ZodString;
181
+ receipts: z.ZodArray<z.ZodObject<{
182
+ bot_id: z.ZodString;
183
+ bot_name: z.ZodString;
184
+ status: z.ZodEnum<{
185
+ accepted: "accepted";
186
+ failed: "failed";
187
+ not_attempted: "not_attempted";
188
+ outcome_unknown: "outcome_unknown";
189
+ }>;
190
+ request_id: z.ZodOptional<z.ZodString>;
191
+ error_code: z.ZodOptional<z.ZodString>;
192
+ }, z.core.$strict>>;
193
+ accepted_count: z.ZodNumber;
194
+ failed_count: z.ZodNumber;
195
+ outcome_unknown_count: z.ZodNumber;
196
+ not_attempted_count: z.ZodNumber;
197
+ completion_boundary: z.ZodLiteral<"gateway_accepted_not_bot_reply">;
198
+ }, z.core.$strict>], "requires_confirmation">;
199
+ export declare function rosterFingerprint(bots: GrokBotSummary[]): string;
200
+ export declare function listGrokBots(transport: GrokBotTransport, signal?: AbortSignal): Promise<GrokBotRoster>;
201
+ export declare function encodeGrokBotReadCursor(botId: string, beforeSequence: number): string;
202
+ export declare function decodeGrokBotReadCursor(cursor: string, botId: string): number;
203
+ export declare function readGrokBot(transport: GrokBotTransport, botId: string, options: GrokBotReadOptions, signal?: AbortSignal): Promise<GrokBotReadSnapshot>;
204
+ export declare function registerGrokBotTools(server: McpServer, transport: GrokBotTransport): void;