@cat-factory/contracts 0.292.0 → 0.292.2
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/github-pat-capability.d.ts +233 -0
- package/dist/github-pat-capability.d.ts.map +1 -0
- package/dist/github-pat-capability.js +265 -0
- package/dist/github-pat-capability.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/provider-config.d.ts +28 -3
- package/dist/provider-config.d.ts.map +1 -1
- package/dist/provider-config.js +46 -0
- package/dist/provider-config.js.map +1 -1
- package/dist/routes/environments.d.ts +4 -2
- package/dist/routes/environments.d.ts.map +1 -1
- package/dist/routes/github.d.ts +63 -0
- package/dist/routes/github.d.ts.map +1 -1
- package/dist/routes/github.js +16 -0
- package/dist/routes/github.js.map +1 -1
- package/dist/routes/runners.d.ts +2 -1
- package/dist/routes/runners.d.ts.map +1 -1
- package/dist/routes/user-secret.d.ts +2 -1
- package/dist/routes/user-secret.d.ts.map +1 -1
- package/dist/service-account-token.d.ts +27 -0
- package/dist/service-account-token.d.ts.map +1 -0
- package/dist/service-account-token.js +51 -0
- package/dist/service-account-token.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* Which credential the check looked at — the two shapes on which a PAT is what a run
|
|
4
|
+
* authenticates as. Named on the wire because the REMEDY differs: a `deployment` token is
|
|
5
|
+
* replaced by whoever runs the deployment, an `initiator` one by the signed-in user in their
|
|
6
|
+
* own settings, and a banner that could not tell them apart would send half its readers to a
|
|
7
|
+
* page they cannot act on.
|
|
8
|
+
*/
|
|
9
|
+
export declare const githubPatSourceSchema: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
10
|
+
export type GitHubPatSource = v.InferOutput<typeof githubPatSourceSchema>;
|
|
11
|
+
/**
|
|
12
|
+
* How a token's reach was determined, mirroring `describeGitHubPatScope`'s own classification.
|
|
13
|
+
* `unknown` is a token GitHub accepted while reporting no scopes and whose prefix is not the
|
|
14
|
+
* fine-grained one, so nothing about its breadth can be stated.
|
|
15
|
+
*/
|
|
16
|
+
export declare const githubPatKindSchema: v.PicklistSchema<["classic", "fine_grained", "unknown"], undefined>;
|
|
17
|
+
export type GitHubPatKind = v.InferOutput<typeof githubPatKindSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* The things a pipeline needs the token to be able to do. Kept to what actually stops work:
|
|
20
|
+
* every step from the coder onward pushes a branch, the merger opens and merges a pull
|
|
21
|
+
* request, and the coder/ci-fixer may edit `.github/workflows/*`.
|
|
22
|
+
*
|
|
23
|
+
* Read-only reach is absent on purpose. A token that cannot read the repository fails at
|
|
24
|
+
* `GET /user` or at the repo probe, which is `token_rejected` / an unreadable repo rather than
|
|
25
|
+
* a capability verdict.
|
|
26
|
+
*/
|
|
27
|
+
export declare const githubPatCapabilitySchema: v.PicklistSchema<["push", "pullRequests", "workflows"], undefined>;
|
|
28
|
+
export type GitHubPatCapability = v.InferOutput<typeof githubPatCapabilitySchema>;
|
|
29
|
+
/** Every capability, as a plain tuple — the source of truth for iteration. */
|
|
30
|
+
export declare const GITHUB_PAT_CAPABILITIES: ["push", "pullRequests", "workflows"];
|
|
31
|
+
/**
|
|
32
|
+
* Whether the token holds one capability.
|
|
33
|
+
* - `granted` — positively established (a classic scope GitHub named, or a repo probe that
|
|
34
|
+
* reported `permissions.push`).
|
|
35
|
+
* - `missing` — positively established as ABSENT. The only status that raises a banner.
|
|
36
|
+
* - `unknown` — not determinable from what GitHub exposes. NOT a synonym for either: a
|
|
37
|
+
* fine-grained token's pull-request and workflow permissions have no endpoint that reports
|
|
38
|
+
* them, and rendering that as `granted` would silence a real gap while rendering it as
|
|
39
|
+
* `missing` would nag every correctly-configured fine-grained deployment forever.
|
|
40
|
+
*/
|
|
41
|
+
export declare const githubPatCapabilityStatusSchema: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
42
|
+
export type GitHubPatCapabilityStatus = v.InferOutput<typeof githubPatCapabilityStatusSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* The per-capability verdict. Spelled as an explicit object rather than a `v.record` over the
|
|
45
|
+
* picklist so a new capability fails the typecheck at every construction site instead of
|
|
46
|
+
* silently defaulting to absent; `githubPatCapabilities.spec.ts` pins the two lists together.
|
|
47
|
+
*/
|
|
48
|
+
export declare const githubPatCapabilitiesSchema: v.ObjectSchema<{
|
|
49
|
+
readonly push: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
50
|
+
readonly pullRequests: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
51
|
+
readonly workflows: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
52
|
+
}, undefined>;
|
|
53
|
+
export type GitHubPatCapabilities = v.InferOutput<typeof githubPatCapabilitiesSchema>;
|
|
54
|
+
/**
|
|
55
|
+
* The capabilities whose absence STOPS a pipeline, as opposed to narrowing what it may change.
|
|
56
|
+
*
|
|
57
|
+
* `workflows` is deliberately not among them, and it is the exclusion worth stating: without it
|
|
58
|
+
* a run pushes, opens its PR and merges exactly as normal, and fails only on the subset of
|
|
59
|
+
* changes that touch `.github/workflows/*`. Treating that as blocking would raise the loud
|
|
60
|
+
* banner on the many deployments whose agents never edit CI, which is how a warning surface
|
|
61
|
+
* teaches people to dismiss it unread.
|
|
62
|
+
*/
|
|
63
|
+
export declare const GITHUB_PAT_BLOCKING_CAPABILITIES: readonly ["push", "pullRequests"];
|
|
64
|
+
/**
|
|
65
|
+
* The classic scopes a replacement token needs, and the single source of truth for them: the
|
|
66
|
+
* local facade's setup link, the SPA's re-mint link and this module's own classification all
|
|
67
|
+
* read this one list.
|
|
68
|
+
*
|
|
69
|
+
* `repo` covers cloning, pushing a branch, opening the pull request, reading the head's Actions
|
|
70
|
+
* check runs for the CI gate and merging. `workflow` is needed only to push a change that
|
|
71
|
+
* touches a workflow file, but it is pre-selected anyway: a token is minted once, and sending
|
|
72
|
+
* someone back to GitHub a second time the first time an agent edits CI is worse than the
|
|
73
|
+
* narrower grant is worth. What it costs is stated in `githubPatScope.ts`.
|
|
74
|
+
*/
|
|
75
|
+
export declare const GITHUB_PAT_CLASSIC_SCOPES: readonly ['repo', 'workflow'];
|
|
76
|
+
/**
|
|
77
|
+
* The fine-grained REPOSITORY permissions a replacement token needs, for the banner to list.
|
|
78
|
+
* Prose rather than a query parameter because GitHub's fine-grained token form accepts no
|
|
79
|
+
* prefill: see {@link githubPatCreateUrl}.
|
|
80
|
+
*/
|
|
81
|
+
export declare const GITHUB_PAT_FINE_GRAINED_PERMISSIONS: readonly ['contents:write', 'pull_requests:write', 'workflows:write'];
|
|
82
|
+
/**
|
|
83
|
+
* Where each token kind is minted, relative to the instance's web root. Exported because the
|
|
84
|
+
* SPA's generic connect-box link (`vcsTokenCreateUrl`, which offers no scopes) has to land on
|
|
85
|
+
* the same page this module's pre-filled link does; two spellings of GitHub's settings path
|
|
86
|
+
* would send the two surfaces to different places the day GitHub moves one.
|
|
87
|
+
*/
|
|
88
|
+
export declare const GITHUB_TOKEN_CREATE_PATHS: Record<GitHubPatKind, string>;
|
|
89
|
+
/**
|
|
90
|
+
* The URL that mints a replacement token, pre-filled as far as GitHub allows.
|
|
91
|
+
*
|
|
92
|
+
* The KIND is carried over from the token being replaced rather than chosen for the user: a
|
|
93
|
+
* deployment that standardised on fine-grained tokens should not be pushed back to a classic
|
|
94
|
+
* one by a warning banner, and vice versa.
|
|
95
|
+
*
|
|
96
|
+
* Only the CLASSIC form takes a prefill. GitHub's fine-grained form accepts no permission query
|
|
97
|
+
* parameters at all, so that half of the fork is a bare link and the caller must render
|
|
98
|
+
* {@link GITHUB_PAT_FINE_GRAINED_PERMISSIONS} beside it — a link that silently arrived with
|
|
99
|
+
* nothing selected would read as "these are already set for you", which is precisely the
|
|
100
|
+
* misreading that produced the missing permission in the first place.
|
|
101
|
+
*
|
|
102
|
+
* `webUrl` is the instance the workspace is bound to; absent, the caller has already decided to
|
|
103
|
+
* fall back to the public host (the SPA's `vcsTokenCreateUrl` states why that is safe for a
|
|
104
|
+
* settings page and not for a repository link).
|
|
105
|
+
*/
|
|
106
|
+
export declare function githubPatCreateUrl(kind: GitHubPatKind, options: {
|
|
107
|
+
webUrl: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
}): string;
|
|
110
|
+
/**
|
|
111
|
+
* What the check found about the token a workspace's runs would use.
|
|
112
|
+
*
|
|
113
|
+
* `probedRepos` / `unprobedRepoCount` exist because the fine-grained answer is a SAMPLE: the
|
|
114
|
+
* probe reads the repositories this board's services target, capped, and a reader who assumed
|
|
115
|
+
* it read all of them would take a clean verdict as a guarantee about a repository nobody
|
|
116
|
+
* looked at. Both are empty/zero for a classic token, whose scopes answer for every repository
|
|
117
|
+
* at once.
|
|
118
|
+
*
|
|
119
|
+
* The token's raw scope list is deliberately NOT here. Nothing renders it, and the one source
|
|
120
|
+
* whose scopes this endpoint could expose is `deployment` — a shared operational credential
|
|
121
|
+
* whose breadth every workspace member would then be able to read off a route that lets reads
|
|
122
|
+
* through. The per-capability verdict is what a reader can act on; the scope list is what the
|
|
123
|
+
* person who pasted the token already saw on the connect form.
|
|
124
|
+
*/
|
|
125
|
+
export declare const githubPatCapabilityReportSchema: v.ObjectSchema<{
|
|
126
|
+
readonly source: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
127
|
+
readonly kind: v.PicklistSchema<["classic", "fine_grained", "unknown"], undefined>;
|
|
128
|
+
readonly capabilities: v.ObjectSchema<{
|
|
129
|
+
readonly push: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
130
|
+
readonly pullRequests: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
131
|
+
readonly workflows: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
132
|
+
}, undefined>;
|
|
133
|
+
/** The `owner/name` of each repository the probe actually asked GitHub about. */
|
|
134
|
+
readonly probedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
135
|
+
/**
|
|
136
|
+
* The probed repositories GitHub answered 404 for. A subset of {@link probedRepos}, and the
|
|
137
|
+
* one detail that turns "push is missing" into something a reader can act on for a
|
|
138
|
+
* fine-grained token: these are the repositories the token was not granted (GitHub 404s
|
|
139
|
+
* rather than 403s for a repository a credential may not see, so it cannot leak existence).
|
|
140
|
+
*/
|
|
141
|
+
readonly deniedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
142
|
+
/** Targeted repositories the probe's cap left unread, so a verdict never reads as exhaustive. */
|
|
143
|
+
readonly unprobedRepoCount: v.NumberSchema<undefined>;
|
|
144
|
+
/** The instance the token authenticates against, for the re-mint link. Null ⇒ not derivable. */
|
|
145
|
+
readonly webUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
146
|
+
}, undefined>;
|
|
147
|
+
export type GitHubPatCapabilityReport = v.InferOutput<typeof githubPatCapabilityReportSchema>;
|
|
148
|
+
/**
|
|
149
|
+
* The check's outcome. A variant rather than a nullable report because the four states need
|
|
150
|
+
* four different reactions, and three of them are not "the token lacks something":
|
|
151
|
+
*
|
|
152
|
+
* - `not_applicable` — no PAT is in play (a GitHub App deployment, GitLab, or nothing
|
|
153
|
+
* connected at all), or this board's services target no GitHub repository, so no run here
|
|
154
|
+
* would ever authenticate with one. There is no token whose reach could be wrong.
|
|
155
|
+
* - `token_rejected` — GitHub refused the token outright (401/403). Blocking, and a strictly
|
|
156
|
+
* worse problem than a missing scope, so it gets its own state instead of collapsing into
|
|
157
|
+
* "everything is missing". It carries `source` for the same reason the report does: the
|
|
158
|
+
* remedy for a rejected DEPLOYMENT credential is not the one for a rejected personal token,
|
|
159
|
+
* and this is the state in which the reader is least able to work that out for themselves.
|
|
160
|
+
* - `probe_failed` — GitHub could not be reached, refused to answer for now (a rate limit),
|
|
161
|
+
* or answered in a way the probe could not read. NOT a verdict about the token: an upstream
|
|
162
|
+
* condition must never render as a permissions problem, because the remedy it would
|
|
163
|
+
* advertise (mint a new token) is wrong and costly.
|
|
164
|
+
* - `checked` — a report was produced. It may still be entirely clean.
|
|
165
|
+
*/
|
|
166
|
+
export declare const githubPatCheckSchema: v.VariantSchema<"state", [v.ObjectSchema<{
|
|
167
|
+
readonly state: v.LiteralSchema<"not_applicable", undefined>;
|
|
168
|
+
}, undefined>, v.ObjectSchema<{
|
|
169
|
+
readonly state: v.LiteralSchema<"token_rejected", undefined>;
|
|
170
|
+
readonly status: v.NumberSchema<undefined>;
|
|
171
|
+
readonly source: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
172
|
+
}, undefined>, v.ObjectSchema<{
|
|
173
|
+
readonly state: v.LiteralSchema<"probe_failed", undefined>;
|
|
174
|
+
readonly message: v.StringSchema<undefined>;
|
|
175
|
+
}, undefined>, v.ObjectSchema<{
|
|
176
|
+
readonly state: v.LiteralSchema<"checked", undefined>;
|
|
177
|
+
readonly report: v.ObjectSchema<{
|
|
178
|
+
readonly source: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
179
|
+
readonly kind: v.PicklistSchema<["classic", "fine_grained", "unknown"], undefined>;
|
|
180
|
+
readonly capabilities: v.ObjectSchema<{
|
|
181
|
+
readonly push: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
182
|
+
readonly pullRequests: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
183
|
+
readonly workflows: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
184
|
+
}, undefined>;
|
|
185
|
+
/** The `owner/name` of each repository the probe actually asked GitHub about. */
|
|
186
|
+
readonly probedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
187
|
+
/**
|
|
188
|
+
* The probed repositories GitHub answered 404 for. A subset of {@link probedRepos}, and the
|
|
189
|
+
* one detail that turns "push is missing" into something a reader can act on for a
|
|
190
|
+
* fine-grained token: these are the repositories the token was not granted (GitHub 404s
|
|
191
|
+
* rather than 403s for a repository a credential may not see, so it cannot leak existence).
|
|
192
|
+
*/
|
|
193
|
+
readonly deniedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
194
|
+
/** Targeted repositories the probe's cap left unread, so a verdict never reads as exhaustive. */
|
|
195
|
+
readonly unprobedRepoCount: v.NumberSchema<undefined>;
|
|
196
|
+
/** The instance the token authenticates against, for the re-mint link. Null ⇒ not derivable. */
|
|
197
|
+
readonly webUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
198
|
+
}, undefined>;
|
|
199
|
+
}, undefined>], undefined>;
|
|
200
|
+
export type GitHubPatCheck = v.InferOutput<typeof githubPatCheckSchema>;
|
|
201
|
+
/**
|
|
202
|
+
* The capabilities a report positively established as ABSENT, split by whether losing them
|
|
203
|
+
* stops a pipeline. `unknown` is in neither list by construction — see
|
|
204
|
+
* {@link githubPatCapabilityStatusSchema} for why it may not be folded into either.
|
|
205
|
+
*
|
|
206
|
+
* The one reduction both the banner and its tests read, so "is there anything to say" and "what
|
|
207
|
+
* do we say" can never disagree about which capability belongs on which side.
|
|
208
|
+
*/
|
|
209
|
+
export declare function missingGitHubPatCapabilities(report: GitHubPatCapabilityReport): {
|
|
210
|
+
blocking: GitHubPatCapability[];
|
|
211
|
+
advisory: GitHubPatCapability[];
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* WHOSE credential the check judged, or null when it judged none.
|
|
215
|
+
*
|
|
216
|
+
* The one place that answer is derived, because it decides which remedy a surface offers: a
|
|
217
|
+
* `deployment` token is replaced by whoever runs the deployment, an `initiator` one by the
|
|
218
|
+
* signed-in user in their own settings, and sending one reader to the other's remedy is worse
|
|
219
|
+
* than saying nothing. Two of the four states carry a source and two cannot have one, which is
|
|
220
|
+
* the shape a caller gets wrong by reading `report?.source` and letting the absent case fall
|
|
221
|
+
* through to whichever branch its ternary happened to end on.
|
|
222
|
+
*/
|
|
223
|
+
export declare function githubPatCheckSource(check: GitHubPatCheck): GitHubPatSource | null;
|
|
224
|
+
/**
|
|
225
|
+
* Whether a check warrants interrupting the user with a banner.
|
|
226
|
+
*
|
|
227
|
+
* True for a rejected token and for any established BLOCKING gap. False for `probe_failed` (an
|
|
228
|
+
* outage is not a permissions problem), for `not_applicable`, and for a report whose only
|
|
229
|
+
* findings are advisory or `unknown` — those are visible in the settings surface, where someone
|
|
230
|
+
* who came to look at the connection can act on them, rather than over the board.
|
|
231
|
+
*/
|
|
232
|
+
export declare function githubPatCheckNeedsAttention(check: GitHubPatCheck): boolean;
|
|
233
|
+
//# sourceMappingURL=github-pat-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-pat-capability.d.ts","sourceRoot":"","sources":["../src/github-pat-capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,0DAA0C,CAAA;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qEAAqD,CAAA;AACrF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,oEAAoD,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,uCAAoC,CAAA;AAExE;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,gEAAgD,CAAA;AAC5F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;aAItC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,mCAGM,CAAA;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,YAAI,MAAM,EAAE,UAAU,CAAU,CAAA;AAEtE;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,YAC9C,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,CACT,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAOnE,CAAA;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,MAAM,CAWR;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;IAI1C,iFAAiF;;IAEjF;;;;;OAKG;;IAEH,iGAAiG;;IAEjG,gGAAgG;;aAEhG,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;QAlC/B,iFAAiF;;QAEjF;;;;;WAKG;;QAEH,iGAAiG;;QAEjG,gGAAgG;;;0BAgChG,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,yBAAyB,GAAG;IAC/E,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAKA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAYlF;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAI3E"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// What the GitHub personal access token a workspace's runs authenticate with can actually
|
|
4
|
+
// DO, answered once the board has loaded rather than discovered when a run fails at its push.
|
|
5
|
+
//
|
|
6
|
+
// A PAT is the operational credential on two deployment shapes: local mode, where one token is
|
|
7
|
+
// both the sign-in identity and what every agent step clones, pushes and merges with, and a
|
|
8
|
+
// hosted deployment whose run initiator stored a `github_pat`, which OUTRANKS the App
|
|
9
|
+
// installation on the run path (`backend/docs/security-model.md`, Layer 3). On both, a token
|
|
10
|
+
// minted without `repo` reaches its first failure several steps into a pipeline, as a 403 out
|
|
11
|
+
// of a container, after the run has already spent money.
|
|
12
|
+
//
|
|
13
|
+
// This module holds the vocabulary BOTH sides agree about: the backend probes, the SPA renders
|
|
14
|
+
// the verdict and the re-mint link, so the capability list, which capabilities are BLOCKING,
|
|
15
|
+
// and the scopes a replacement token needs live here instead of being restated on each side.
|
|
16
|
+
//
|
|
17
|
+
// Deliberately not a boolean, and deliberately per-capability. GitHub reports a CLASSIC token's
|
|
18
|
+
// scopes in the `x-oauth-scopes` header and reports nothing whatsoever for a fine-grained one,
|
|
19
|
+
// whose reach is knowable only by probing a repository — which answers for push and answers
|
|
20
|
+
// nothing for the rest. "Not granted" and "not knowable" are different facts with different
|
|
21
|
+
// remedies, so each capability carries its own tri-state and an unknowable one says so.
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
/**
|
|
24
|
+
* Which credential the check looked at — the two shapes on which a PAT is what a run
|
|
25
|
+
* authenticates as. Named on the wire because the REMEDY differs: a `deployment` token is
|
|
26
|
+
* replaced by whoever runs the deployment, an `initiator` one by the signed-in user in their
|
|
27
|
+
* own settings, and a banner that could not tell them apart would send half its readers to a
|
|
28
|
+
* page they cannot act on.
|
|
29
|
+
*/
|
|
30
|
+
export const githubPatSourceSchema = v.picklist(['deployment', 'initiator']);
|
|
31
|
+
/**
|
|
32
|
+
* How a token's reach was determined, mirroring `describeGitHubPatScope`'s own classification.
|
|
33
|
+
* `unknown` is a token GitHub accepted while reporting no scopes and whose prefix is not the
|
|
34
|
+
* fine-grained one, so nothing about its breadth can be stated.
|
|
35
|
+
*/
|
|
36
|
+
export const githubPatKindSchema = v.picklist(['classic', 'fine_grained', 'unknown']);
|
|
37
|
+
/**
|
|
38
|
+
* The things a pipeline needs the token to be able to do. Kept to what actually stops work:
|
|
39
|
+
* every step from the coder onward pushes a branch, the merger opens and merges a pull
|
|
40
|
+
* request, and the coder/ci-fixer may edit `.github/workflows/*`.
|
|
41
|
+
*
|
|
42
|
+
* Read-only reach is absent on purpose. A token that cannot read the repository fails at
|
|
43
|
+
* `GET /user` or at the repo probe, which is `token_rejected` / an unreadable repo rather than
|
|
44
|
+
* a capability verdict.
|
|
45
|
+
*/
|
|
46
|
+
export const githubPatCapabilitySchema = v.picklist(['push', 'pullRequests', 'workflows']);
|
|
47
|
+
/** Every capability, as a plain tuple — the source of truth for iteration. */
|
|
48
|
+
export const GITHUB_PAT_CAPABILITIES = githubPatCapabilitySchema.options;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the token holds one capability.
|
|
51
|
+
* - `granted` — positively established (a classic scope GitHub named, or a repo probe that
|
|
52
|
+
* reported `permissions.push`).
|
|
53
|
+
* - `missing` — positively established as ABSENT. The only status that raises a banner.
|
|
54
|
+
* - `unknown` — not determinable from what GitHub exposes. NOT a synonym for either: a
|
|
55
|
+
* fine-grained token's pull-request and workflow permissions have no endpoint that reports
|
|
56
|
+
* them, and rendering that as `granted` would silence a real gap while rendering it as
|
|
57
|
+
* `missing` would nag every correctly-configured fine-grained deployment forever.
|
|
58
|
+
*/
|
|
59
|
+
export const githubPatCapabilityStatusSchema = v.picklist(['granted', 'missing', 'unknown']);
|
|
60
|
+
/**
|
|
61
|
+
* The per-capability verdict. Spelled as an explicit object rather than a `v.record` over the
|
|
62
|
+
* picklist so a new capability fails the typecheck at every construction site instead of
|
|
63
|
+
* silently defaulting to absent; `githubPatCapabilities.spec.ts` pins the two lists together.
|
|
64
|
+
*/
|
|
65
|
+
export const githubPatCapabilitiesSchema = v.object({
|
|
66
|
+
push: githubPatCapabilityStatusSchema,
|
|
67
|
+
pullRequests: githubPatCapabilityStatusSchema,
|
|
68
|
+
workflows: githubPatCapabilityStatusSchema,
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* The capabilities whose absence STOPS a pipeline, as opposed to narrowing what it may change.
|
|
72
|
+
*
|
|
73
|
+
* `workflows` is deliberately not among them, and it is the exclusion worth stating: without it
|
|
74
|
+
* a run pushes, opens its PR and merges exactly as normal, and fails only on the subset of
|
|
75
|
+
* changes that touch `.github/workflows/*`. Treating that as blocking would raise the loud
|
|
76
|
+
* banner on the many deployments whose agents never edit CI, which is how a warning surface
|
|
77
|
+
* teaches people to dismiss it unread.
|
|
78
|
+
*/
|
|
79
|
+
export const GITHUB_PAT_BLOCKING_CAPABILITIES = [
|
|
80
|
+
'push',
|
|
81
|
+
'pullRequests',
|
|
82
|
+
];
|
|
83
|
+
/**
|
|
84
|
+
* The classic scopes a replacement token needs, and the single source of truth for them: the
|
|
85
|
+
* local facade's setup link, the SPA's re-mint link and this module's own classification all
|
|
86
|
+
* read this one list.
|
|
87
|
+
*
|
|
88
|
+
* `repo` covers cloning, pushing a branch, opening the pull request, reading the head's Actions
|
|
89
|
+
* check runs for the CI gate and merging. `workflow` is needed only to push a change that
|
|
90
|
+
* touches a workflow file, but it is pre-selected anyway: a token is minted once, and sending
|
|
91
|
+
* someone back to GitHub a second time the first time an agent edits CI is worse than the
|
|
92
|
+
* narrower grant is worth. What it costs is stated in `githubPatScope.ts`.
|
|
93
|
+
*/
|
|
94
|
+
export const GITHUB_PAT_CLASSIC_SCOPES = ['repo', 'workflow'];
|
|
95
|
+
/**
|
|
96
|
+
* The fine-grained REPOSITORY permissions a replacement token needs, for the banner to list.
|
|
97
|
+
* Prose rather than a query parameter because GitHub's fine-grained token form accepts no
|
|
98
|
+
* prefill: see {@link githubPatCreateUrl}.
|
|
99
|
+
*/
|
|
100
|
+
export const GITHUB_PAT_FINE_GRAINED_PERMISSIONS = [
|
|
101
|
+
'contents:write',
|
|
102
|
+
'pull_requests:write',
|
|
103
|
+
'workflows:write',
|
|
104
|
+
];
|
|
105
|
+
/**
|
|
106
|
+
* Where each token kind is minted, relative to the instance's web root. Exported because the
|
|
107
|
+
* SPA's generic connect-box link (`vcsTokenCreateUrl`, which offers no scopes) has to land on
|
|
108
|
+
* the same page this module's pre-filled link does; two spellings of GitHub's settings path
|
|
109
|
+
* would send the two surfaces to different places the day GitHub moves one.
|
|
110
|
+
*/
|
|
111
|
+
export const GITHUB_TOKEN_CREATE_PATHS = {
|
|
112
|
+
classic: '/settings/tokens/new',
|
|
113
|
+
fine_grained: '/settings/personal-access-tokens/new',
|
|
114
|
+
// Nothing is known about the token in play, so the form that CAN be pre-filled is the better
|
|
115
|
+
// landing place: it arrives with the right scopes ticked, and a reader who wanted the
|
|
116
|
+
// fine-grained one is one link away on the same settings page.
|
|
117
|
+
unknown: '/settings/tokens/new',
|
|
118
|
+
};
|
|
119
|
+
/** Strip a trailing slash so a host and a path never join into a double slash. */
|
|
120
|
+
function root(webUrl) {
|
|
121
|
+
return webUrl.replace(/\/+$/, '');
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* The URL that mints a replacement token, pre-filled as far as GitHub allows.
|
|
125
|
+
*
|
|
126
|
+
* The KIND is carried over from the token being replaced rather than chosen for the user: a
|
|
127
|
+
* deployment that standardised on fine-grained tokens should not be pushed back to a classic
|
|
128
|
+
* one by a warning banner, and vice versa.
|
|
129
|
+
*
|
|
130
|
+
* Only the CLASSIC form takes a prefill. GitHub's fine-grained form accepts no permission query
|
|
131
|
+
* parameters at all, so that half of the fork is a bare link and the caller must render
|
|
132
|
+
* {@link GITHUB_PAT_FINE_GRAINED_PERMISSIONS} beside it — a link that silently arrived with
|
|
133
|
+
* nothing selected would read as "these are already set for you", which is precisely the
|
|
134
|
+
* misreading that produced the missing permission in the first place.
|
|
135
|
+
*
|
|
136
|
+
* `webUrl` is the instance the workspace is bound to; absent, the caller has already decided to
|
|
137
|
+
* fall back to the public host (the SPA's `vcsTokenCreateUrl` states why that is safe for a
|
|
138
|
+
* settings page and not for a repository link).
|
|
139
|
+
*/
|
|
140
|
+
export function githubPatCreateUrl(kind, options) {
|
|
141
|
+
const page = `${root(options.webUrl)}${GITHUB_TOKEN_CREATE_PATHS[kind]}`;
|
|
142
|
+
if (kind === 'fine_grained')
|
|
143
|
+
return page;
|
|
144
|
+
// Hand-built rather than via `URLSearchParams`: this package is dependency-free and compiles
|
|
145
|
+
// with neither the DOM nor the Node lib, and it is imported by the SPA, both facades and the
|
|
146
|
+
// local runtime alike — so the one place the query string is assembled cannot assume a global.
|
|
147
|
+
const query = [
|
|
148
|
+
`scopes=${encodeURIComponent(GITHUB_PAT_CLASSIC_SCOPES.join(','))}`,
|
|
149
|
+
...(options.description ? [`description=${encodeURIComponent(options.description)}`] : []),
|
|
150
|
+
];
|
|
151
|
+
return `${page}?${query.join('&')}`;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* What the check found about the token a workspace's runs would use.
|
|
155
|
+
*
|
|
156
|
+
* `probedRepos` / `unprobedRepoCount` exist because the fine-grained answer is a SAMPLE: the
|
|
157
|
+
* probe reads the repositories this board's services target, capped, and a reader who assumed
|
|
158
|
+
* it read all of them would take a clean verdict as a guarantee about a repository nobody
|
|
159
|
+
* looked at. Both are empty/zero for a classic token, whose scopes answer for every repository
|
|
160
|
+
* at once.
|
|
161
|
+
*
|
|
162
|
+
* The token's raw scope list is deliberately NOT here. Nothing renders it, and the one source
|
|
163
|
+
* whose scopes this endpoint could expose is `deployment` — a shared operational credential
|
|
164
|
+
* whose breadth every workspace member would then be able to read off a route that lets reads
|
|
165
|
+
* through. The per-capability verdict is what a reader can act on; the scope list is what the
|
|
166
|
+
* person who pasted the token already saw on the connect form.
|
|
167
|
+
*/
|
|
168
|
+
export const githubPatCapabilityReportSchema = v.object({
|
|
169
|
+
source: githubPatSourceSchema,
|
|
170
|
+
kind: githubPatKindSchema,
|
|
171
|
+
capabilities: githubPatCapabilitiesSchema,
|
|
172
|
+
/** The `owner/name` of each repository the probe actually asked GitHub about. */
|
|
173
|
+
probedRepos: v.array(v.string()),
|
|
174
|
+
/**
|
|
175
|
+
* The probed repositories GitHub answered 404 for. A subset of {@link probedRepos}, and the
|
|
176
|
+
* one detail that turns "push is missing" into something a reader can act on for a
|
|
177
|
+
* fine-grained token: these are the repositories the token was not granted (GitHub 404s
|
|
178
|
+
* rather than 403s for a repository a credential may not see, so it cannot leak existence).
|
|
179
|
+
*/
|
|
180
|
+
deniedRepos: v.array(v.string()),
|
|
181
|
+
/** Targeted repositories the probe's cap left unread, so a verdict never reads as exhaustive. */
|
|
182
|
+
unprobedRepoCount: v.number(),
|
|
183
|
+
/** The instance the token authenticates against, for the re-mint link. Null ⇒ not derivable. */
|
|
184
|
+
webUrl: v.nullable(v.string()),
|
|
185
|
+
});
|
|
186
|
+
/**
|
|
187
|
+
* The check's outcome. A variant rather than a nullable report because the four states need
|
|
188
|
+
* four different reactions, and three of them are not "the token lacks something":
|
|
189
|
+
*
|
|
190
|
+
* - `not_applicable` — no PAT is in play (a GitHub App deployment, GitLab, or nothing
|
|
191
|
+
* connected at all), or this board's services target no GitHub repository, so no run here
|
|
192
|
+
* would ever authenticate with one. There is no token whose reach could be wrong.
|
|
193
|
+
* - `token_rejected` — GitHub refused the token outright (401/403). Blocking, and a strictly
|
|
194
|
+
* worse problem than a missing scope, so it gets its own state instead of collapsing into
|
|
195
|
+
* "everything is missing". It carries `source` for the same reason the report does: the
|
|
196
|
+
* remedy for a rejected DEPLOYMENT credential is not the one for a rejected personal token,
|
|
197
|
+
* and this is the state in which the reader is least able to work that out for themselves.
|
|
198
|
+
* - `probe_failed` — GitHub could not be reached, refused to answer for now (a rate limit),
|
|
199
|
+
* or answered in a way the probe could not read. NOT a verdict about the token: an upstream
|
|
200
|
+
* condition must never render as a permissions problem, because the remedy it would
|
|
201
|
+
* advertise (mint a new token) is wrong and costly.
|
|
202
|
+
* - `checked` — a report was produced. It may still be entirely clean.
|
|
203
|
+
*/
|
|
204
|
+
export const githubPatCheckSchema = v.variant('state', [
|
|
205
|
+
v.object({ state: v.literal('not_applicable') }),
|
|
206
|
+
v.object({
|
|
207
|
+
state: v.literal('token_rejected'),
|
|
208
|
+
status: v.number(),
|
|
209
|
+
source: githubPatSourceSchema,
|
|
210
|
+
}),
|
|
211
|
+
v.object({ state: v.literal('probe_failed'), message: v.string() }),
|
|
212
|
+
v.object({ state: v.literal('checked'), report: githubPatCapabilityReportSchema }),
|
|
213
|
+
]);
|
|
214
|
+
/**
|
|
215
|
+
* The capabilities a report positively established as ABSENT, split by whether losing them
|
|
216
|
+
* stops a pipeline. `unknown` is in neither list by construction — see
|
|
217
|
+
* {@link githubPatCapabilityStatusSchema} for why it may not be folded into either.
|
|
218
|
+
*
|
|
219
|
+
* The one reduction both the banner and its tests read, so "is there anything to say" and "what
|
|
220
|
+
* do we say" can never disagree about which capability belongs on which side.
|
|
221
|
+
*/
|
|
222
|
+
export function missingGitHubPatCapabilities(report) {
|
|
223
|
+
const missing = GITHUB_PAT_CAPABILITIES.filter((c) => report.capabilities[c] === 'missing');
|
|
224
|
+
const isBlocking = (c) => GITHUB_PAT_BLOCKING_CAPABILITIES.includes(c);
|
|
225
|
+
return { blocking: missing.filter(isBlocking), advisory: missing.filter((c) => !isBlocking(c)) };
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* WHOSE credential the check judged, or null when it judged none.
|
|
229
|
+
*
|
|
230
|
+
* The one place that answer is derived, because it decides which remedy a surface offers: a
|
|
231
|
+
* `deployment` token is replaced by whoever runs the deployment, an `initiator` one by the
|
|
232
|
+
* signed-in user in their own settings, and sending one reader to the other's remedy is worse
|
|
233
|
+
* than saying nothing. Two of the four states carry a source and two cannot have one, which is
|
|
234
|
+
* the shape a caller gets wrong by reading `report?.source` and letting the absent case fall
|
|
235
|
+
* through to whichever branch its ternary happened to end on.
|
|
236
|
+
*/
|
|
237
|
+
export function githubPatCheckSource(check) {
|
|
238
|
+
switch (check.state) {
|
|
239
|
+
case 'checked':
|
|
240
|
+
return check.report.source;
|
|
241
|
+
case 'token_rejected':
|
|
242
|
+
return check.source;
|
|
243
|
+
// Neither state judged a credential: `not_applicable` found none in play, and
|
|
244
|
+
// `probe_failed` never got an answer about the one it found.
|
|
245
|
+
case 'not_applicable':
|
|
246
|
+
case 'probe_failed':
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Whether a check warrants interrupting the user with a banner.
|
|
252
|
+
*
|
|
253
|
+
* True for a rejected token and for any established BLOCKING gap. False for `probe_failed` (an
|
|
254
|
+
* outage is not a permissions problem), for `not_applicable`, and for a report whose only
|
|
255
|
+
* findings are advisory or `unknown` — those are visible in the settings surface, where someone
|
|
256
|
+
* who came to look at the connection can act on them, rather than over the board.
|
|
257
|
+
*/
|
|
258
|
+
export function githubPatCheckNeedsAttention(check) {
|
|
259
|
+
if (check.state === 'token_rejected')
|
|
260
|
+
return true;
|
|
261
|
+
if (check.state !== 'checked')
|
|
262
|
+
return false;
|
|
263
|
+
return missingGitHubPatCapabilities(check.report).blocking.length > 0;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=github-pat-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-pat-capability.js","sourceRoot":"","sources":["../src/github-pat-capability.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export * from './tasks.js';
|
|
|
47
47
|
export * from './bug-hunt.js';
|
|
48
48
|
export * from './environments.js';
|
|
49
49
|
export * from './environments-kubernetes.js';
|
|
50
|
+
export * from './service-account-token.js';
|
|
50
51
|
export * from './preflights.js';
|
|
51
52
|
export * from './compose-sources.js';
|
|
52
53
|
export * from './stack-recipes.js';
|
|
@@ -58,6 +59,7 @@ export * from './bootstrap.js';
|
|
|
58
59
|
export * from './env-config-repair.js';
|
|
59
60
|
export * from './environment-test.js';
|
|
60
61
|
export * from './infra-setup.js';
|
|
62
|
+
export * from './github-pat-capability.js';
|
|
61
63
|
export * from './snapshot.js';
|
|
62
64
|
export * from './sso.js';
|
|
63
65
|
export * from './board-scan.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -47,6 +47,7 @@ export * from './tasks.js';
|
|
|
47
47
|
export * from './bug-hunt.js';
|
|
48
48
|
export * from './environments.js';
|
|
49
49
|
export * from './environments-kubernetes.js';
|
|
50
|
+
export * from './service-account-token.js';
|
|
50
51
|
export * from './preflights.js';
|
|
51
52
|
export * from './compose-sources.js';
|
|
52
53
|
export * from './stack-recipes.js';
|
|
@@ -58,6 +59,7 @@ export * from './bootstrap.js';
|
|
|
58
59
|
export * from './env-config-repair.js';
|
|
59
60
|
export * from './environment-test.js';
|
|
60
61
|
export * from './infra-setup.js';
|
|
62
|
+
export * from './github-pat-capability.js';
|
|
61
63
|
export * from './snapshot.js';
|
|
62
64
|
export * from './sso.js';
|
|
63
65
|
export * from './board-scan.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,26 +179,51 @@ export type ProviderDescriptor = v.InferOutput<typeof providerDescriptorSchema>;
|
|
|
179
179
|
* incident. Machine-readable, because the backend does not localize prose — the SPA maps the
|
|
180
180
|
* `code` to its own copy and keeps `message` only as the untranslated last resort.
|
|
181
181
|
*/
|
|
182
|
-
export declare const connectionWarningCodeSchema: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
182
|
+
export declare const connectionWarningCodeSchema: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
183
183
|
export type ConnectionWarningCode = v.InferOutput<typeof connectionWarningCodeSchema>;
|
|
184
184
|
export declare const connectionWarningSchema: v.ObjectSchema<{
|
|
185
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
185
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
186
186
|
/** The backend's own English account of the gap, also written to the deployment log. */
|
|
187
187
|
readonly message: v.StringSchema<undefined>;
|
|
188
188
|
}, undefined>;
|
|
189
189
|
export type ConnectionWarning = v.InferOutput<typeof connectionWarningSchema>;
|
|
190
|
+
/**
|
|
191
|
+
* The transport-level class of a connection failure, for a probe that never got an ANSWER: each
|
|
192
|
+
* member is a different fix (a stopped host, a typo'd name, an untrusted certificate, a credential
|
|
193
|
+
* that cannot become a header). Machine-readable for the same reason {@link ConnectionWarningCode}
|
|
194
|
+
* is: the backend does not localize prose, and this is the most-read prose in the connect forms,
|
|
195
|
+
* so the SPA maps the member to translated copy and keeps the backend's English account as the
|
|
196
|
+
* technical detail beside it.
|
|
197
|
+
*
|
|
198
|
+
* It lives here rather than in kernel because BOTH sides have to agree about the answer: kernel is
|
|
199
|
+
* invisible to the SPA, so the union kept there would be restated by hand on the forms. Kernel's
|
|
200
|
+
* `describeConnectionFailure` is the one producer.
|
|
201
|
+
*
|
|
202
|
+
* `unknown` is a real member, not a placeholder: it means the thrown error was read and matched
|
|
203
|
+
* nothing, which is why such a failure is reported as itself with no remedy rather than being
|
|
204
|
+
* assigned the nearest-looking one.
|
|
205
|
+
*/
|
|
206
|
+
export declare const connectionFailureCauseSchema: v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>;
|
|
207
|
+
export type ConnectionFailureCause = v.InferOutput<typeof connectionFailureCauseSchema>;
|
|
190
208
|
/** The outcome of a provider connection test (never throws to the client). */
|
|
191
209
|
export declare const connectionTestResultSchema: v.ObjectSchema<{
|
|
192
210
|
readonly ok: v.BooleanSchema<undefined>;
|
|
193
211
|
/** Human-readable detail — a success hint or the failure reason. */
|
|
194
212
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
213
|
+
/**
|
|
214
|
+
* What CLASS of transport failure this was, when the probe never got an answer. Present only on
|
|
215
|
+
* such a failure: a success has none, and so does a failure that IS an answer (an HTTP status
|
|
216
|
+
* the provider maps itself), because those carry no transport cause to name. The SPA renders the
|
|
217
|
+
* headline from this and keeps {@link message} as the untranslated detail underneath.
|
|
218
|
+
*/
|
|
219
|
+
readonly failureCause: v.OptionalSchema<v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>, undefined>;
|
|
195
220
|
/**
|
|
196
221
|
* Gaps in the config being tested. Independent of `ok`: a warned config still connects, and
|
|
197
222
|
* the test is the one moment the operator is looking at this backend, so it is where they
|
|
198
223
|
* find out. Absent/empty ⇒ nothing to report.
|
|
199
224
|
*/
|
|
200
225
|
readonly warnings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
201
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
226
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
202
227
|
/** The backend's own English account of the gap, also written to the deployment log. */
|
|
203
228
|
readonly message: v.StringSchema<undefined>;
|
|
204
229
|
}, undefined>, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-config.d.ts","sourceRoot":"","sources":["../src/provider-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,+FAOxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB;IACpC,iFAAiF;;IAEjF,sCAAsC;;IAEtC,kDAAkD;;IAElD,kCAAkC;;IAElC,gEAAgE;;IAEhE,oEAAoE;;IAEpE,+CAA+C;;IAE/C,oCAAoC;;;;;IAEpC;;;;;;;OAOG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;QAnCnC,iFAAiF;;QAEjF,sCAAsC;;QAEtC,kDAAkD;;QAElD,kCAAkC;;QAElC,gEAAgE;;QAEhE,oEAAoE;;QAEpE,+CAA+C;;QAE/C,oCAAoC;;;;;QAEpC;;;;;;;WAOG;;;IAiBH,yEAAyE;;IAEzE;;;;;;;OAOG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH,8FAA8F;;QA7D9F,iFAAiF;;QAEjF,sCAAsC;;QAEtC,kDAAkD;;QAElD,kCAAkC;;QAElC,gEAAgE;;QAEhE,oEAAoE;;QAEpE,+CAA+C;;QAE/C,oCAAoC;;;;;QAEpC;;;;;;;WAOG;;;IAwCH;;;;;;;;OAQG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"provider-config.d.ts","sourceRoot":"","sources":["../src/provider-config.ts"],"names":[],"mappings":"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"}
|
package/dist/provider-config.js
CHANGED
|
@@ -148,17 +148,63 @@ export const connectionWarningCodeSchema = v.picklist([
|
|
|
148
148
|
// its reach. Reported rather than assumed: "unknown breadth" and "narrow" are not the same
|
|
149
149
|
// fact, and treating them alike is exactly how an over-broad token stays silent.
|
|
150
150
|
'github_pat_scope_unreadable',
|
|
151
|
+
// GitHub returned the scope header with an EMPTY value: a classic token minted with nothing
|
|
152
|
+
// ticked. Distinct from the code above because it is the opposite fact — a positively stated
|
|
153
|
+
// "this token grants no scopes at all" rather than an unreadable one — and it is the state a
|
|
154
|
+
// reader is most likely to have produced by accident, since GitHub's form ticks nothing by
|
|
155
|
+
// default and the token still authenticates.
|
|
156
|
+
'github_pat_no_scopes',
|
|
151
157
|
]);
|
|
152
158
|
export const connectionWarningSchema = v.object({
|
|
153
159
|
code: connectionWarningCodeSchema,
|
|
154
160
|
/** The backend's own English account of the gap, also written to the deployment log. */
|
|
155
161
|
message: v.string(),
|
|
156
162
|
});
|
|
163
|
+
/**
|
|
164
|
+
* The transport-level class of a connection failure, for a probe that never got an ANSWER: each
|
|
165
|
+
* member is a different fix (a stopped host, a typo'd name, an untrusted certificate, a credential
|
|
166
|
+
* that cannot become a header). Machine-readable for the same reason {@link ConnectionWarningCode}
|
|
167
|
+
* is: the backend does not localize prose, and this is the most-read prose in the connect forms,
|
|
168
|
+
* so the SPA maps the member to translated copy and keeps the backend's English account as the
|
|
169
|
+
* technical detail beside it.
|
|
170
|
+
*
|
|
171
|
+
* It lives here rather than in kernel because BOTH sides have to agree about the answer: kernel is
|
|
172
|
+
* invisible to the SPA, so the union kept there would be restated by hand on the forms. Kernel's
|
|
173
|
+
* `describeConnectionFailure` is the one producer.
|
|
174
|
+
*
|
|
175
|
+
* `unknown` is a real member, not a placeholder: it means the thrown error was read and matched
|
|
176
|
+
* nothing, which is why such a failure is reported as itself with no remedy rather than being
|
|
177
|
+
* assigned the nearest-looking one.
|
|
178
|
+
*/
|
|
179
|
+
export const connectionFailureCauseSchema = v.picklist([
|
|
180
|
+
'refused',
|
|
181
|
+
'dns',
|
|
182
|
+
'timeout',
|
|
183
|
+
// Cancelled rather than timed out: a shutting-down process or a superseded request. Kept apart
|
|
184
|
+
// from `timeout` because the remedies diverge (a timeout points at a firewall or a saturated
|
|
185
|
+
// host; an abort points at nothing and simply wants re-running).
|
|
186
|
+
'aborted',
|
|
187
|
+
'unreachable',
|
|
188
|
+
'reset',
|
|
189
|
+
'tls-untrusted',
|
|
190
|
+
'tls-expired',
|
|
191
|
+
'tls-hostname',
|
|
192
|
+
'tls-protocol',
|
|
193
|
+
'invalid-header',
|
|
194
|
+
'unknown',
|
|
195
|
+
]);
|
|
157
196
|
/** The outcome of a provider connection test (never throws to the client). */
|
|
158
197
|
export const connectionTestResultSchema = v.object({
|
|
159
198
|
ok: v.boolean(),
|
|
160
199
|
/** Human-readable detail — a success hint or the failure reason. */
|
|
161
200
|
message: v.optional(v.string()),
|
|
201
|
+
/**
|
|
202
|
+
* What CLASS of transport failure this was, when the probe never got an answer. Present only on
|
|
203
|
+
* such a failure: a success has none, and so does a failure that IS an answer (an HTTP status
|
|
204
|
+
* the provider maps itself), because those carry no transport cause to name. The SPA renders the
|
|
205
|
+
* headline from this and keeps {@link message} as the untranslated detail underneath.
|
|
206
|
+
*/
|
|
207
|
+
failureCause: v.optional(connectionFailureCauseSchema),
|
|
162
208
|
/**
|
|
163
209
|
* Gaps in the config being tested. Independent of `ok`: a warned config still connects, and
|
|
164
210
|
* the test is the one moment the operator is looking at this backend, so it is where they
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-config.js","sourceRoot":"","sources":["../src/provider-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider-config.js","sourceRoot":"","sources":["../src/provider-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2594,8 +2594,9 @@ export declare const testEnvironmentConnectionContract: {
|
|
|
2594
2594
|
readonly 200: v.ObjectSchema<{
|
|
2595
2595
|
readonly ok: v.BooleanSchema<undefined>;
|
|
2596
2596
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2597
|
+
readonly failureCause: v.OptionalSchema<v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>, undefined>;
|
|
2597
2598
|
readonly warnings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
2598
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
2599
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
2599
2600
|
readonly message: v.StringSchema<undefined>;
|
|
2600
2601
|
}, undefined>, undefined>, undefined>;
|
|
2601
2602
|
}, undefined>;
|
|
@@ -4675,8 +4676,9 @@ export declare const testEnvironmentHandlerContract: {
|
|
|
4675
4676
|
readonly 200: v.ObjectSchema<{
|
|
4676
4677
|
readonly ok: v.BooleanSchema<undefined>;
|
|
4677
4678
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
4679
|
+
readonly failureCause: v.OptionalSchema<v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>, undefined>;
|
|
4678
4680
|
readonly warnings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
4679
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
4681
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
4680
4682
|
readonly message: v.StringSchema<undefined>;
|
|
4681
4683
|
}, undefined>, undefined>, undefined>;
|
|
4682
4684
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/routes/environments.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/routes/environments.ts"],"names":[],"mappings":"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AM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAA;AAKF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKzC,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOlD,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM3C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMtC,CAAA;AAOF,mFAAmF;AACnF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMtC,CAAA"}
|
package/dist/routes/github.d.ts
CHANGED
|
@@ -905,4 +905,67 @@ export declare const commentGitHubIssueContract: {
|
|
|
905
905
|
readonly 204: typeof ContractNoBody;
|
|
906
906
|
};
|
|
907
907
|
};
|
|
908
|
+
/**
|
|
909
|
+
* What the personal access token this workspace's runs would authenticate with can actually do
|
|
910
|
+
* (see `github-pat-capability.ts`). A READ, so it passes the controller's writes-only
|
|
911
|
+
* `integrations.manage` mount and any member can call it — deliberately, because on a hosted
|
|
912
|
+
* deployment the token under judgement is the CALLER'S OWN stored `github_pat`, and the person
|
|
913
|
+
* who has to re-mint it is exactly the person an admin-gated route would hide it from.
|
|
914
|
+
*
|
|
915
|
+
* Answers `not_applicable` rather than 404ing when no PAT is in play, so the SPA has one call to
|
|
916
|
+
* make on board load regardless of how the deployment authenticates.
|
|
917
|
+
*/
|
|
918
|
+
export declare const getGitHubPatCheckContract: {
|
|
919
|
+
readonly method: "get";
|
|
920
|
+
readonly pathResolver: () => string;
|
|
921
|
+
readonly responsesByStatusCode: {
|
|
922
|
+
readonly '4xx': v.ObjectSchema<{
|
|
923
|
+
readonly error: v.ObjectSchema<{
|
|
924
|
+
readonly code: v.StringSchema<undefined>;
|
|
925
|
+
readonly message: v.StringSchema<undefined>;
|
|
926
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
927
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
928
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
929
|
+
readonly message: v.StringSchema<undefined>;
|
|
930
|
+
}, undefined>, undefined>, undefined>;
|
|
931
|
+
}, undefined>;
|
|
932
|
+
}, undefined>;
|
|
933
|
+
readonly '5xx': v.ObjectSchema<{
|
|
934
|
+
readonly error: v.ObjectSchema<{
|
|
935
|
+
readonly code: v.StringSchema<undefined>;
|
|
936
|
+
readonly message: v.StringSchema<undefined>;
|
|
937
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
938
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
939
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
940
|
+
readonly message: v.StringSchema<undefined>;
|
|
941
|
+
}, undefined>, undefined>, undefined>;
|
|
942
|
+
}, undefined>;
|
|
943
|
+
}, undefined>;
|
|
944
|
+
readonly 200: v.VariantSchema<"state", [v.ObjectSchema<{
|
|
945
|
+
readonly state: v.LiteralSchema<"not_applicable", undefined>;
|
|
946
|
+
}, undefined>, v.ObjectSchema<{
|
|
947
|
+
readonly state: v.LiteralSchema<"token_rejected", undefined>;
|
|
948
|
+
readonly status: v.NumberSchema<undefined>;
|
|
949
|
+
readonly source: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
950
|
+
}, undefined>, v.ObjectSchema<{
|
|
951
|
+
readonly state: v.LiteralSchema<"probe_failed", undefined>;
|
|
952
|
+
readonly message: v.StringSchema<undefined>;
|
|
953
|
+
}, undefined>, v.ObjectSchema<{
|
|
954
|
+
readonly state: v.LiteralSchema<"checked", undefined>;
|
|
955
|
+
readonly report: v.ObjectSchema<{
|
|
956
|
+
readonly source: v.PicklistSchema<["deployment", "initiator"], undefined>;
|
|
957
|
+
readonly kind: v.PicklistSchema<["classic", "fine_grained", "unknown"], undefined>;
|
|
958
|
+
readonly capabilities: v.ObjectSchema<{
|
|
959
|
+
readonly push: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
960
|
+
readonly pullRequests: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
961
|
+
readonly workflows: v.PicklistSchema<["granted", "missing", "unknown"], undefined>;
|
|
962
|
+
}, undefined>;
|
|
963
|
+
readonly probedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
964
|
+
readonly deniedRepos: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
965
|
+
readonly unprobedRepoCount: v.NumberSchema<undefined>;
|
|
966
|
+
readonly webUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
967
|
+
}, undefined>;
|
|
968
|
+
}, undefined>], undefined>;
|
|
969
|
+
};
|
|
970
|
+
};
|
|
908
971
|
//# sourceMappingURL=github.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/routes/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/routes/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA8D5B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ3C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInC,CAAA;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAIF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAKF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9C,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInC,CAAA;AAIF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMpC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOrC,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpC,CAAA"}
|
package/dist/routes/github.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ContractNoBody, defineApiContract, withObjectKeys } from '@toad-contracts/valibot';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
3
|
import { branchProtectionReportSchema, commentSchema, commitFilesSchema, createBranchSchema, createRepoRequestSchema, githubAvailableRepoSchema, githubBranchSchema, githubConnectionSchema, githubInstallationOptionSchema, githubIssueSchema, githubPullRequestSchema, githubRepoSchema, linkReposSchema, mergePullRequestSchema, openPullRequestSchema, provisionedRepoSchema, repoTreeEntrySchema, resyncRequestSchema, setRepoMonorepoSchema, } from '../github.js';
|
|
4
|
+
import { githubPatCheckSchema } from '../github-pat-capability.js';
|
|
4
5
|
import { errorResponses, singleStringParam } from './_shared.js';
|
|
5
6
|
// ---------------------------------------------------------------------------
|
|
6
7
|
// Workspace-scoped GitHub route contracts. Mounted under `/workspaces/:workspaceId`,
|
|
@@ -172,4 +173,19 @@ export const commentGitHubIssueContract = defineApiContract({
|
|
|
172
173
|
requestBodySchema: commentSchema,
|
|
173
174
|
responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
|
|
174
175
|
});
|
|
176
|
+
/**
|
|
177
|
+
* What the personal access token this workspace's runs would authenticate with can actually do
|
|
178
|
+
* (see `github-pat-capability.ts`). A READ, so it passes the controller's writes-only
|
|
179
|
+
* `integrations.manage` mount and any member can call it — deliberately, because on a hosted
|
|
180
|
+
* deployment the token under judgement is the CALLER'S OWN stored `github_pat`, and the person
|
|
181
|
+
* who has to re-mint it is exactly the person an admin-gated route would hide it from.
|
|
182
|
+
*
|
|
183
|
+
* Answers `not_applicable` rather than 404ing when no PAT is in play, so the SPA has one call to
|
|
184
|
+
* make on board load regardless of how the deployment authenticates.
|
|
185
|
+
*/
|
|
186
|
+
export const getGitHubPatCheckContract = defineApiContract({
|
|
187
|
+
method: 'get',
|
|
188
|
+
pathResolver: () => '/github/pat-check',
|
|
189
|
+
responsesByStatusCode: { 200: githubPatCheckSchema, ...errorResponses },
|
|
190
|
+
});
|
|
175
191
|
//# sourceMappingURL=github.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/routes/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,qFAAqF;AACrF,uEAAuE;AACvE,8EAA8E;AAE9E,uEAAuE;AACvE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAE9D,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACtD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;AACzF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;CACvD,CAAC,CAAA;AACF,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;AACnE,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;AACvD,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAChD,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;AACpD,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC9D,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;AAClD,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC1D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxD,qFAAqF;AACrF,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAC5D,MAAM,oBAAoB,GAAG,cAAc,CACzC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC3D,CAAA;AAED,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;IACzC,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,cAAc,EAAE;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAuB;IAC3C,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IACrD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB;IACrC,iBAAiB,EAAE,aAAa;IAChC,qBAAqB,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,EAAE;CAC1E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAAC;IAChE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,yBAAyB;IAC7C,0EAA0E;IAC1E,mFAAmF;IACnF,wFAAwF;IACxF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3D,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC5D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,iBAAiB,EAAE,eAAe;IAClC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,OAAO;IACf,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,EAAE;IACnE,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,OAAO;IACxE,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9D,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,QAAQ;IACzE,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACpD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CAC/F,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CAAA;AAEF,8FAA8F;AAC9F,+FAA+F;AAC/F,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,iBAAiB,CAAC;IACnE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,2BAA2B;IAC/C,qBAAqB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,cAAc,EAAE;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,WAAW;IAC5E,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,cAAc,EAAE;CACzE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB;IACpC,qBAAqB,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE;CACnE,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,iBAAiB,EAAE,uBAAuB;IAC1C,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,cAAc,EAAE;CACzE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,WAAW;IAC5E,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACzD,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,UAAU;IAC3E,iBAAiB,EAAE,iBAAiB;IACpC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,QAAQ;IACzE,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC9D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,oBAAoB;IAC7C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,UAAU,MAAM,QAAQ;IACjG,iBAAiB,EAAE,sBAAsB;IACzC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,oBAAoB;IAC7C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CACzC,iBAAiB,YAAY,WAAW,MAAM,WAAW;IAC3D,iBAAiB,EAAE,aAAa;IAChC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/routes/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,qFAAqF;AACrF,uEAAuE;AACvE,8EAA8E;AAE9E,uEAAuE;AACvE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAE9D,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACtD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;AACzF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;CACvD,CAAC,CAAA;AACF,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;AACnE,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;AACvD,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAChD,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;AACpD,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC9D,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;AAClD,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC1D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxD,qFAAqF;AACrF,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAC5D,MAAM,oBAAoB,GAAG,cAAc,CACzC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC3D,CAAA;AAED,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;IACzC,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,cAAc,EAAE;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAuB;IAC3C,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IACrD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB;IACrC,iBAAiB,EAAE,aAAa;IAChC,qBAAqB,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,EAAE;CAC1E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAAC;IAChE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,yBAAyB;IAC7C,0EAA0E;IAC1E,mFAAmF;IACnF,wFAAwF;IACxF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3D,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC5D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,iBAAiB,EAAE,eAAe;IAClC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,OAAO;IACf,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,EAAE;IACnE,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,OAAO;IACxE,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9D,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,QAAQ;IACzE,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACpD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CAC/F,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE;CAC5E,CAAC,CAAA;AAEF,8FAA8F;AAC9F,+FAA+F;AAC/F,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,iBAAiB,CAAC;IACnE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,2BAA2B;IAC/C,qBAAqB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,cAAc,EAAE;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,WAAW;IAC5E,qBAAqB,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,cAAc,EAAE;CACzE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB;IACpC,qBAAqB,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE;CACnE,CAAC,CAAA;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACxD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,iBAAiB,EAAE,uBAAuB;IAC1C,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,cAAc,EAAE;CACzE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,WAAW;IAC5E,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACzD,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,UAAU;IAC3E,iBAAiB,EAAE,iBAAiB;IACpC,qBAAqB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE;CACtE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,kBAAkB;IAC3C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,QAAQ;IACzE,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC9D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,oBAAoB;IAC7C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,iBAAiB,YAAY,UAAU,MAAM,QAAQ;IACjG,iBAAiB,EAAE,sBAAsB;IACzC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,oBAAoB;IAC7C,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CACzC,iBAAiB,YAAY,WAAW,MAAM,WAAW;IAC3D,iBAAiB,EAAE,aAAa;IAChC,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACzD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,mBAAmB;IACvC,qBAAqB,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,cAAc,EAAE;CACxE,CAAC,CAAA"}
|
package/dist/routes/runners.d.ts
CHANGED
|
@@ -1759,8 +1759,9 @@ export declare const testRunnerPoolConnectionContract: {
|
|
|
1759
1759
|
readonly 200: v.ObjectSchema<{
|
|
1760
1760
|
readonly ok: v.BooleanSchema<undefined>;
|
|
1761
1761
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1762
|
+
readonly failureCause: v.OptionalSchema<v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>, undefined>;
|
|
1762
1763
|
readonly warnings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1763
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
1764
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
1764
1765
|
readonly message: v.StringSchema<undefined>;
|
|
1765
1766
|
}, undefined>, undefined>, undefined>;
|
|
1766
1767
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/routes/runners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO7C,CAAA;AAEF,eAAO,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/routes/runners.ts"],"names":[],"mappings":"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"}
|
|
@@ -225,8 +225,9 @@ export declare const testUserSecretContract: {
|
|
|
225
225
|
readonly 200: v.ObjectSchema<{
|
|
226
226
|
readonly ok: v.BooleanSchema<undefined>;
|
|
227
227
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
228
|
+
readonly failureCause: v.OptionalSchema<v.PicklistSchema<["refused", "dns", "timeout", "aborted", "unreachable", "reset", "tls-untrusted", "tls-expired", "tls-hostname", "tls-protocol", "invalid-header", "unknown"], undefined>, undefined>;
|
|
228
229
|
readonly warnings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
229
|
-
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable"], undefined>;
|
|
230
|
+
readonly code: v.PicklistSchema<["runner_manifest_no_release", "runner_manifest_no_status_path", "github_pat_classic_account_wide", "github_pat_scopes_beyond_need", "github_pat_scope_unreadable", "github_pat_no_scopes"], undefined>;
|
|
230
231
|
readonly message: v.StringSchema<undefined>;
|
|
231
232
|
}, undefined>, undefined>, undefined>;
|
|
232
233
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-secret.d.ts","sourceRoot":"","sources":["../../src/routes/user-secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"user-secret.d.ts","sourceRoot":"","sources":["../../src/routes/user-secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMjC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What is wrong with a pasted ServiceAccount token, or `null` when nothing is.
|
|
3
|
+
*
|
|
4
|
+
* Split by SEVERITY, because the two halves earn different treatment:
|
|
5
|
+
*
|
|
6
|
+
* - `whitespace` is IMPOSSIBLE, not merely suspicious. No bearer token contains a space, tab or
|
|
7
|
+
* line break, and an HTTP header value structurally cannot carry one, so this is refused
|
|
8
|
+
* outright at both ends.
|
|
9
|
+
* - `base64-encoded` and `not-a-jwt` are SUSPICIOUS. A Kubernetes ServiceAccount token is a JWT
|
|
10
|
+
* today, but the same field also serves any apiserver that accepts a static bearer token (a
|
|
11
|
+
* `--token-auth-file` cluster), whose tokens are arbitrary strings. So these are surfaced as a
|
|
12
|
+
* warning the operator can overrule, never as a refusal: a check that cannot be sure must not
|
|
13
|
+
* be the thing that blocks a legitimate cluster.
|
|
14
|
+
*/
|
|
15
|
+
export type ServiceAccountTokenProblem = 'whitespace' | 'base64-encoded' | 'not-a-jwt';
|
|
16
|
+
/** Whether a problem makes the token unusable (as opposed to merely unusual). */
|
|
17
|
+
export declare function isFatalServiceAccountTokenProblem(problem: ServiceAccountTokenProblem): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Classify a pasted ServiceAccount token, or `null` when it looks fine (and for an EMPTY value,
|
|
20
|
+
* which is the field's own required-ness question and not this rule's).
|
|
21
|
+
*
|
|
22
|
+
* Checked against the value with SURROUNDING whitespace trimmed, because leading/trailing padding
|
|
23
|
+
* is both harmless and universally stripped before use. It is whitespace that survives the trim,
|
|
24
|
+
* i.e. inside the token, that can never be right.
|
|
25
|
+
*/
|
|
26
|
+
export declare function classifyServiceAccountToken(raw: string): ServiceAccountTokenProblem | null;
|
|
27
|
+
//# sourceMappingURL=service-account-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-account-token.d.ts","sourceRoot":"","sources":["../src/service-account-token.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAEtF,iFAAiF;AACjF,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAE9F;AAgBD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAO1F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// The shape rule for a pasted Kubernetes ServiceAccount bearer token, shared by the SPA (which
|
|
2
|
+
// flags a bad paste on the field, before the operator ever clicks Test) and the backend (which
|
|
3
|
+
// refuses an unusable one before it can become an `authorization` header).
|
|
4
|
+
//
|
|
5
|
+
// It lives in contracts rather than kernel because BOTH sides have to agree about the answer:
|
|
6
|
+
// kernel is invisible to the SPA, so a rule kept there would be restated by hand on the form and
|
|
7
|
+
// the two would drift. What the backend must NOT do is phrase the verdict, so this returns a
|
|
8
|
+
// machine-readable code and the SPA maps it to a translated message (the CLAUDE.md rule for a
|
|
9
|
+
// localizable condition).
|
|
10
|
+
//
|
|
11
|
+
// Why it earns its place: the guided `cat-factory k3s` flow ends with "copy this token out of your
|
|
12
|
+
// terminal and paste it", and a terminal wraps long lines. A token copied across that wrap carries
|
|
13
|
+
// a newline in the MIDDLE, which is invisible in a password field, survives `.trim()`, and reaches
|
|
14
|
+
// undici as a header value it refuses to build. The operator sees a generic failure and has no way
|
|
15
|
+
// to tell it apart from a wrong token or a stopped cluster.
|
|
16
|
+
/** Whether a problem makes the token unusable (as opposed to merely unusual). */
|
|
17
|
+
export function isFatalServiceAccountTokenProblem(problem) {
|
|
18
|
+
return problem === 'whitespace';
|
|
19
|
+
}
|
|
20
|
+
/** A JWT: three non-empty base64url segments separated by dots. */
|
|
21
|
+
const JWT_SHAPE = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/;
|
|
22
|
+
/**
|
|
23
|
+
* The base64 of a JWT always begins `eyJ` encoded, i.e. `ZXlK`. This is the `kubectl get secret
|
|
24
|
+
* … -o jsonpath={.data.token}` value pasted WITHOUT the `| base64 -d`, which is a distinct mistake
|
|
25
|
+
* from a malformed token and has a different fix, so it gets its own code rather than collapsing
|
|
26
|
+
* into `not-a-jwt`.
|
|
27
|
+
*/
|
|
28
|
+
const BASE64_JWT_PREFIX = /^ZXlK/;
|
|
29
|
+
/** Any whitespace, including the line break a wrapped terminal copy introduces. */
|
|
30
|
+
const ANY_WHITESPACE = /\s/;
|
|
31
|
+
/**
|
|
32
|
+
* Classify a pasted ServiceAccount token, or `null` when it looks fine (and for an EMPTY value,
|
|
33
|
+
* which is the field's own required-ness question and not this rule's).
|
|
34
|
+
*
|
|
35
|
+
* Checked against the value with SURROUNDING whitespace trimmed, because leading/trailing padding
|
|
36
|
+
* is both harmless and universally stripped before use. It is whitespace that survives the trim,
|
|
37
|
+
* i.e. inside the token, that can never be right.
|
|
38
|
+
*/
|
|
39
|
+
export function classifyServiceAccountToken(raw) {
|
|
40
|
+
const token = raw.trim();
|
|
41
|
+
if (!token)
|
|
42
|
+
return null;
|
|
43
|
+
if (ANY_WHITESPACE.test(token))
|
|
44
|
+
return 'whitespace';
|
|
45
|
+
if (BASE64_JWT_PREFIX.test(token))
|
|
46
|
+
return 'base64-encoded';
|
|
47
|
+
if (!JWT_SHAPE.test(token))
|
|
48
|
+
return 'not-a-jwt';
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=service-account-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-account-token.js","sourceRoot":"","sources":["../src/service-account-token.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,+FAA+F;AAC/F,2EAA2E;AAC3E,EAAE;AACF,8FAA8F;AAC9F,iGAAiG;AACjG,6FAA6F;AAC7F,8FAA8F;AAC9F,0BAA0B;AAC1B,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,4DAA4D;AAkB5D,iFAAiF;AACjF,MAAM,UAAU,iCAAiC,CAAC,OAAmC;IACnF,OAAO,OAAO,KAAK,YAAY,CAAA;AACjC,CAAC;AAED,mEAAmE;AACnE,MAAM,SAAS,GAAG,kDAAkD,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAEjC,mFAAmF;AACnF,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IACnD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAA;IAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAA;IAC9C,OAAO,IAAI,CAAA;AACb,CAAC"}
|