@cesar-richard/git-connector-sdk 4.8.4 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/schema.d.ts +391 -0
  2. package/package.json +1 -1
package/dist/schema.d.ts CHANGED
@@ -132,6 +132,22 @@ export interface paths {
132
132
  patch: operations["patchV1ProjectsBySourceByProjectKeyDelivery-rules"];
133
133
  trace?: never;
134
134
  };
135
+ "/v1/applications/{slug}/delivery-rules": {
136
+ parameters: {
137
+ query?: never;
138
+ header?: never;
139
+ path?: never;
140
+ cookie?: never;
141
+ };
142
+ get: operations["getV1ApplicationsBySlugDelivery-rules"];
143
+ put?: never;
144
+ post?: never;
145
+ delete?: never;
146
+ options?: never;
147
+ head?: never;
148
+ patch: operations["patchV1ApplicationsBySlugDelivery-rules"];
149
+ trace?: never;
150
+ };
135
151
  "/v1/projects": {
136
152
  parameters: {
137
153
  query?: never;
@@ -228,6 +244,22 @@ export interface paths {
228
244
  patch?: never;
229
245
  trace?: never;
230
246
  };
247
+ "/v1/applications": {
248
+ parameters: {
249
+ query?: never;
250
+ header?: never;
251
+ path?: never;
252
+ cookie?: never;
253
+ };
254
+ get: operations["getV1Applications"];
255
+ put?: never;
256
+ post?: never;
257
+ delete?: never;
258
+ options?: never;
259
+ head?: never;
260
+ patch?: never;
261
+ trace?: never;
262
+ };
231
263
  }
232
264
  export type webhooks = Record<string, never>;
233
265
  export interface components {
@@ -288,6 +320,8 @@ export interface components {
288
320
  mergedBy: string | null;
289
321
  /** @description Branch merged INTO. The source side is `branch`. */
290
322
  targetBranch: string | null;
323
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
324
+ applications: string[];
291
325
  number: string | number;
292
326
  title: string;
293
327
  body: string | null;
@@ -393,6 +427,8 @@ export interface components {
393
427
  mergedBy: string | null;
394
428
  /** @description Branch merged INTO. The source side is `branch`. */
395
429
  targetBranch: string | null;
430
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
431
+ applications: string[];
396
432
  number: string | number;
397
433
  title: string;
398
434
  body: string | null;
@@ -450,6 +486,59 @@ export interface components {
450
486
  provider: "github" | "gitlab";
451
487
  login: string;
452
488
  };
489
+ ApplicationCodeRepoRef: {
490
+ provider: "github" | "gitlab";
491
+ projectKey: string;
492
+ };
493
+ ApplicationDeliveryRules: {
494
+ applicationSlug: string;
495
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
496
+ deliveryLabels: string[];
497
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
498
+ openedLabels: string[];
499
+ updatedAt: string | null;
500
+ };
501
+ ApplicationIssueRepoRef: {
502
+ provider: "github" | "gitlab";
503
+ projectKey: string;
504
+ isDefault: boolean;
505
+ };
506
+ ApplicationSummary: {
507
+ slug: string;
508
+ name: string;
509
+ /** @description Code repos (PR/MR source) this application owns. */
510
+ codeRepos: {
511
+ provider: "github" | "gitlab";
512
+ projectKey: string;
513
+ }[];
514
+ /** @description Issue trackers linked to this application. `isDefault` marks the tracker a bare `#N` in one of its code repos resolves to. */
515
+ issueRepos: {
516
+ provider: "github" | "gitlab";
517
+ projectKey: string;
518
+ isDefault: boolean;
519
+ }[];
520
+ /** @description Issue-tracker labels that claim an issue for this application, independent of any PR/MR link. */
521
+ labels: string[];
522
+ };
523
+ ApplicationsListResponse: {
524
+ applications: {
525
+ slug: string;
526
+ name: string;
527
+ /** @description Code repos (PR/MR source) this application owns. */
528
+ codeRepos: {
529
+ provider: "github" | "gitlab";
530
+ projectKey: string;
531
+ }[];
532
+ /** @description Issue trackers linked to this application. `isDefault` marks the tracker a bare `#N` in one of its code repos resolves to. */
533
+ issueRepos: {
534
+ provider: "github" | "gitlab";
535
+ projectKey: string;
536
+ isDefault: boolean;
537
+ }[];
538
+ /** @description Issue-tracker labels that claim an issue for this application, independent of any PR/MR link. */
539
+ labels: string[];
540
+ }[];
541
+ };
453
542
  CiPipelineEventMeta: {
454
543
  runId?: (string | number) | null;
455
544
  sha?: string | null;
@@ -781,6 +870,8 @@ export interface components {
781
870
  healthStatus: string | null;
782
871
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
783
872
  severity: string | null;
873
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
874
+ applications: string[];
784
875
  iteration: {
785
876
  id: string | number;
786
877
  title: string;
@@ -1052,6 +1143,8 @@ export interface components {
1052
1143
  healthStatus: string | null;
1053
1144
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
1054
1145
  severity: string | null;
1146
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
1147
+ applications: string[];
1055
1148
  iteration: {
1056
1149
  id: string | number;
1057
1150
  title: string;
@@ -1081,6 +1174,10 @@ export interface components {
1081
1174
  changedBy: string | null;
1082
1175
  }[];
1083
1176
  }[];
1177
+ /** @description Count of delivered issues matching the window/filters — NOT the page size. A CRA is an activity report: a page quietly presented as the whole answer removes deliveries from it with nothing on screen to say so (GH #72, 349 of 1175 real deliverables silently dropped). Compare against `issues.length` + `offset` to know whether more remains. In the rare case where the server's own internal candidate-loading ceiling was reached (an installation with more matching issues than that ceiling), `total` is a LOWER bound rather than exact — `truncated` is `true` in that case regardless of `limit`/`offset`, which is the signal to trust. */
1178
+ total: string | number;
1179
+ /** @description True when this page is not the whole window (`total > offset + issues.length`), OR when the server's internal candidate-loading ceiling was itself reached (see `total`) — in which case this is `true` even if the page looks complete by the slicing arithmetic alone. Raise `limit`/`offset` to see more. With `?application` set AND no `?limit` passed, candidate loading is already exhaustive (no SQL cap) before window filtering, so this is false and `total` is the exact count; passing `?limit` there opts back into normal paging and `truncated` is computed the same way as everywhere else. */
1180
+ truncated: boolean;
1084
1181
  };
1085
1182
  DeliveryReason: {
1086
1183
  /** @description Discriminator: WHY the deliveryState was set. `rule_label_added` = a delivery label was added in the window; `closed_in_window` = fallback (no rule, issue closed in the window); `in_progress_opened_label_active` = a configured opened-label is currently active; `in_progress_delivered_after_window` = delivery label was added AFTER the window; `in_progress_fallback_open` = fallback (no rule, issue is open). */
@@ -1978,6 +2075,8 @@ export interface components {
1978
2075
  healthStatus: string | null;
1979
2076
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
1980
2077
  severity: string | null;
2078
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
2079
+ applications: string[];
1981
2080
  iteration: {
1982
2081
  id: string | number;
1983
2082
  title: string;
@@ -2213,6 +2312,8 @@ export interface components {
2213
2312
  healthStatus: string | null;
2214
2313
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
2215
2314
  severity: string | null;
2315
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
2316
+ applications: string[];
2216
2317
  iteration: {
2217
2318
  id: string | number;
2218
2319
  title: string;
@@ -2428,6 +2529,8 @@ export interface operations {
2428
2529
  viewer?: string;
2429
2530
  /** @description Filter by user identity ID (resolves to all aliases). Mutually exclusive with ?author. */
2430
2531
  identity?: string;
2532
+ /** @description Filter by application slug (see /v1/applications). An unknown slug returns 404, never an empty list. Combines freely with ?author/?identity — orthogonal to them, unlike their mutual exclusivity with each other. */
2533
+ application?: string;
2431
2534
  /** @description When '1', enriches each item with `authorIdentity: { id, displayName } | null`. */
2432
2535
  withIdentity?: string;
2433
2536
  };
@@ -2501,6 +2604,8 @@ export interface operations {
2501
2604
  healthStatus: string | null;
2502
2605
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
2503
2606
  severity: string | null;
2607
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
2608
+ applications: string[];
2504
2609
  iteration: {
2505
2610
  id: string | number;
2506
2611
  title: string;
@@ -2740,6 +2845,8 @@ export interface operations {
2740
2845
  healthStatus: string | null;
2741
2846
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
2742
2847
  severity: string | null;
2848
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
2849
+ applications: string[];
2743
2850
  iteration: {
2744
2851
  id: string | number;
2745
2852
  title: string;
@@ -2979,6 +3086,8 @@ export interface operations {
2979
3086
  healthStatus: string | null;
2980
3087
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
2981
3088
  severity: string | null;
3089
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
3090
+ applications: string[];
2982
3091
  iteration: {
2983
3092
  id: string | number;
2984
3093
  title: string;
@@ -3274,6 +3383,8 @@ export interface operations {
3274
3383
  healthStatus: string | null;
3275
3384
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
3276
3385
  severity: string | null;
3386
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
3387
+ applications: string[];
3277
3388
  iteration: {
3278
3389
  id: string | number;
3279
3390
  title: string;
@@ -3508,6 +3619,8 @@ export interface operations {
3508
3619
  healthStatus: string | null;
3509
3620
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
3510
3621
  severity: string | null;
3622
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
3623
+ applications: string[];
3511
3624
  iteration: {
3512
3625
  id: string | number;
3513
3626
  title: string;
@@ -3742,6 +3855,8 @@ export interface operations {
3742
3855
  healthStatus: string | null;
3743
3856
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
3744
3857
  severity: string | null;
3858
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
3859
+ applications: string[];
3745
3860
  iteration: {
3746
3861
  id: string | number;
3747
3862
  title: string;
@@ -4011,6 +4126,8 @@ export interface operations {
4011
4126
  user?: string;
4012
4127
  /** @description Filter by user identity ID (resolves to all aliases). Mutually exclusive with ?user. */
4013
4128
  identity?: string;
4129
+ /** @description Filter by application slug (see /v1/applications): restricts to events whose repo is one of the application's CODE repos ONLY. LIMITATION: an issue claimed solely by a label (no code-repo link) has no events of its own here — events live on code repos, never on the issue tracker — so this filter is narrower than the `applications` field on /v1/work-items and /v1/activities, which also honours the label signal. An unknown slug returns 404, never an empty list. Combines freely with ?user/?identity. */
4130
+ application?: string;
4014
4131
  /** @description When '1', enriches each event with `authorIdentity: { id, displayName } | null`. */
4015
4132
  withIdentity?: string;
4016
4133
  repo?: string;
@@ -4783,6 +4900,8 @@ export interface operations {
4783
4900
  author?: string;
4784
4901
  /** @description Filter by user identity ID (resolves to all aliases). Mutually exclusive with ?author. */
4785
4902
  identity?: string;
4903
+ /** @description Filter by application slug (see /v1/applications). An unknown slug returns 404, never an empty list. Combines freely with ?author/?identity/?requestedReviewer — orthogonal to them. */
4904
+ application?: string;
4786
4905
  /** @description When '1', enriches each activity with `authorIdentity: { id, displayName } | null`. */
4787
4906
  withIdentity?: string;
4788
4907
  /** @description CSV of GitHub/GitLab logins requested as reviewers (case-insensitive, OR within, AND with the other filters). Answers 'what is waiting on this person's review?' — including PR/MR not linked to any issue, which `linkedActivities[]` on /v1/work-items cannot reach. Distinct from /v1/work-items' `reviewerIs`, which matches items ALREADY reviewed rather than awaiting review. Mutually exclusive with ?reviewerIdentity. */
@@ -4874,6 +4993,8 @@ export interface operations {
4874
4993
  mergedBy: string | null;
4875
4994
  /** @description Branch merged INTO. The source side is `branch`. */
4876
4995
  targetBranch: string | null;
4996
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
4997
+ applications: string[];
4877
4998
  number: string | number;
4878
4999
  title: string;
4879
5000
  body: string | null;
@@ -4980,6 +5101,8 @@ export interface operations {
4980
5101
  mergedBy: string | null;
4981
5102
  /** @description Branch merged INTO. The source side is `branch`. */
4982
5103
  targetBranch: string | null;
5104
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
5105
+ applications: string[];
4983
5106
  number: string | number;
4984
5107
  title: string;
4985
5108
  body: string | null;
@@ -5086,6 +5209,8 @@ export interface operations {
5086
5209
  mergedBy: string | null;
5087
5210
  /** @description Branch merged INTO. The source side is `branch`. */
5088
5211
  targetBranch: string | null;
5212
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
5213
+ applications: string[];
5089
5214
  number: string | number;
5090
5215
  title: string;
5091
5216
  body: string | null;
@@ -5185,10 +5310,16 @@ export interface operations {
5185
5310
  author?: string;
5186
5311
  /** @description Filter by user identity ID (resolves to all aliases for attribution). Mutually exclusive with ?author. */
5187
5312
  identity?: string;
5313
+ /** @description Filter by application slug (see /v1/applications). An unknown slug returns 404, never an empty list. Combines freely with ?author/?identity. */
5314
+ application?: string;
5188
5315
  /** @description When '1', attaches `authorIdentity: null` on each issue (placeholder until deliverablesCompute exposes the attributed login — see CR-553). */
5189
5316
  withIdentity?: string;
5190
5317
  /** @description github | gitlab. */
5191
5318
  source?: string;
5319
+ /** @description Max number of deliverables to return. Default 500, matching the historical (hardcoded) response size — raise it to see more of the window instead of guessing from a silently-capped list (GH #72). 0 is rejected (422): an empty page must never be read as 'nothing was delivered'. Paging does NOT reduce server work: `total` must describe the whole window, so every candidate in the window is loaded and run through `computeDeliverables` before the page is sliced. A consumer paging at limit=50 therefore pays one full window scan PER PAGE — prefer a single large limit. */
5320
+ limit?: string | number;
5321
+ /** @description Number of deliverables to skip, for paging past `limit`. Passing it alone (without `limit`) is enough to opt into pagination — the default limit of 500 then applies. This is a contract change from the historical behaviour: passing EITHER `limit` or `offset`, including `offset=0`, now opts into pagination, so a filtered call (e.g. `?application=x&offset=0`) that used to return its whole window exhaustively is now paged at the default limit. */
5322
+ offset?: string | number;
5192
5323
  };
5193
5324
  header?: never;
5194
5325
  path?: never;
@@ -5443,6 +5574,8 @@ export interface operations {
5443
5574
  healthStatus: string | null;
5444
5575
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
5445
5576
  severity: string | null;
5577
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
5578
+ applications: string[];
5446
5579
  iteration: {
5447
5580
  id: string | number;
5448
5581
  title: string;
@@ -5472,6 +5605,10 @@ export interface operations {
5472
5605
  changedBy: string | null;
5473
5606
  }[];
5474
5607
  }[];
5608
+ /** @description Count of delivered issues matching the window/filters — NOT the page size. A CRA is an activity report: a page quietly presented as the whole answer removes deliveries from it with nothing on screen to say so (GH #72, 349 of 1175 real deliverables silently dropped). Compare against `issues.length` + `offset` to know whether more remains. In the rare case where the server's own internal candidate-loading ceiling was reached (an installation with more matching issues than that ceiling), `total` is a LOWER bound rather than exact — `truncated` is `true` in that case regardless of `limit`/`offset`, which is the signal to trust. */
5609
+ total: string | number;
5610
+ /** @description True when this page is not the whole window (`total > offset + issues.length`), OR when the server's internal candidate-loading ceiling was itself reached (see `total`) — in which case this is `true` even if the page looks complete by the slicing arithmetic alone. Raise `limit`/`offset` to see more. With `?application` set AND no `?limit` passed, candidate loading is already exhaustive (no SQL cap) before window filtering, so this is false and `total` is the exact count; passing `?limit` there opts back into normal paging and `truncated` is computed the same way as everywhere else. */
5611
+ truncated: boolean;
5475
5612
  };
5476
5613
  "multipart/form-data": {
5477
5614
  issues: {
@@ -5715,6 +5852,8 @@ export interface operations {
5715
5852
  healthStatus: string | null;
5716
5853
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
5717
5854
  severity: string | null;
5855
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
5856
+ applications: string[];
5718
5857
  iteration: {
5719
5858
  id: string | number;
5720
5859
  title: string;
@@ -5744,6 +5883,10 @@ export interface operations {
5744
5883
  changedBy: string | null;
5745
5884
  }[];
5746
5885
  }[];
5886
+ /** @description Count of delivered issues matching the window/filters — NOT the page size. A CRA is an activity report: a page quietly presented as the whole answer removes deliveries from it with nothing on screen to say so (GH #72, 349 of 1175 real deliverables silently dropped). Compare against `issues.length` + `offset` to know whether more remains. In the rare case where the server's own internal candidate-loading ceiling was reached (an installation with more matching issues than that ceiling), `total` is a LOWER bound rather than exact — `truncated` is `true` in that case regardless of `limit`/`offset`, which is the signal to trust. */
5887
+ total: string | number;
5888
+ /** @description True when this page is not the whole window (`total > offset + issues.length`), OR when the server's internal candidate-loading ceiling was itself reached (see `total`) — in which case this is `true` even if the page looks complete by the slicing arithmetic alone. Raise `limit`/`offset` to see more. With `?application` set AND no `?limit` passed, candidate loading is already exhaustive (no SQL cap) before window filtering, so this is false and `total` is the exact count; passing `?limit` there opts back into normal paging and `truncated` is computed the same way as everywhere else. */
5889
+ truncated: boolean;
5747
5890
  };
5748
5891
  "text/plain": {
5749
5892
  issues: {
@@ -5987,6 +6130,8 @@ export interface operations {
5987
6130
  healthStatus: string | null;
5988
6131
  /** @description Incident severity. Meaningful when `issueType === 'incident'`. */
5989
6132
  severity: string | null;
6133
+ /** @description Slugs of the applications (see /v1/applications) that claim this item. A code-repo item (PR/MR) is claimed by the application that declares its repo; an issue is claimed by label match (declared `issueLabels`) OR by being referenced through a CONFIRMED link from a PR/MR in one of the application's code repos OR by being hosted in one of those code repos itself (the GitHub shape where the code repo is also the tracker) — the signals are a union, so the array can hold more than one slug. ORDER IS SIGNIFICANT: the array is sorted by DECREASING attachment-signal strength — a `label` claim first, then a `link` claim, then a `code_repo` claim, the order declared in the application config breaking ties at equal strength — and the FIRST slug is the application whose delivery rules govern this issue (its own rules per field, falling back to the tracker's field by field — see GET /v1/applications/{slug}/delivery-rules). A hand-placed scoped label is an assertion of ownership; an issue merely living in a code repo is an organisational coincidence, so the former governs. Empty array when the item is not attached to any application, in which case the tracker's rules govern. */
6134
+ applications: string[];
5990
6135
  iteration: {
5991
6136
  id: string | number;
5992
6137
  title: string;
@@ -6016,6 +6161,10 @@ export interface operations {
6016
6161
  changedBy: string | null;
6017
6162
  }[];
6018
6163
  }[];
6164
+ /** @description Count of delivered issues matching the window/filters — NOT the page size. A CRA is an activity report: a page quietly presented as the whole answer removes deliveries from it with nothing on screen to say so (GH #72, 349 of 1175 real deliverables silently dropped). Compare against `issues.length` + `offset` to know whether more remains. In the rare case where the server's own internal candidate-loading ceiling was reached (an installation with more matching issues than that ceiling), `total` is a LOWER bound rather than exact — `truncated` is `true` in that case regardless of `limit`/`offset`, which is the signal to trust. */
6165
+ total: string | number;
6166
+ /** @description True when this page is not the whole window (`total > offset + issues.length`), OR when the server's internal candidate-loading ceiling was itself reached (see `total`) — in which case this is `true` even if the page looks complete by the slicing arithmetic alone. Raise `limit`/`offset` to see more. With `?application` set AND no `?limit` passed, candidate loading is already exhaustive (no SQL cap) before window filtering, so this is false and `total` is the exact count; passing `?limit` there opts back into normal paging and `truncated` is computed the same way as everywhere else. */
6167
+ truncated: boolean;
6019
6168
  };
6020
6169
  };
6021
6170
  };
@@ -6152,6 +6301,173 @@ export interface operations {
6152
6301
  };
6153
6302
  };
6154
6303
  };
6304
+ "getV1ApplicationsBySlugDelivery-rules": {
6305
+ parameters: {
6306
+ query?: never;
6307
+ header?: never;
6308
+ path: {
6309
+ slug: string;
6310
+ };
6311
+ cookie?: never;
6312
+ };
6313
+ requestBody?: never;
6314
+ responses: {
6315
+ 200: {
6316
+ headers: {
6317
+ [name: string]: unknown;
6318
+ };
6319
+ content: {
6320
+ "application/json": {
6321
+ applicationSlug: string;
6322
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6323
+ deliveryLabels: string[];
6324
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6325
+ openedLabels: string[];
6326
+ updatedAt: string | null;
6327
+ };
6328
+ "multipart/form-data": {
6329
+ applicationSlug: string;
6330
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6331
+ deliveryLabels: string[];
6332
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6333
+ openedLabels: string[];
6334
+ updatedAt: string | null;
6335
+ };
6336
+ "text/plain": {
6337
+ applicationSlug: string;
6338
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6339
+ deliveryLabels: string[];
6340
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6341
+ openedLabels: string[];
6342
+ updatedAt: string | null;
6343
+ };
6344
+ };
6345
+ };
6346
+ 400: {
6347
+ headers: {
6348
+ [name: string]: unknown;
6349
+ };
6350
+ content: {
6351
+ "application/json": {
6352
+ error: string;
6353
+ };
6354
+ "multipart/form-data": {
6355
+ error: string;
6356
+ };
6357
+ "text/plain": {
6358
+ error: string;
6359
+ };
6360
+ };
6361
+ };
6362
+ 404: {
6363
+ headers: {
6364
+ [name: string]: unknown;
6365
+ };
6366
+ content: {
6367
+ "application/json": {
6368
+ error: string;
6369
+ };
6370
+ "multipart/form-data": {
6371
+ error: string;
6372
+ };
6373
+ "text/plain": {
6374
+ error: string;
6375
+ };
6376
+ };
6377
+ };
6378
+ };
6379
+ };
6380
+ "patchV1ApplicationsBySlugDelivery-rules": {
6381
+ parameters: {
6382
+ query?: never;
6383
+ header?: never;
6384
+ path: {
6385
+ slug: string;
6386
+ };
6387
+ cookie?: never;
6388
+ };
6389
+ requestBody: {
6390
+ content: {
6391
+ "application/json": {
6392
+ deliveryLabels?: string[];
6393
+ openedLabels?: string[];
6394
+ };
6395
+ "multipart/form-data": {
6396
+ deliveryLabels?: string[];
6397
+ openedLabels?: string[];
6398
+ };
6399
+ "text/plain": {
6400
+ deliveryLabels?: string[];
6401
+ openedLabels?: string[];
6402
+ };
6403
+ };
6404
+ };
6405
+ responses: {
6406
+ 200: {
6407
+ headers: {
6408
+ [name: string]: unknown;
6409
+ };
6410
+ content: {
6411
+ "application/json": {
6412
+ applicationSlug: string;
6413
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6414
+ deliveryLabels: string[];
6415
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6416
+ openedLabels: string[];
6417
+ updatedAt: string | null;
6418
+ };
6419
+ "multipart/form-data": {
6420
+ applicationSlug: string;
6421
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6422
+ deliveryLabels: string[];
6423
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6424
+ openedLabels: string[];
6425
+ updatedAt: string | null;
6426
+ };
6427
+ "text/plain": {
6428
+ applicationSlug: string;
6429
+ /** @description Labels whose addition marks an issue delivered FOR THIS APPLICATION. Non-empty means these rules replace the tracker's for every issue the application claims; empty means the application declares nothing and its tracker's rules stay in force. */
6430
+ deliveryLabels: string[];
6431
+ /** @description Labels marking an issue in progress for this application. Only read when `deliveryLabels` is non-empty — a rule set with no delivery label cannot decide a delivery and never shadows the tracker's. */
6432
+ openedLabels: string[];
6433
+ updatedAt: string | null;
6434
+ };
6435
+ };
6436
+ };
6437
+ 400: {
6438
+ headers: {
6439
+ [name: string]: unknown;
6440
+ };
6441
+ content: {
6442
+ "application/json": {
6443
+ error: string;
6444
+ };
6445
+ "multipart/form-data": {
6446
+ error: string;
6447
+ };
6448
+ "text/plain": {
6449
+ error: string;
6450
+ };
6451
+ };
6452
+ };
6453
+ 404: {
6454
+ headers: {
6455
+ [name: string]: unknown;
6456
+ };
6457
+ content: {
6458
+ "application/json": {
6459
+ error: string;
6460
+ };
6461
+ "multipart/form-data": {
6462
+ error: string;
6463
+ };
6464
+ "text/plain": {
6465
+ error: string;
6466
+ };
6467
+ };
6468
+ };
6469
+ };
6470
+ };
6155
6471
  getV1Projects: {
6156
6472
  parameters: {
6157
6473
  query?: never;
@@ -6927,4 +7243,79 @@ export interface operations {
6927
7243
  };
6928
7244
  };
6929
7245
  };
7246
+ getV1Applications: {
7247
+ parameters: {
7248
+ query?: never;
7249
+ header?: never;
7250
+ path?: never;
7251
+ cookie?: never;
7252
+ };
7253
+ requestBody?: never;
7254
+ responses: {
7255
+ 200: {
7256
+ headers: {
7257
+ [name: string]: unknown;
7258
+ };
7259
+ content: {
7260
+ "application/json": {
7261
+ applications: {
7262
+ slug: string;
7263
+ name: string;
7264
+ /** @description Code repos (PR/MR source) this application owns. */
7265
+ codeRepos: {
7266
+ provider: "github" | "gitlab";
7267
+ projectKey: string;
7268
+ }[];
7269
+ /** @description Issue trackers linked to this application. `isDefault` marks the tracker a bare `#N` in one of its code repos resolves to. */
7270
+ issueRepos: {
7271
+ provider: "github" | "gitlab";
7272
+ projectKey: string;
7273
+ isDefault: boolean;
7274
+ }[];
7275
+ /** @description Issue-tracker labels that claim an issue for this application, independent of any PR/MR link. */
7276
+ labels: string[];
7277
+ }[];
7278
+ };
7279
+ "multipart/form-data": {
7280
+ applications: {
7281
+ slug: string;
7282
+ name: string;
7283
+ /** @description Code repos (PR/MR source) this application owns. */
7284
+ codeRepos: {
7285
+ provider: "github" | "gitlab";
7286
+ projectKey: string;
7287
+ }[];
7288
+ /** @description Issue trackers linked to this application. `isDefault` marks the tracker a bare `#N` in one of its code repos resolves to. */
7289
+ issueRepos: {
7290
+ provider: "github" | "gitlab";
7291
+ projectKey: string;
7292
+ isDefault: boolean;
7293
+ }[];
7294
+ /** @description Issue-tracker labels that claim an issue for this application, independent of any PR/MR link. */
7295
+ labels: string[];
7296
+ }[];
7297
+ };
7298
+ "text/plain": {
7299
+ applications: {
7300
+ slug: string;
7301
+ name: string;
7302
+ /** @description Code repos (PR/MR source) this application owns. */
7303
+ codeRepos: {
7304
+ provider: "github" | "gitlab";
7305
+ projectKey: string;
7306
+ }[];
7307
+ /** @description Issue trackers linked to this application. `isDefault` marks the tracker a bare `#N` in one of its code repos resolves to. */
7308
+ issueRepos: {
7309
+ provider: "github" | "gitlab";
7310
+ projectKey: string;
7311
+ isDefault: boolean;
7312
+ }[];
7313
+ /** @description Issue-tracker labels that claim an issue for this application, independent of any PR/MR link. */
7314
+ labels: string[];
7315
+ }[];
7316
+ };
7317
+ };
7318
+ };
7319
+ };
7320
+ };
6930
7321
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cesar-richard/git-connector-sdk",
3
- "version": "4.8.4",
3
+ "version": "4.10.0",
4
4
  "description": "TypeScript SDK for the git-connector v1 API (work items + iterations aggregated from GitHub/GitLab). Version published on npm tracks server releases.",
5
5
  "license": "MIT",
6
6
  "repository": {