@bevel-software/platform-shared 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/git/legacy-change-request-body.d.ts +37 -0
- package/dist/git/legacy-change-request-body.d.ts.map +1 -0
- package/dist/git/legacy-change-request-body.js +85 -0
- package/dist/git/legacy-change-request-body.js.map +1 -0
- package/dist/git/pr.types.d.ts +81 -37
- package/dist/git/pr.types.d.ts.map +1 -1
- package/dist/git/pr.types.js +11 -1
- package/dist/git/pr.types.js.map +1 -1
- package/dist/git/types.d.ts +15 -2
- package/dist/git/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/workflow/events.d.ts +40 -2
- package/dist/workflow/events.d.ts.map +1 -1
- package/dist/workflow/events.js +1 -0
- package/dist/workflow/events.js.map +1 -1
- package/dist/workflow/interface.d.ts +16 -7
- package/dist/workflow/interface.d.ts.map +1 -1
- package/dist/workflow/types.d.ts +15 -7
- package/dist/workflow/types.d.ts.map +1 -1
- package/dist/workspace/kb-layout.d.ts +6 -0
- package/dist/workspace/kb-layout.d.ts.map +1 -1
- package/dist/workspace/kb-layout.js +9 -1
- package/dist/workspace/kb-layout.js.map +1 -1
- package/package.json +1 -1
- package/src/git/legacy-change-request-body.ts +107 -0
- package/src/git/pr.types.ts +74 -36
- package/src/git/types.ts +18 -5
- package/src/index.ts +1 -0
- package/src/workflow/events.ts +44 -1
- package/src/workflow/interface.ts +20 -15
- package/src/workflow/types.ts +12 -8
- package/src/workspace/kb-layout.ts +10 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The grammar change-request bodies carried BEFORE a request's description
|
|
3
|
+
* became the whole of its body — read once, at the first start on the release
|
|
4
|
+
* that makes it so, to move what the body held in hidden markers onto the
|
|
5
|
+
* request's own columns and leave the prose.
|
|
6
|
+
*
|
|
7
|
+
* Three things lived in a body besides what its author wrote:
|
|
8
|
+
*
|
|
9
|
+
* - an `## Affected owners` block `openChangeRequest` appended — the eligible
|
|
10
|
+
* approvers per changed path at the moment of opening. A snapshot nothing
|
|
11
|
+
* read back (approvers are resolved live, per file, from the access rules at
|
|
12
|
+
* the target branch) and that named every changed path to every reader;
|
|
13
|
+
* - an access request's level, as `<!--hexis:access-request-level:owner-->`,
|
|
14
|
+
* and its note, fenced between `<!--hexis:access-request-note-->` and
|
|
15
|
+
* `<!--/hexis:access-request-note-->` as quoted lines — both parsed back out
|
|
16
|
+
* of the prose by the access-request flow;
|
|
17
|
+
* - identity markers (`<!--hexis:…-->`, `<!--bevel:…-->`) from the time a
|
|
18
|
+
* shared service account opened requests on people's behalf.
|
|
19
|
+
*
|
|
20
|
+
* None is written any more. This module is the one place that still knows the
|
|
21
|
+
* old shape, so the cleanup and its test read the same thing.
|
|
22
|
+
*/
|
|
23
|
+
import type { AccessRequestLevel } from './pr.types.js';
|
|
24
|
+
/** What an old body held, taken apart. */
|
|
25
|
+
export interface LegacyChangeRequestBody {
|
|
26
|
+
/** The prose, with every marker and the generated block gone. */
|
|
27
|
+
description: string;
|
|
28
|
+
/** The level an access request recorded in its body, when it did. */
|
|
29
|
+
accessRequestLevel?: AccessRequestLevel;
|
|
30
|
+
/** The requester's note, unescaped, when the body fenced one. */
|
|
31
|
+
accessRequestNote?: string;
|
|
32
|
+
/** Whether the body held anything the new shape stores elsewhere or not at all. */
|
|
33
|
+
changed: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** Take an old body apart. A body of the new shape comes back unchanged, `changed: false`. */
|
|
36
|
+
export declare function parseLegacyChangeRequestBody(body: string): LegacyChangeRequestBody;
|
|
37
|
+
//# sourceMappingURL=legacy-change-request-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-change-request-body.d.ts","sourceRoot":"","sources":["../../src/git/legacy-change-request-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,0CAA0C;AAC1C,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;CAClB;AA+BD,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAuClF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The grammar change-request bodies carried BEFORE a request's description
|
|
3
|
+
* became the whole of its body — read once, at the first start on the release
|
|
4
|
+
* that makes it so, to move what the body held in hidden markers onto the
|
|
5
|
+
* request's own columns and leave the prose.
|
|
6
|
+
*
|
|
7
|
+
* Three things lived in a body besides what its author wrote:
|
|
8
|
+
*
|
|
9
|
+
* - an `## Affected owners` block `openChangeRequest` appended — the eligible
|
|
10
|
+
* approvers per changed path at the moment of opening. A snapshot nothing
|
|
11
|
+
* read back (approvers are resolved live, per file, from the access rules at
|
|
12
|
+
* the target branch) and that named every changed path to every reader;
|
|
13
|
+
* - an access request's level, as `<!--hexis:access-request-level:owner-->`,
|
|
14
|
+
* and its note, fenced between `<!--hexis:access-request-note-->` and
|
|
15
|
+
* `<!--/hexis:access-request-note-->` as quoted lines — both parsed back out
|
|
16
|
+
* of the prose by the access-request flow;
|
|
17
|
+
* - identity markers (`<!--hexis:…-->`, `<!--bevel:…-->`) from the time a
|
|
18
|
+
* shared service account opened requests on people's behalf.
|
|
19
|
+
*
|
|
20
|
+
* None is written any more. This module is the one place that still knows the
|
|
21
|
+
* old shape, so the cleanup and its test read the same thing.
|
|
22
|
+
*/
|
|
23
|
+
const AFFECTED_OWNERS_HEADING = '## Affected owners';
|
|
24
|
+
/** One line of the generated block: a changed path in backticks, an em dash, its approvers. */
|
|
25
|
+
const GENERATED_PATH_LINE = /^- `[^`]+` — .+$/;
|
|
26
|
+
/** The block's closing summary, written when more paths changed than it listed. */
|
|
27
|
+
const GENERATED_SUMMARY_LINE = /^…and \d+ more changed path\(s\)\. All eligible approvers across this change: /;
|
|
28
|
+
/**
|
|
29
|
+
* Whether what follows the heading is the block `openChangeRequest` wrote and
|
|
30
|
+
* nothing else: at least one path line, and every non-blank line a path line
|
|
31
|
+
* or the summary. An author who wrote the heading themselves, with prose
|
|
32
|
+
* under it, keeps both — the cut would otherwise take their text and the
|
|
33
|
+
* ledger would record the move as done.
|
|
34
|
+
*/
|
|
35
|
+
function isGeneratedBlock(lines) {
|
|
36
|
+
const written = lines.filter((line) => line.trim() !== '');
|
|
37
|
+
return written.length > 0 && written.every((line) => GENERATED_PATH_LINE.test(line) || GENERATED_SUMMARY_LINE.test(line));
|
|
38
|
+
}
|
|
39
|
+
const LEVEL_MARK = /<!--hexis:access-request-level:(write|owner)-->/;
|
|
40
|
+
const NOTE_OPEN = '<!--hexis:access-request-note-->';
|
|
41
|
+
const NOTE_CLOSE = '<!--/hexis:access-request-note-->';
|
|
42
|
+
/** Hexis's own hidden markers, opener or closer, and no other HTML comment: an author's own comment is prose. */
|
|
43
|
+
const HEXIS_MARKER = /[ \t]*<!--\s*\/?(?:hexis|bevel)[:/][\s\S]*?-->[ \t]*/g;
|
|
44
|
+
/** The exact inverse of the escaping the access-request flow applied to a note's lines. */
|
|
45
|
+
function unescapeMarkdown(text) {
|
|
46
|
+
return text.replace(/\\([\\`*_{}[\]()#+\-.!|<>~])/g, '$1');
|
|
47
|
+
}
|
|
48
|
+
/** Take an old body apart. A body of the new shape comes back unchanged, `changed: false`. */
|
|
49
|
+
export function parseLegacyChangeRequestBody(body) {
|
|
50
|
+
let text = body;
|
|
51
|
+
// The generated block starts at the LAST line reading exactly the heading
|
|
52
|
+
// and runs to the end — it was appended after everything the author wrote.
|
|
53
|
+
const lines = text.split('\n');
|
|
54
|
+
// Cut only when what follows IS that block: the heading alone proves nothing.
|
|
55
|
+
const generatedAt = lines.lastIndexOf(AFFECTED_OWNERS_HEADING);
|
|
56
|
+
if (generatedAt !== -1 && isGeneratedBlock(lines.slice(generatedAt + 1)))
|
|
57
|
+
text = lines.slice(0, generatedAt).join('\n');
|
|
58
|
+
const level = LEVEL_MARK.exec(text);
|
|
59
|
+
const accessRequestLevel = level ? level[1] : undefined;
|
|
60
|
+
let accessRequestNote;
|
|
61
|
+
const noteStart = text.indexOf(NOTE_OPEN);
|
|
62
|
+
const noteEnd = noteStart < 0 ? -1 : text.indexOf(NOTE_CLOSE, noteStart);
|
|
63
|
+
if (noteStart >= 0 && noteEnd >= 0) {
|
|
64
|
+
const note = text
|
|
65
|
+
.slice(noteStart + NOTE_OPEN.length, noteEnd)
|
|
66
|
+
.split(/\r?\n/)
|
|
67
|
+
.filter((line) => line.startsWith('>'))
|
|
68
|
+
.map((line) => unescapeMarkdown(line.replace(/^>\s?/, '')))
|
|
69
|
+
.join('\n')
|
|
70
|
+
.trim();
|
|
71
|
+
accessRequestNote = note || undefined;
|
|
72
|
+
}
|
|
73
|
+
// The markers go; the quoted note lines stay, as the prose they were shown as.
|
|
74
|
+
const description = text
|
|
75
|
+
.replace(HEXIS_MARKER, '')
|
|
76
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
77
|
+
.trim();
|
|
78
|
+
return {
|
|
79
|
+
description,
|
|
80
|
+
...(accessRequestLevel ? { accessRequestLevel } : {}),
|
|
81
|
+
...(accessRequestNote ? { accessRequestNote } : {}),
|
|
82
|
+
changed: description !== body || accessRequestLevel !== undefined || accessRequestNote !== undefined,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=legacy-change-request-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-change-request-body.js","sourceRoot":"","sources":["../../src/git/legacy-change-request-body.ts"],"names":[],"mappings":"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"}
|
package/dist/git/pr.types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export type PullRequestState = 'open' | 'merged' | 'closed';
|
|
2
|
+
/** The level an access request asks for: Can edit, or Owner. */
|
|
3
|
+
export type AccessRequestLevel = 'write' | 'owner';
|
|
2
4
|
export interface PullRequestAuthor {
|
|
3
5
|
login: string;
|
|
4
6
|
name?: string;
|
|
@@ -43,9 +45,10 @@ export interface PullRequestSummary {
|
|
|
43
45
|
/**
|
|
44
46
|
* The latest moment the change-request ROW records: the latest of its
|
|
45
47
|
* creation time, its `updated_at` stamp (written when the row itself
|
|
46
|
-
* changes — a merge, a close, a recorded apply failure
|
|
48
|
+
* changes — a merge, a close, a recorded apply failure, an edit of its title
|
|
49
|
+
* or description) and its close time.
|
|
47
50
|
* GitHub's `updated_at` on a pull request means "when anything about it
|
|
48
|
-
* last changed";
|
|
51
|
+
* last changed"; approvals carry their own times here and do
|
|
49
52
|
* not move this one, so this is as close as the row can honestly answer —
|
|
50
53
|
* never a time guessed from elsewhere. Absent only on a summary built by
|
|
51
54
|
* something other than a change-request row (test doubles).
|
|
@@ -184,39 +187,6 @@ export interface PullRequestFile {
|
|
|
184
187
|
/** Authenticated `raw.githubusercontent.com`-style URL for the blob at head. */
|
|
185
188
|
rawUrl: string;
|
|
186
189
|
}
|
|
187
|
-
/**
|
|
188
|
-
* One comment in the Bevel-owned PR discussion. GitHub never sees these —
|
|
189
|
-
* they live only in our DB, attributed to the authenticated user. Shape
|
|
190
|
-
* encodes three comment kinds:
|
|
191
|
-
*
|
|
192
|
-
* General → path undefined, line undefined
|
|
193
|
-
* File-level → path set, line undefined
|
|
194
|
-
* Inline (line) → path set, line set
|
|
195
|
-
*
|
|
196
|
-
* Threading: `parentId` points at the root of the thread; top-level comments
|
|
197
|
-
* have it undefined.
|
|
198
|
-
*/
|
|
199
|
-
export interface PrReviewComment {
|
|
200
|
-
id: string;
|
|
201
|
-
author: {
|
|
202
|
-
email: string;
|
|
203
|
-
name: string;
|
|
204
|
-
};
|
|
205
|
-
body: string;
|
|
206
|
-
path?: string;
|
|
207
|
-
line?: number;
|
|
208
|
-
/** The head SHA the comment was authored against — lets the UI grey out stale inline pins. */
|
|
209
|
-
headSha: string;
|
|
210
|
-
parentId?: string;
|
|
211
|
-
createdAt: string;
|
|
212
|
-
updatedAt?: string;
|
|
213
|
-
}
|
|
214
|
-
export interface PostPrCommentInput {
|
|
215
|
-
body: string;
|
|
216
|
-
path?: string;
|
|
217
|
-
line?: number;
|
|
218
|
-
parentId?: string;
|
|
219
|
-
}
|
|
220
190
|
/**
|
|
221
191
|
* One owner's approval on one file. Stored straight from the
|
|
222
192
|
* `pr_file_approvals` row, with derived flags the UI needs.
|
|
@@ -295,15 +265,29 @@ export interface FileApprovalState {
|
|
|
295
265
|
}
|
|
296
266
|
/**
|
|
297
267
|
* Full read-only PR detail for the in-app viewer. Extends the summary with
|
|
298
|
-
* body, SHAs
|
|
268
|
+
* body, SHAs and file list. Later phases add
|
|
299
269
|
* `approvals` and merge-gate fields — this shape grows incrementally.
|
|
300
270
|
*/
|
|
301
271
|
export interface PullRequestDetail extends PullRequestSummary {
|
|
272
|
+
/**
|
|
273
|
+
* The request's description — the whole body, exactly as its author (or a
|
|
274
|
+
* later edit) left it. Hexis writes nothing of its own into it: who must
|
|
275
|
+
* approve each file is resolved live and answered per file in `approvals`,
|
|
276
|
+
* and an access request's level and note are `accessRequest`'s.
|
|
277
|
+
*/
|
|
302
278
|
body: string;
|
|
279
|
+
/**
|
|
280
|
+
* Set on a request the access-request flow opened: the level the person
|
|
281
|
+
* asked for, and their note when they wrote one. Absent on every other
|
|
282
|
+
* request.
|
|
283
|
+
*/
|
|
284
|
+
accessRequest?: {
|
|
285
|
+
level: AccessRequestLevel;
|
|
286
|
+
note?: string;
|
|
287
|
+
};
|
|
303
288
|
headSha: string;
|
|
304
289
|
baseSha: string;
|
|
305
290
|
files: PullRequestFile[];
|
|
306
|
-
comments: PrReviewComment[];
|
|
307
291
|
/**
|
|
308
292
|
* One entry per file in `files`, same order. Empty when the caller had no
|
|
309
293
|
* resolvable workspace to do the owner lookup against.
|
|
@@ -417,7 +401,67 @@ export interface PullRequestDetail extends PullRequestSummary {
|
|
|
417
401
|
* `DELETE /api/workflow/change-requests/:number` re-checks server-side.
|
|
418
402
|
*/
|
|
419
403
|
viewerCanDelete: boolean;
|
|
404
|
+
/**
|
|
405
|
+
* True iff the viewer may change the request's title and description: the
|
|
406
|
+
* request is open AND the viewer is its author or someone who may merge it
|
|
407
|
+
* (an admin, or the holder of write on every changed file) — exactly
|
|
408
|
+
* `viewerCanCancel`'s grants, since what is asked belongs to the same people
|
|
409
|
+
* who may close it. A UX hint — `PATCH /api/workflow/change-requests/:number`
|
|
410
|
+
* re-checks server-side.
|
|
411
|
+
*/
|
|
412
|
+
viewerCanEdit: boolean;
|
|
420
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* Body of `PATCH /api/workflow/change-requests/:number`. At least one field;
|
|
416
|
+
* an absent field keeps its current text. `description` replaces the
|
|
417
|
+
* request's description whole — the body is nothing but the description.
|
|
418
|
+
* `appendDescription` instead adds a paragraph after the description as the
|
|
419
|
+
* server holds it at the moment of the write, so two appends racing each
|
|
420
|
+
* other both land (never together with `description`). A title is at most
|
|
421
|
+
* {@link CHANGE_REQUEST_TITLE_MAX} characters and a description, after an
|
|
422
|
+
* append as much as after a replacement, at most
|
|
423
|
+
* {@link CHANGE_REQUEST_DESCRIPTION_MAX}.
|
|
424
|
+
*
|
|
425
|
+
* A union of the allowed shapes, so a client cannot build `{}` or a
|
|
426
|
+
* `description` together with `appendDescription`. The server reads the
|
|
427
|
+
* body as untrusted JSON all the same — as {@link UpdateChangeRequestFields}
|
|
428
|
+
* — and answers any other shape with a worded 400.
|
|
429
|
+
*/
|
|
430
|
+
export type UpdateChangeRequestInput = {
|
|
431
|
+
title: string;
|
|
432
|
+
description?: string;
|
|
433
|
+
appendDescription?: never;
|
|
434
|
+
} | {
|
|
435
|
+
title?: string;
|
|
436
|
+
description: string;
|
|
437
|
+
appendDescription?: never;
|
|
438
|
+
} | {
|
|
439
|
+
title?: string;
|
|
440
|
+
description?: never;
|
|
441
|
+
appendDescription: string;
|
|
442
|
+
};
|
|
443
|
+
/**
|
|
444
|
+
* The fields of a `PATCH /api/workflow/change-requests/:number` body as the
|
|
445
|
+
* server receives them — any combination, since the body is untrusted JSON.
|
|
446
|
+
* `WorkflowService.updateChangeRequest` checks the shape and refuses what
|
|
447
|
+
* {@link UpdateChangeRequestInput} rules out with a worded 400.
|
|
448
|
+
*/
|
|
449
|
+
export interface UpdateChangeRequestFields {
|
|
450
|
+
title?: string;
|
|
451
|
+
description?: string;
|
|
452
|
+
appendDescription?: string;
|
|
453
|
+
}
|
|
454
|
+
/** Longest title a change request may carry — the route and the agent tool alike. */
|
|
455
|
+
export declare const CHANGE_REQUEST_TITLE_MAX = 256;
|
|
456
|
+
/**
|
|
457
|
+
* Longest description a change request may carry, in characters — on
|
|
458
|
+
* opening, on a replacement and on what an append leaves, for the routes and
|
|
459
|
+
* the agent tools alike. The body is decrypted by every listing and every
|
|
460
|
+
* detail read, and the propose flow appends a note on each later round, so
|
|
461
|
+
* without a ceiling a request's body grows for as long as it is open. The
|
|
462
|
+
* same ceiling comments had.
|
|
463
|
+
*/
|
|
464
|
+
export declare const CHANGE_REQUEST_DESCRIPTION_MAX = 64000;
|
|
421
465
|
/**
|
|
422
466
|
* Result of a successful merge via the in-app gate. `sha` is the merge commit
|
|
423
467
|
* GitHub produced; the UI uses it to link to the resulting commit and to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.types.d.ts","sourceRoot":"","sources":["../../src/git/pr.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"pr.types.d.ts","sourceRoot":"","sources":["../../src/git/pr.types.ts"],"names":[],"mappings":"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"}
|
package/dist/git/pr.types.js
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/** Longest title a change request may carry — the route and the agent tool alike. */
|
|
2
|
+
export const CHANGE_REQUEST_TITLE_MAX = 256;
|
|
3
|
+
/**
|
|
4
|
+
* Longest description a change request may carry, in characters — on
|
|
5
|
+
* opening, on a replacement and on what an append leaves, for the routes and
|
|
6
|
+
* the agent tools alike. The body is decrypted by every listing and every
|
|
7
|
+
* detail read, and the propose flow appends a note on each later round, so
|
|
8
|
+
* without a ceiling a request's body grows for as long as it is open. The
|
|
9
|
+
* same ceiling comments had.
|
|
10
|
+
*/
|
|
11
|
+
export const CHANGE_REQUEST_DESCRIPTION_MAX = 64_000;
|
|
2
12
|
//# sourceMappingURL=pr.types.js.map
|
package/dist/git/pr.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.types.js","sourceRoot":"","sources":["../../src/git/pr.types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"pr.types.js","sourceRoot":"","sources":["../../src/git/pr.types.ts"],"names":[],"mappings":"AAucA,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC"}
|
package/dist/git/types.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ import type { AppliedChangeRef, ChangedPathPair, PullRequestFile } from './pr.ty
|
|
|
3
3
|
export interface BranchInfo {
|
|
4
4
|
name: string;
|
|
5
5
|
isProtected: boolean;
|
|
6
|
-
ahead: number | null;
|
|
7
|
-
behind: number | null;
|
|
8
6
|
/**
|
|
9
7
|
* True iff `refs/remotes/origin/<name>` exists after the last `fetch --prune`.
|
|
10
8
|
* False means the branch is local-only — either never pushed, or its remote
|
|
@@ -13,6 +11,15 @@ export interface BranchInfo {
|
|
|
13
11
|
*/
|
|
14
12
|
hasRemote: boolean;
|
|
15
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Commits ahead of / behind a branch's upstream (falling back to the nearest
|
|
16
|
+
* protected branch on origin). Null when neither can be resolved, e.g. a
|
|
17
|
+
* freshly-created local branch that has never been pushed.
|
|
18
|
+
*/
|
|
19
|
+
export interface BranchCounts {
|
|
20
|
+
ahead: number | null;
|
|
21
|
+
behind: number | null;
|
|
22
|
+
}
|
|
16
23
|
/**
|
|
17
24
|
* Per-workspace branch sync state. Slimmed down from the legacy
|
|
18
25
|
* "one workspace, many branches via checkout" model: fields like `isDirty`,
|
|
@@ -212,6 +219,12 @@ export interface IGitService {
|
|
|
212
219
|
freshFetch?: boolean;
|
|
213
220
|
strictFetch?: boolean;
|
|
214
221
|
}): Promise<BranchInfo[]>;
|
|
222
|
+
/**
|
|
223
|
+
* How far the workspace's own branch is ahead of and behind its upstream,
|
|
224
|
+
* or — with none — of the protected branch on origin it is fewest commits
|
|
225
|
+
* ahead of: one `git rev-list` per base tried, for this one branch.
|
|
226
|
+
*/
|
|
227
|
+
branchCounts(workspaceId: string): Promise<BranchCounts>;
|
|
215
228
|
createBranch(workspaceId: string, name: string, fromBase?: string): Promise<BranchInfo>;
|
|
216
229
|
/**
|
|
217
230
|
* Delete a branch. Removes the local ref (if present) AND the origin ref
|
package/dist/git/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './git/pr.types.js';
|
|
|
18
18
|
export * from './git/protected.js';
|
|
19
19
|
export * from './git/branchAuthor.js';
|
|
20
20
|
export * from './git/review.types.js';
|
|
21
|
+
export * from './git/legacy-change-request-body.js';
|
|
21
22
|
export * from './workflow/types.js';
|
|
22
23
|
export * from './workflow/interface.js';
|
|
23
24
|
export * from './workflow/events.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,iBAAiB,CAAC;AAGhC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,iBAAiB,CAAC;AAGhC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export * from './git/pr.types.js';
|
|
|
22
22
|
export * from './git/protected.js';
|
|
23
23
|
export * from './git/branchAuthor.js';
|
|
24
24
|
export * from './git/review.types.js';
|
|
25
|
+
export * from './git/legacy-change-request-body.js';
|
|
25
26
|
// Workflow — abstraction layer over git/PR/review-workflow. See PLAN.md.
|
|
26
27
|
export * from './workflow/types.js';
|
|
27
28
|
export * from './workflow/interface.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAE1C,OAAO;AACP,cAAc,iBAAiB,CAAC;AAEhC,YAAY;AACZ,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,MAAM;AACN,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAE1C,OAAO;AACP,cAAc,iBAAiB,CAAC;AAEhC,YAAY;AACZ,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,MAAM;AACN,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AAEpD,yEAAyE;AACzE,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
|
@@ -93,6 +93,23 @@ export interface FsTreeChangedEvent {
|
|
|
93
93
|
workspaceId: string;
|
|
94
94
|
branch: string;
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* A document's text could not be extracted, just now: the parser refused it,
|
|
98
|
+
* or the extraction outlived its budget. Emitted once per FRESH failure —
|
|
99
|
+
* never for one answered from memory — so a person looking at the file's row
|
|
100
|
+
* in the explorer is told in place, and nothing is kept for later.
|
|
101
|
+
*
|
|
102
|
+
* `reason` follows "Could not be read:" in the explorer's notice. It names the
|
|
103
|
+
* file and quotes the parser; like every kind that names a path on a
|
|
104
|
+
* workspace, it is delivered only to sessions whose person may read `path`
|
|
105
|
+
* (the events route's delivery rule, judged by the access rules).
|
|
106
|
+
*/
|
|
107
|
+
export interface DocumentUnreadableEvent {
|
|
108
|
+
kind: 'document-unreadable';
|
|
109
|
+
workspaceId: string;
|
|
110
|
+
path: string;
|
|
111
|
+
reason: string;
|
|
112
|
+
}
|
|
96
113
|
/**
|
|
97
114
|
* A commit landed locally but could not be pushed to the remote.
|
|
98
115
|
*
|
|
@@ -185,6 +202,12 @@ export interface AgentToolCallEvent {
|
|
|
185
202
|
*/
|
|
186
203
|
summary?: string;
|
|
187
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* A change request was opened. Reaches EVERY session, so it says only that a
|
|
207
|
+
* request exists: its number, its branches and who opened it — no title and
|
|
208
|
+
* no paths, which a person may not be allowed to read. A reader fetches the
|
|
209
|
+
* request, and sees of it what the request routes show them.
|
|
210
|
+
*/
|
|
188
211
|
export interface ChangeRequestOpenedEvent {
|
|
189
212
|
kind: 'change-request-opened';
|
|
190
213
|
number: number;
|
|
@@ -192,7 +215,6 @@ export interface ChangeRequestOpenedEvent {
|
|
|
192
215
|
target: string;
|
|
193
216
|
/** Hash of the author's email (matches the marker in the CR body); null when unattributable. */
|
|
194
217
|
authorIdHash: string | null;
|
|
195
|
-
title: string;
|
|
196
218
|
}
|
|
197
219
|
export interface ChangeRequestMergedEvent {
|
|
198
220
|
kind: 'change-request-merged';
|
|
@@ -202,6 +224,15 @@ export interface ChangeRequestRejectedEvent {
|
|
|
202
224
|
kind: 'change-request-rejected';
|
|
203
225
|
number: number;
|
|
204
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* A request's title or description was edited. Carries no text: every
|
|
229
|
+
* viewer re-reads the request through the list and detail endpoints it
|
|
230
|
+
* already uses, which apply its own read rules.
|
|
231
|
+
*/
|
|
232
|
+
export interface ChangeRequestEditedEvent {
|
|
233
|
+
kind: 'change-request-edited';
|
|
234
|
+
number: number;
|
|
235
|
+
}
|
|
205
236
|
/**
|
|
206
237
|
* An apply did NOT land, announced to EVERY session — the counterpart of the
|
|
207
238
|
* user-scoped `change-request-merge-failed` below, which only the clicker gets.
|
|
@@ -261,7 +292,14 @@ export interface ChangeRequestMergeFailedEvent {
|
|
|
261
292
|
export interface ApprovalChangedEvent {
|
|
262
293
|
kind: 'approval-changed';
|
|
263
294
|
number: number;
|
|
295
|
+
/** The approved file, KB-repo-relative. */
|
|
264
296
|
path: string;
|
|
297
|
+
/**
|
|
298
|
+
* The request's target branch: the event names a path, and whether a
|
|
299
|
+
* session's person may hear of it is judged by their read access to that
|
|
300
|
+
* path at the target — the same rule the request's own detail is scoped by.
|
|
301
|
+
*/
|
|
302
|
+
targetBranch: string;
|
|
265
303
|
approverUserId: string;
|
|
266
304
|
change: 'added' | 'removed';
|
|
267
305
|
}
|
|
@@ -307,7 +345,7 @@ export interface AgentConnectedEvent {
|
|
|
307
345
|
/** When the first request landed, ISO 8601. */
|
|
308
346
|
at: string;
|
|
309
347
|
}
|
|
310
|
-
export type WorkflowEventPayload = FileChangedEvent | LockAcquiredEvent | LockReleasedEvent | FsTreeChangedEvent | GitSyncFailedEvent | GitSyncRecoveredEvent | BranchSwitchedEvent | AgentToolCallEvent | AgentConnectedEvent | ChangeRequestOpenedEvent | ChangeRequestMergedEvent | ChangeRequestRejectedEvent | ChangeRequestMergeFailedEvent | ChangeRequestApplyFailedEvent | ApprovalChangedEvent | HeartbeatEvent | ResyncEvent;
|
|
348
|
+
export type WorkflowEventPayload = FileChangedEvent | LockAcquiredEvent | LockReleasedEvent | FsTreeChangedEvent | DocumentUnreadableEvent | GitSyncFailedEvent | GitSyncRecoveredEvent | BranchSwitchedEvent | AgentToolCallEvent | AgentConnectedEvent | ChangeRequestOpenedEvent | ChangeRequestMergedEvent | ChangeRequestRejectedEvent | ChangeRequestEditedEvent | ChangeRequestMergeFailedEvent | ChangeRequestApplyFailedEvent | ApprovalChangedEvent | HeartbeatEvent | ResyncEvent;
|
|
311
349
|
export type WorkflowEvent = WorkflowEventEnvelope & WorkflowEventPayload;
|
|
312
350
|
/** True for events scoped to a workspace — the focus filter applies. */
|
|
313
351
|
export declare function isWorkspaceScoped(e: WorkflowEventPayload): e is WorkflowEventPayload & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/workflow/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;CACZ;AAID;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/workflow/events.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/events.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/workflow/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/workflow/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAgXH,wEAAwE;AACxE,MAAM,UAAU,iBAAiB,CAC/B,CAAuB;IAEvB,OAAO,CACL,CAAC,CAAC,IAAI,KAAK,cAAc;QACzB,CAAC,CAAC,IAAI,KAAK,eAAe;QAC1B,CAAC,CAAC,IAAI,KAAK,eAAe;QAC1B,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAC5B,CAAC,CAAC,IAAI,KAAK,qBAAqB;QAChC,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAC5B,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAChC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAC1B,CAAuB;IAEvB,OAAO,CACL,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAC5B,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAC5B,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAC5B,CAAC,CAAC,IAAI,KAAK,6BAA6B,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
* the final surface area.
|
|
18
18
|
*/
|
|
19
19
|
import type { AuthUser } from '../auth/types.js';
|
|
20
|
-
import type { ChangeRequestApplyFailureKind } from '../git/pr.types.js';
|
|
21
|
-
import type { AcquireLockResult, Branch, BranchSyncOutcome, BranchWorkspaceStatus, CancelChangeRequestResult, Change, ChangeInput, ChangeRequest,
|
|
22
|
-
import type { MergeResolution } from '../git/types.js';
|
|
20
|
+
import type { ChangeRequestApplyFailureKind, UpdateChangeRequestFields } from '../git/pr.types.js';
|
|
21
|
+
import type { AcquireLockResult, Branch, BranchSyncOutcome, BranchWorkspaceStatus, CancelChangeRequestResult, Change, ChangeInput, ChangeRequest, ChangeRequestDetail, ChangeRequestUpdateResult, ChangeRequestState, ChangedFile, DeleteBranchPreview, DeleteBranchResult, FileApproval, FileLock, FolderChangeRequest, FolderChangeRequestRemoval, MergeBranchOutcome, MergeChangeRequestOutcome, OpenChangeRequestInput, UpdateBranchOutcome } from './types.js';
|
|
22
|
+
import type { BranchCounts, MergeResolution } from '../git/types.js';
|
|
23
23
|
export interface IWorkflowService {
|
|
24
24
|
/**
|
|
25
25
|
* `freshFetch` bypasses the fetch TTL; `strictFetch` makes a failed fetch
|
|
@@ -75,6 +75,12 @@ export interface IWorkflowService {
|
|
|
75
75
|
}): Promise<DeleteBranchPreview | DeleteBranchResult>;
|
|
76
76
|
/** Current branch's workspace status — currently just the branch name + upstream sync state. */
|
|
77
77
|
branchStatus(workspaceId: string): Promise<BranchWorkspaceStatus>;
|
|
78
|
+
/**
|
|
79
|
+
* Commits the workspace's own branch is ahead of and behind its upstream
|
|
80
|
+
* (or, with none, the nearest protected branch); null when neither
|
|
81
|
+
* resolves. Counted for this one branch: a branch listing carries no counts.
|
|
82
|
+
*/
|
|
83
|
+
branchCounts(workspaceId: string): Promise<BranchCounts>;
|
|
78
84
|
/**
|
|
79
85
|
* Push the current branch upstream so other users (and change requests)
|
|
80
86
|
* can see the commits on it. Workflow term: "share current branch". The
|
|
@@ -448,10 +454,6 @@ export interface IWorkflowService {
|
|
|
448
454
|
* replace exactly those.
|
|
449
455
|
*/
|
|
450
456
|
updateFromTarget(workspaceId: string, user: AuthUser, number: number): Promise<ChangeRequestUpdateResult>;
|
|
451
|
-
listComments(number: number): Promise<ChangeRequestComment[]>;
|
|
452
|
-
postComment(number: number, user: AuthUser, input: PostChangeRequestCommentInput, headSha: string): Promise<ChangeRequestComment>;
|
|
453
|
-
editComment(commentId: string, number: number, user: AuthUser, body: string): Promise<ChangeRequestComment>;
|
|
454
|
-
deleteComment(commentId: string, number: number, user: AuthUser): Promise<void>;
|
|
455
457
|
approveFile(number: number, path: string, user: AuthUser, files: ChangedFile[], headSha: string, baseBranch: string, authorIdHash: string | null, workspaceId: string): Promise<FileApproval[]>;
|
|
456
458
|
unapproveFile(number: number, path: string, user: AuthUser, files: ChangedFile[], headSha: string, baseBranch: string, authorIdHash: string | null, workspaceId: string): Promise<FileApproval[]>;
|
|
457
459
|
/**
|
|
@@ -503,6 +505,13 @@ export interface IWorkflowService {
|
|
|
503
505
|
* request.
|
|
504
506
|
*/
|
|
505
507
|
deleteChangeRequest(number: number, user: AuthUser): Promise<void>;
|
|
508
|
+
/**
|
|
509
|
+
* Change an OPEN request's title and/or description. Its author, an admin,
|
|
510
|
+
* or the holder of write on every changed file — the people who may close
|
|
511
|
+
* it; anyone else gets a worded 403, and a merged or closed request a
|
|
512
|
+
* worded 409.
|
|
513
|
+
*/
|
|
514
|
+
updateChangeRequest(number: number, user: AuthUser, input: UpdateChangeRequestFields): Promise<ChangeRequest>;
|
|
506
515
|
/**
|
|
507
516
|
* Reject a change request without merging. Authorized for the author or
|
|
508
517
|
* for users with write permission to every changed file on the target
|