@bevel-software/platform-shared 0.15.1 → 0.20.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/auth/types.d.ts +12 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/git/pr.types.d.ts +75 -11
- package/dist/git/pr.types.d.ts.map +1 -1
- package/dist/git/types.d.ts +28 -1
- package/dist/git/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/workflow/events.d.ts +32 -4
- package/dist/workflow/events.d.ts.map +1 -1
- package/dist/workflow/events.js.map +1 -1
- package/dist/workflow/interface.d.ts +103 -4
- package/dist/workflow/interface.d.ts.map +1 -1
- package/dist/workflow/types.d.ts +49 -0
- package/dist/workflow/types.d.ts.map +1 -1
- package/dist/workspace/access-verbs.d.ts +83 -0
- package/dist/workspace/access-verbs.d.ts.map +1 -0
- package/dist/workspace/access-verbs.js +110 -0
- package/dist/workspace/access-verbs.js.map +1 -0
- package/dist/workspace/agent-preamble.d.ts +33 -0
- package/dist/workspace/agent-preamble.d.ts.map +1 -0
- package/dist/workspace/agent-preamble.js +45 -0
- package/dist/workspace/agent-preamble.js.map +1 -0
- package/dist/workspace/entry-exists.d.ts +27 -0
- package/dist/workspace/entry-exists.d.ts.map +1 -0
- package/dist/workspace/entry-exists.js +33 -0
- package/dist/workspace/entry-exists.js.map +1 -0
- package/dist/workspace/filename.d.ts +15 -0
- package/dist/workspace/filename.d.ts.map +1 -1
- package/dist/workspace/filename.js +30 -0
- package/dist/workspace/filename.js.map +1 -1
- package/dist/workspace/frontmatter-carriers.d.ts +44 -0
- package/dist/workspace/frontmatter-carriers.d.ts.map +1 -0
- package/dist/workspace/frontmatter-carriers.js +52 -0
- package/dist/workspace/frontmatter-carriers.js.map +1 -0
- package/dist/workspace/frontmatter.d.ts +23 -4
- package/dist/workspace/frontmatter.d.ts.map +1 -1
- package/dist/workspace/frontmatter.js +59 -9
- package/dist/workspace/frontmatter.js.map +1 -1
- package/dist/workspace/kb-layout.d.ts +226 -19
- package/dist/workspace/kb-layout.d.ts.map +1 -1
- package/dist/workspace/kb-layout.js +353 -23
- package/dist/workspace/kb-layout.js.map +1 -1
- package/dist/workspace/placeholder.d.ts +21 -0
- package/dist/workspace/placeholder.d.ts.map +1 -0
- package/dist/workspace/placeholder.js +28 -0
- package/dist/workspace/placeholder.js.map +1 -0
- package/dist/workspace/platform-files.d.ts +105 -0
- package/dist/workspace/platform-files.d.ts.map +1 -0
- package/dist/workspace/platform-files.js +147 -0
- package/dist/workspace/platform-files.js.map +1 -0
- package/dist/workspace/types.d.ts +8 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/auth/types.ts +12 -0
- package/src/git/pr.types.ts +77 -11
- package/src/git/types.ts +35 -1
- package/src/index.ts +6 -0
- package/src/workflow/events.ts +33 -3
- package/src/workflow/interface.ts +127 -4
- package/src/workflow/types.ts +43 -0
- package/src/workspace/access-verbs.ts +124 -0
- package/src/workspace/agent-preamble.ts +47 -0
- package/src/workspace/entry-exists.ts +36 -0
- package/src/workspace/filename.ts +31 -0
- package/src/workspace/frontmatter-carriers.ts +57 -0
- package/src/workspace/frontmatter.ts +57 -8
- package/src/workspace/kb-layout.ts +388 -25
- package/src/workspace/placeholder.ts +29 -0
- package/src/workspace/platform-files.ts +188 -0
- package/src/workspace/types.ts +8 -0
package/dist/auth/types.d.ts
CHANGED
|
@@ -11,6 +11,18 @@ export interface AuthUser {
|
|
|
11
11
|
* absent field must never resurrect the welcome flow.
|
|
12
12
|
*/
|
|
13
13
|
onboardingDone?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Is this the deployment admin — the account whose password is set in the
|
|
16
|
+
* deployment environment (`ADMIN_EMAIL` while `ADMIN_PASSWORD` is set)
|
|
17
|
+
* rather than stored as a hash? That credential is the platform's rescue
|
|
18
|
+
* path into a deployment, so this account's password cannot be changed from
|
|
19
|
+
* the Account page. Derived from configuration on every read rather than
|
|
20
|
+
* stored, and it carries no part of the credential itself. Optional for the
|
|
21
|
+
* same reason as `onboardingDone` above — pre-existing fixtures and cached
|
|
22
|
+
* user objects stay valid — and only an explicit `true` means "deployment
|
|
23
|
+
* admin".
|
|
24
|
+
*/
|
|
25
|
+
isEnvAdmin?: boolean;
|
|
14
26
|
}
|
|
15
27
|
export interface LoginRequest {
|
|
16
28
|
email: string;
|
package/dist/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CAChB"}
|
package/dist/git/pr.types.d.ts
CHANGED
|
@@ -43,7 +43,37 @@ export interface PullRequestSummary {
|
|
|
43
43
|
/** Relative paths within `knowledge-base/`. Empty if not yet computed. */
|
|
44
44
|
touchedNodePaths: string[];
|
|
45
45
|
review: PullRequestReviewStatus;
|
|
46
|
+
/**
|
|
47
|
+
* Link to the change request: absolute (`<public frontend address>/change-requests/<number>`)
|
|
48
|
+
* when the deployment has a public address configured, else the in-app relative path.
|
|
49
|
+
*/
|
|
46
50
|
url: string;
|
|
51
|
+
/** Present when `url` is relative — says how to get absolute links. */
|
|
52
|
+
urlNote?: string;
|
|
53
|
+
/**
|
|
54
|
+
* The most recent apply attempt that did not land, while the request is
|
|
55
|
+
* still open — so its author and every other viewer see the refusal the
|
|
56
|
+
* person who clicked Apply saw. Replaced by a newer refusal; null or
|
|
57
|
+
* absent when there is nothing to report.
|
|
58
|
+
*/
|
|
59
|
+
lastApplyFailure?: ChangeRequestApplyFailure | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* What refused an apply: the merge gate (approvals it still waits on), git
|
|
63
|
+
* (conflicts with the target), or anything else (a push, the roles.yaml guard,
|
|
64
|
+
* an internal error). Decides which later change makes the refusal obsolete.
|
|
65
|
+
*/
|
|
66
|
+
export type ChangeRequestApplyFailureKind = 'gate' | 'conflicts' | 'error';
|
|
67
|
+
/** Why the last apply of a change request failed, as persisted on the request. */
|
|
68
|
+
export interface ChangeRequestApplyFailure {
|
|
69
|
+
/** Human-readable reason, credentials already redacted. */
|
|
70
|
+
reason: string;
|
|
71
|
+
/** True when git refused the merge on conflicts with the target. */
|
|
72
|
+
conflicts: boolean;
|
|
73
|
+
/** ISO timestamp of the failed attempt. */
|
|
74
|
+
at: string;
|
|
75
|
+
/** Display name of whoever attempted the apply. */
|
|
76
|
+
byName: string;
|
|
47
77
|
}
|
|
48
78
|
export type PrFileStatus = 'added' | 'modified' | 'removed' | 'renamed' | 'copied' | 'changed' | 'unchanged';
|
|
49
79
|
/**
|
|
@@ -137,16 +167,31 @@ export interface FileApprovalState {
|
|
|
137
167
|
}[];
|
|
138
168
|
};
|
|
139
169
|
approvedBy: FileApprovalEntry[];
|
|
170
|
+
/**
|
|
171
|
+
* True only when `eligibleApprovers` is the access tree's actual answer for
|
|
172
|
+
* this file. False (or absent) when it could not be resolved — no workspace,
|
|
173
|
+
* no usable access config on the base, a failed lookup — in which case the
|
|
174
|
+
* empty approver set means "unknown", not "outside the gate", and anything
|
|
175
|
+
* granted on the strength of that emptiness must fail closed.
|
|
176
|
+
*/
|
|
177
|
+
eligibilityResolved?: boolean;
|
|
140
178
|
/**
|
|
141
179
|
* True iff at least one eligible approver has submitted a non-stale
|
|
142
180
|
* approval. Always `false` when `eligibleApprovers` is empty — with no
|
|
143
181
|
* eligible set, nobody can satisfy the check.
|
|
144
182
|
* Whether the gate *cares* about this file is a separate concern handled
|
|
145
|
-
* by the merge-gate logic:
|
|
146
|
-
*
|
|
183
|
+
* by the merge-gate logic: files with no eligible approvers, whatever
|
|
184
|
+
* their type, are silently excluded from the gate, so `isApproved: false`
|
|
147
185
|
* on one of them does not block merge.
|
|
148
186
|
*/
|
|
149
187
|
isApproved: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Whether the merge gate binds this file at all — the backend's one
|
|
190
|
+
* relevance rule, stamped per file so clients read the verdict instead of
|
|
191
|
+
* re-deriving it. False files neither warn nor block a merge, so no surface
|
|
192
|
+
* should count them as pending or name anyone to wait on.
|
|
193
|
+
*/
|
|
194
|
+
inMergeGate: boolean;
|
|
150
195
|
/**
|
|
151
196
|
* Pre-computed for the requesting viewer: would `approveFile` accept their
|
|
152
197
|
* click? True iff their email resolves to `write` on this path under the
|
|
@@ -175,21 +220,21 @@ export interface PullRequestDetail extends PullRequestSummary {
|
|
|
175
220
|
*/
|
|
176
221
|
approvals: FileApprovalState[];
|
|
177
222
|
/**
|
|
178
|
-
* True iff no
|
|
179
|
-
* merged/closed
|
|
180
|
-
*
|
|
181
|
-
*
|
|
223
|
+
* True iff no blocking reason remains — the PR is open, has files, isn't
|
|
224
|
+
* merged/closed, and every file with an eligible approver (of any file
|
|
225
|
+
* type) holds a current approval. False while any approval is missing; an
|
|
226
|
+
* admin may still merge past missing approvals with the bypass flag.
|
|
182
227
|
*/
|
|
183
228
|
mergeableInBevel: boolean;
|
|
184
229
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
230
|
+
* Blocking reasons — hard blocks (PR state, no files) followed by each
|
|
231
|
+
* missing approval. Empty exactly when `mergeableInBevel` is true.
|
|
187
232
|
*/
|
|
188
233
|
mergeBlockedReasons: string[];
|
|
189
234
|
/**
|
|
190
|
-
*
|
|
191
|
-
* approval is stale).
|
|
192
|
-
*
|
|
235
|
+
* The missing approvals alone — files of any type with an eligible approver
|
|
236
|
+
* who hasn't approved (or whose approval is stale). An admin bypass merges
|
|
237
|
+
* past exactly these and records them. Files nobody can approve are silent.
|
|
193
238
|
*/
|
|
194
239
|
mergeWarnings: string[];
|
|
195
240
|
/**
|
|
@@ -212,6 +257,25 @@ export interface PullRequestDetail extends PullRequestSummary {
|
|
|
212
257
|
* tree can't be resolved.
|
|
213
258
|
*/
|
|
214
259
|
viewerCanCancel: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* The commit this request forked from its target (merge base of `headSha`
|
|
262
|
+
* and `baseSha`). Every file diff in the request reads its "before" side
|
|
263
|
+
* here, never at the target tip — an edit made on the target after the
|
|
264
|
+
* proposal must not look like something the proposal deletes. `null` when
|
|
265
|
+
* the branches share no history (or no workspace could resolve them).
|
|
266
|
+
*/
|
|
267
|
+
mergeBaseSha: string | null;
|
|
268
|
+
/**
|
|
269
|
+
* True iff the target holds commits the proposal does not contain — the
|
|
270
|
+
* request needs updating. False for anything not open.
|
|
271
|
+
*/
|
|
272
|
+
behind: boolean;
|
|
273
|
+
/**
|
|
274
|
+
* True iff the viewer may Update the request (merge its target into it):
|
|
275
|
+
* the request is open AND the viewer is its author or may apply it. A UX
|
|
276
|
+
* hint — the update route re-checks the same predicate server-side.
|
|
277
|
+
*/
|
|
278
|
+
viewerCanUpdate: boolean;
|
|
215
279
|
}
|
|
216
280
|
/**
|
|
217
281
|
* Result of a successful merge via the in-app gate. `sha` is the merge commit
|
|
@@ -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,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,uBAAuB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pr.types.d.ts","sourceRoot":"","sources":["../../src/git/pr.types.ts"],"names":[],"mappings":"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"}
|
package/dist/git/types.d.ts
CHANGED
|
@@ -184,7 +184,34 @@ export interface IGitService {
|
|
|
184
184
|
* Just the repo-relative paths a change request touches (three-dot diff,
|
|
185
185
|
* no statuses, no patches): the cheap form behind change-request list
|
|
186
186
|
* summaries and owner routing.
|
|
187
|
+
*
|
|
188
|
+
* `fetch: false` skips the per-request fetch of the two refs — for a caller
|
|
189
|
+
* that has just refreshed the whole clone's remote-tracking refs in one
|
|
190
|
+
* round trip, which is what a LIST does rather than paying one fetch per
|
|
191
|
+
* request. Pass it only when that is true; otherwise the diff can describe
|
|
192
|
+
* a stale head. It is a skip, not a promise: a branch the clone does not
|
|
193
|
+
* have yet is fetched anyway, since there is nothing to diff without it —
|
|
194
|
+
* so a list's first sight of a new request still costs one round trip.
|
|
195
|
+
*/
|
|
196
|
+
changedPathsForPr(workspaceId: string, baseBranch: string, headBranch: string, opts?: {
|
|
197
|
+
fetch?: boolean;
|
|
198
|
+
}): Promise<string[]>;
|
|
199
|
+
/**
|
|
200
|
+
* A change request's fork point (merge base of the two resolved commits)
|
|
201
|
+
* and whether the target has commits the proposal does not contain. No
|
|
202
|
+
* fetch: `at` is what `resolvePrShas` just returned.
|
|
203
|
+
*/
|
|
204
|
+
forkPointForPr(workspaceId: string, at: {
|
|
205
|
+
baseSha: string;
|
|
206
|
+
headSha: string;
|
|
207
|
+
}): Promise<{
|
|
208
|
+
mergeBaseSha: string | null;
|
|
209
|
+
behind: boolean;
|
|
210
|
+
}>;
|
|
211
|
+
/**
|
|
212
|
+
* A file's content at a change request's fork point — a commit that must
|
|
213
|
+
* be on `baseBranch`'s history. `null` when the path did not exist there.
|
|
187
214
|
*/
|
|
188
|
-
|
|
215
|
+
readFileAtForkPoint(workspaceId: string, baseBranch: string, sha: string, relativePath: string): Promise<string | null>;
|
|
189
216
|
}
|
|
190
217
|
//# sourceMappingURL=types.d.ts.map
|
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":"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
|
|
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
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export * from './auth/types.js';
|
|
2
2
|
export * from './chat/types.js';
|
|
3
3
|
export * from './workspace/types.js';
|
|
4
|
+
export * from './workspace/agent-preamble.js';
|
|
4
5
|
export * from './workspace/filename.js';
|
|
6
|
+
export * from './workspace/entry-exists.js';
|
|
5
7
|
export * from './workspace/kb-layout.js';
|
|
6
8
|
export * from './workspace/join-request.js';
|
|
7
9
|
export * from './workspace/frontmatter.js';
|
|
10
|
+
export * from './workspace/placeholder.js';
|
|
11
|
+
export * from './workspace/frontmatter-carriers.js';
|
|
12
|
+
export * from './workspace/platform-files.js';
|
|
13
|
+
export * from './workspace/access-verbs.js';
|
|
8
14
|
export * from './git/types.js';
|
|
9
15
|
export * from './git/pr.types.js';
|
|
10
16
|
export * from './git/protected.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;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAGhC,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,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;AAGtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,10 +4,16 @@ export * from './auth/types.js';
|
|
|
4
4
|
export * from './chat/types.js';
|
|
5
5
|
// Workspace
|
|
6
6
|
export * from './workspace/types.js';
|
|
7
|
+
export * from './workspace/agent-preamble.js';
|
|
7
8
|
export * from './workspace/filename.js';
|
|
9
|
+
export * from './workspace/entry-exists.js';
|
|
8
10
|
export * from './workspace/kb-layout.js';
|
|
9
11
|
export * from './workspace/join-request.js';
|
|
10
12
|
export * from './workspace/frontmatter.js';
|
|
13
|
+
export * from './workspace/placeholder.js';
|
|
14
|
+
export * from './workspace/frontmatter-carriers.js';
|
|
15
|
+
export * from './workspace/platform-files.js';
|
|
16
|
+
export * from './workspace/access-verbs.js';
|
|
11
17
|
// Git
|
|
12
18
|
export * from './git/types.js';
|
|
13
19
|
export * from './git/pr.types.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;AAEhC,OAAO;AACP,cAAc,iBAAiB,CAAC;AAEhC,YAAY;AACZ,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,cAAc,iBAAiB,CAAC;AAEhC,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,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;AAEtC,yEAAyE;AACzE,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
|
@@ -202,6 +202,27 @@ export interface ChangeRequestRejectedEvent {
|
|
|
202
202
|
kind: 'change-request-rejected';
|
|
203
203
|
number: number;
|
|
204
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* An apply did NOT land, announced to EVERY session — the counterpart of the
|
|
207
|
+
* user-scoped `change-request-merge-failed` below, which only the clicker gets.
|
|
208
|
+
*
|
|
209
|
+
* The request stays open, so everyone who can see it (its author waiting on
|
|
210
|
+
* the verdict, another owner, another admin) needs to learn that the attempt
|
|
211
|
+
* failed and why. The reason is deliberately NOT carried here: it is persisted
|
|
212
|
+
* on the request (`PullRequestSummary.lastApplyFailure`) and read back through
|
|
213
|
+
* the list and detail endpoints the viewer already uses, so the broadcast puts
|
|
214
|
+
* no error text in front of every session, and a session that missed the event
|
|
215
|
+
* reads the same answer on its next fetch.
|
|
216
|
+
*
|
|
217
|
+
* Also sent when a recorded refusal is CLEARED because a change made it
|
|
218
|
+
* obsolete (an approval for a gate refusal, a moved source head for any):
|
|
219
|
+
* either way the request's `lastApplyFailure` changed, and every viewer
|
|
220
|
+
* re-reads it.
|
|
221
|
+
*/
|
|
222
|
+
export interface ChangeRequestApplyFailedEvent {
|
|
223
|
+
kind: 'change-request-apply-failed';
|
|
224
|
+
number: number;
|
|
225
|
+
}
|
|
205
226
|
/**
|
|
206
227
|
* A merge the caller triggered did NOT land — either the gate refused it, the
|
|
207
228
|
* branch needs conflict resolution, or `gh pr merge` failed. The merge route
|
|
@@ -209,9 +230,10 @@ export interface ChangeRequestRejectedEvent {
|
|
|
209
230
|
* gateway timeout), so this is how the failure reaches the UI that kicked it
|
|
210
231
|
* off. Success travels on `change-request-merged` instead.
|
|
211
232
|
*
|
|
212
|
-
* User-scoped (`forUserId`, no `workspaceId`) —
|
|
213
|
-
*
|
|
214
|
-
*
|
|
233
|
+
* User-scoped (`forUserId`, no `workspaceId`) — the clicker's immediate
|
|
234
|
+
* answer, which also routes a conflict into the resolution flow. Everyone else
|
|
235
|
+
* learns of the failure from `change-request-apply-failed`, which carries no
|
|
236
|
+
* error string; the reason itself is persisted on the request.
|
|
215
237
|
*/
|
|
216
238
|
export interface ChangeRequestMergeFailedEvent {
|
|
217
239
|
kind: 'change-request-merge-failed';
|
|
@@ -224,6 +246,12 @@ export interface ChangeRequestMergeFailedEvent {
|
|
|
224
246
|
* The UI routes to the agent resolution flow instead of showing an error.
|
|
225
247
|
*/
|
|
226
248
|
conflicts: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* When the attempt failed (ISO) — the same instant persisted as
|
|
251
|
+
* `lastApplyFailure.at` when the refusal is recorded, so the clicker's tab
|
|
252
|
+
* can tell its own refusal from a later one somebody else's attempt made.
|
|
253
|
+
*/
|
|
254
|
+
at?: string;
|
|
227
255
|
}
|
|
228
256
|
/**
|
|
229
257
|
* Per-file approval on a change request was added or removed (e.g. via the
|
|
@@ -256,7 +284,7 @@ export interface ResyncEvent {
|
|
|
256
284
|
/** Human-readable reason for logs / debugging. */
|
|
257
285
|
reason: string;
|
|
258
286
|
}
|
|
259
|
-
export type WorkflowEventPayload = FileChangedEvent | LockAcquiredEvent | LockReleasedEvent | FsTreeChangedEvent | GitSyncFailedEvent | GitSyncRecoveredEvent | BranchSwitchedEvent | AgentToolCallEvent | ChangeRequestOpenedEvent | ChangeRequestMergedEvent | ChangeRequestRejectedEvent | ChangeRequestMergeFailedEvent | ApprovalChangedEvent | HeartbeatEvent | ResyncEvent;
|
|
287
|
+
export type WorkflowEventPayload = FileChangedEvent | LockAcquiredEvent | LockReleasedEvent | FsTreeChangedEvent | GitSyncFailedEvent | GitSyncRecoveredEvent | BranchSwitchedEvent | AgentToolCallEvent | ChangeRequestOpenedEvent | ChangeRequestMergedEvent | ChangeRequestRejectedEvent | ChangeRequestMergeFailedEvent | ChangeRequestApplyFailedEvent | ApprovalChangedEvent | HeartbeatEvent | ResyncEvent;
|
|
260
288
|
export type WorkflowEvent = WorkflowEventEnvelope & WorkflowEventPayload;
|
|
261
289
|
/** True for events scoped to a workspace — the focus filter applies. */
|
|
262
290
|
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;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/workflow/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AA6SH,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,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,6BAA6B,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
* the final surface area.
|
|
18
18
|
*/
|
|
19
19
|
import type { AuthUser } from '../auth/types.js';
|
|
20
|
-
import type {
|
|
20
|
+
import type { ChangeRequestApplyFailureKind } from '../git/pr.types.js';
|
|
21
|
+
import type { AcquireLockResult, Branch, BranchSyncOutcome, BranchWorkspaceStatus, CancelChangeRequestResult, Change, ChangeInput, ChangeRequest, ChangeRequestComment, ChangeRequestDetail, ChangeRequestState, ChangedFile, FileApproval, FileLock, FolderChangeRequest, FolderChangeRequestRemoval, MergeBranchOutcome, MergeChangeRequestOutcome, OpenChangeRequestInput, PostChangeRequestCommentInput } from './types.js';
|
|
21
22
|
export interface IWorkflowService {
|
|
22
23
|
/**
|
|
23
24
|
* `freshFetch` bypasses the fetch TTL; `strictFetch` makes a failed fetch
|
|
@@ -173,6 +174,18 @@ export interface IWorkflowService {
|
|
|
173
174
|
baseline: string | null;
|
|
174
175
|
current: string | null;
|
|
175
176
|
}>;
|
|
177
|
+
/**
|
|
178
|
+
* One file as it stood at a change request's fork point (`sha`, which must
|
|
179
|
+
* lie on the target branch's history) — the "before" side of the request
|
|
180
|
+
* dialog's diff. `null` when the path did not exist there. Access is the
|
|
181
|
+
* caller's to check.
|
|
182
|
+
*/
|
|
183
|
+
fileAtForkPoint(workspaceId: string, baseBranch: string, sha: string, path: string): Promise<string | null>;
|
|
184
|
+
/**
|
|
185
|
+
* A change request's current fork point: the merge base of the freshly
|
|
186
|
+
* fetched target and source branches, or `null` when they share no history.
|
|
187
|
+
*/
|
|
188
|
+
changeRequestForkPoint(workspaceId: string, baseBranch: string, headBranch: string): Promise<string | null>;
|
|
176
189
|
/**
|
|
177
190
|
* Try to acquire an edit lock on `(branch, path)` for the caller. Returns
|
|
178
191
|
* `{ acquired: true, lock }` on success; `{ acquired: false, lock }` if
|
|
@@ -194,9 +207,36 @@ export interface IWorkflowService {
|
|
|
194
207
|
* `releaseLockUntouched`) — `releaseLock` rejects rather than ever enqueue
|
|
195
208
|
* a commit for a hold that was never allowed to write. Internal callers
|
|
196
209
|
* only; never plumbed from a route.
|
|
210
|
+
*
|
|
211
|
+
* Every non-coordination acquire also passes the READ-BEFORE-WRITE gate, on
|
|
212
|
+
* every branch: the caller must be able to read the path (for a new path,
|
|
213
|
+
* where it lands), or the path must start a new folder directly under one
|
|
214
|
+
* of the three roots (knowledge, skills, plugins). Nothing is created,
|
|
215
|
+
* changed or removed where its author cannot see it, whatever write rules
|
|
216
|
+
* say; a refusal is an `AccessDeniedError` whose `access.unreadable` names
|
|
217
|
+
* the place. A write that passed only as a platform-file restore is not
|
|
218
|
+
* asked — that rescue exists for a destination whose rules deny the admin
|
|
219
|
+
* making it.
|
|
220
|
+
*
|
|
221
|
+
* `opts.platformRestore` CLAIMS that this acquire is the destination side of
|
|
222
|
+
* an admin putting a misplaced platform file back (`access.md`, `roles.yaml`,
|
|
223
|
+
* `.bevelignore`, the agent guide), and names the move's `source` — the path the
|
|
224
|
+
* file is coming FROM, in the same spelling as `path`.
|
|
225
|
+
*
|
|
226
|
+
* It is a claim, not an authorisation. The implementation re-asks both
|
|
227
|
+
* halves of it: that source→path is a restore at all (a misplaced copy
|
|
228
|
+
* going back under its own name, never the root's own copy coming out —
|
|
229
|
+
* `isPlatformRestoreShape`), and that the access module
|
|
230
|
+
* (`canRestorePlatformFile`) lets this caller land this exact path. Only
|
|
231
|
+
* both yeses let the acquire past the write gate, so a caller that omits or
|
|
232
|
+
* fakes the source gains nothing: the gate never takes the route's word for
|
|
233
|
+
* which move this is.
|
|
197
234
|
*/
|
|
198
235
|
acquireLock(workspaceId: string, branch: string, path: string, user: AuthUser, opts?: {
|
|
199
236
|
coordination?: boolean;
|
|
237
|
+
platformRestore?: {
|
|
238
|
+
source: string;
|
|
239
|
+
};
|
|
200
240
|
}): Promise<AcquireLockResult>;
|
|
201
241
|
/** Heartbeat to keep an acquired lock alive past its current TTL. */
|
|
202
242
|
heartbeatLock(workspaceId: string, branch: string, path: string, user: AuthUser): Promise<FileLock>;
|
|
@@ -309,9 +349,12 @@ export interface IWorkflowService {
|
|
|
309
349
|
*/
|
|
310
350
|
openChangeRequest(workspaceId: string, user: AuthUser, input: OpenChangeRequestInput): Promise<ChangeRequestDetail>;
|
|
311
351
|
/**
|
|
312
|
-
* Re-run `targetBranch → sourceBranch` merge on an existing change request
|
|
313
|
-
*
|
|
314
|
-
*
|
|
352
|
+
* Re-run `targetBranch → sourceBranch` merge on an existing change request
|
|
353
|
+
* and push it — the request dialog's Update, offered when the target has
|
|
354
|
+
* advanced since the request was opened. Only the request's author or
|
|
355
|
+
* someone who may apply it (`viewerCanUpdate`) may run it (403 otherwise).
|
|
356
|
+
* A conflicting merge is aborted, leaving the branch exactly as it was, and
|
|
357
|
+
* surfaces as `ChangeRequestConflictsError` (409).
|
|
315
358
|
*/
|
|
316
359
|
updateFromTarget(workspaceId: string, user: AuthUser, number: number): Promise<ChangeRequestDetail>;
|
|
317
360
|
listComments(number: number): Promise<ChangeRequestComment[]>;
|
|
@@ -337,6 +380,20 @@ export interface IWorkflowService {
|
|
|
337
380
|
* Returns true when this call closed it.
|
|
338
381
|
*/
|
|
339
382
|
closeEmptyChangeRequest(number: number, user: AuthUser): Promise<boolean>;
|
|
383
|
+
/**
|
|
384
|
+
* The open change requests proposing files under a KB-repo-relative
|
|
385
|
+
* folder, each with whether the caller may take those files out of it
|
|
386
|
+
* (their own request, they are an admin, or they may write every file it
|
|
387
|
+
* proposes under the folder).
|
|
388
|
+
*/
|
|
389
|
+
changeRequestsUnderFolder(folder: string, user: AuthUser): Promise<FolderChangeRequest[]>;
|
|
390
|
+
/**
|
|
391
|
+
* Take every file under the folder out of every open change request
|
|
392
|
+
* proposing one; a request left empty is withdrawn. All or nothing: refused
|
|
393
|
+
* (403), with nothing touched, when the caller may not act on even one of
|
|
394
|
+
* them.
|
|
395
|
+
*/
|
|
396
|
+
removeFolderFromChangeRequests(folder: string, user: AuthUser): Promise<FolderChangeRequestRemoval[]>;
|
|
340
397
|
/**
|
|
341
398
|
* Close every open change request either of whose branches no longer exists
|
|
342
399
|
* — source or target, since a proposal needs both ends. Such a request
|
|
@@ -375,5 +432,47 @@ export interface IWorkflowService {
|
|
|
375
432
|
mergeChangeRequest(number: number, user: AuthUser, headSha: string, approvals: FileApproval[], state: ChangeRequestState, title: string, baseBranch: string, workspaceId: string, opts?: {
|
|
376
433
|
bypass?: boolean;
|
|
377
434
|
}): Promise<MergeChangeRequestOutcome>;
|
|
435
|
+
/** Start an apply attempt on a request; the token scopes `recordApplyFailure`. */
|
|
436
|
+
beginApplyAttempt(number: number): number;
|
|
437
|
+
/** End an attempt `beginApplyAttempt` started, whatever its outcome. */
|
|
438
|
+
endApplyAttempt(number: number, attempt: number): void;
|
|
439
|
+
/**
|
|
440
|
+
* Persist why an apply did not land on the (still open) request, and
|
|
441
|
+
* announce `change-request-apply-failed` to every session so the author and
|
|
442
|
+
* other viewers re-read it — not only the user who clicked. Resolves false,
|
|
443
|
+
* recording and announcing nothing, when `attempt` is no longer the latest
|
|
444
|
+
* or the request is no longer open.
|
|
445
|
+
*/
|
|
446
|
+
recordApplyFailure(number: number, failure: {
|
|
447
|
+
reason: string;
|
|
448
|
+
kind: ChangeRequestApplyFailureKind;
|
|
449
|
+
at?: Date;
|
|
450
|
+
}, user: AuthUser, attempt: number): Promise<boolean>;
|
|
451
|
+
/**
|
|
452
|
+
* Merge `sourceBranch` into `targetBranch` directly, authored as `user`,
|
|
453
|
+
* and publish the target. The agent path for merging branches — it never
|
|
454
|
+
* lands a change request:
|
|
455
|
+
*
|
|
456
|
+
* - refused (`OpenChangeRequestBlocksMergeError`, naming the request) when
|
|
457
|
+
* a change request from `sourceBranch` into `targetBranch` is open; a
|
|
458
|
+
* person merges that one in the app. The reverse direction — the target
|
|
459
|
+
* into the source, the sync that keeps a draft current — is allowed.
|
|
460
|
+
* - refused (`WorkflowDomainError`, `kind: 'protected-merge-target'`,
|
|
461
|
+
* status 403, listing the denied paths) when `targetBranch` is protected
|
|
462
|
+
* and `user` could not commit every file the merge changes directly to
|
|
463
|
+
* it. Decided against the target commit the merge is built on, not a
|
|
464
|
+
* workspace `HEAD` that may be behind it.
|
|
465
|
+
* - refused (`WorkflowDomainError`, `kind: 'protected-merge-changes-roles'`,
|
|
466
|
+
* status 403) when `targetBranch` is protected and the merge would
|
|
467
|
+
* change its `roles.yaml` — whoever the caller is. Roles never change
|
|
468
|
+
* through a merge; a change request's merge restores the target's copy
|
|
469
|
+
* first, and this path refuses instead. Roles are changed in the app.
|
|
470
|
+
* - refused (`WorkflowDomainError`, `kind: 'merge-target-busy'`, status
|
|
471
|
+
* 409) when `targetBranch`'s workspace still holds unshared edits: the
|
|
472
|
+
* merge resets it to the published tip, which would discard them.
|
|
473
|
+
*
|
|
474
|
+
* Conflicts write nothing and come back as `conflicts-need-resolution`.
|
|
475
|
+
*/
|
|
476
|
+
mergeBranch(user: AuthUser, sourceBranch: string, targetBranch: string): Promise<MergeBranchOutcome>;
|
|
378
477
|
}
|
|
379
478
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/workflow/interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/workflow/interface.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/types.d.ts
CHANGED
|
@@ -104,6 +104,43 @@ export type MergeChangeRequestResult = MergePrResult;
|
|
|
104
104
|
export type CancelChangeRequestResult = CancelPrResult;
|
|
105
105
|
export type ChangeRequestComment = PrReviewComment;
|
|
106
106
|
export type PostChangeRequestCommentInput = PostPrCommentInput;
|
|
107
|
+
/**
|
|
108
|
+
* One open change request proposing files under a folder, as a folder delete
|
|
109
|
+
* lists it. `mayRemove`: the caller may take those files out of it (their own,
|
|
110
|
+
* they are an admin, or they may write every file it proposes under the
|
|
111
|
+
* folder); a refusal always says why.
|
|
112
|
+
*/
|
|
113
|
+
export type FolderChangeRequest = {
|
|
114
|
+
number: number;
|
|
115
|
+
title: string;
|
|
116
|
+
authorName: string | null;
|
|
117
|
+
/** The caller authored it. */
|
|
118
|
+
mine: boolean;
|
|
119
|
+
/** KB-repo-relative paths it proposes under the folder. */
|
|
120
|
+
paths: string[];
|
|
121
|
+
} & ({
|
|
122
|
+
mayRemove: true;
|
|
123
|
+
} | {
|
|
124
|
+
mayRemove: false;
|
|
125
|
+
reason: string;
|
|
126
|
+
});
|
|
127
|
+
/** What removing a folder's files did to one change request. */
|
|
128
|
+
export interface FolderChangeRequestRemoval {
|
|
129
|
+
number: number;
|
|
130
|
+
removedPaths: string[];
|
|
131
|
+
/** The request proposed nothing else, so it was withdrawn. */
|
|
132
|
+
withdrawn: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Files under the folder it still proposes: added while the removal ran,
|
|
135
|
+
* so never judged, and left alone.
|
|
136
|
+
*/
|
|
137
|
+
stillProposed: string[];
|
|
138
|
+
/**
|
|
139
|
+
* It proposes nothing now but was kept open, because a save to its branch
|
|
140
|
+
* was still landing — withdrawing would have deleted that save.
|
|
141
|
+
*/
|
|
142
|
+
keptForSaves: boolean;
|
|
143
|
+
}
|
|
107
144
|
/**
|
|
108
145
|
* Input for opening a new change request. The workflow auto-merges
|
|
109
146
|
* `targetBranch` into `sourceBranch` as part of opening, so callers don't
|
|
@@ -137,6 +174,18 @@ export type MergeChangeRequestOutcome = {
|
|
|
137
174
|
kind: 'conflicts-need-resolution';
|
|
138
175
|
conflictedPaths: string[];
|
|
139
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* What a direct branch-to-branch merge (`mergeBranch`) did: landed as `sha`
|
|
179
|
+
* on the target (the target's own tip when it already contained the source),
|
|
180
|
+
* or stopped on conflicts, nothing written.
|
|
181
|
+
*/
|
|
182
|
+
export type MergeBranchOutcome = {
|
|
183
|
+
kind: 'merged';
|
|
184
|
+
sha: string;
|
|
185
|
+
} | {
|
|
186
|
+
kind: 'conflicts-need-resolution';
|
|
187
|
+
conflictedPaths: string[];
|
|
188
|
+
};
|
|
140
189
|
/**
|
|
141
190
|
* What a remote sync did to one branch's clone. One entry per branch in the
|
|
142
191
|
* `POST /api/sync` response, so a pipeline can read exactly which branch
|