@rockhopper-co/mcp-server 2.0.1 → 2.1.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.
- package/README.md +2 -1
- package/dist/api-client.d.ts +136 -2
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +185 -2
- package/dist/api-client.js.map +1 -1
- package/dist/capabilities.d.ts +5 -6
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +6 -9
- package/dist/capabilities.js.map +1 -1
- package/dist/drive-search.d.ts +162 -0
- package/dist/drive-search.d.ts.map +1 -0
- package/dist/drive-search.js +210 -0
- package/dist/drive-search.js.map +1 -0
- package/dist/enrollment.d.ts +121 -0
- package/dist/enrollment.d.ts.map +1 -0
- package/dist/enrollment.js +247 -0
- package/dist/enrollment.js.map +1 -0
- package/dist/resources/orchestration-guide.md +58 -8
- package/dist/tools/connect-microsoft.d.ts +21 -0
- package/dist/tools/connect-microsoft.d.ts.map +1 -0
- package/dist/tools/connect-microsoft.js +138 -0
- package/dist/tools/connect-microsoft.js.map +1 -0
- package/dist/tools/drive-search-lanes.d.ts +65 -0
- package/dist/tools/drive-search-lanes.d.ts.map +1 -0
- package/dist/tools/drive-search-lanes.js +95 -0
- package/dist/tools/drive-search-lanes.js.map +1 -0
- package/dist/tools/drive-search.contract.d.ts +94 -0
- package/dist/tools/drive-search.contract.d.ts.map +1 -0
- package/dist/tools/drive-search.contract.js +235 -0
- package/dist/tools/drive-search.contract.js.map +1 -0
- package/dist/tools/drive-search.d.ts +31 -0
- package/dist/tools/drive-search.d.ts.map +1 -0
- package/dist/tools/drive-search.js +209 -0
- package/dist/tools/drive-search.js.map +1 -0
- package/dist/tools/enroll-file.contract.d.ts +52 -0
- package/dist/tools/enroll-file.contract.d.ts.map +1 -0
- package/dist/tools/enroll-file.contract.js +105 -0
- package/dist/tools/enroll-file.contract.js.map +1 -0
- package/dist/tools/enroll-file.d.ts +4 -0
- package/dist/tools/enroll-file.d.ts.map +1 -0
- package/dist/tools/enroll-file.js +184 -0
- package/dist/tools/enroll-file.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +12 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +25 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/write-files.d.ts.map +1 -1
- package/dist/tools/write-files.js +5 -0
- package/dist/tools/write-files.js.map +1 -1
- package/dist/types.d.ts +150 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -143,7 +143,8 @@ npm run generate:postman
|
|
|
143
143
|
| `get_file_comments` | Get comments and threaded discussions on a file |
|
|
144
144
|
| `get_reviews` | Get review requests for a version or file |
|
|
145
145
|
| `get_cell_history` | Get change history for a specific cell across versions |
|
|
146
|
-
| `search_files` | Search enrolled
|
|
146
|
+
| `search_files` | Search files **already enrolled** in Rockhopper, by name |
|
|
147
|
+
| `search_drive_files` | Find a workbook in the user's own OneDrive / SharePoint, including files Rockhopper has never seen; returns candidates to confirm with the user before `enroll_file` |
|
|
147
148
|
| `get_unattributed_changes` | Get pending cell changes not yet committed to a version |
|
|
148
149
|
|
|
149
150
|
## Available Resources
|
package/dist/api-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellHistoryEntry, EnrolledFile, FileChat, FileVersion, FoldStatus, PaginatedUnattributedResponse, ReviewActivity, ReviewRequest, RockhopperId, Team, UnattributedChange, UserSummary } from './types.js';
|
|
1
|
+
import type { CellHistoryEntry, EnrolledFile, FileChat, FileVersion, FoldStatus, PaginatedUnattributedResponse, ReviewActivity, ReviewRequest, RockhopperId, Team, UnattributedChange, UserSummary, MicrosoftConnectHandoff, MicrosoftLinkStatus, EnrollmentInfo, QueuedEnrollment, ResolvedFileUrl, DriveSearchResponse, DriveSearchScope } from './types.js';
|
|
2
2
|
export interface ApiClientConfig {
|
|
3
3
|
baseUrl: string;
|
|
4
4
|
token: string;
|
|
@@ -41,7 +41,29 @@ export interface ApiClientConfig {
|
|
|
41
41
|
*/
|
|
42
42
|
export declare class RockhopperApiError extends Error {
|
|
43
43
|
readonly status: number;
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* ENG-2200 — the backend's own machine-readable refusal code, when it sent
|
|
46
|
+
* one. Enrollment refusals each name a DIFFERENT remedy
|
|
47
|
+
* (`ACCESS_UNPROVEN` = link a Microsoft account, `URL_UNSUPPORTED_PROVIDER`
|
|
48
|
+
* = this is not a Microsoft link, `FILE_ACCESS_DENIED` = nothing to retry),
|
|
49
|
+
* and telling them apart by matching prose would break the first time
|
|
50
|
+
* someone rewords a message. `null` when the body carried no `code` — every
|
|
51
|
+
* pre-existing caller reads {@link Error.message} and is unaffected.
|
|
52
|
+
*/
|
|
53
|
+
readonly code: string | null;
|
|
54
|
+
/**
|
|
55
|
+
* ENG-2614 — the FINE half of a refusal, where the backend sends one.
|
|
56
|
+
*
|
|
57
|
+
* `code` is deliberately coarse on the drive-search route so a client has
|
|
58
|
+
* exactly one thing to branch on: can I search or not. `reason` is what
|
|
59
|
+
* says WHICH of four situations produced it — never connected, link
|
|
60
|
+
* revoked, ciphertext unreadable, or the tenant has not approved
|
|
61
|
+
* Rockhopper — and only three of those are the user's to fix. Without it
|
|
62
|
+
* a tenant awaiting administrator approval is handed a connect link that
|
|
63
|
+
* cannot possibly work, and clicking it returns them here: a loop.
|
|
64
|
+
*/
|
|
65
|
+
readonly reason: string | null;
|
|
66
|
+
constructor(status: number, message: string, code?: string | null, reason?: string | null);
|
|
45
67
|
}
|
|
46
68
|
export declare class ApiClient {
|
|
47
69
|
private readonly baseUrl;
|
|
@@ -87,6 +109,23 @@ export declare class ApiClient {
|
|
|
87
109
|
*/
|
|
88
110
|
private request;
|
|
89
111
|
getMe(): Promise<UserSummary>;
|
|
112
|
+
/**
|
|
113
|
+
* Ask the BACKEND to build the Microsoft consent URL.
|
|
114
|
+
*
|
|
115
|
+
* Note what this method cannot do: pass a URL, a redirect, a client id or a
|
|
116
|
+
* scope list. The authorize URL is constructed server-side and the callback
|
|
117
|
+
* re-pins the client id and redirect when it redeems the code. That is
|
|
118
|
+
* deliberate — a URL this client could influence is a consent-phishing
|
|
119
|
+
* lever, because the model driving an MCP session could be talked into
|
|
120
|
+
* emitting a link that points the user's consent at an attacker's
|
|
121
|
+
* application, behind a genuine Microsoft consent screen.
|
|
122
|
+
*/
|
|
123
|
+
beginMicrosoftConnect(): Promise<MicrosoftConnectHandoff>;
|
|
124
|
+
getMicrosoftLink(): Promise<MicrosoftLinkStatus>;
|
|
125
|
+
unlinkMicrosoft(): Promise<{
|
|
126
|
+
linked: boolean;
|
|
127
|
+
removed: boolean;
|
|
128
|
+
}>;
|
|
90
129
|
/**
|
|
91
130
|
* ENG-2230 — `teamId` is either spelling: the version-7 uuid or the legacy
|
|
92
131
|
* numeric internal id. Both are interpolated into the path unchanged and
|
|
@@ -99,6 +138,101 @@ export declare class ApiClient {
|
|
|
99
138
|
matchIn?: 'name' | 'comments' | 'versions' | 'all';
|
|
100
139
|
}): Promise<EnrolledFile[]>;
|
|
101
140
|
getEnrolledFile(fileMsId: string): Promise<EnrolledFile>;
|
|
141
|
+
/**
|
|
142
|
+
* `GET /drive-files/search` — the caller's OWN Microsoft drive, spreadsheets
|
|
143
|
+
* only, each hit marked `enrolled | hidden | not_enrolled`.
|
|
144
|
+
*
|
|
145
|
+
* Delegated: the backend speaks to Microsoft AS this user, so the returned
|
|
146
|
+
* set IS the permission trim and nothing outside it may be shown. There is
|
|
147
|
+
* deliberately no client-side filtering here — not on extension, not on
|
|
148
|
+
* host, not on name. ENG-2200 wrote a client-side host allow-list for the
|
|
149
|
+
* enroll path and removed it again: the server's real rule was narrower than
|
|
150
|
+
* the plausible guess, and a stale second copy inside a package customers
|
|
151
|
+
* upgrade on their own schedule refuses files the server would have taken,
|
|
152
|
+
* invisibly.
|
|
153
|
+
*
|
|
154
|
+
* Refusals a caller must tell apart, by `code` on {@link RockhopperApiError}:
|
|
155
|
+
* `NO_DELEGATED_TOKEN` (403 — the user has to connect Microsoft) and
|
|
156
|
+
* `DRIVE_SEARCH_UNAVAILABLE` (503 — Microsoft could not answer). The 503 and
|
|
157
|
+
* the 429 throttle both arrive as `ChangeHistoryNotReadyError` from
|
|
158
|
+
* {@link request}'s shared not-ready classification.
|
|
159
|
+
*/
|
|
160
|
+
searchDriveFiles(params: {
|
|
161
|
+
q?: string;
|
|
162
|
+
scope?: DriveSearchScope;
|
|
163
|
+
limit?: number;
|
|
164
|
+
}): Promise<DriveSearchResponse>;
|
|
165
|
+
/**
|
|
166
|
+
* ENG-2195 — turn a pasted SharePoint / OneDrive link into a file identity
|
|
167
|
+
* AND say whether this tenant already holds it.
|
|
168
|
+
*
|
|
169
|
+
* Read-only: nothing is created. It is called BEFORE any enroll so the tool
|
|
170
|
+
* can tell `already_enrolled` from `hidden` from `not_enrolled` — the
|
|
171
|
+
* discrimination ENG-1647 lacked, where a name-substring search matched a
|
|
172
|
+
* different file and the assistant reported "already enrolled" about it.
|
|
173
|
+
*
|
|
174
|
+
* ENG-2578 — IT NOW NEEDS A LINKED MICROSOFT ACCOUNT, and no code change here
|
|
175
|
+
* was needed to get one. The route used to resolve on a tenant-wide
|
|
176
|
+
* application credential, which told any caller in the tenant a file's name
|
|
177
|
+
* and whether Rockhopper held it, for files in sites they cannot open. It now
|
|
178
|
+
* resolves on the caller's own delegated Graph token.
|
|
179
|
+
*
|
|
180
|
+
* `X-MS-Graph-Token` is deliberately NOT sent and cannot be, exactly as for
|
|
181
|
+
* {@link createEnrolledFile}: this package holds no delegated Microsoft
|
|
182
|
+
* assertion. The backend's second rung covers us — it mints a delegated token
|
|
183
|
+
* from the grant `connect_microsoft` stored (ENG-2198). So a session WITH a
|
|
184
|
+
* linked account resolves normally, and one without is refused
|
|
185
|
+
* `ACCESS_UNPROVEN`, which `classifyEnrollmentFailure` already turns into
|
|
186
|
+
* "run `connect_microsoft`". That is the intended outcome, not a gap.
|
|
187
|
+
*
|
|
188
|
+
* One thing it does NOT cover: the route is a POST, so the personal-access-
|
|
189
|
+
* token verb floor demands a read-write token. A read-only token is refused
|
|
190
|
+
* at the guard with a bare 403 and no `code`, before any of the above.
|
|
191
|
+
*/
|
|
192
|
+
resolveEnrollmentUrl(webUrl: string): Promise<ResolvedFileUrl>;
|
|
193
|
+
/**
|
|
194
|
+
* ENG-2541 — the same three states {@link resolveEnrollmentUrl} reports, for
|
|
195
|
+
* a caller that already holds `(driveMsId, msId)` and has no URL to resolve.
|
|
196
|
+
*
|
|
197
|
+
* `POST /enrolled-files/info/bulk` is the only route that answers `hidden`
|
|
198
|
+
* for an id: `GET /enrolled-files/:fileMsId` returns the row and leaves the
|
|
199
|
+
* caller to infer visibility, and inferring it is exactly what produced
|
|
200
|
+
* "already enrolled" about a file the user had deliberately removed.
|
|
201
|
+
*/
|
|
202
|
+
getEnrollmentInfo(msIds: readonly string[]): Promise<EnrollmentInfo[]>;
|
|
203
|
+
/**
|
|
204
|
+
* `POST /enrolled-files` — enroll ONE file, shared with nobody.
|
|
205
|
+
*
|
|
206
|
+
* ASYNC by design: the answer is `{enrollmentId, status:'queued'}`, never the
|
|
207
|
+
* file. The backend writes the `enrolled_file` stub row SYNCHRONOUSLY before
|
|
208
|
+
* it enqueues the job, so by the time this resolves the row exists and a
|
|
209
|
+
* repeat `resolveEnrollmentUrl` already answers `enrolled` — which is what
|
|
210
|
+
* makes a retry after a dropped stream safe rather than duplicating work.
|
|
211
|
+
*
|
|
212
|
+
* `X-MS-Graph-Token` is deliberately NOT sent and cannot be: this package
|
|
213
|
+
* holds no delegated Microsoft assertion. A caller with no linked Microsoft
|
|
214
|
+
* account is refused with `ACCESS_UNPROVEN` (ENG-2196 / decision D4), which
|
|
215
|
+
* is the intended outcome, not a gap.
|
|
216
|
+
*/
|
|
217
|
+
createEnrolledFile(body: {
|
|
218
|
+
msId: string;
|
|
219
|
+
driveMsId: string;
|
|
220
|
+
name: string;
|
|
221
|
+
}): Promise<QueuedEnrollment>;
|
|
222
|
+
/**
|
|
223
|
+
* `POST /enrolled-files/batch` — enroll ONE file and fan it into the named
|
|
224
|
+
* teammates' workspaces in the same call.
|
|
225
|
+
*
|
|
226
|
+
* The batch route rather than a second share call because sharing has to be
|
|
227
|
+
* part of the same decision: an enroll that succeeded and a share that then
|
|
228
|
+
* failed leaves the file visible to one person after the user asked for the
|
|
229
|
+
* team, and there is no transaction to undo the first half.
|
|
230
|
+
*/
|
|
231
|
+
enrollFileSharedWith(file: {
|
|
232
|
+
msId: string;
|
|
233
|
+
driveMsId: string;
|
|
234
|
+
name: string;
|
|
235
|
+
}, shareWithUserMsIds: readonly string[]): Promise<QueuedEnrollment>;
|
|
102
236
|
getFileVersions(fileMsId: string): Promise<FileVersion[]>;
|
|
103
237
|
getFileVersion(versionInternalId: number): Promise<FileVersion>;
|
|
104
238
|
/**
|
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,
|
|
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
|
@@ -29,10 +29,52 @@ function parseRetryAfterSeconds(response) {
|
|
|
29
29
|
*/
|
|
30
30
|
export class RockhopperApiError extends Error {
|
|
31
31
|
status;
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* ENG-2200 — the backend's own machine-readable refusal code, when it sent
|
|
34
|
+
* one. Enrollment refusals each name a DIFFERENT remedy
|
|
35
|
+
* (`ACCESS_UNPROVEN` = link a Microsoft account, `URL_UNSUPPORTED_PROVIDER`
|
|
36
|
+
* = this is not a Microsoft link, `FILE_ACCESS_DENIED` = nothing to retry),
|
|
37
|
+
* and telling them apart by matching prose would break the first time
|
|
38
|
+
* someone rewords a message. `null` when the body carried no `code` — every
|
|
39
|
+
* pre-existing caller reads {@link Error.message} and is unaffected.
|
|
40
|
+
*/
|
|
41
|
+
code;
|
|
42
|
+
/**
|
|
43
|
+
* ENG-2614 — the FINE half of a refusal, where the backend sends one.
|
|
44
|
+
*
|
|
45
|
+
* `code` is deliberately coarse on the drive-search route so a client has
|
|
46
|
+
* exactly one thing to branch on: can I search or not. `reason` is what
|
|
47
|
+
* says WHICH of four situations produced it — never connected, link
|
|
48
|
+
* revoked, ciphertext unreadable, or the tenant has not approved
|
|
49
|
+
* Rockhopper — and only three of those are the user's to fix. Without it
|
|
50
|
+
* a tenant awaiting administrator approval is handed a connect link that
|
|
51
|
+
* cannot possibly work, and clicking it returns them here: a loop.
|
|
52
|
+
*/
|
|
53
|
+
reason;
|
|
54
|
+
constructor(status, message, code, reason) {
|
|
33
55
|
super(message);
|
|
34
56
|
this.name = 'RockhopperApiError';
|
|
35
57
|
this.status = status;
|
|
58
|
+
this.code = code ?? null;
|
|
59
|
+
this.reason = reason ?? null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Pull a string field out of an error body without ever letting a malformed
|
|
64
|
+
* body become a second failure. A non-JSON body, a JSON array, or a value
|
|
65
|
+
* that is not a string all answer `null` — the caller then falls back to the
|
|
66
|
+
* status, which is the answer it had before this existed.
|
|
67
|
+
*/
|
|
68
|
+
function parseErrorField(body, field) {
|
|
69
|
+
try {
|
|
70
|
+
const parsed = JSON.parse(body);
|
|
71
|
+
if (parsed === null || typeof parsed !== 'object')
|
|
72
|
+
return null;
|
|
73
|
+
const value = parsed[field];
|
|
74
|
+
return typeof value === 'string' ? value : null;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return null;
|
|
36
78
|
}
|
|
37
79
|
}
|
|
38
80
|
/** HTTP methods the decision-15 admission treats as agent writes. */
|
|
@@ -176,7 +218,7 @@ export class ApiClient {
|
|
|
176
218
|
detail: `${response.status} ${response.statusText} at ${pathname}`,
|
|
177
219
|
});
|
|
178
220
|
}
|
|
179
|
-
throw new RockhopperApiError(response.status, `Rockhopper API ${response.status}: ${response.statusText} — ${body}
|
|
221
|
+
throw new RockhopperApiError(response.status, `Rockhopper API ${response.status}: ${response.statusText} — ${body}`, parseErrorField(body, 'code'), parseErrorField(body, 'reason'));
|
|
180
222
|
}
|
|
181
223
|
log.info({ event: 'api_request', method, path: pathname, status: response.status, durationMs }, 'api_request');
|
|
182
224
|
const json = await response.json();
|
|
@@ -208,6 +250,30 @@ export class ApiClient {
|
|
|
208
250
|
async getMe() {
|
|
209
251
|
return this.request('/users/me');
|
|
210
252
|
}
|
|
253
|
+
// --- Microsoft Graph link (ENG-2198) ---
|
|
254
|
+
/**
|
|
255
|
+
* Ask the BACKEND to build the Microsoft consent URL.
|
|
256
|
+
*
|
|
257
|
+
* Note what this method cannot do: pass a URL, a redirect, a client id or a
|
|
258
|
+
* scope list. The authorize URL is constructed server-side and the callback
|
|
259
|
+
* re-pins the client id and redirect when it redeems the code. That is
|
|
260
|
+
* deliberate — a URL this client could influence is a consent-phishing
|
|
261
|
+
* lever, because the model driving an MCP session could be talked into
|
|
262
|
+
* emitting a link that points the user's consent at an attacker's
|
|
263
|
+
* application, behind a genuine Microsoft consent screen.
|
|
264
|
+
*/
|
|
265
|
+
async beginMicrosoftConnect() {
|
|
266
|
+
return this.request('/auth/microsoft/connect', {
|
|
267
|
+
method: 'POST',
|
|
268
|
+
body: JSON.stringify({}),
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
async getMicrosoftLink() {
|
|
272
|
+
return this.request('/auth/microsoft/link');
|
|
273
|
+
}
|
|
274
|
+
async unlinkMicrosoft() {
|
|
275
|
+
return this.request('/auth/microsoft/link', { method: 'DELETE' });
|
|
276
|
+
}
|
|
211
277
|
// --- Teams ---
|
|
212
278
|
/**
|
|
213
279
|
* ENG-2230 — `teamId` is either spelling: the version-7 uuid or the legacy
|
|
@@ -231,6 +297,123 @@ export class ApiClient {
|
|
|
231
297
|
async getEnrolledFile(fileMsId) {
|
|
232
298
|
return this.request(`/enrolled-files/${fileMsId}`);
|
|
233
299
|
}
|
|
300
|
+
// --- Drive discovery (ENG-2203 / plan 13) ---
|
|
301
|
+
/**
|
|
302
|
+
* `GET /drive-files/search` — the caller's OWN Microsoft drive, spreadsheets
|
|
303
|
+
* only, each hit marked `enrolled | hidden | not_enrolled`.
|
|
304
|
+
*
|
|
305
|
+
* Delegated: the backend speaks to Microsoft AS this user, so the returned
|
|
306
|
+
* set IS the permission trim and nothing outside it may be shown. There is
|
|
307
|
+
* deliberately no client-side filtering here — not on extension, not on
|
|
308
|
+
* host, not on name. ENG-2200 wrote a client-side host allow-list for the
|
|
309
|
+
* enroll path and removed it again: the server's real rule was narrower than
|
|
310
|
+
* the plausible guess, and a stale second copy inside a package customers
|
|
311
|
+
* upgrade on their own schedule refuses files the server would have taken,
|
|
312
|
+
* invisibly.
|
|
313
|
+
*
|
|
314
|
+
* Refusals a caller must tell apart, by `code` on {@link RockhopperApiError}:
|
|
315
|
+
* `NO_DELEGATED_TOKEN` (403 — the user has to connect Microsoft) and
|
|
316
|
+
* `DRIVE_SEARCH_UNAVAILABLE` (503 — Microsoft could not answer). The 503 and
|
|
317
|
+
* the 429 throttle both arrive as `ChangeHistoryNotReadyError` from
|
|
318
|
+
* {@link request}'s shared not-ready classification.
|
|
319
|
+
*/
|
|
320
|
+
async searchDriveFiles(params) {
|
|
321
|
+
const query = new URLSearchParams();
|
|
322
|
+
if (params.q)
|
|
323
|
+
query.set('q', params.q);
|
|
324
|
+
if (params.scope)
|
|
325
|
+
query.set('scope', params.scope);
|
|
326
|
+
if (params.limit !== undefined)
|
|
327
|
+
query.set('limit', String(params.limit));
|
|
328
|
+
return this.request(`/drive-files/search?${query.toString()}`);
|
|
329
|
+
}
|
|
330
|
+
// --- Enrollment (ENG-2200 / plan 13) ---
|
|
331
|
+
/**
|
|
332
|
+
* ENG-2195 — turn a pasted SharePoint / OneDrive link into a file identity
|
|
333
|
+
* AND say whether this tenant already holds it.
|
|
334
|
+
*
|
|
335
|
+
* Read-only: nothing is created. It is called BEFORE any enroll so the tool
|
|
336
|
+
* can tell `already_enrolled` from `hidden` from `not_enrolled` — the
|
|
337
|
+
* discrimination ENG-1647 lacked, where a name-substring search matched a
|
|
338
|
+
* different file and the assistant reported "already enrolled" about it.
|
|
339
|
+
*
|
|
340
|
+
* ENG-2578 — IT NOW NEEDS A LINKED MICROSOFT ACCOUNT, and no code change here
|
|
341
|
+
* was needed to get one. The route used to resolve on a tenant-wide
|
|
342
|
+
* application credential, which told any caller in the tenant a file's name
|
|
343
|
+
* and whether Rockhopper held it, for files in sites they cannot open. It now
|
|
344
|
+
* resolves on the caller's own delegated Graph token.
|
|
345
|
+
*
|
|
346
|
+
* `X-MS-Graph-Token` is deliberately NOT sent and cannot be, exactly as for
|
|
347
|
+
* {@link createEnrolledFile}: this package holds no delegated Microsoft
|
|
348
|
+
* assertion. The backend's second rung covers us — it mints a delegated token
|
|
349
|
+
* from the grant `connect_microsoft` stored (ENG-2198). So a session WITH a
|
|
350
|
+
* linked account resolves normally, and one without is refused
|
|
351
|
+
* `ACCESS_UNPROVEN`, which `classifyEnrollmentFailure` already turns into
|
|
352
|
+
* "run `connect_microsoft`". That is the intended outcome, not a gap.
|
|
353
|
+
*
|
|
354
|
+
* One thing it does NOT cover: the route is a POST, so the personal-access-
|
|
355
|
+
* token verb floor demands a read-write token. A read-only token is refused
|
|
356
|
+
* at the guard with a bare 403 and no `code`, before any of the above.
|
|
357
|
+
*/
|
|
358
|
+
async resolveEnrollmentUrl(webUrl) {
|
|
359
|
+
return this.request('/enrolled-files/resolve-url', {
|
|
360
|
+
method: 'POST',
|
|
361
|
+
body: JSON.stringify({ webUrl }),
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* ENG-2541 — the same three states {@link resolveEnrollmentUrl} reports, for
|
|
366
|
+
* a caller that already holds `(driveMsId, msId)` and has no URL to resolve.
|
|
367
|
+
*
|
|
368
|
+
* `POST /enrolled-files/info/bulk` is the only route that answers `hidden`
|
|
369
|
+
* for an id: `GET /enrolled-files/:fileMsId` returns the row and leaves the
|
|
370
|
+
* caller to infer visibility, and inferring it is exactly what produced
|
|
371
|
+
* "already enrolled" about a file the user had deliberately removed.
|
|
372
|
+
*/
|
|
373
|
+
async getEnrollmentInfo(msIds) {
|
|
374
|
+
return this.request('/enrolled-files/info/bulk', {
|
|
375
|
+
method: 'POST',
|
|
376
|
+
body: JSON.stringify({ ids: [...msIds], accountType: 'microsoft' }),
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* `POST /enrolled-files` — enroll ONE file, shared with nobody.
|
|
381
|
+
*
|
|
382
|
+
* ASYNC by design: the answer is `{enrollmentId, status:'queued'}`, never the
|
|
383
|
+
* file. The backend writes the `enrolled_file` stub row SYNCHRONOUSLY before
|
|
384
|
+
* it enqueues the job, so by the time this resolves the row exists and a
|
|
385
|
+
* repeat `resolveEnrollmentUrl` already answers `enrolled` — which is what
|
|
386
|
+
* makes a retry after a dropped stream safe rather than duplicating work.
|
|
387
|
+
*
|
|
388
|
+
* `X-MS-Graph-Token` is deliberately NOT sent and cannot be: this package
|
|
389
|
+
* holds no delegated Microsoft assertion. A caller with no linked Microsoft
|
|
390
|
+
* account is refused with `ACCESS_UNPROVEN` (ENG-2196 / decision D4), which
|
|
391
|
+
* is the intended outcome, not a gap.
|
|
392
|
+
*/
|
|
393
|
+
async createEnrolledFile(body) {
|
|
394
|
+
return this.request('/enrolled-files', {
|
|
395
|
+
method: 'POST',
|
|
396
|
+
body: JSON.stringify({ ...body, accountType: 'microsoft' }),
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* `POST /enrolled-files/batch` — enroll ONE file and fan it into the named
|
|
401
|
+
* teammates' workspaces in the same call.
|
|
402
|
+
*
|
|
403
|
+
* The batch route rather than a second share call because sharing has to be
|
|
404
|
+
* part of the same decision: an enroll that succeeded and a share that then
|
|
405
|
+
* failed leaves the file visible to one person after the user asked for the
|
|
406
|
+
* team, and there is no transaction to undo the first half.
|
|
407
|
+
*/
|
|
408
|
+
async enrollFileSharedWith(file, shareWithUserMsIds) {
|
|
409
|
+
return this.request('/enrolled-files/batch', {
|
|
410
|
+
method: 'POST',
|
|
411
|
+
body: JSON.stringify({
|
|
412
|
+
files: [{ ...file, accountType: 'microsoft' }],
|
|
413
|
+
shareWithUserMsIds: [...shareWithUserMsIds],
|
|
414
|
+
}),
|
|
415
|
+
});
|
|
416
|
+
}
|
|
234
417
|
// --- File Versions ---
|
|
235
418
|
async getFileVersions(fileMsId) {
|
|
236
419
|
return this.request(`/file-versions/file/${fileMsId}`);
|
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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"}
|
package/dist/capabilities.d.ts
CHANGED
|
@@ -19,12 +19,11 @@ export declare const CAPABILITY_SET: ReadonlySet<string>;
|
|
|
19
19
|
/**
|
|
20
20
|
* The write tools each family covers.
|
|
21
21
|
*
|
|
22
|
-
* This is the VOCABULARY, not the registration list
|
|
23
|
-
* here before any registrar
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* repo that copied it.
|
|
22
|
+
* This is the VOCABULARY, not the registration list. ENG-2212 named
|
|
23
|
+
* `enroll_file` here before any registrar existed, so that ENG-2200 only had
|
|
24
|
+
* to add a registrar and drop one entry from {@link PENDING_WRITE_TOOLS}
|
|
25
|
+
* rather than re-cut the family map in every repo that copied it. That is
|
|
26
|
+
* exactly what ENG-2200 did, and the pending set is now empty.
|
|
28
27
|
*/
|
|
29
28
|
export declare const WRITE_TOOLS_BY_CAPABILITY: Readonly<Record<PatCapability, readonly string[]>>;
|
|
30
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,+EAKnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAA6B,CAAC;AAE7E
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,+EAKnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAA6B,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC,CAMzC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAuB,CAAC;AAE5E,qEAAqE;AACrE,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,SAAS,aAAa,EAAE,GACrC,MAAM,EAAE,CAMV"}
|
package/dist/capabilities.js
CHANGED
|
@@ -23,12 +23,11 @@ export const CAPABILITY_SET = new Set(PAT_CAPABILITIES);
|
|
|
23
23
|
/**
|
|
24
24
|
* The write tools each family covers.
|
|
25
25
|
*
|
|
26
|
-
* This is the VOCABULARY, not the registration list
|
|
27
|
-
* here before any registrar
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* repo that copied it.
|
|
26
|
+
* This is the VOCABULARY, not the registration list. ENG-2212 named
|
|
27
|
+
* `enroll_file` here before any registrar existed, so that ENG-2200 only had
|
|
28
|
+
* to add a registrar and drop one entry from {@link PENDING_WRITE_TOOLS}
|
|
29
|
+
* rather than re-cut the family map in every repo that copied it. That is
|
|
30
|
+
* exactly what ENG-2200 did, and the pending set is now empty.
|
|
32
31
|
*/
|
|
33
32
|
export const WRITE_TOOLS_BY_CAPABILITY = {
|
|
34
33
|
'comments:write': ['add_comment', 'reply_to_comment', 'resolve_comment'],
|
|
@@ -44,9 +43,7 @@ export const WRITE_TOOLS_BY_CAPABILITY = {
|
|
|
44
43
|
* OTHER enumerated name really is registered — a set derived from the
|
|
45
44
|
* registrars rather than a second hand-maintained list that silently drifts.
|
|
46
45
|
*/
|
|
47
|
-
export const PENDING_WRITE_TOOLS = new Set([
|
|
48
|
-
'enroll_file',
|
|
49
|
-
]);
|
|
46
|
+
export const PENDING_WRITE_TOOLS = new Set([]);
|
|
50
47
|
/** The tools a granted family actually adds to the surface today. */
|
|
51
48
|
export function registeredToolsForCapabilities(capabilities) {
|
|
52
49
|
return capabilities.flatMap((capability) => WRITE_TOOLS_BY_CAPABILITY[capability].filter((name) => !PENDING_WRITE_TOOLS.has(name)));
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE7E
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAElC;IACF,gBAAgB,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;IACxE,eAAe,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,CAAC;IAC7E,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IACvD,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;CAC9C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAS,EAAE,CAAC,CAAC;AAE5E,qEAAqE;AACrE,MAAM,UAAU,8BAA8B,CAC5C,YAAsC;IAEtC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,yBAAyB,CAAC,UAAU,CAAC,CAAC,MAAM,CAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CACzC,CACF,CAAC;AACJ,CAAC"}
|