@openchamber/sdk 2.5.0 → 2.5.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/API.md +33 -4
- package/DOCUMENTATION.md +41 -7
- package/GUEST_SERVICES.md +129 -3
- package/dist/index.d.ts +7 -5
- package/dist/index.js +3 -2
- package/dist/manifest.d.ts +188 -5
- package/dist/manifest.js +39 -5
- package/dist/parse.d.ts +230 -2
- package/dist/parse.js +198 -7
- package/dist/protocol.d.ts +30 -0
- package/dist/schemas.d.ts +2 -1
- package/dist/schemas.js +2 -1
- package/dist/service-provider-schemas.d.ts +510 -0
- package/dist/service-provider-schemas.js +221 -1
- package/dist/service-providers.d.ts +377 -2
- package/dist/service-providers.js +216 -0
- package/dist/status-view-schemas.d.ts +166 -0
- package/dist/status-view-schemas.js +113 -0
- package/dist/status-view.d.ts +129 -0
- package/dist/status-view.js +15 -0
- package/dist/ui/style.js +16 -9
- package/dist/workspace-schemas.d.ts +9 -0
- package/dist/workspace-schemas.js +1 -0
- package/dist/workspace.d.ts +13 -0
- package/package.json +2 -2
package/dist/manifest.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { OpenChamberManifestApiVersion } from './api-version.ts';
|
|
2
2
|
import type { FileEditorContribution } from './file-editor.ts';
|
|
3
|
+
import { type StatusSectionSource } from './status-view.ts';
|
|
3
4
|
export declare const PANEL_ID: RegExp;
|
|
4
5
|
/**
|
|
5
6
|
* The extension's identity on the rail, the Extensions card, and the approval
|
|
@@ -55,9 +56,15 @@ export type PageContribution = true | {
|
|
|
55
56
|
* this section and no rail panel. `title` replaces `panel.name` on the section
|
|
56
57
|
* header; `height` is the starting frame height in CSS px before the guest
|
|
57
58
|
* reports its own through `setHeight`.
|
|
59
|
+
*
|
|
60
|
+
* `source` makes the host draw the section itself from the service's answers
|
|
61
|
+
* (`status-view.ts`), without a frame. The object form needs `entry`,
|
|
62
|
+
* `source`, or both: a host that knows `source` uses it, an older one loads
|
|
63
|
+
* `entry`.
|
|
58
64
|
*/
|
|
59
65
|
export type StatusSectionContribution = true | {
|
|
60
|
-
entry
|
|
66
|
+
entry?: string;
|
|
67
|
+
source?: StatusSectionSource;
|
|
61
68
|
title?: string;
|
|
62
69
|
height?: number;
|
|
63
70
|
defaultExpanded?: boolean;
|
|
@@ -241,12 +248,184 @@ export type PublicSocketBinding = {
|
|
|
241
248
|
};
|
|
242
249
|
/**
|
|
243
250
|
* Host roles a service can stand in for. `browser` answers the agent's
|
|
244
|
-
* `browser.*` actions in place of the in-app browser view
|
|
245
|
-
*
|
|
246
|
-
*
|
|
251
|
+
* `browser.*` actions in place of the in-app browser view. `source-control`
|
|
252
|
+
* makes the extension a Git host next to GitHub, GitLab and Gitea, described
|
|
253
|
+
* by `contributes.sourceControl`. Both contracts are in `service-providers.ts`.
|
|
254
|
+
* A service that provides a role needs no panel or background entry: the host
|
|
255
|
+
* starts it on the first call.
|
|
247
256
|
*/
|
|
248
|
-
export declare const GUEST_SERVICE_PROVIDES: readonly ['browser'];
|
|
257
|
+
export declare const GUEST_SERVICE_PROVIDES: readonly ['browser', 'source-control'];
|
|
249
258
|
export type GuestServiceProvides = (typeof GUEST_SERVICE_PROVIDES)[number];
|
|
259
|
+
/**
|
|
260
|
+
* The host names an extension's Git host `ext-<panel.id>`, and provider ids
|
|
261
|
+
* are at most 32 characters, so a guest taking the role has an id of at most
|
|
262
|
+
* this many.
|
|
263
|
+
*/
|
|
264
|
+
export declare const SOURCE_CONTROL_GUEST_ID_MAX = 28;
|
|
265
|
+
/** The provider id OpenChamber gives the Git host an extension provides. */
|
|
266
|
+
export declare const sourceControlProviderIdOf: (guestId: string) => string;
|
|
267
|
+
/** Default instances a Git host extension may name. */
|
|
268
|
+
export declare const SOURCE_CONTROL_DEFAULT_INSTANCES_MAX = 4;
|
|
269
|
+
/** URL templates per kind (`presentation.urls.changeRequest` / `.issue`). */
|
|
270
|
+
export declare const SOURCE_CONTROL_URL_TEMPLATES_MAX = 8;
|
|
271
|
+
/** Characters in one URL template. */
|
|
272
|
+
export declare const SOURCE_CONTROL_URL_TEMPLATE_MAX = 256;
|
|
273
|
+
/**
|
|
274
|
+
* The placeholders a URL template may use, each a whole path segment.
|
|
275
|
+
* `{namespace+}` is one or more segments (GitLab groups); `{owner}` exactly one.
|
|
276
|
+
*/
|
|
277
|
+
export declare const SOURCE_CONTROL_URL_TOKENS: readonly ['{owner}', '{namespace+}', '{repo}', '{number}'];
|
|
278
|
+
/** `submit` is a change-based host's own merge (Gerrit's): when declared it is the only method. */
|
|
279
|
+
export type SourceControlMergeMethod = 'merge' | 'squash' | 'rebase' | 'submit';
|
|
280
|
+
/**
|
|
281
|
+
* What the Git host can do. A capability left out is off. `merge` lists the
|
|
282
|
+
* methods it offers, or is `false`. Review threads, uploads, stacks, the
|
|
283
|
+
* reference picker and multiple accounts are not declared: the host fixes them
|
|
284
|
+
* for every extension.
|
|
285
|
+
*/
|
|
286
|
+
export type SourceControlCapabilities = {
|
|
287
|
+
projects: boolean;
|
|
288
|
+
issues: boolean;
|
|
289
|
+
changeRequests: boolean;
|
|
290
|
+
draftChangeRequests: boolean;
|
|
291
|
+
merge: false | {
|
|
292
|
+
methods: SourceControlMergeMethod[];
|
|
293
|
+
};
|
|
294
|
+
ci: boolean;
|
|
295
|
+
comments: boolean;
|
|
296
|
+
reviews: boolean;
|
|
297
|
+
state: boolean;
|
|
298
|
+
labels: boolean;
|
|
299
|
+
reviewers: boolean;
|
|
300
|
+
changeRequestPatch: boolean;
|
|
301
|
+
liveSummaries: boolean;
|
|
302
|
+
/**
|
|
303
|
+
* How a review is given. `verdict` (the default when left out): approve or
|
|
304
|
+
* request changes. `votes`: per-label scores, such as Code-Review -2..+2;
|
|
305
|
+
* the labels and their ranges come with each change request's context.
|
|
306
|
+
*/
|
|
307
|
+
reviewModel?: 'verdict' | 'votes';
|
|
308
|
+
/**
|
|
309
|
+
* Whether a change request has numbered revisions (patchsets) that can be
|
|
310
|
+
* read one at a time: reads then may carry `revision`, a commit sha.
|
|
311
|
+
*/
|
|
312
|
+
revisions?: boolean;
|
|
313
|
+
};
|
|
314
|
+
/**
|
|
315
|
+
* `contributes.sourceControl`: the Git host an extension with
|
|
316
|
+
* `service.provides: ["source-control"]` adds, declared in the manifest so
|
|
317
|
+
* OpenChamber can draw and route it without starting the service. The
|
|
318
|
+
* provider id is not declared: OpenChamber names it `ext-<panel.id>`.
|
|
319
|
+
*/
|
|
320
|
+
export type SourceControlContribution = {
|
|
321
|
+
/** Wire version of the role's service contract; `1`. */
|
|
322
|
+
wire: 1;
|
|
323
|
+
/** The product name, shown untranslated. 1 to 64 characters. */
|
|
324
|
+
label: string;
|
|
325
|
+
/** `change` names a change-based host's unit of review (Gerrit's change). */
|
|
326
|
+
terminology: {
|
|
327
|
+
changeRequest: 'pullRequest' | 'mergeRequest' | 'change';
|
|
328
|
+
ci: 'checks' | 'pipeline';
|
|
329
|
+
};
|
|
330
|
+
/** `#`, `!`: what precedes a number. 1 to 4 characters. */
|
|
331
|
+
referencePrefix: {
|
|
332
|
+
changeRequest: string;
|
|
333
|
+
issue: string;
|
|
334
|
+
};
|
|
335
|
+
/** `owner/name`: two segments. `namespace/name`: nested groups before the name. */
|
|
336
|
+
repositoryPath: 'owner/name' | 'namespace/name';
|
|
337
|
+
instances: {
|
|
338
|
+
/** Up to 4 https origins offered without typing one. */
|
|
339
|
+
defaultInstances: string[];
|
|
340
|
+
/** Whether the user may add an instance outside `defaultInstances`. */
|
|
341
|
+
custom: boolean;
|
|
342
|
+
/** Whether a typed instance may be `http://` on a loopback address. */
|
|
343
|
+
allowLoopbackHttp: boolean;
|
|
344
|
+
/** Whether a typed instance may carry a port. */
|
|
345
|
+
allowPort: boolean;
|
|
346
|
+
/** Example text in the instance field. */
|
|
347
|
+
placeholder: string;
|
|
348
|
+
};
|
|
349
|
+
capabilities: SourceControlCapabilities;
|
|
350
|
+
/** How OpenChamber sends the token: which header, with which prefix. */
|
|
351
|
+
token: {
|
|
352
|
+
header: 'authorization' | 'private-token';
|
|
353
|
+
/**
|
|
354
|
+
* `bearer` → `Bearer <token>`, `token` → `token <token>`, `basic` →
|
|
355
|
+
* `Basic base64(<login>:<token>)`, `none` → the bare token (only with `private-token`).
|
|
356
|
+
*/
|
|
357
|
+
scheme: 'bearer' | 'token' | 'basic' | 'none';
|
|
358
|
+
/** Settings asks for the account's username beside the token. Required with, and only with, `basic`. */
|
|
359
|
+
username?: boolean;
|
|
360
|
+
/** Scopes the Settings card asks the user to grant. */
|
|
361
|
+
scopes: string[];
|
|
362
|
+
/** Path on the instance where tokens are created, linked from Settings. */
|
|
363
|
+
createPath?: string;
|
|
364
|
+
};
|
|
365
|
+
/** How Git over HTTPS signs in with the stored token. */
|
|
366
|
+
transport: {
|
|
367
|
+
httpsUsername: {
|
|
368
|
+
kind: 'login';
|
|
369
|
+
} | {
|
|
370
|
+
kind: 'fixed';
|
|
371
|
+
value: string;
|
|
372
|
+
};
|
|
373
|
+
appendDotGitToHttpsClone: boolean;
|
|
374
|
+
};
|
|
375
|
+
limits: {
|
|
376
|
+
commentMaxLength: number;
|
|
377
|
+
/** How a reviewer is named in a reviewer mutation: a numeric user id or a login. */
|
|
378
|
+
reviewerId: 'numeric' | 'login';
|
|
379
|
+
labelsMax: number;
|
|
380
|
+
reviewersMax: number;
|
|
381
|
+
};
|
|
382
|
+
/** Pull requests and issues read in one `liveSummaries` call. */
|
|
383
|
+
trackedItems: {
|
|
384
|
+
batchLimit: number;
|
|
385
|
+
};
|
|
386
|
+
presentation: {
|
|
387
|
+
/** `PR`, `MR`: shown untranslated. 1 to 8 characters. */
|
|
388
|
+
abbreviation: string;
|
|
389
|
+
/** English noun for generation prompts, such as `pull request`. */
|
|
390
|
+
promptNoun: string;
|
|
391
|
+
/** Whether issues and change requests share one number sequence. */
|
|
392
|
+
sharedNumberSpace: boolean;
|
|
393
|
+
/** A 24×24 SVG path `d`, the mark drawn for the Git host. */
|
|
394
|
+
iconPath?: string;
|
|
395
|
+
/**
|
|
396
|
+
* Web paths of a change request and an issue on the instance, made of
|
|
397
|
+
* literal segments and the `SOURCE_CONTROL_URL_TOKENS` placeholders, such
|
|
398
|
+
* as `/{owner}/{repo}/pulls/{number}`. OpenChamber compiles them; an
|
|
399
|
+
* extension never supplies a regular expression.
|
|
400
|
+
*/
|
|
401
|
+
urls: {
|
|
402
|
+
changeRequest: string[];
|
|
403
|
+
issue: string[];
|
|
404
|
+
};
|
|
405
|
+
/**
|
|
406
|
+
* Review threads are not part of the role: OpenChamber keeps starting one
|
|
407
|
+
* off for an extension's Git host, so there is no `startThread` here.
|
|
408
|
+
*/
|
|
409
|
+
/**
|
|
410
|
+
* `submitRequirements`: each change request's context lists what must
|
|
411
|
+
* hold before it can be submitted, and the UI shows them by the Submit button.
|
|
412
|
+
*/
|
|
413
|
+
features: {
|
|
414
|
+
authorCanReview: boolean;
|
|
415
|
+
issueCloseReason: boolean;
|
|
416
|
+
submitRequirements?: boolean;
|
|
417
|
+
};
|
|
418
|
+
/** Repository paths read as the change request template, first match wins. */
|
|
419
|
+
changeRequestTemplates: string[];
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
/** What the extension catalog and approval dialog show of the role; never a token. */
|
|
423
|
+
export type PublicSourceControl = {
|
|
424
|
+
label: string;
|
|
425
|
+
defaultInstances: string[];
|
|
426
|
+
custom: boolean;
|
|
427
|
+
};
|
|
428
|
+
export declare const toPublicSourceControl: (contribution: SourceControlContribution) => PublicSourceControl;
|
|
250
429
|
export type ServiceContribution = {
|
|
251
430
|
entry: string;
|
|
252
431
|
runtime: 'host';
|
|
@@ -321,6 +500,8 @@ export type OpenChamberContributes = {
|
|
|
321
500
|
tools?: GuestToolContribution[];
|
|
322
501
|
/** Editors the Files view opens matching files in. */
|
|
323
502
|
fileEditors?: FileEditorContribution[];
|
|
503
|
+
/** The Git host a `source-control` service provides; present exactly when it does. */
|
|
504
|
+
sourceControl?: SourceControlContribution;
|
|
324
505
|
};
|
|
325
506
|
/** Whether any declared action asks for a session's messages, which needs `conversation`. */
|
|
326
507
|
export declare const guestActionsNeedConversation: (actions: readonly GuestActionContribution[] | undefined) => boolean;
|
|
@@ -350,6 +531,8 @@ export declare const resolvePageEntry: (contributes: Pick<OpenChamberContributes
|
|
|
350
531
|
* has no panel page to reuse.
|
|
351
532
|
*/
|
|
352
533
|
export declare const resolveStatusSectionEntry: (contributes: Pick<OpenChamberContributes, 'panel' | 'statusSection'>) => string | null;
|
|
534
|
+
/** Where the host reads a source-backed section, with the interval resolved; `null` for a frame-only section. */
|
|
535
|
+
export declare const resolveStatusSectionSource: (contributes: Pick<OpenChamberContributes, 'statusSection'>) => Required<StatusSectionSource> | null;
|
|
353
536
|
/** Clamp a requested status section height to what the host allows. */
|
|
354
537
|
export declare const clampStatusSectionHeight: (height: number) => number;
|
|
355
538
|
export type OpenChamberEngines = {
|
package/dist/manifest.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GUEST_STATUS_SOURCE_INTERVAL_DEFAULT } from './status-view.js';
|
|
1
2
|
export const PANEL_ID = /^[a-z][a-z0-9-]*$/;
|
|
2
3
|
export const GUEST_SURFACE_DOCKS = ['top', 'bottom', 'left', 'right'];
|
|
3
4
|
export const GUEST_SURFACE_DOCK_DEFAULT = 'top';
|
|
@@ -87,11 +88,37 @@ export const resolveIntegrationApi = (integration) => {
|
|
|
87
88
|
};
|
|
88
89
|
/**
|
|
89
90
|
* Host roles a service can stand in for. `browser` answers the agent's
|
|
90
|
-
* `browser.*` actions in place of the in-app browser view
|
|
91
|
-
*
|
|
92
|
-
*
|
|
91
|
+
* `browser.*` actions in place of the in-app browser view. `source-control`
|
|
92
|
+
* makes the extension a Git host next to GitHub, GitLab and Gitea, described
|
|
93
|
+
* by `contributes.sourceControl`. Both contracts are in `service-providers.ts`.
|
|
94
|
+
* A service that provides a role needs no panel or background entry: the host
|
|
95
|
+
* starts it on the first call.
|
|
93
96
|
*/
|
|
94
|
-
export const GUEST_SERVICE_PROVIDES = ['browser'];
|
|
97
|
+
export const GUEST_SERVICE_PROVIDES = ['browser', 'source-control'];
|
|
98
|
+
/**
|
|
99
|
+
* The host names an extension's Git host `ext-<panel.id>`, and provider ids
|
|
100
|
+
* are at most 32 characters, so a guest taking the role has an id of at most
|
|
101
|
+
* this many.
|
|
102
|
+
*/
|
|
103
|
+
export const SOURCE_CONTROL_GUEST_ID_MAX = 28;
|
|
104
|
+
/** The provider id OpenChamber gives the Git host an extension provides. */
|
|
105
|
+
export const sourceControlProviderIdOf = (guestId) => `ext-${guestId}`;
|
|
106
|
+
/** Default instances a Git host extension may name. */
|
|
107
|
+
export const SOURCE_CONTROL_DEFAULT_INSTANCES_MAX = 4;
|
|
108
|
+
/** URL templates per kind (`presentation.urls.changeRequest` / `.issue`). */
|
|
109
|
+
export const SOURCE_CONTROL_URL_TEMPLATES_MAX = 8;
|
|
110
|
+
/** Characters in one URL template. */
|
|
111
|
+
export const SOURCE_CONTROL_URL_TEMPLATE_MAX = 256;
|
|
112
|
+
/**
|
|
113
|
+
* The placeholders a URL template may use, each a whole path segment.
|
|
114
|
+
* `{namespace+}` is one or more segments (GitLab groups); `{owner}` exactly one.
|
|
115
|
+
*/
|
|
116
|
+
export const SOURCE_CONTROL_URL_TOKENS = ['{owner}', '{namespace+}', '{repo}', '{number}'];
|
|
117
|
+
export const toPublicSourceControl = (contribution) => ({
|
|
118
|
+
label: contribution.label,
|
|
119
|
+
defaultInstances: [...contribution.instances.defaultInstances],
|
|
120
|
+
custom: contribution.instances.custom,
|
|
121
|
+
});
|
|
95
122
|
export const serviceProvides = (service, role) => Boolean(service?.provides?.includes(role));
|
|
96
123
|
/**
|
|
97
124
|
* What a guest may do beyond drawing its own panel. The user approves the
|
|
@@ -187,7 +214,14 @@ export const resolveStatusSectionEntry = (contributes) => {
|
|
|
187
214
|
const section = contributes.statusSection;
|
|
188
215
|
if (!section)
|
|
189
216
|
return null;
|
|
190
|
-
return section === true ? contributes.panel.entry ?? null : section.entry;
|
|
217
|
+
return section === true ? contributes.panel.entry ?? null : section.entry ?? null;
|
|
218
|
+
};
|
|
219
|
+
/** Where the host reads a source-backed section, with the interval resolved; `null` for a frame-only section. */
|
|
220
|
+
export const resolveStatusSectionSource = (contributes) => {
|
|
221
|
+
const section = contributes.statusSection;
|
|
222
|
+
if (!section || section === true || !section.source)
|
|
223
|
+
return null;
|
|
224
|
+
return { path: section.source.path, interval: section.source.interval ?? GUEST_STATUS_SOURCE_INTERVAL_DEFAULT };
|
|
191
225
|
};
|
|
192
226
|
/** Clamp a requested status section height to what the host allows. */
|
|
193
227
|
export const clampStatusSectionHeight = (height) => {
|
package/dist/parse.d.ts
CHANGED
|
@@ -37,7 +37,11 @@ export declare const openChamberManifestSchema: z.ZodObject<{
|
|
|
37
37
|
title: z.ZodOptional<z.ZodString>;
|
|
38
38
|
}, z.core.$strip>]>>;
|
|
39
39
|
statusSection: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodObject<{
|
|
40
|
-
entry: z.ZodString
|
|
40
|
+
entry: z.ZodOptional<z.ZodString>;
|
|
41
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
42
|
+
path: z.ZodString;
|
|
43
|
+
interval: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strict>>;
|
|
41
45
|
title: z.ZodOptional<z.ZodString>;
|
|
42
46
|
height: z.ZodOptional<z.ZodNumber>;
|
|
43
47
|
defaultExpanded: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -114,6 +118,7 @@ export declare const openChamberManifestSchema: z.ZodObject<{
|
|
|
114
118
|
}>>>;
|
|
115
119
|
provides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
116
120
|
browser: "browser";
|
|
121
|
+
"source-control": "source-control";
|
|
117
122
|
}>>>;
|
|
118
123
|
surface: z.ZodOptional<z.ZodLiteral<true>>;
|
|
119
124
|
}, z.core.$strip>>;
|
|
@@ -170,6 +175,115 @@ export declare const openChamberManifestSchema: z.ZodObject<{
|
|
|
170
175
|
text: "text";
|
|
171
176
|
}>>;
|
|
172
177
|
}, z.core.$strip>>>;
|
|
178
|
+
sourceControl: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
wire: z.ZodLiteral<1>;
|
|
180
|
+
label: z.ZodString;
|
|
181
|
+
terminology: z.ZodObject<{
|
|
182
|
+
changeRequest: z.ZodEnum<{
|
|
183
|
+
change: "change";
|
|
184
|
+
mergeRequest: "mergeRequest";
|
|
185
|
+
pullRequest: "pullRequest";
|
|
186
|
+
}>;
|
|
187
|
+
ci: z.ZodEnum<{
|
|
188
|
+
checks: "checks";
|
|
189
|
+
pipeline: "pipeline";
|
|
190
|
+
}>;
|
|
191
|
+
}, z.core.$strict>;
|
|
192
|
+
referencePrefix: z.ZodObject<{
|
|
193
|
+
changeRequest: z.ZodString;
|
|
194
|
+
issue: z.ZodString;
|
|
195
|
+
}, z.core.$strict>;
|
|
196
|
+
repositoryPath: z.ZodEnum<{
|
|
197
|
+
"namespace/name": "namespace/name";
|
|
198
|
+
"owner/name": "owner/name";
|
|
199
|
+
}>;
|
|
200
|
+
instances: z.ZodObject<{
|
|
201
|
+
defaultInstances: z.ZodArray<z.ZodString>;
|
|
202
|
+
custom: z.ZodBoolean;
|
|
203
|
+
allowLoopbackHttp: z.ZodBoolean;
|
|
204
|
+
allowPort: z.ZodBoolean;
|
|
205
|
+
placeholder: z.ZodString;
|
|
206
|
+
}, z.core.$strict>;
|
|
207
|
+
capabilities: z.ZodObject<{
|
|
208
|
+
projects: z.ZodDefault<z.ZodBoolean>;
|
|
209
|
+
issues: z.ZodDefault<z.ZodBoolean>;
|
|
210
|
+
changeRequests: z.ZodDefault<z.ZodBoolean>;
|
|
211
|
+
draftChangeRequests: z.ZodDefault<z.ZodBoolean>;
|
|
212
|
+
merge: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
|
|
213
|
+
methods: z.ZodArray<z.ZodEnum<{
|
|
214
|
+
merge: "merge";
|
|
215
|
+
rebase: "rebase";
|
|
216
|
+
squash: "squash";
|
|
217
|
+
submit: "submit";
|
|
218
|
+
}>>;
|
|
219
|
+
}, z.core.$strict>]>>;
|
|
220
|
+
ci: z.ZodDefault<z.ZodBoolean>;
|
|
221
|
+
comments: z.ZodDefault<z.ZodBoolean>;
|
|
222
|
+
reviews: z.ZodDefault<z.ZodBoolean>;
|
|
223
|
+
state: z.ZodDefault<z.ZodBoolean>;
|
|
224
|
+
labels: z.ZodDefault<z.ZodBoolean>;
|
|
225
|
+
reviewers: z.ZodDefault<z.ZodBoolean>;
|
|
226
|
+
changeRequestPatch: z.ZodDefault<z.ZodBoolean>;
|
|
227
|
+
liveSummaries: z.ZodDefault<z.ZodBoolean>;
|
|
228
|
+
reviewModel: z.ZodOptional<z.ZodEnum<{
|
|
229
|
+
verdict: "verdict";
|
|
230
|
+
votes: "votes";
|
|
231
|
+
}>>;
|
|
232
|
+
revisions: z.ZodOptional<z.ZodBoolean>;
|
|
233
|
+
}, z.core.$strict>;
|
|
234
|
+
token: z.ZodObject<{
|
|
235
|
+
header: z.ZodEnum<{
|
|
236
|
+
authorization: "authorization";
|
|
237
|
+
"private-token": "private-token";
|
|
238
|
+
}>;
|
|
239
|
+
scheme: z.ZodEnum<{
|
|
240
|
+
basic: "basic";
|
|
241
|
+
bearer: "bearer";
|
|
242
|
+
none: "none";
|
|
243
|
+
token: "token";
|
|
244
|
+
}>;
|
|
245
|
+
username: z.ZodOptional<z.ZodBoolean>;
|
|
246
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
247
|
+
createPath: z.ZodOptional<z.ZodString>;
|
|
248
|
+
}, z.core.$strict>;
|
|
249
|
+
transport: z.ZodObject<{
|
|
250
|
+
httpsUsername: z.ZodUnion<readonly [z.ZodObject<{
|
|
251
|
+
kind: z.ZodLiteral<"login">;
|
|
252
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
253
|
+
kind: z.ZodLiteral<"fixed">;
|
|
254
|
+
value: z.ZodString;
|
|
255
|
+
}, z.core.$strict>]>;
|
|
256
|
+
appendDotGitToHttpsClone: z.ZodBoolean;
|
|
257
|
+
}, z.core.$strict>;
|
|
258
|
+
limits: z.ZodObject<{
|
|
259
|
+
commentMaxLength: z.ZodNumber;
|
|
260
|
+
reviewerId: z.ZodEnum<{
|
|
261
|
+
login: "login";
|
|
262
|
+
numeric: "numeric";
|
|
263
|
+
}>;
|
|
264
|
+
labelsMax: z.ZodNumber;
|
|
265
|
+
reviewersMax: z.ZodNumber;
|
|
266
|
+
}, z.core.$strict>;
|
|
267
|
+
trackedItems: z.ZodObject<{
|
|
268
|
+
batchLimit: z.ZodNumber;
|
|
269
|
+
}, z.core.$strict>;
|
|
270
|
+
presentation: z.ZodObject<{
|
|
271
|
+
abbreviation: z.ZodString;
|
|
272
|
+
promptNoun: z.ZodString;
|
|
273
|
+
sharedNumberSpace: z.ZodBoolean;
|
|
274
|
+
iconPath: z.ZodOptional<z.ZodString>;
|
|
275
|
+
urls: z.ZodObject<{
|
|
276
|
+
changeRequest: z.ZodArray<z.ZodString>;
|
|
277
|
+
issue: z.ZodArray<z.ZodString>;
|
|
278
|
+
}, z.core.$strict>;
|
|
279
|
+
features: z.ZodObject<{
|
|
280
|
+
authorCanReview: z.ZodDefault<z.ZodBoolean>;
|
|
281
|
+
issueCloseReason: z.ZodDefault<z.ZodBoolean>;
|
|
282
|
+
submitRequirements: z.ZodOptional<z.ZodBoolean>;
|
|
283
|
+
}, z.core.$strict>;
|
|
284
|
+
changeRequestTemplates: z.ZodArray<z.ZodString>;
|
|
285
|
+
}, z.core.$strict>;
|
|
286
|
+
}, z.core.$strict>>;
|
|
173
287
|
}, z.core.$strip>;
|
|
174
288
|
}, z.core.$strip>;
|
|
175
289
|
export declare const PACKAGE_VERSION_PATTERN: RegExp;
|
|
@@ -212,7 +326,11 @@ export declare const packageManifestSchema: z.ZodObject<{
|
|
|
212
326
|
title: z.ZodOptional<z.ZodString>;
|
|
213
327
|
}, z.core.$strip>]>>;
|
|
214
328
|
statusSection: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodObject<{
|
|
215
|
-
entry: z.ZodString
|
|
329
|
+
entry: z.ZodOptional<z.ZodString>;
|
|
330
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
331
|
+
path: z.ZodString;
|
|
332
|
+
interval: z.ZodOptional<z.ZodNumber>;
|
|
333
|
+
}, z.core.$strict>>;
|
|
216
334
|
title: z.ZodOptional<z.ZodString>;
|
|
217
335
|
height: z.ZodOptional<z.ZodNumber>;
|
|
218
336
|
defaultExpanded: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -289,6 +407,7 @@ export declare const packageManifestSchema: z.ZodObject<{
|
|
|
289
407
|
}>>>;
|
|
290
408
|
provides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
291
409
|
browser: "browser";
|
|
410
|
+
"source-control": "source-control";
|
|
292
411
|
}>>>;
|
|
293
412
|
surface: z.ZodOptional<z.ZodLiteral<true>>;
|
|
294
413
|
}, z.core.$strip>>;
|
|
@@ -345,6 +464,115 @@ export declare const packageManifestSchema: z.ZodObject<{
|
|
|
345
464
|
text: "text";
|
|
346
465
|
}>>;
|
|
347
466
|
}, z.core.$strip>>>;
|
|
467
|
+
sourceControl: z.ZodOptional<z.ZodObject<{
|
|
468
|
+
wire: z.ZodLiteral<1>;
|
|
469
|
+
label: z.ZodString;
|
|
470
|
+
terminology: z.ZodObject<{
|
|
471
|
+
changeRequest: z.ZodEnum<{
|
|
472
|
+
change: "change";
|
|
473
|
+
mergeRequest: "mergeRequest";
|
|
474
|
+
pullRequest: "pullRequest";
|
|
475
|
+
}>;
|
|
476
|
+
ci: z.ZodEnum<{
|
|
477
|
+
checks: "checks";
|
|
478
|
+
pipeline: "pipeline";
|
|
479
|
+
}>;
|
|
480
|
+
}, z.core.$strict>;
|
|
481
|
+
referencePrefix: z.ZodObject<{
|
|
482
|
+
changeRequest: z.ZodString;
|
|
483
|
+
issue: z.ZodString;
|
|
484
|
+
}, z.core.$strict>;
|
|
485
|
+
repositoryPath: z.ZodEnum<{
|
|
486
|
+
"namespace/name": "namespace/name";
|
|
487
|
+
"owner/name": "owner/name";
|
|
488
|
+
}>;
|
|
489
|
+
instances: z.ZodObject<{
|
|
490
|
+
defaultInstances: z.ZodArray<z.ZodString>;
|
|
491
|
+
custom: z.ZodBoolean;
|
|
492
|
+
allowLoopbackHttp: z.ZodBoolean;
|
|
493
|
+
allowPort: z.ZodBoolean;
|
|
494
|
+
placeholder: z.ZodString;
|
|
495
|
+
}, z.core.$strict>;
|
|
496
|
+
capabilities: z.ZodObject<{
|
|
497
|
+
projects: z.ZodDefault<z.ZodBoolean>;
|
|
498
|
+
issues: z.ZodDefault<z.ZodBoolean>;
|
|
499
|
+
changeRequests: z.ZodDefault<z.ZodBoolean>;
|
|
500
|
+
draftChangeRequests: z.ZodDefault<z.ZodBoolean>;
|
|
501
|
+
merge: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
|
|
502
|
+
methods: z.ZodArray<z.ZodEnum<{
|
|
503
|
+
merge: "merge";
|
|
504
|
+
rebase: "rebase";
|
|
505
|
+
squash: "squash";
|
|
506
|
+
submit: "submit";
|
|
507
|
+
}>>;
|
|
508
|
+
}, z.core.$strict>]>>;
|
|
509
|
+
ci: z.ZodDefault<z.ZodBoolean>;
|
|
510
|
+
comments: z.ZodDefault<z.ZodBoolean>;
|
|
511
|
+
reviews: z.ZodDefault<z.ZodBoolean>;
|
|
512
|
+
state: z.ZodDefault<z.ZodBoolean>;
|
|
513
|
+
labels: z.ZodDefault<z.ZodBoolean>;
|
|
514
|
+
reviewers: z.ZodDefault<z.ZodBoolean>;
|
|
515
|
+
changeRequestPatch: z.ZodDefault<z.ZodBoolean>;
|
|
516
|
+
liveSummaries: z.ZodDefault<z.ZodBoolean>;
|
|
517
|
+
reviewModel: z.ZodOptional<z.ZodEnum<{
|
|
518
|
+
verdict: "verdict";
|
|
519
|
+
votes: "votes";
|
|
520
|
+
}>>;
|
|
521
|
+
revisions: z.ZodOptional<z.ZodBoolean>;
|
|
522
|
+
}, z.core.$strict>;
|
|
523
|
+
token: z.ZodObject<{
|
|
524
|
+
header: z.ZodEnum<{
|
|
525
|
+
authorization: "authorization";
|
|
526
|
+
"private-token": "private-token";
|
|
527
|
+
}>;
|
|
528
|
+
scheme: z.ZodEnum<{
|
|
529
|
+
basic: "basic";
|
|
530
|
+
bearer: "bearer";
|
|
531
|
+
none: "none";
|
|
532
|
+
token: "token";
|
|
533
|
+
}>;
|
|
534
|
+
username: z.ZodOptional<z.ZodBoolean>;
|
|
535
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
536
|
+
createPath: z.ZodOptional<z.ZodString>;
|
|
537
|
+
}, z.core.$strict>;
|
|
538
|
+
transport: z.ZodObject<{
|
|
539
|
+
httpsUsername: z.ZodUnion<readonly [z.ZodObject<{
|
|
540
|
+
kind: z.ZodLiteral<"login">;
|
|
541
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
542
|
+
kind: z.ZodLiteral<"fixed">;
|
|
543
|
+
value: z.ZodString;
|
|
544
|
+
}, z.core.$strict>]>;
|
|
545
|
+
appendDotGitToHttpsClone: z.ZodBoolean;
|
|
546
|
+
}, z.core.$strict>;
|
|
547
|
+
limits: z.ZodObject<{
|
|
548
|
+
commentMaxLength: z.ZodNumber;
|
|
549
|
+
reviewerId: z.ZodEnum<{
|
|
550
|
+
login: "login";
|
|
551
|
+
numeric: "numeric";
|
|
552
|
+
}>;
|
|
553
|
+
labelsMax: z.ZodNumber;
|
|
554
|
+
reviewersMax: z.ZodNumber;
|
|
555
|
+
}, z.core.$strict>;
|
|
556
|
+
trackedItems: z.ZodObject<{
|
|
557
|
+
batchLimit: z.ZodNumber;
|
|
558
|
+
}, z.core.$strict>;
|
|
559
|
+
presentation: z.ZodObject<{
|
|
560
|
+
abbreviation: z.ZodString;
|
|
561
|
+
promptNoun: z.ZodString;
|
|
562
|
+
sharedNumberSpace: z.ZodBoolean;
|
|
563
|
+
iconPath: z.ZodOptional<z.ZodString>;
|
|
564
|
+
urls: z.ZodObject<{
|
|
565
|
+
changeRequest: z.ZodArray<z.ZodString>;
|
|
566
|
+
issue: z.ZodArray<z.ZodString>;
|
|
567
|
+
}, z.core.$strict>;
|
|
568
|
+
features: z.ZodObject<{
|
|
569
|
+
authorCanReview: z.ZodDefault<z.ZodBoolean>;
|
|
570
|
+
issueCloseReason: z.ZodDefault<z.ZodBoolean>;
|
|
571
|
+
submitRequirements: z.ZodOptional<z.ZodBoolean>;
|
|
572
|
+
}, z.core.$strict>;
|
|
573
|
+
changeRequestTemplates: z.ZodArray<z.ZodString>;
|
|
574
|
+
}, z.core.$strict>;
|
|
575
|
+
}, z.core.$strict>>;
|
|
348
576
|
}, z.core.$strip>;
|
|
349
577
|
}, z.core.$strip>;
|
|
350
578
|
}, z.core.$strip>;
|