@briefgate/mcp 0.7.4 → 0.7.5
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.
- package/README.md +118 -19
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -1
- package/dist/client.js.map +1 -1
- package/dist/credentials.d.ts +31 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +89 -0
- package/dist/credentials.js.map +1 -0
- package/dist/device-auth.d.ts +41 -0
- package/dist/device-auth.d.ts.map +1 -0
- package/dist/device-auth.js +119 -0
- package/dist/device-auth.js.map +1 -0
- package/dist/http-auth.d.ts +39 -5
- package/dist/http-auth.d.ts.map +1 -1
- package/dist/http-auth.js +63 -7
- package/dist/http-auth.js.map +1 -1
- package/dist/index.js +390 -187
- package/dist/index.js.map +1 -1
- package/dist/login.d.ts +49 -0
- package/dist/login.d.ts.map +1 -0
- package/dist/login.js +205 -0
- package/dist/login.js.map +1 -0
- package/dist/tools.d.ts +65 -5
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +87 -2
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
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":"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"}
|
package/dist/login.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type LoginOutcome = {
|
|
2
|
+
ok: true;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
keyId: string;
|
|
5
|
+
accountName: string;
|
|
6
|
+
scopes: string[];
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
reason: 'expired' | 'consumed' | 'denied' | 'unknown_code' | 'timeout' | 'error';
|
|
10
|
+
detail?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface LoginArgs {
|
|
13
|
+
baseUrl: string;
|
|
14
|
+
clientName: string;
|
|
15
|
+
}
|
|
16
|
+
export interface LoginResult {
|
|
17
|
+
text: string;
|
|
18
|
+
/** Set only on the call that observes success — lets the caller (tools.ts)
|
|
19
|
+
* update its own in-memory BriefGateConfig without waiting for a restart. */
|
|
20
|
+
apiKey?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Starts (or checks on) a device-authorization login for `baseUrl`.
|
|
24
|
+
* Never throws — failures come back as text explaining what happened.
|
|
25
|
+
*/
|
|
26
|
+
export declare function login({ baseUrl, clientName }: LoginArgs): Promise<LoginResult>;
|
|
27
|
+
export interface LoginBlockingResult {
|
|
28
|
+
ok: boolean;
|
|
29
|
+
/** One-line summary for stdout/stderr — success message or failure reason. */
|
|
30
|
+
text: string;
|
|
31
|
+
apiKey?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Runs the whole device-authorization flow to completion, blocking until it
|
|
35
|
+
* resolves (or times out at 10 minutes). `onCode` fires once, as soon as the
|
|
36
|
+
* code is known, so the caller can print it and open the browser before this
|
|
37
|
+
* promise settles. Independent of the `login()` in-flight map above.
|
|
38
|
+
*/
|
|
39
|
+
export declare function loginBlocking({ baseUrl, clientName }: LoginArgs, onCode: (info: {
|
|
40
|
+
userCode: string;
|
|
41
|
+
verificationUriComplete: string;
|
|
42
|
+
}) => void): Promise<LoginBlockingResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Removes the locally stored key for `baseUrl` and best-effort revokes it on
|
|
45
|
+
* the server. A network failure while revoking never blocks the local
|
|
46
|
+
* removal — the caller is told to revoke it from the dashboard instead.
|
|
47
|
+
*/
|
|
48
|
+
export declare function logout(baseUrl: string): Promise<string>;
|
|
49
|
+
//# sourceMappingURL=login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4HrH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;kFAC8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAgDpF;AAID,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAClC,MAAM,EAAE,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAC5E,OAAO,CAAC,mBAAmB,CAAC,CAkB9B;AAID;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe7D"}
|
package/dist/login.js
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
// Backs both the `login`/`logout` MCP tools and the `login`/`logout` CLI
|
|
2
|
+
// subcommands — same functions, two presentations:
|
|
3
|
+
//
|
|
4
|
+
// - `login()` is two-phase, for an MCP tool call: a human clicking Allow in
|
|
5
|
+
// a browser can take minutes, longer than most MCP clients let one tool
|
|
6
|
+
// call block, so the first call starts the flow and returns immediately;
|
|
7
|
+
// a later call (prompted by the tool's own description) picks up
|
|
8
|
+
// whatever a background poll loop has found by then.
|
|
9
|
+
// - `loginBlocking()` is for the CLI: a terminal command can just block
|
|
10
|
+
// until the flow finishes, so it prints the code once and waits.
|
|
11
|
+
//
|
|
12
|
+
// Both format their own prose from the same structured LoginOutcome, so the
|
|
13
|
+
// state machine (device-auth.ts's status values, retry/backoff, timeout)
|
|
14
|
+
// lives in exactly one place: runPolling below.
|
|
15
|
+
import { spawn } from 'node:child_process';
|
|
16
|
+
import { startDeviceAuth, pollDeviceAuth, revokeCurrentKey } from './device-auth.js';
|
|
17
|
+
import { saveCredential, loadCredential, deleteCredential } from './credentials.js';
|
|
18
|
+
function sleep(ms) {
|
|
19
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
20
|
+
}
|
|
21
|
+
function openBrowser(url) {
|
|
22
|
+
const platform = process.platform;
|
|
23
|
+
const [cmd, args] = platform === 'darwin'
|
|
24
|
+
? ['open', [url]]
|
|
25
|
+
: platform === 'win32'
|
|
26
|
+
? ['cmd', ['/c', 'start', '', url]]
|
|
27
|
+
: ['xdg-open', [url]];
|
|
28
|
+
// The URL is already printed; a browser is a convenience. A missing opener
|
|
29
|
+
// surfaces as an 'error' event on the child, which would crash the process
|
|
30
|
+
// if nobody listened.
|
|
31
|
+
try {
|
|
32
|
+
const child = spawn(cmd, args, { detached: true, stdio: 'ignore' });
|
|
33
|
+
child.on('error', (err) => {
|
|
34
|
+
console.error(`[briefgate] could not open a browser (${err.message}); open the URL yourself.`);
|
|
35
|
+
});
|
|
36
|
+
child.unref();
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
console.error(`[briefgate] could not open a browser (${err.message}); open the URL yourself.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function runPolling(baseUrl, deviceCode, intervalSec, expiresInSec) {
|
|
43
|
+
const deadline = Date.now() + expiresInSec * 1000;
|
|
44
|
+
let interval = intervalSec;
|
|
45
|
+
while (Date.now() < deadline) {
|
|
46
|
+
await sleep(interval * 1000);
|
|
47
|
+
let outcome;
|
|
48
|
+
try {
|
|
49
|
+
outcome = await pollDeviceAuth(baseUrl, deviceCode);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
// A blip on the network is not a decision; keep waiting for one.
|
|
53
|
+
console.error(`[briefgate] sign-in check failed, retrying: ${err.message}`);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
switch (outcome.status) {
|
|
57
|
+
case 'success':
|
|
58
|
+
saveCredential(baseUrl, {
|
|
59
|
+
api_key: outcome.result.api_key,
|
|
60
|
+
key_id: outcome.result.key_id,
|
|
61
|
+
account_name: outcome.result.account_name,
|
|
62
|
+
saved_at: new Date().toISOString(),
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
ok: true,
|
|
66
|
+
apiKey: outcome.result.api_key,
|
|
67
|
+
keyId: outcome.result.key_id,
|
|
68
|
+
accountName: outcome.result.account_name,
|
|
69
|
+
scopes: outcome.result.scopes,
|
|
70
|
+
};
|
|
71
|
+
case 'pending':
|
|
72
|
+
continue;
|
|
73
|
+
case 'slow_down':
|
|
74
|
+
// Honor the server's Retry-After when it sends one; otherwise just
|
|
75
|
+
// double, per RFC 8628.
|
|
76
|
+
interval = outcome.retryAfterSeconds ?? interval * 2;
|
|
77
|
+
continue;
|
|
78
|
+
case 'expired':
|
|
79
|
+
return { ok: false, reason: 'expired' };
|
|
80
|
+
case 'consumed':
|
|
81
|
+
return { ok: false, reason: 'consumed' };
|
|
82
|
+
case 'denied':
|
|
83
|
+
return { ok: false, reason: 'denied' };
|
|
84
|
+
case 'unknown_code':
|
|
85
|
+
return { ok: false, reason: 'unknown_code' };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return { ok: false, reason: 'timeout' };
|
|
89
|
+
}
|
|
90
|
+
function describeForTool(outcome) {
|
|
91
|
+
if (outcome.ok) {
|
|
92
|
+
return `Signed in as ${outcome.accountName} (key ${outcome.keyId}, scopes: ${outcome.scopes.join(', ')}).`;
|
|
93
|
+
}
|
|
94
|
+
switch (outcome.reason) {
|
|
95
|
+
case 'expired':
|
|
96
|
+
return 'The sign-in code expired before it was approved. Call `login` again to get a new one.';
|
|
97
|
+
case 'consumed':
|
|
98
|
+
return 'This sign-in code was already used. Call `login` again to get a new one.';
|
|
99
|
+
case 'denied':
|
|
100
|
+
return 'Sign-in was denied in the browser. Call `login` again to try once more.';
|
|
101
|
+
case 'unknown_code':
|
|
102
|
+
return 'The sign-in code was not recognized by the server. Call `login` again to get a new one.';
|
|
103
|
+
case 'timeout':
|
|
104
|
+
return 'Timed out waiting for approval (10 minutes). Call `login` again to get a new code.';
|
|
105
|
+
case 'error':
|
|
106
|
+
return `Sign-in failed: ${outcome.detail}`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Keyed by base URL: this process only ever needs one login in flight per
|
|
110
|
+
// BriefGate deployment it talks to (production vs. a staging BRIEFGATE_BASE_URL).
|
|
111
|
+
// Independent of loginBlocking() below, so a CLI `login` and an agent's
|
|
112
|
+
// `login` tool call never interfere with each other.
|
|
113
|
+
const inFlight = new Map();
|
|
114
|
+
/**
|
|
115
|
+
* Starts (or checks on) a device-authorization login for `baseUrl`.
|
|
116
|
+
* Never throws — failures come back as text explaining what happened.
|
|
117
|
+
*/
|
|
118
|
+
export async function login({ baseUrl, clientName }) {
|
|
119
|
+
const existing = inFlight.get(baseUrl);
|
|
120
|
+
if (existing) {
|
|
121
|
+
if (existing.settled && existing.outcome) {
|
|
122
|
+
inFlight.delete(baseUrl);
|
|
123
|
+
const outcome = existing.outcome;
|
|
124
|
+
return { text: describeForTool(outcome), apiKey: outcome.ok ? outcome.apiKey : undefined };
|
|
125
|
+
}
|
|
126
|
+
if (!existing.settled) {
|
|
127
|
+
return {
|
|
128
|
+
text: `Still waiting for approval of code ${existing.userCode}. Open ${existing.verificationUriComplete} if you haven't, then call \`login\` again to check.`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
let start;
|
|
133
|
+
try {
|
|
134
|
+
start = await startDeviceAuth(baseUrl, clientName);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
return { text: err instanceof Error ? err.message : String(err) };
|
|
138
|
+
}
|
|
139
|
+
const entry = {
|
|
140
|
+
userCode: start.user_code,
|
|
141
|
+
verificationUriComplete: start.verification_uri_complete,
|
|
142
|
+
settled: false,
|
|
143
|
+
promise: Promise.resolve({ ok: false, reason: 'error' }), // placeholder, replaced immediately below
|
|
144
|
+
};
|
|
145
|
+
entry.promise = runPolling(baseUrl, start.device_code, start.interval, start.expires_in)
|
|
146
|
+
.catch((err) => ({
|
|
147
|
+
ok: false,
|
|
148
|
+
reason: 'error',
|
|
149
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
150
|
+
}))
|
|
151
|
+
.then((outcome) => {
|
|
152
|
+
entry.settled = true;
|
|
153
|
+
entry.outcome = outcome;
|
|
154
|
+
return outcome;
|
|
155
|
+
});
|
|
156
|
+
inFlight.set(baseUrl, entry);
|
|
157
|
+
openBrowser(start.verification_uri_complete);
|
|
158
|
+
return {
|
|
159
|
+
text: `Open ${start.verification_uri_complete} and confirm code ${start.user_code}. I'll wait up to 10 minutes — call \`login\` again once you've approved it, or any time to check progress.`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Runs the whole device-authorization flow to completion, blocking until it
|
|
164
|
+
* resolves (or times out at 10 minutes). `onCode` fires once, as soon as the
|
|
165
|
+
* code is known, so the caller can print it and open the browser before this
|
|
166
|
+
* promise settles. Independent of the `login()` in-flight map above.
|
|
167
|
+
*/
|
|
168
|
+
export async function loginBlocking({ baseUrl, clientName }, onCode) {
|
|
169
|
+
const start = await startDeviceAuth(baseUrl, clientName);
|
|
170
|
+
onCode({ userCode: start.user_code, verificationUriComplete: start.verification_uri_complete });
|
|
171
|
+
openBrowser(start.verification_uri_complete);
|
|
172
|
+
const outcome = await runPolling(baseUrl, start.device_code, start.interval, start.expires_in);
|
|
173
|
+
if (outcome.ok) {
|
|
174
|
+
return { ok: true, text: `Signed in as ${outcome.accountName}.`, apiKey: outcome.apiKey };
|
|
175
|
+
}
|
|
176
|
+
const reasonText = {
|
|
177
|
+
expired: 'The sign-in code expired before it was approved.',
|
|
178
|
+
consumed: 'This sign-in code was already used.',
|
|
179
|
+
denied: 'Sign-in was denied.',
|
|
180
|
+
unknown_code: 'The sign-in code was not recognized by the server.',
|
|
181
|
+
timeout: 'Timed out waiting for approval (10 minutes).',
|
|
182
|
+
error: outcome.detail ?? 'Sign-in failed.',
|
|
183
|
+
};
|
|
184
|
+
return { ok: false, text: reasonText[outcome.reason] };
|
|
185
|
+
}
|
|
186
|
+
// ─── logout() — shared by the MCP tool and the CLI subcommand ─────────────────
|
|
187
|
+
/**
|
|
188
|
+
* Removes the locally stored key for `baseUrl` and best-effort revokes it on
|
|
189
|
+
* the server. A network failure while revoking never blocks the local
|
|
190
|
+
* removal — the caller is told to revoke it from the dashboard instead.
|
|
191
|
+
*/
|
|
192
|
+
export async function logout(baseUrl) {
|
|
193
|
+
inFlight.delete(baseUrl);
|
|
194
|
+
const existing = loadCredential(baseUrl);
|
|
195
|
+
if (!existing) {
|
|
196
|
+
return `No locally stored key for ${baseUrl} — nothing to do.`;
|
|
197
|
+
}
|
|
198
|
+
const revoked = await revokeCurrentKey(baseUrl, existing.api_key);
|
|
199
|
+
deleteCredential(baseUrl);
|
|
200
|
+
if (revoked === 'failed') {
|
|
201
|
+
return `Signed out of ${baseUrl} locally. Key could not be revoked remotely; revoke it on the keys page.`;
|
|
202
|
+
}
|
|
203
|
+
return `Signed out of ${baseUrl} and revoked the key.`;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -92,7 +92,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
92
92
|
rationale?: string | undefined;
|
|
93
93
|
}>>;
|
|
94
94
|
}, "strict", z.ZodTypeAny, {
|
|
95
|
-
type: "boolean" | "
|
|
95
|
+
type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
|
|
96
96
|
label: string;
|
|
97
97
|
key: string;
|
|
98
98
|
assignee: "client" | "owner";
|
|
@@ -122,7 +122,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
122
122
|
rationale?: string | undefined;
|
|
123
123
|
} | undefined;
|
|
124
124
|
}, {
|
|
125
|
-
type: "boolean" | "
|
|
125
|
+
type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
|
|
126
126
|
label: string;
|
|
127
127
|
key: string;
|
|
128
128
|
options?: {
|
|
@@ -152,7 +152,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
152
152
|
rationale?: string | undefined;
|
|
153
153
|
} | undefined;
|
|
154
154
|
}>, {
|
|
155
|
-
type: "boolean" | "
|
|
155
|
+
type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
|
|
156
156
|
label: string;
|
|
157
157
|
key: string;
|
|
158
158
|
assignee: "client" | "owner";
|
|
@@ -182,7 +182,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
182
182
|
rationale?: string | undefined;
|
|
183
183
|
} | undefined;
|
|
184
184
|
}, {
|
|
185
|
-
type: "boolean" | "
|
|
185
|
+
type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
|
|
186
186
|
label: string;
|
|
187
187
|
key: string;
|
|
188
188
|
options?: {
|
|
@@ -1079,6 +1079,62 @@ export declare const TOOLS: ({
|
|
|
1079
1079
|
};
|
|
1080
1080
|
required: string[];
|
|
1081
1081
|
};
|
|
1082
|
+
} | {
|
|
1083
|
+
name: string;
|
|
1084
|
+
title: string;
|
|
1085
|
+
annotations: {
|
|
1086
|
+
title: string;
|
|
1087
|
+
readOnlyHint: boolean;
|
|
1088
|
+
destructiveHint: boolean;
|
|
1089
|
+
idempotentHint: boolean;
|
|
1090
|
+
openWorldHint: boolean;
|
|
1091
|
+
};
|
|
1092
|
+
description: string;
|
|
1093
|
+
inputSchema: {
|
|
1094
|
+
type: "object";
|
|
1095
|
+
properties: {
|
|
1096
|
+
project_name?: undefined;
|
|
1097
|
+
client?: undefined;
|
|
1098
|
+
due_date?: undefined;
|
|
1099
|
+
branding?: undefined;
|
|
1100
|
+
chase_schedule?: undefined;
|
|
1101
|
+
chase_interval?: undefined;
|
|
1102
|
+
chase_interval_unit?: undefined;
|
|
1103
|
+
respect_quiet_hours?: undefined;
|
|
1104
|
+
max_reminders?: undefined;
|
|
1105
|
+
email_copy?: undefined;
|
|
1106
|
+
chase_at_time?: undefined;
|
|
1107
|
+
items?: undefined;
|
|
1108
|
+
template?: undefined;
|
|
1109
|
+
auto_approve_hours?: undefined;
|
|
1110
|
+
retention?: undefined;
|
|
1111
|
+
send?: undefined;
|
|
1112
|
+
intake_id?: undefined;
|
|
1113
|
+
only_new?: undefined;
|
|
1114
|
+
include_pending?: undefined;
|
|
1115
|
+
item_key?: undefined;
|
|
1116
|
+
note?: undefined;
|
|
1117
|
+
channel?: undefined;
|
|
1118
|
+
status?: undefined;
|
|
1119
|
+
client_email?: undefined;
|
|
1120
|
+
limit?: undefined;
|
|
1121
|
+
offset?: undefined;
|
|
1122
|
+
type?: undefined;
|
|
1123
|
+
label?: undefined;
|
|
1124
|
+
help?: undefined;
|
|
1125
|
+
required?: undefined;
|
|
1126
|
+
constraints?: undefined;
|
|
1127
|
+
options?: undefined;
|
|
1128
|
+
pattern?: undefined;
|
|
1129
|
+
discard_submitted_value?: undefined;
|
|
1130
|
+
action?: undefined;
|
|
1131
|
+
url?: undefined;
|
|
1132
|
+
events?: undefined;
|
|
1133
|
+
format?: undefined;
|
|
1134
|
+
webhook_id?: undefined;
|
|
1135
|
+
};
|
|
1136
|
+
required?: undefined;
|
|
1137
|
+
};
|
|
1082
1138
|
})[];
|
|
1083
1139
|
export interface ToolResult {
|
|
1084
1140
|
text: string;
|
|
@@ -1093,5 +1149,9 @@ export declare function callListIntakes(config: BriefGateConfig, args: unknown):
|
|
|
1093
1149
|
export declare function callAddItems(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
|
|
1094
1150
|
export declare function callUpdateItem(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
|
|
1095
1151
|
export declare function callManageWebhook(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
|
|
1096
|
-
export
|
|
1152
|
+
export interface ToolContext {
|
|
1153
|
+
/** MCP client name from `initialize`, used only to label the login device. */
|
|
1154
|
+
clientName?: string;
|
|
1155
|
+
}
|
|
1156
|
+
export declare function executeTool(name: string, config: BriefGateConfig, args: unknown, context?: ToolContext): Promise<ToolResult>;
|
|
1097
1157
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
// Tool definitions, Zod validation, and execute functions for all
|
|
1
|
+
// Tool definitions, Zod validation, and execute functions for all 11 BriefGate MCP tools.
|
|
2
2
|
// TOOLS is the JSON-schema array sent to the MCP client in ListTools.
|
|
3
3
|
// executeTool dispatches CallTool requests to typed execute functions.
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { createHash } from 'node:crypto';
|
|
6
|
+
import { hostname } from 'node:os';
|
|
6
7
|
import { createIntake, listIntakes, getIntakeStatus, getIntakeResults, addItems, updateItem, requestRevision, sendChase, listWebhooks, createWebhook, deleteWebhook, } from './client.js';
|
|
8
|
+
import { login, logout } from './login.js';
|
|
7
9
|
// ─── Shared Zod schemas (exported for testing) ────────────────────────────────
|
|
8
10
|
// Mirrors the server's own pattern (server/src/schemas.ts) so a bad timezone
|
|
9
11
|
// is rejected here, in the same shape, instead of only surfacing as a 422
|
|
@@ -874,6 +876,52 @@ Events: intake.completed (all required items in — the one to act on), item.sub
|
|
|
874
876
|
required: ['action'],
|
|
875
877
|
},
|
|
876
878
|
},
|
|
879
|
+
{
|
|
880
|
+
name: 'login',
|
|
881
|
+
title: 'Sign in to BriefGate',
|
|
882
|
+
// Not idempotent: a call while nothing is stored starts a brand new
|
|
883
|
+
// device-authorization flow (a new code) rather than returning the same
|
|
884
|
+
// result twice, and one call after the code was approved actually mutates
|
|
885
|
+
// local state — it writes the credentials file.
|
|
886
|
+
annotations: {
|
|
887
|
+
title: 'Sign in to BriefGate',
|
|
888
|
+
readOnlyHint: false,
|
|
889
|
+
destructiveHint: false,
|
|
890
|
+
idempotentHint: false,
|
|
891
|
+
openWorldHint: true,
|
|
892
|
+
},
|
|
893
|
+
description: `Sign in without pasting an API key, the same way \`snyk_auth\` works: this opens a browser page where a human approves this device, then stores the issued key locally.
|
|
894
|
+
|
|
895
|
+
Call this whenever a tool reports "Not signed in" or that the stored key was revoked or expired.
|
|
896
|
+
|
|
897
|
+
This is a TWO-PHASE tool because approval can take minutes — longer than a single tool call should block for:
|
|
898
|
+
1. The first call starts the sign-in and returns immediately with a URL and a short code (e.g. "WDJB-MJHT"). Tell the user to open the URL and confirm the code; a browser is also opened automatically when possible.
|
|
899
|
+
2. Call \`login\` again (no arguments change) to check progress. While the human hasn't approved yet, it replies that it's still waiting. Once approved, the same call reports success and the key is saved — no further action needed, other tools start working immediately.
|
|
900
|
+
|
|
901
|
+
Do not wait silently for minutes on one call — call this tool again after telling the user to approve, and again if they say they've clicked Allow.
|
|
902
|
+
|
|
903
|
+
Has no effect if a key is already supplied via the \`--api-key\` flag or the \`BRIEFGATE_API_KEY\` environment variable — those always take priority over a locally stored one, so this tool says so instead of running the flow. Not available when this server is running as the shared hosted endpoint (mcp.briefgate.dev): there, connecting a client already triggers OAuth automatically.`,
|
|
904
|
+
inputSchema: {
|
|
905
|
+
type: 'object',
|
|
906
|
+
properties: {},
|
|
907
|
+
},
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
name: 'logout',
|
|
911
|
+
title: 'Sign out of BriefGate',
|
|
912
|
+
annotations: {
|
|
913
|
+
title: 'Sign out of BriefGate',
|
|
914
|
+
readOnlyHint: false,
|
|
915
|
+
destructiveHint: true,
|
|
916
|
+
idempotentHint: true,
|
|
917
|
+
openWorldHint: true,
|
|
918
|
+
},
|
|
919
|
+
description: 'Remove the API key `login` stored locally for this BriefGate server, and best-effort revoke it on the server too (a `DELETE /v1/keys/current` call using that same key). If the revoke call fails — no network, the API is unreachable — the local copy is still removed; the response says so and points at the BriefGate dashboard to revoke it there instead. Not available when this server is running as the shared hosted endpoint.',
|
|
920
|
+
inputSchema: {
|
|
921
|
+
type: 'object',
|
|
922
|
+
properties: {},
|
|
923
|
+
},
|
|
924
|
+
},
|
|
877
925
|
];
|
|
878
926
|
// ─── Idempotency key ──────────────────────────────────────────────────────────
|
|
879
927
|
// Derive a stable key from project name + client email + a canonical hash of
|
|
@@ -1090,7 +1138,40 @@ export async function callManageWebhook(config, args) {
|
|
|
1090
1138
|
}
|
|
1091
1139
|
return { text: JSON.stringify(await listWebhooks(config), null, 2) };
|
|
1092
1140
|
}
|
|
1093
|
-
|
|
1141
|
+
// ─── login / logout ────────────────────────────────────────────────────────
|
|
1142
|
+
//
|
|
1143
|
+
// Unlike every other tool here, these never send the account's own API key
|
|
1144
|
+
// as a Bearer token (login talks to the unauthenticated device-authorization
|
|
1145
|
+
// endpoints; logout sends the key being revoked, not config.apiKey) — they
|
|
1146
|
+
// must work with no API key configured at all, that's the whole point.
|
|
1147
|
+
async function callLogin(config, context) {
|
|
1148
|
+
if (config.apiKeySource === 'flag' || config.apiKeySource === 'env' || config.apiKeySource === 'header') {
|
|
1149
|
+
const via = config.apiKeySource === 'flag'
|
|
1150
|
+
? '--api-key'
|
|
1151
|
+
: config.apiKeySource === 'env'
|
|
1152
|
+
? 'the BRIEFGATE_API_KEY environment variable'
|
|
1153
|
+
: 'the Authorization header this request was sent with';
|
|
1154
|
+
return {
|
|
1155
|
+
text: `An API key is already configured via ${via} — it always takes priority, so login would have no effect. Remove it first to sign in with a different account.`,
|
|
1156
|
+
};
|
|
1157
|
+
}
|
|
1158
|
+
const clientName = `${context.clientName ?? 'MCP client'} on ${hostname()}`;
|
|
1159
|
+
const result = await login({ baseUrl: config.baseUrl, clientName });
|
|
1160
|
+
if (result.apiKey) {
|
|
1161
|
+
// Update the shared config object in place so the very next tool call in
|
|
1162
|
+
// this same process picks up the new key immediately. Without this, a
|
|
1163
|
+
// long-running stdio session would report "Signed in" and then every
|
|
1164
|
+
// following tool call would still say "Not signed in" until restarted —
|
|
1165
|
+
// `login` saved the key to disk, but nothing had re-read it into memory.
|
|
1166
|
+
config.apiKey = result.apiKey;
|
|
1167
|
+
config.apiKeySource = 'file';
|
|
1168
|
+
}
|
|
1169
|
+
return { text: result.text };
|
|
1170
|
+
}
|
|
1171
|
+
async function callLogout(config) {
|
|
1172
|
+
return { text: await logout(config.baseUrl) };
|
|
1173
|
+
}
|
|
1174
|
+
export async function executeTool(name, config, args, context = {}) {
|
|
1094
1175
|
switch (name) {
|
|
1095
1176
|
case 'define_intake':
|
|
1096
1177
|
return callDefineIntake(config, args);
|
|
@@ -1110,6 +1191,10 @@ export async function executeTool(name, config, args) {
|
|
|
1110
1191
|
return callUpdateItem(config, args);
|
|
1111
1192
|
case 'manage_webhook':
|
|
1112
1193
|
return callManageWebhook(config, args);
|
|
1194
|
+
case 'login':
|
|
1195
|
+
return callLogin(config, context);
|
|
1196
|
+
case 'logout':
|
|
1197
|
+
return callLogout(config);
|
|
1113
1198
|
default:
|
|
1114
1199
|
return { text: `Unknown tool: ${name}`, isError: true };
|
|
1115
1200
|
}
|