@rockhopper-co/mcp-server 2.1.57-staging.4b5c02c → 2.1.59-staging.eb505a3
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/dist/api-client.d.ts +28 -8
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +28 -8
- package/dist/api-client.js.map +1 -1
- package/dist/auth/remediation.d.ts +27 -0
- package/dist/auth/remediation.d.ts.map +1 -0
- package/dist/auth/remediation.js +30 -0
- package/dist/auth/remediation.js.map +1 -0
- package/dist/cli.js +35 -5
- package/dist/cli.js.map +1 -1
- package/dist/drive-search.d.ts +45 -0
- package/dist/drive-search.d.ts.map +1 -1
- package/dist/drive-search.js +45 -2
- package/dist/drive-search.js.map +1 -1
- package/dist/enrollment.d.ts.map +1 -1
- package/dist/enrollment.js +24 -3
- package/dist/enrollment.js.map +1 -1
- package/dist/graph-link-failure.d.ts +77 -0
- package/dist/graph-link-failure.d.ts.map +1 -0
- package/dist/graph-link-failure.js +131 -0
- package/dist/graph-link-failure.js.map +1 -0
- package/dist/tools/list-unenrolled-files.d.ts.map +1 -1
- package/dist/tools/list-unenrolled-files.js +13 -6
- package/dist/tools/list-unenrolled-files.js.map +1 -1
- package/package.json +1 -1
package/dist/api-client.d.ts
CHANGED
|
@@ -78,9 +78,22 @@ export declare class ApiClient {
|
|
|
78
78
|
/**
|
|
79
79
|
* ENG-1756: declare (or clear) the human driving this agent. The CLI sets
|
|
80
80
|
* it from the `/users/me` preflight (`msId`/`googleId` — the PAT owner);
|
|
81
|
-
* subsequent writes then carry `X-Driving-Human`.
|
|
82
|
-
*
|
|
83
|
-
*
|
|
81
|
+
* subsequent writes then carry `X-Driving-Human`.
|
|
82
|
+
*
|
|
83
|
+
* ⛔ THERE IS NO SERVER-SIDE FALLBACK. This docblock used to end "while
|
|
84
|
+
* unset, the backend resolves the driving human as the PAT owner
|
|
85
|
+
* server-side, so writes keep working". ENG-4220 measured that FALSE and
|
|
86
|
+
* corrected the sentence at the CALL site (`cli.ts`) while leaving it here,
|
|
87
|
+
* at the definition — which is the copy a reader of this method actually
|
|
88
|
+
* opens.
|
|
89
|
+
*
|
|
90
|
+
* What the backend really does: the guard reads `request.userPlatformId`,
|
|
91
|
+
* the PAT middleware sets that from `User.getPlatformId()`, and that method
|
|
92
|
+
* IS `msId || googleId` — the same two fields the CLI reads. So the
|
|
93
|
+
* "fallback" only ever fires when the header would have been sent anyway,
|
|
94
|
+
* and an account linked to neither provider 403s on EVERY write. Passing
|
|
95
|
+
* `null` here is not a degraded mode that still works; it is a write outage,
|
|
96
|
+
* and `cli.ts` warns on stderr when it happens.
|
|
84
97
|
*/
|
|
85
98
|
setDrivingHuman(platformId: string | null): void;
|
|
86
99
|
/**
|
|
@@ -207,11 +220,18 @@ export declare class ApiClient {
|
|
|
207
220
|
* the row was written rather than at read time. That is why this package,
|
|
208
221
|
* which holds no delegated assertion, can ask the question at all.
|
|
209
222
|
*
|
|
210
|
-
* Unlike {@link searchDriveFiles} there is no
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
223
|
+
* Unlike {@link searchDriveFiles} there is no thrown refusal to classify: a
|
|
224
|
+
* caller with no working Microsoft link gets a 200 with an empty list and the
|
|
225
|
+
* reason in `freshness.lastFailureReason`. The refusal moved from the status
|
|
226
|
+
* code into the body, so a reader that only checks for a thrown error will
|
|
227
|
+
* report an unlinked account as an empty drive.
|
|
228
|
+
*
|
|
229
|
+
* ENG-4311 — that field carries the backend's SCREAMING_SNAKE
|
|
230
|
+
* `GraphLinkFailure` value (`NO_DELEGATED_TOKEN`, `DELEGATED_TOKEN_REJECTED`,
|
|
231
|
+
* `DELEGATED_TOKEN_UNREADABLE`, `CONSENT_REQUIRED`), never the lowercase
|
|
232
|
+
* outcome name this sentence used to quote. `list_unenrolled_files` compared
|
|
233
|
+
* the lowercase one, so its guard against exactly the failure described above
|
|
234
|
+
* could not fire. Read it through `graphLinkFailureFrom`, never by hand.
|
|
215
235
|
*/
|
|
216
236
|
listDriveInventory(params?: {
|
|
217
237
|
enrollment?: DriveInventoryEnrollment;
|
package/dist/api-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,6BAA6B,EAC7B,cAAc,EACd,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AA8BpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE;QAClB,sEAAsE;QACtE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,0EAA0E;QAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mEAAmE;QACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAQzB;AAsBD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAS;gBAExB,MAAM,EAAE,eAAe;IAUnC
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/api-client.js
CHANGED
|
@@ -100,9 +100,22 @@ export class ApiClient {
|
|
|
100
100
|
/**
|
|
101
101
|
* ENG-1756: declare (or clear) the human driving this agent. The CLI sets
|
|
102
102
|
* it from the `/users/me` preflight (`msId`/`googleId` — the PAT owner);
|
|
103
|
-
* subsequent writes then carry `X-Driving-Human`.
|
|
104
|
-
*
|
|
105
|
-
*
|
|
103
|
+
* subsequent writes then carry `X-Driving-Human`.
|
|
104
|
+
*
|
|
105
|
+
* ⛔ THERE IS NO SERVER-SIDE FALLBACK. This docblock used to end "while
|
|
106
|
+
* unset, the backend resolves the driving human as the PAT owner
|
|
107
|
+
* server-side, so writes keep working". ENG-4220 measured that FALSE and
|
|
108
|
+
* corrected the sentence at the CALL site (`cli.ts`) while leaving it here,
|
|
109
|
+
* at the definition — which is the copy a reader of this method actually
|
|
110
|
+
* opens.
|
|
111
|
+
*
|
|
112
|
+
* What the backend really does: the guard reads `request.userPlatformId`,
|
|
113
|
+
* the PAT middleware sets that from `User.getPlatformId()`, and that method
|
|
114
|
+
* IS `msId || googleId` — the same two fields the CLI reads. So the
|
|
115
|
+
* "fallback" only ever fires when the header would have been sent anyway,
|
|
116
|
+
* and an account linked to neither provider 403s on EVERY write. Passing
|
|
117
|
+
* `null` here is not a degraded mode that still works; it is a write outage,
|
|
118
|
+
* and `cli.ts` warns on stderr when it happens.
|
|
106
119
|
*/
|
|
107
120
|
setDrivingHuman(platformId) {
|
|
108
121
|
this.drivingHumanPlatformId = platformId;
|
|
@@ -383,11 +396,18 @@ export class ApiClient {
|
|
|
383
396
|
* the row was written rather than at read time. That is why this package,
|
|
384
397
|
* which holds no delegated assertion, can ask the question at all.
|
|
385
398
|
*
|
|
386
|
-
* Unlike {@link searchDriveFiles} there is no
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
*
|
|
399
|
+
* Unlike {@link searchDriveFiles} there is no thrown refusal to classify: a
|
|
400
|
+
* caller with no working Microsoft link gets a 200 with an empty list and the
|
|
401
|
+
* reason in `freshness.lastFailureReason`. The refusal moved from the status
|
|
402
|
+
* code into the body, so a reader that only checks for a thrown error will
|
|
403
|
+
* report an unlinked account as an empty drive.
|
|
404
|
+
*
|
|
405
|
+
* ENG-4311 — that field carries the backend's SCREAMING_SNAKE
|
|
406
|
+
* `GraphLinkFailure` value (`NO_DELEGATED_TOKEN`, `DELEGATED_TOKEN_REJECTED`,
|
|
407
|
+
* `DELEGATED_TOKEN_UNREADABLE`, `CONSENT_REQUIRED`), never the lowercase
|
|
408
|
+
* outcome name this sentence used to quote. `list_unenrolled_files` compared
|
|
409
|
+
* the lowercase one, so its guard against exactly the failure described above
|
|
410
|
+
* could not fire. Read it through `graphLinkFailureFrom`, never by hand.
|
|
391
411
|
*/
|
|
392
412
|
async listDriveInventory(params) {
|
|
393
413
|
const query = new URLSearchParams();
|
package/dist/api-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AuthSource } from './resolve-auth.js';
|
|
2
|
+
/**
|
|
3
|
+
* ENG-4222 — WHAT TO DO NEXT, NAMED FOR THE CREDENTIAL THE USER ACTUALLY HOLDS.
|
|
4
|
+
*
|
|
5
|
+
* The mid-session 401 handler used to branch on nothing and tell everybody to
|
|
6
|
+
* "Create a new Personal Access Token in Rockhopper Settings". A user who set
|
|
7
|
+
* the server up the way the README recommends never created one — they signed
|
|
8
|
+
* in through a browser — so it sent them to mint a credential they do not need
|
|
9
|
+
* when the remedy was to restart and re-approve.
|
|
10
|
+
*
|
|
11
|
+
* That is not an edge case: the device grant's token is minted with a
|
|
12
|
+
* 60-minute life and has no refresh endpoint, so every session that outlives
|
|
13
|
+
* an hour reaches the mid-session message by design.
|
|
14
|
+
*
|
|
15
|
+
* LIVES IN ITS OWN MODULE so it can be tested as a pure function. `cli.ts` is
|
|
16
|
+
* an entry script with top-level await — importing it to reach this branch
|
|
17
|
+
* runs logger init and auth resolution, which is why the tests that do that
|
|
18
|
+
* need `vi.doMock` and are order-sensitive under load. A string chosen from an
|
|
19
|
+
* enum needs none of that.
|
|
20
|
+
*
|
|
21
|
+
* Keep this the ONLY place the mid-session remediation sentence is written.
|
|
22
|
+
* The preflight path at `cli.ts` deliberately keeps its own wording: its PAT
|
|
23
|
+
* arm names the `ROCKHOPPER_TOKEN` env var rather than a restart, so routing
|
|
24
|
+
* it through here would make correct copy worse.
|
|
25
|
+
*/
|
|
26
|
+
export declare function remediationFor(source: AuthSource): string;
|
|
27
|
+
//# sourceMappingURL=remediation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remediation.d.ts","sourceRoot":"","sources":["../../src/auth/remediation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIzD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ENG-4222 — WHAT TO DO NEXT, NAMED FOR THE CREDENTIAL THE USER ACTUALLY HOLDS.
|
|
3
|
+
*
|
|
4
|
+
* The mid-session 401 handler used to branch on nothing and tell everybody to
|
|
5
|
+
* "Create a new Personal Access Token in Rockhopper Settings". A user who set
|
|
6
|
+
* the server up the way the README recommends never created one — they signed
|
|
7
|
+
* in through a browser — so it sent them to mint a credential they do not need
|
|
8
|
+
* when the remedy was to restart and re-approve.
|
|
9
|
+
*
|
|
10
|
+
* That is not an edge case: the device grant's token is minted with a
|
|
11
|
+
* 60-minute life and has no refresh endpoint, so every session that outlives
|
|
12
|
+
* an hour reaches the mid-session message by design.
|
|
13
|
+
*
|
|
14
|
+
* LIVES IN ITS OWN MODULE so it can be tested as a pure function. `cli.ts` is
|
|
15
|
+
* an entry script with top-level await — importing it to reach this branch
|
|
16
|
+
* runs logger init and auth resolution, which is why the tests that do that
|
|
17
|
+
* need `vi.doMock` and are order-sensitive under load. A string chosen from an
|
|
18
|
+
* enum needs none of that.
|
|
19
|
+
*
|
|
20
|
+
* Keep this the ONLY place the mid-session remediation sentence is written.
|
|
21
|
+
* The preflight path at `cli.ts` deliberately keeps its own wording: its PAT
|
|
22
|
+
* arm names the `ROCKHOPPER_TOKEN` env var rather than a restart, so routing
|
|
23
|
+
* it through here would make correct copy worse.
|
|
24
|
+
*/
|
|
25
|
+
export function remediationFor(source) {
|
|
26
|
+
return source === 'pat'
|
|
27
|
+
? 'Create a new Personal Access Token in Rockhopper Settings and restart this MCP server.'
|
|
28
|
+
: 'Restart this MCP server — it will run the browser sign-in again.';
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=remediation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remediation.js","sourceRoot":"","sources":["../../src/auth/remediation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,OAAO,MAAM,KAAK,KAAK;QACrB,CAAC,CAAC,wFAAwF;QAC1F,CAAC,CAAC,kEAAkE,CAAC;AACzE,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { serveStdio } from '@modelcontextprotocol/server/stdio';
|
|
3
3
|
import { ApiClient } from './api-client.js';
|
|
4
|
+
import { remediationFor } from './auth/remediation.js';
|
|
4
5
|
import { AuthResolutionError, resolveAuth, } from './auth/resolve-auth.js';
|
|
5
6
|
import { flushLoggerSync, initLogger, log, serviceVersion, } from './logger.js';
|
|
6
7
|
import { createServer } from './server.js';
|
|
@@ -78,9 +79,38 @@ try {
|
|
|
78
79
|
// ENG-1756 (plan §9 decision 15): the PAT owner IS the human driving this
|
|
79
80
|
// local agent — reuse the preflight to declare them, so every write carries
|
|
80
81
|
// `X-Driving-Human` and the backend's anonymous-agent-write admission
|
|
81
|
-
// never fires for this client.
|
|
82
|
-
//
|
|
83
|
-
|
|
82
|
+
// never fires for this client.
|
|
83
|
+
//
|
|
84
|
+
// ENG-4220: the line that used to sit here said "Best-effort: while unset,
|
|
85
|
+
// the backend resolves the PAT owner server-side (same human)". That was
|
|
86
|
+
// FALSE and it hid a total write outage. The backend does not resolve the
|
|
87
|
+
// owner — the guard reads `request.userPlatformId`
|
|
88
|
+
// (`jwt-or-api-key.guard.ts:233`), the PAT middleware sets that from
|
|
89
|
+
// `User.getPlatformId()` (`pat-auth.middleware.ts:132`), and that method IS
|
|
90
|
+
// `msId || googleId` (`user.entity.ts:371-373`) — the same two fields read
|
|
91
|
+
// on the line below. So the documented fallback only ever fires when the
|
|
92
|
+
// header would already have been sent, and an account linked to neither
|
|
93
|
+
// provider 403s on EVERY write.
|
|
94
|
+
//
|
|
95
|
+
// This client deliberately does NOT paper over it by sending `internalId`
|
|
96
|
+
// instead. The value lands in `driving_human_platform_id`, and the only
|
|
97
|
+
// readers of that column match `User.msId`/`googleId` exactly
|
|
98
|
+
// (`users.service.ts:361-364`, `actor-names.ts:44`) — an internal id there
|
|
99
|
+
// would be recorded as an attribution no reader can resolve, on a financial
|
|
100
|
+
// audit trail, from a package customers pin by version. Admitting the write
|
|
101
|
+
// is a backend change; the client's job is to say so before the first tool
|
|
102
|
+
// call fails opaquely.
|
|
103
|
+
const drivingHumanPlatformId = me?.msId ?? me?.googleId ?? null;
|
|
104
|
+
apiClient.setDrivingHuman(drivingHumanPlatformId);
|
|
105
|
+
if (drivingHumanPlatformId === null) {
|
|
106
|
+
log.warn({ event: 'driving_human_unresolvable', internalId: me?.internalId }, 'driving_human_unresolvable');
|
|
107
|
+
// stderr, not a tool result: a tool result is read by the model and by
|
|
108
|
+
// nobody else, and this is the person's problem to fix, not the model's.
|
|
109
|
+
console.error('Warning: this Rockhopper account is not linked to Microsoft or Google, ' +
|
|
110
|
+
'so every write will be refused with "no resolvable driving human" (403).\n' +
|
|
111
|
+
'Reads still work. To enable writes, link a Microsoft or Google account ' +
|
|
112
|
+
'in Rockhopper Settings, then restart this MCP server.');
|
|
113
|
+
}
|
|
84
114
|
}
|
|
85
115
|
catch (err) {
|
|
86
116
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -111,8 +141,8 @@ catch (err) {
|
|
|
111
141
|
// that only the model ever reads.
|
|
112
142
|
apiClient.setAuthExpiredHandler(() => {
|
|
113
143
|
log.warn({ event: 'auth_failed', reason: 'expired_mid_session' }, 'auth_failed');
|
|
114
|
-
console.error('Error: Rockhopper rejected the token (401) — it expired or was revoked
|
|
115
|
-
|
|
144
|
+
console.error('Error: Rockhopper rejected the token (401) — it expired or was revoked ' +
|
|
145
|
+
`after this server started. ${remediationFor(resolved.source)}`);
|
|
116
146
|
});
|
|
117
147
|
// ENG-2208: register only what this token may do. `createServer(apiClient)` —
|
|
118
148
|
// one argument — used to register all nine write tools for every launch, so a
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/drive-search.d.ts
CHANGED
|
@@ -89,6 +89,15 @@ export type DriveSearchOutcome =
|
|
|
89
89
|
| 'microsoft_admin_approval_required'
|
|
90
90
|
/** Microsoft could not answer, or the caller is searching too fast. */
|
|
91
91
|
| 'search_unavailable'
|
|
92
|
+
/**
|
|
93
|
+
* ENG-4313 — the backend REFUSED this caller. Its own outcome and not a
|
|
94
|
+
* flavour of `search_unavailable`, for the reason
|
|
95
|
+
* `microsoft_admin_approval_required` is not one either: the two name
|
|
96
|
+
* opposite next moves. `search_unavailable` means try again; this means the
|
|
97
|
+
* answer will not change until somebody acts outside this session, and a
|
|
98
|
+
* retry costs a unit of the session's search budget for nothing.
|
|
99
|
+
*/
|
|
100
|
+
| 'search_refused'
|
|
92
101
|
/** This Rockhopper deployment serves no drive-search route yet. */
|
|
93
102
|
| 'backend_unsupported'
|
|
94
103
|
/** The confirmation named a file this session's search never returned. */
|
|
@@ -186,6 +195,22 @@ export interface ClassifiedSearchFailure {
|
|
|
186
195
|
export declare function classifyDriveSearchFailure(error: unknown): ClassifiedSearchFailure;
|
|
187
196
|
/** The backend's one refusal that means "the user must connect Microsoft". */
|
|
188
197
|
export declare function isNoDelegatedToken(error: unknown): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* The backend's `reason` for a refusal the USER CANNOT FIX (ENG-2614).
|
|
200
|
+
*
|
|
201
|
+
* The tenant has not approved Rockhopper, and Microsoft will not let an
|
|
202
|
+
* ordinary employee approve it — `Sites.Read.All` is administrator-only. So
|
|
203
|
+
* this arrives wearing the same coarse `NO_DELEGATED_TOKEN` code as "you
|
|
204
|
+
* have never connected", and treating the two alike is how the user ends up
|
|
205
|
+
* in a loop: handed a connect link, sent to Microsoft, refused, handed the
|
|
206
|
+
* same link again. Only the fine `reason` separates them.
|
|
207
|
+
*
|
|
208
|
+
* ENG-4311 — the value now comes from the SHARED constant rather than a local
|
|
209
|
+
* one. This file spelled the enum correctly and `list-unenrolled-files.ts`
|
|
210
|
+
* spelled it `'no_delegated_token'`, which matched nothing the backend writes;
|
|
211
|
+
* one repo held two spellings of one enum, and the wrong one was in the file
|
|
212
|
+
* nobody re-read. A second copy is what produced that, so there is one copy.
|
|
213
|
+
*/
|
|
189
214
|
export declare function isAdminConsentRequired(error: unknown): boolean;
|
|
190
215
|
/**
|
|
191
216
|
* What the assistant is told when an administrator has to act.
|
|
@@ -197,4 +222,24 @@ export declare function isAdminConsentRequired(error: unknown): boolean;
|
|
|
197
222
|
* for this user yet.
|
|
198
223
|
*/
|
|
199
224
|
export declare const ADMIN_CONSENT_TEXT: string;
|
|
225
|
+
/**
|
|
226
|
+
* ENG-4313 — the 401: this session's credential is no longer accepted.
|
|
227
|
+
*
|
|
228
|
+
* Says nothing about Microsoft, because Microsoft was never reached. The
|
|
229
|
+
* remedy is the one `auth/remediation.ts` names for a mid-session 401 — the
|
|
230
|
+
* server has to be restarted so it can authenticate again — and the human
|
|
231
|
+
* hears it there, on stderr; this is the same fact told to the model so it
|
|
232
|
+
* stops calling instead of retrying into a budget it will exhaust.
|
|
233
|
+
*/
|
|
234
|
+
export declare const CREDENTIAL_REJECTED_TEXT: string;
|
|
235
|
+
/**
|
|
236
|
+
* ENG-4313 — the 403: the caller was refused, and refusal is not an outage.
|
|
237
|
+
*
|
|
238
|
+
* Deliberately does NOT guess WHY. A 403 on this route can be a token that
|
|
239
|
+
* holds the wrong scope, a route the account may not use, or a policy the
|
|
240
|
+
* client cannot see, and naming one of them would send the user to fix
|
|
241
|
+
* something that is not broken. What it CAN say for certain is that repeating
|
|
242
|
+
* the call changes nothing, which is the part that costs the session budget.
|
|
243
|
+
*/
|
|
244
|
+
export declare const SEARCH_REFUSED_TEXT: string;
|
|
200
245
|
//# sourceMappingURL=drive-search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-search.d.ts","sourceRoot":"","sources":["../src/drive-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"drive-search.d.ts","sourceRoot":"","sources":["../src/drive-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,kFAAkF;AAClF,MAAM,MAAM,kBAAkB;AAC5B,0EAA0E;AACxE,YAAY;AACd,qDAAqD;GACnD,YAAY;AACd,+EAA+E;GAC7E,WAAW;AACb;;;;GAIG;GACD,UAAU;AACZ;;;;;;;;;GASG;GACD,WAAW;AACb;;;GAGG;GACD,eAAe;AACjB,8EAA8E;GAC5E,sBAAsB;AACxB,wEAAwE;GACtE,yBAAyB;AAC3B;;;;;;GAMG;GACD,mCAAmC;AACrC,uEAAuE;GACrE,oBAAoB;AACtB;;;;;;;GAOG;GACD,gBAAgB;AAClB,mEAAmE;GACjE,qBAAqB;AACvB,0EAA0E;GACxE,mBAAmB,CAAC;AAExB;;;;;;GAMG;AACH,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,IAAI,CAAK;gBAEY,KAAK,GAAE,MAAoC;IAExE,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACH,KAAK,IAAI,OAAO;CAKjB;AAED,yEAAyE;AACzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAK7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,GACrC,iBAAiB,CAAC,SAAS,SAAS,EAAE,CAAC,CAKzC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,KAAK,EAAE,MAAM,GACZ,SAAS,GAAG,IAAI,CAKlB;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAS5D;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,uBAAuB,CA0CzB;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK9D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,QAQuB,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,QAIwC,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,QAKuC,CAAC"}
|
package/dist/drive-search.js
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { createRequestStateCodec, } from '@modelcontextprotocol/server';
|
|
29
29
|
import { RockhopperApiError } from './api-client.js';
|
|
30
|
+
import { GRAPH_LINK_FAILURE } from './graph-link-failure.js';
|
|
30
31
|
/**
|
|
31
32
|
* Searches one session may run, total.
|
|
32
33
|
*
|
|
@@ -175,6 +176,15 @@ export function classifyDriveSearchFailure(error) {
|
|
|
175
176
|
'they have worked on lately.',
|
|
176
177
|
};
|
|
177
178
|
}
|
|
179
|
+
// ENG-4313 — these two used to fall through to the catch-all below, which
|
|
180
|
+
// blames Microsoft for a call Microsoft never received, calls a permanent
|
|
181
|
+
// answer transient, and asks a model to retry it. Neither is retryable.
|
|
182
|
+
if (error.status === 401) {
|
|
183
|
+
return { outcome: 'search_refused', message: CREDENTIAL_REJECTED_TEXT };
|
|
184
|
+
}
|
|
185
|
+
if (error.status === 403) {
|
|
186
|
+
return { outcome: 'search_refused', message: SEARCH_REFUSED_TEXT };
|
|
187
|
+
}
|
|
178
188
|
}
|
|
179
189
|
return {
|
|
180
190
|
outcome: 'search_unavailable',
|
|
@@ -196,10 +206,16 @@ export function isNoDelegatedToken(error) {
|
|
|
196
206
|
* have never connected", and treating the two alike is how the user ends up
|
|
197
207
|
* in a loop: handed a connect link, sent to Microsoft, refused, handed the
|
|
198
208
|
* same link again. Only the fine `reason` separates them.
|
|
209
|
+
*
|
|
210
|
+
* ENG-4311 — the value now comes from the SHARED constant rather than a local
|
|
211
|
+
* one. This file spelled the enum correctly and `list-unenrolled-files.ts`
|
|
212
|
+
* spelled it `'no_delegated_token'`, which matched nothing the backend writes;
|
|
213
|
+
* one repo held two spellings of one enum, and the wrong one was in the file
|
|
214
|
+
* nobody re-read. A second copy is what produced that, so there is one copy.
|
|
199
215
|
*/
|
|
200
|
-
const CONSENT_REQUIRED = 'CONSENT_REQUIRED';
|
|
201
216
|
export function isAdminConsentRequired(error) {
|
|
202
|
-
return (error instanceof RockhopperApiError &&
|
|
217
|
+
return (error instanceof RockhopperApiError &&
|
|
218
|
+
error.reason === GRAPH_LINK_FAILURE.CONSENT_REQUIRED);
|
|
203
219
|
}
|
|
204
220
|
/**
|
|
205
221
|
* What the assistant is told when an administrator has to act.
|
|
@@ -218,4 +234,31 @@ export const ADMIN_CONSENT_TEXT = 'Rockhopper cannot search this user\'s Microso
|
|
|
218
234
|
'https://docs.rockhopper.co/it-setup/approve-file-access, which has ' +
|
|
219
235
|
'the approval link and what it grants. Everything else in Rockhopper ' +
|
|
220
236
|
'keeps working meanwhile. Do not retry this search.';
|
|
237
|
+
/**
|
|
238
|
+
* ENG-4313 — the 401: this session's credential is no longer accepted.
|
|
239
|
+
*
|
|
240
|
+
* Says nothing about Microsoft, because Microsoft was never reached. The
|
|
241
|
+
* remedy is the one `auth/remediation.ts` names for a mid-session 401 — the
|
|
242
|
+
* server has to be restarted so it can authenticate again — and the human
|
|
243
|
+
* hears it there, on stderr; this is the same fact told to the model so it
|
|
244
|
+
* stops calling instead of retrying into a budget it will exhaust.
|
|
245
|
+
*/
|
|
246
|
+
export const CREDENTIAL_REJECTED_TEXT = 'Rockhopper rejected this session\'s credential — it expired or was revoked ' +
|
|
247
|
+
'after this server started. Nothing was searched, and this says nothing ' +
|
|
248
|
+
'about what the user has. Restarting the MCP server lets it sign in again; ' +
|
|
249
|
+
'a Personal Access Token holder needs a new one. Do not retry this search.';
|
|
250
|
+
/**
|
|
251
|
+
* ENG-4313 — the 403: the caller was refused, and refusal is not an outage.
|
|
252
|
+
*
|
|
253
|
+
* Deliberately does NOT guess WHY. A 403 on this route can be a token that
|
|
254
|
+
* holds the wrong scope, a route the account may not use, or a policy the
|
|
255
|
+
* client cannot see, and naming one of them would send the user to fix
|
|
256
|
+
* something that is not broken. What it CAN say for certain is that repeating
|
|
257
|
+
* the call changes nothing, which is the part that costs the session budget.
|
|
258
|
+
*/
|
|
259
|
+
export const SEARCH_REFUSED_TEXT = 'Rockhopper refused this file search for this user — this is a permissions ' +
|
|
260
|
+
'answer, not an outage, and nothing was searched. It is not an empty drive. ' +
|
|
261
|
+
'Retrying will return the same answer, so do not retry this search. Ask the ' +
|
|
262
|
+
'user to paste the workbook link and call `enroll_file` with it, or to check ' +
|
|
263
|
+
'in Rockhopper Settings that this connection may search their files.';
|
|
221
264
|
//# sourceMappingURL=drive-search.js.map
|
package/dist/drive-search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-search.js","sourceRoot":"","sources":["../src/drive-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAkB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"drive-search.js","sourceRoot":"","sources":["../src/drive-search.ts"],"names":[],"mappings":"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"}
|
package/dist/enrollment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../src/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,IAAI,EACJ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,UAAU,GACV,kBAAkB,GAClB,iBAAiB,GACjB,yBAAyB,GACzB,cAAc,GACd,sBAAsB,GACtB,qBAAqB,GACrB,+BAA+B,GAC/B,qBAAqB,CAAC;AAE1B,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAmBtC;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,GACrB,kBAAkB,GAAG,+BAA+B,GAAG,IAAI,CAI7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,uBAAuB,EACtC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAwG3E;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,uEAAuE;AACvE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../src/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,IAAI,EACJ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,UAAU,GACV,kBAAkB,GAClB,iBAAiB,GACjB,yBAAyB,GACzB,cAAc,GACd,sBAAsB,GACtB,qBAAqB,GACrB,+BAA+B,GAC/B,qBAAqB,CAAC;AAE1B,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAmBtC;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,GACrB,kBAAkB,GAAG,+BAA+B,GAAG,IAAI,CAI7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,uBAAuB,EACtC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAwG3E;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,uEAAuE;AACvE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkEnB"}
|
package/dist/enrollment.js
CHANGED
|
@@ -251,10 +251,31 @@ export async function resolveTeamShareTargets(api) {
|
|
|
251
251
|
'Nothing was changed.');
|
|
252
252
|
}
|
|
253
253
|
const team = await api.getTeam(teamId);
|
|
254
|
-
|
|
254
|
+
// ENG-4219 — READ THE SAME PAIR ON BOTH SIDES.
|
|
255
|
+
//
|
|
256
|
+
// The self side already read `msId ?? googleId`; the target side read `msId`
|
|
257
|
+
// alone, so a Google-linked teammate mapped to null and was filtered out
|
|
258
|
+
// below. A team with no Microsoft members filtered to EMPTY and reported
|
|
259
|
+
// "you are the only member of your team" to somebody with four colleagues —
|
|
260
|
+
// false, and relayed to the user as fact by the assistant.
|
|
261
|
+
//
|
|
262
|
+
// The identifier stays the PLATFORM id rather than moving to the internal
|
|
263
|
+
// `UserSummary.id` uuid, which reads like the better answer and is not one:
|
|
264
|
+
// the backend resolves every element of `shareWithUserMsIds` with
|
|
265
|
+
// `findOneByMsId` (`where: { msId }`), so an internal id matches no row and
|
|
266
|
+
// each teammate is skipped with a log line the user never sees — a silent
|
|
267
|
+
// no-op, strictly worse than today's wrong error. A teammate with NEITHER
|
|
268
|
+
// provider linked is still dropped here for the same reason: that endpoint
|
|
269
|
+
// has no way to reach them.
|
|
270
|
+
//
|
|
271
|
+
// `mine` is a SET of the caller's identities, not a single `??` pick. The
|
|
272
|
+
// roster may serialize a two-provider caller by whichever id it holds, and
|
|
273
|
+
// one value compared against the other namespace never matches — which put
|
|
274
|
+
// the caller in their own share list.
|
|
275
|
+
const mine = new Set([me.msId, me.googleId].filter((id) => !!id));
|
|
255
276
|
const targets = (team.teamMembers ?? [])
|
|
256
|
-
.map((member) => member.user?.msId ?? null)
|
|
257
|
-
.filter((id) => !!id && id
|
|
277
|
+
.map((member) => member.user?.msId ?? member.user?.googleId ?? null)
|
|
278
|
+
.filter((id) => !!id && !mine.has(id));
|
|
258
279
|
if (targets.length === 0) {
|
|
259
280
|
throw new TeamUnresolvedError(`You are the only member of ${team.name ? `the ${team.name} team` : 'your team'}, so sharing with the team would share it with nobody. Call ` +
|
|
260
281
|
'`enroll_file` again with share_with="me" to add it just for ' +
|
package/dist/enrollment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../src/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA8CrD;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD;;6CAE6C;AAC7C,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAC7B,KAAsB;IAEtB,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,kBAAkB,CAAC;IACpD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,+BAA+B,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CACnC,aAAsC,EACtC,QAAgB,EAChB,GAAW;IAEX,MAAM,OAAO,GAAG,IAAI,QAAQ,IAAI,cAAc,GAAG,CAAC;IAClD,MAAM,UAAU,GACd,uEAAuE;QACvE,wEAAwE;QACxE,qBAAqB,CAAC;IAExB,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,GAAG,OAAO,gCAAgC,GAAG,KAAK,UAAU,EAAE;aACrE,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,GAAG,OAAO,qBAAqB,GAAG,KAAK,UAAU,EAAE;aAC1D,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,OAAO,EAAE,kBAAkB;gBAC3B,IAAI,EACF,GAAG,OAAO,mDAAmD,GAAG,IAAI;oBACpE,qDAAqD;oBACrD,mEAAmE;oBACnE,WAAW;aACd,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,aAAa,CAAC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EACL,mEAAmE;gBACnE,mEAAmE;gBACnE,sBAAsB;SACzB,CAAC;IACJ,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,KAAK,sBAAsB;YACzB,OAAO;gBACL,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EACL,mEAAmE;oBACnE,mEAAmE;oBACnE,4DAA4D;oBAC5D,iEAAiE;oBACjE,yDAAyD;oBACzD,iEAAiE;oBACjE,iEAAiE;oBACjE,6BAA6B;aAChC,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EACL,iEAAiE;oBACjE,qDAAqD;oBACrD,+DAA+D;oBAC/D,UAAU;aACb,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EACL,mEAAmE;oBACnE,iEAAiE;oBACjE,sCAAsC;aACzC,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EACL,mEAAmE;oBACnE,gEAAgE;oBAChE,yBAAyB;aAC5B,CAAC;QACJ,KAAK,wBAAwB;YAC3B,OAAO;gBACL,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EACL,4DAA4D;oBAC5D,oEAAoE;oBACpE,gDAAgD;aACnD,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,OAAO,EACL,kEAAkE;oBAClE,iEAAiE;oBACjE,+BAA+B;aAClC,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,OAAO,EACL,8DAA8D;oBAC9D,mDAAmD;aACtD,CAAC;QACJ;YACE,MAAM;IACV,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,OAAO,EACL,sEAAsE;gBACtE,4DAA4D;SAC/D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC;AAYD,uEAAuE;AACvE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAkB;IAElB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,mEAAmE;IACnE,6EAA6E;IAC7E,8CAA8C;IAC9C,EAAE;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,mBAAmB,CAC3B,mEAAmE;YACjE,qEAAqE;YACrE,kEAAkE;YAClE,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../src/enrollment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ENG-4311 — the delegated-Microsoft failure codes, spelled ONCE.
|
|
3
|
+
*
|
|
4
|
+
* ## The defect this exists to close
|
|
5
|
+
*
|
|
6
|
+
* `list_unenrolled_files` guarded against its worst failure — reporting "we
|
|
7
|
+
* never managed to look" as "there is nothing to add" — with
|
|
8
|
+
* `lastFailureReason === 'no_delegated_token'`. The backend does not write
|
|
9
|
+
* that string. Traced end to end:
|
|
10
|
+
*
|
|
11
|
+
* 1. `backend/src/resources/graph-links/graph-link-errors.ts` — the
|
|
12
|
+
* `GraphLinkFailure` enum is SCREAMING_SNAKE, and
|
|
13
|
+
* `NoDelegatedTokenError.reason` is a required constructor argument, so
|
|
14
|
+
* it is always one of the four values below.
|
|
15
|
+
* 2. `backend/src/user-drive-inventory/user-drive-inventory-refresh.service.ts`
|
|
16
|
+
* passes `error.reason` — the enum value — as the recorded reason.
|
|
17
|
+
* 3. `backend/src/user-drive-inventory/user-drive-sync-state.service.ts`
|
|
18
|
+
* stores `detail.reason ?? outcome`. `detail.reason` is set on that path,
|
|
19
|
+
* so the `?? outcome` fallback never runs.
|
|
20
|
+
* 4. `backend/src/user-drive-inventory/user-drive-inventory.service.ts`
|
|
21
|
+
* serializes the column verbatim. Nothing normalises the case anywhere.
|
|
22
|
+
*
|
|
23
|
+
* So the lowercase comparison never matched, the branch was unreachable, and a
|
|
24
|
+
* user with no working Microsoft link fell through to "the first scan has not
|
|
25
|
+
* finished, one has been started, try again shortly" — an instruction to retry,
|
|
26
|
+
* addressed to a state that no retry can change, with the real reason printed
|
|
27
|
+
* in a parenthetical one sentence later.
|
|
28
|
+
*
|
|
29
|
+
* ## Why the values live here and not in the two files that read them
|
|
30
|
+
*
|
|
31
|
+
* `drive-search.ts` already compared `CONSENT_REQUIRED` correctly. One repo
|
|
32
|
+
* held two spellings of one enum, and the file that got it wrong is the file
|
|
33
|
+
* nobody re-read. A second copy is what produced the defect, so there is one
|
|
34
|
+
* copy, imported by both.
|
|
35
|
+
*
|
|
36
|
+
* The strings are duplicated from the backend rather than imported because
|
|
37
|
+
* this package ships to customers over npm on its own release clock and takes
|
|
38
|
+
* no build dependency on the API. `LEGACY_OUTCOME_NAME` is what keeps that
|
|
39
|
+
* duplication honest in the one direction it can drift safely.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* The four reasons a delegated Microsoft call can fail, byte-for-byte as the
|
|
43
|
+
* backend's `GraphLinkFailure` enum writes them.
|
|
44
|
+
*
|
|
45
|
+
* They are NOT interchangeable. Three of the four name a different party who
|
|
46
|
+
* has to act, and collapsing them is how ENG-2614's loop happened: a user whose
|
|
47
|
+
* TENANT is the blocker was handed a connect link, sent to Microsoft, refused,
|
|
48
|
+
* and returned with the same link.
|
|
49
|
+
*/
|
|
50
|
+
export declare const GRAPH_LINK_FAILURE: {
|
|
51
|
+
/** No link on file — never consented, or unlinked. The user connects. */
|
|
52
|
+
readonly NO_DELEGATED_TOKEN: "NO_DELEGATED_TOKEN";
|
|
53
|
+
/** Microsoft rejected the stored refresh token. The user reconnects. */
|
|
54
|
+
readonly DELEGATED_TOKEN_REJECTED: "DELEGATED_TOKEN_REJECTED";
|
|
55
|
+
/** The ciphertext will not open under our key. OUR fault; the user
|
|
56
|
+
* reconnects anyway, because that is the only lever they hold. */
|
|
57
|
+
readonly DELEGATED_TOKEN_UNREADABLE: "DELEGATED_TOKEN_UNREADABLE";
|
|
58
|
+
/** The tenant has not approved Rockhopper. ONLY an administrator can act. */
|
|
59
|
+
readonly CONSENT_REQUIRED: "CONSENT_REQUIRED";
|
|
60
|
+
};
|
|
61
|
+
export type GraphLinkFailure = (typeof GRAPH_LINK_FAILURE)[keyof typeof GRAPH_LINK_FAILURE];
|
|
62
|
+
/**
|
|
63
|
+
* The delegated-link failure a recorded reason names, or `null`.
|
|
64
|
+
*
|
|
65
|
+
* `null` means "this is not a link failure" — `graph_unavailable`,
|
|
66
|
+
* `token_mint_failed`, an exception name, or nothing recorded at all. Those
|
|
67
|
+
* keep their existing handling: a caller must not render a Graph outage as a
|
|
68
|
+
* broken link, which would send the user to reconnect something that works.
|
|
69
|
+
*
|
|
70
|
+
* EXACT MATCH on the four. No case folding and no prefix test: a value we do
|
|
71
|
+
* not recognise is not "probably one of these", it is a code this package has
|
|
72
|
+
* not learned about, and guessing is what put a made-up string in the
|
|
73
|
+
* comparison in the first place.
|
|
74
|
+
*/
|
|
75
|
+
export declare function graphLinkFailureFrom(reason: string | null | undefined): GraphLinkFailure | null;
|
|
76
|
+
export declare const GRAPH_LINK_FAILURE_TEXT: Readonly<Record<GraphLinkFailure, string>>;
|
|
77
|
+
//# sourceMappingURL=graph-link-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-link-failure.d.ts","sourceRoot":"","sources":["../src/graph-link-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;IAC7B,yEAAyE;;IAEzE,wEAAwE;;IAExE;sEACkE;;IAElE,6EAA6E;;CAErE,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAgB/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,gBAAgB,GAAG,IAAI,CAMzB;AAqBD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CA2BjC,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ENG-4311 — the delegated-Microsoft failure codes, spelled ONCE.
|
|
3
|
+
*
|
|
4
|
+
* ## The defect this exists to close
|
|
5
|
+
*
|
|
6
|
+
* `list_unenrolled_files` guarded against its worst failure — reporting "we
|
|
7
|
+
* never managed to look" as "there is nothing to add" — with
|
|
8
|
+
* `lastFailureReason === 'no_delegated_token'`. The backend does not write
|
|
9
|
+
* that string. Traced end to end:
|
|
10
|
+
*
|
|
11
|
+
* 1. `backend/src/resources/graph-links/graph-link-errors.ts` — the
|
|
12
|
+
* `GraphLinkFailure` enum is SCREAMING_SNAKE, and
|
|
13
|
+
* `NoDelegatedTokenError.reason` is a required constructor argument, so
|
|
14
|
+
* it is always one of the four values below.
|
|
15
|
+
* 2. `backend/src/user-drive-inventory/user-drive-inventory-refresh.service.ts`
|
|
16
|
+
* passes `error.reason` — the enum value — as the recorded reason.
|
|
17
|
+
* 3. `backend/src/user-drive-inventory/user-drive-sync-state.service.ts`
|
|
18
|
+
* stores `detail.reason ?? outcome`. `detail.reason` is set on that path,
|
|
19
|
+
* so the `?? outcome` fallback never runs.
|
|
20
|
+
* 4. `backend/src/user-drive-inventory/user-drive-inventory.service.ts`
|
|
21
|
+
* serializes the column verbatim. Nothing normalises the case anywhere.
|
|
22
|
+
*
|
|
23
|
+
* So the lowercase comparison never matched, the branch was unreachable, and a
|
|
24
|
+
* user with no working Microsoft link fell through to "the first scan has not
|
|
25
|
+
* finished, one has been started, try again shortly" — an instruction to retry,
|
|
26
|
+
* addressed to a state that no retry can change, with the real reason printed
|
|
27
|
+
* in a parenthetical one sentence later.
|
|
28
|
+
*
|
|
29
|
+
* ## Why the values live here and not in the two files that read them
|
|
30
|
+
*
|
|
31
|
+
* `drive-search.ts` already compared `CONSENT_REQUIRED` correctly. One repo
|
|
32
|
+
* held two spellings of one enum, and the file that got it wrong is the file
|
|
33
|
+
* nobody re-read. A second copy is what produced the defect, so there is one
|
|
34
|
+
* copy, imported by both.
|
|
35
|
+
*
|
|
36
|
+
* The strings are duplicated from the backend rather than imported because
|
|
37
|
+
* this package ships to customers over npm on its own release clock and takes
|
|
38
|
+
* no build dependency on the API. `LEGACY_OUTCOME_NAME` is what keeps that
|
|
39
|
+
* duplication honest in the one direction it can drift safely.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* The four reasons a delegated Microsoft call can fail, byte-for-byte as the
|
|
43
|
+
* backend's `GraphLinkFailure` enum writes them.
|
|
44
|
+
*
|
|
45
|
+
* They are NOT interchangeable. Three of the four name a different party who
|
|
46
|
+
* has to act, and collapsing them is how ENG-2614's loop happened: a user whose
|
|
47
|
+
* TENANT is the blocker was handed a connect link, sent to Microsoft, refused,
|
|
48
|
+
* and returned with the same link.
|
|
49
|
+
*/
|
|
50
|
+
export const GRAPH_LINK_FAILURE = {
|
|
51
|
+
/** No link on file — never consented, or unlinked. The user connects. */
|
|
52
|
+
NO_DELEGATED_TOKEN: 'NO_DELEGATED_TOKEN',
|
|
53
|
+
/** Microsoft rejected the stored refresh token. The user reconnects. */
|
|
54
|
+
DELEGATED_TOKEN_REJECTED: 'DELEGATED_TOKEN_REJECTED',
|
|
55
|
+
/** The ciphertext will not open under our key. OUR fault; the user
|
|
56
|
+
* reconnects anyway, because that is the only lever they hold. */
|
|
57
|
+
DELEGATED_TOKEN_UNREADABLE: 'DELEGATED_TOKEN_UNREADABLE',
|
|
58
|
+
/** The tenant has not approved Rockhopper. ONLY an administrator can act. */
|
|
59
|
+
CONSENT_REQUIRED: 'CONSENT_REQUIRED',
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The lowercase OUTCOME name, which is a different thing from a reason and is
|
|
63
|
+
* still reachable.
|
|
64
|
+
*
|
|
65
|
+
* `recordOutcome` stores `detail.reason ?? outcome`, so a caller that records
|
|
66
|
+
* the outcome with no reason lands here, and so does any backend older than
|
|
67
|
+
* the enum. Accepted as `NO_DELEGATED_TOKEN` — the coarse answer it always
|
|
68
|
+
* meant — rather than dropped, because refusing it would re-open the same hole
|
|
69
|
+
* for the deployments that do send it.
|
|
70
|
+
*/
|
|
71
|
+
const LEGACY_OUTCOME_NAME = 'no_delegated_token';
|
|
72
|
+
const KNOWN = new Set(Object.values(GRAPH_LINK_FAILURE));
|
|
73
|
+
/**
|
|
74
|
+
* The delegated-link failure a recorded reason names, or `null`.
|
|
75
|
+
*
|
|
76
|
+
* `null` means "this is not a link failure" — `graph_unavailable`,
|
|
77
|
+
* `token_mint_failed`, an exception name, or nothing recorded at all. Those
|
|
78
|
+
* keep their existing handling: a caller must not render a Graph outage as a
|
|
79
|
+
* broken link, which would send the user to reconnect something that works.
|
|
80
|
+
*
|
|
81
|
+
* EXACT MATCH on the four. No case folding and no prefix test: a value we do
|
|
82
|
+
* not recognise is not "probably one of these", it is a code this package has
|
|
83
|
+
* not learned about, and guessing is what put a made-up string in the
|
|
84
|
+
* comparison in the first place.
|
|
85
|
+
*/
|
|
86
|
+
export function graphLinkFailureFrom(reason) {
|
|
87
|
+
if (typeof reason !== 'string')
|
|
88
|
+
return null;
|
|
89
|
+
if (reason === LEGACY_OUTCOME_NAME) {
|
|
90
|
+
return GRAPH_LINK_FAILURE.NO_DELEGATED_TOKEN;
|
|
91
|
+
}
|
|
92
|
+
return KNOWN.has(reason) ? reason : null;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* What to tell the assistant for each failure, written to be ACTED on.
|
|
96
|
+
*
|
|
97
|
+
* Two rules hold across all four, and both are the point of the ticket:
|
|
98
|
+
*
|
|
99
|
+
* - **No retry language.** Every one of these is stable until a person does
|
|
100
|
+
* something outside this session. "Try again shortly" is what the dead
|
|
101
|
+
* branch's fall-through said, and a model complies with it.
|
|
102
|
+
* - **`connect_microsoft` appears only where the USER can fix it.** It is
|
|
103
|
+
* absent from the consent case on purpose (ENG-2614), and its absence is
|
|
104
|
+
* asserted rather than assumed.
|
|
105
|
+
*
|
|
106
|
+
* Each also states that an empty list is not evidence of an empty drive, since
|
|
107
|
+
* that inference is the harm the whole surface is written against.
|
|
108
|
+
*/
|
|
109
|
+
const NOT_EVIDENCE = ' This list will stay empty until that is done, which is NOT the same as ' +
|
|
110
|
+
'having nothing to add.';
|
|
111
|
+
export const GRAPH_LINK_FAILURE_TEXT = {
|
|
112
|
+
[GRAPH_LINK_FAILURE.NO_DELEGATED_TOKEN]: 'Rockhopper cannot see this user\'s workbooks: their Microsoft account ' +
|
|
113
|
+
'is not connected. Run `connect_microsoft` first.' + NOT_EVIDENCE,
|
|
114
|
+
[GRAPH_LINK_FAILURE.DELEGATED_TOKEN_REJECTED]: 'Rockhopper cannot see this user\'s workbooks: their connection to ' +
|
|
115
|
+
'Microsoft has expired or was revoked — in Microsoft, by them or by an ' +
|
|
116
|
+
'administrator. Run `connect_microsoft` to reconnect.' + NOT_EVIDENCE,
|
|
117
|
+
[GRAPH_LINK_FAILURE.DELEGATED_TOKEN_UNREADABLE]: 'Rockhopper cannot see this user\'s workbooks: the stored Microsoft ' +
|
|
118
|
+
'connection could not be read. That is a Rockhopper-side fault, not ' +
|
|
119
|
+
'anything the user did wrong, and reconnecting repairs it — run ' +
|
|
120
|
+
'`connect_microsoft`.' + NOT_EVIDENCE,
|
|
121
|
+
// No connect link, deliberately: there is nothing on the far end of one for
|
|
122
|
+
// this user until an administrator acts. Mirrors `ADMIN_CONSENT_TEXT` in
|
|
123
|
+
// `drive-search.ts`, which answers the same condition on the search surface.
|
|
124
|
+
[GRAPH_LINK_FAILURE.CONSENT_REQUIRED]: 'Rockhopper cannot see this user\'s workbooks because their organisation ' +
|
|
125
|
+
'has not approved Rockhopper yet. Microsoft only lets a Microsoft 365 ' +
|
|
126
|
+
'administrator approve this — the user cannot grant it themselves, and ' +
|
|
127
|
+
'connecting or signing in again will not change the answer. Ask the user ' +
|
|
128
|
+
'to send their IT administrator to ' +
|
|
129
|
+
'https://docs.rockhopper.co/it-setup/approve-file-access.' + NOT_EVIDENCE,
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=graph-link-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-link-failure.js","sourceRoot":"","sources":["../src/graph-link-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yEAAyE;IACzE,kBAAkB,EAAE,oBAAoB;IACxC,wEAAwE;IACxE,wBAAwB,EAAE,0BAA0B;IACpD;sEACkE;IAClE,0BAA0B,EAAE,4BAA4B;IACxD,6EAA6E;IAC7E,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAKX;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAiC;IAEjC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA2B,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAY,GAChB,0EAA0E;IAC1E,wBAAwB,CAAC;AAE3B,MAAM,CAAC,MAAM,uBAAuB,GAEhC;IACF,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EACrC,wEAAwE;QACxE,kDAAkD,GAAG,YAAY;IAEnE,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAC3C,oEAAoE;QACpE,wEAAwE;QACxE,sDAAsD,GAAG,YAAY;IAEvE,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,EAC7C,qEAAqE;QACrE,qEAAqE;QACrE,iEAAiE;QACjE,sBAAsB,GAAG,YAAY;IAEvC,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EACnC,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,oCAAoC;QACpC,0DAA0D,GAAG,YAAY;CAC5E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-unenrolled-files.d.ts","sourceRoot":"","sources":["../../src/tools/list-unenrolled-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-unenrolled-files.d.ts","sourceRoot":"","sources":["../../src/tools/list-unenrolled-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAUlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,GACb,IAAI,CAqFN"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { GRAPH_LINK_FAILURE_TEXT, graphLinkFailureFrom, } from '../graph-link-failure.js';
|
|
2
3
|
/**
|
|
3
4
|
* ENG-2785 — "which of my workbooks are NOT in Rockhopper yet?"
|
|
4
5
|
*
|
|
@@ -152,15 +153,21 @@ function renderFound(items, freshness, nextCursor = null) {
|
|
|
152
153
|
`${lines.join('\n')}\n\n${dateline(freshness)}${moreToCome(nextCursor)}`);
|
|
153
154
|
}
|
|
154
155
|
function renderEmpty(freshness, nextCursor = null) {
|
|
155
|
-
// ORDER IS LOAD-BEARING.
|
|
156
|
+
// ORDER IS LOAD-BEARING. A broken link and a first refresh that has not
|
|
156
157
|
// finished both mean there is nothing to page THROUGH, so sending the model
|
|
157
158
|
// after another page instead of `connect_microsoft` starts a loop that cannot
|
|
158
159
|
// end. Those two branches come first and keep their own instruction.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
160
|
+
//
|
|
161
|
+
// ENG-4311 — this used to compare `lastFailureReason === 'no_delegated_token'`
|
|
162
|
+
// against a producer that writes the SCREAMING_SNAKE `GraphLinkFailure` enum,
|
|
163
|
+
// so it never matched and this branch was dead: a user with no working link
|
|
164
|
+
// fell through to the never-refreshed message below and was told a scan had
|
|
165
|
+
// been started and to try again shortly. Neither was true. The four codes are
|
|
166
|
+
// kept APART rather than collapsed, because three of them name a different
|
|
167
|
+
// person who has to act — see `graph-link-failure.ts`.
|
|
168
|
+
const linkFailure = graphLinkFailureFrom(freshness.lastFailureReason);
|
|
169
|
+
if (linkFailure)
|
|
170
|
+
return GRAPH_LINK_FAILURE_TEXT[linkFailure];
|
|
164
171
|
if (!freshness.asOf) {
|
|
165
172
|
return ('No answer yet — the first scan of this user\'s drive has not finished. ' +
|
|
166
173
|
`${freshness.refreshing ? 'One is running now.' : 'One has been started.'} ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-unenrolled-files.js","sourceRoot":"","sources":["../../src/tools/list-unenrolled-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"list-unenrolled-files.js","sourceRoot":"","sources":["../../src/tools/list-unenrolled-files.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockhopper-co/mcp-server",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.59-staging.eb505a3",
|
|
4
4
|
"description": "Rockhopper MCP server — expose file metadata, versions, reviews, and comments to AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|