@tmdjr/backstage-contracts 0.0.5 → 0.0.7

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.
@@ -115,6 +115,120 @@ export interface paths {
115
115
  patch: operations["ExampleCrudController_unarchive"];
116
116
  trace?: never;
117
117
  };
118
+ "/backstage/services": {
119
+ parameters: {
120
+ query?: never;
121
+ header?: never;
122
+ path?: never;
123
+ cookie?: never;
124
+ };
125
+ /** List cached backstage services */
126
+ get: operations["BackstageCatalogController_list"];
127
+ put?: never;
128
+ post?: never;
129
+ delete?: never;
130
+ options?: never;
131
+ head?: never;
132
+ patch?: never;
133
+ trace?: never;
134
+ };
135
+ "/backstage/services/{repo}": {
136
+ parameters: {
137
+ query?: never;
138
+ header?: never;
139
+ path?: never;
140
+ cookie?: never;
141
+ };
142
+ /** Get full detail for a specific repo */
143
+ get: operations["BackstageCatalogController_getOne"];
144
+ put?: never;
145
+ post?: never;
146
+ delete?: never;
147
+ options?: never;
148
+ head?: never;
149
+ patch?: never;
150
+ trace?: never;
151
+ };
152
+ "/backstage/sync": {
153
+ parameters: {
154
+ query?: never;
155
+ header?: never;
156
+ path?: never;
157
+ cookie?: never;
158
+ };
159
+ get?: never;
160
+ put?: never;
161
+ post: operations["BackstageCatalogController_sync"];
162
+ delete?: never;
163
+ options?: never;
164
+ head?: never;
165
+ patch?: never;
166
+ trace?: never;
167
+ };
168
+ "/backstage/services/{repo}/readme": {
169
+ parameters: {
170
+ query?: never;
171
+ header?: never;
172
+ path?: never;
173
+ cookie?: never;
174
+ };
175
+ get: operations["BackstageCatalogController_readme"];
176
+ put?: never;
177
+ post?: never;
178
+ delete?: never;
179
+ options?: never;
180
+ head?: never;
181
+ patch?: never;
182
+ trace?: never;
183
+ };
184
+ "/backstage/services/{repo}/openapi": {
185
+ parameters: {
186
+ query?: never;
187
+ header?: never;
188
+ path?: never;
189
+ cookie?: never;
190
+ };
191
+ get: operations["BackstageCatalogController_openapi"];
192
+ put?: never;
193
+ post?: never;
194
+ delete?: never;
195
+ options?: never;
196
+ head?: never;
197
+ patch?: never;
198
+ trace?: never;
199
+ };
200
+ "/backstage/services/{repo}/runbook": {
201
+ parameters: {
202
+ query?: never;
203
+ header?: never;
204
+ path?: never;
205
+ cookie?: never;
206
+ };
207
+ get: operations["BackstageCatalogController_runbook"];
208
+ put?: never;
209
+ post?: never;
210
+ delete?: never;
211
+ options?: never;
212
+ head?: never;
213
+ patch?: never;
214
+ trace?: never;
215
+ };
216
+ "/backstage/services/{repo}/metadata": {
217
+ parameters: {
218
+ query?: never;
219
+ header?: never;
220
+ path?: never;
221
+ cookie?: never;
222
+ };
223
+ get: operations["BackstageCatalogController_metadata"];
224
+ put?: never;
225
+ post?: never;
226
+ delete?: never;
227
+ options?: never;
228
+ head?: never;
229
+ patch?: never;
230
+ trace?: never;
231
+ };
118
232
  }
119
233
  export type webhooks = Record<string, never>;
120
234
  export interface components {
@@ -161,6 +275,63 @@ export interface components {
161
275
  /** Format: date-time */
162
276
  lastUpdated?: string;
163
277
  };
278
+ DocBlobDto: {
279
+ /** @description Raw content of the document */
280
+ content: string;
281
+ /** @description Git SHA of the fetched file */
282
+ sha?: string;
283
+ /** Format: date-time */
284
+ fetchedAt?: string;
285
+ /** @enum {string} */
286
+ format?: "yaml" | "json" | "markdown";
287
+ };
288
+ ServiceSummaryDto: {
289
+ repoName: string;
290
+ description?: string;
291
+ topics: string[];
292
+ defaultBranch?: string;
293
+ htmlUrl?: string;
294
+ /** Format: date-time */
295
+ lastSyncAt?: string;
296
+ /** @enum {string} */
297
+ syncStatus: "idle" | "ok" | "partial" | "failed" | "rate_limited";
298
+ syncError?: string;
299
+ readme?: components["schemas"]["DocBlobDto"];
300
+ openapi?: components["schemas"]["DocBlobDto"];
301
+ runbook?: components["schemas"]["DocBlobDto"];
302
+ serviceMetadata?: components["schemas"]["DocBlobDto"];
303
+ };
304
+ ServiceDetailDto: {
305
+ repoName: string;
306
+ description?: string;
307
+ topics: string[];
308
+ defaultBranch?: string;
309
+ htmlUrl?: string;
310
+ /** Format: date-time */
311
+ lastSyncAt?: string;
312
+ /** @enum {string} */
313
+ syncStatus: "idle" | "ok" | "partial" | "failed" | "rate_limited";
314
+ syncError?: string;
315
+ readme?: components["schemas"]["DocBlobDto"];
316
+ openapi?: components["schemas"]["DocBlobDto"];
317
+ runbook?: components["schemas"]["DocBlobDto"];
318
+ serviceMetadata?: components["schemas"]["DocBlobDto"];
319
+ };
320
+ SyncRequestDto: {
321
+ /** @description Optional list of repo names to sync; defaults to all repos in the org */
322
+ repos?: string[];
323
+ /** @description Force re-fetch even if SHA is unchanged */
324
+ force?: boolean;
325
+ };
326
+ SyncResponseDto: {
327
+ total: number;
328
+ succeeded: number;
329
+ failed: number;
330
+ /** @description Duration in milliseconds */
331
+ durationMs: number;
332
+ /** @description Repos that failed to sync (with error message inline if available) */
333
+ failures: string[];
334
+ };
164
335
  };
165
336
  responses: never;
166
337
  parameters: never;
@@ -381,4 +552,161 @@ export interface operations {
381
552
  };
382
553
  };
383
554
  };
555
+ BackstageCatalogController_list: {
556
+ parameters: {
557
+ query?: {
558
+ /** @description Search by name, description, or topics */
559
+ q?: string;
560
+ /** @description Comma-separated list of blobs to include (readme,openapi,runbook,metadata) */
561
+ include?: string;
562
+ /** @description Trigger a refresh for the returned items */
563
+ refresh?: boolean;
564
+ };
565
+ header?: never;
566
+ path?: never;
567
+ cookie?: never;
568
+ };
569
+ requestBody?: never;
570
+ responses: {
571
+ 200: {
572
+ headers: {
573
+ [name: string]: unknown;
574
+ };
575
+ content: {
576
+ "application/json": components["schemas"]["ServiceSummaryDto"][];
577
+ };
578
+ };
579
+ };
580
+ };
581
+ BackstageCatalogController_getOne: {
582
+ parameters: {
583
+ query?: {
584
+ /** @description Trigger a refresh before returning details */
585
+ refresh?: boolean;
586
+ };
587
+ header?: never;
588
+ path: {
589
+ repo: string;
590
+ };
591
+ cookie?: never;
592
+ };
593
+ requestBody?: never;
594
+ responses: {
595
+ 200: {
596
+ headers: {
597
+ [name: string]: unknown;
598
+ };
599
+ content: {
600
+ "application/json": components["schemas"]["ServiceDetailDto"];
601
+ };
602
+ };
603
+ };
604
+ };
605
+ BackstageCatalogController_sync: {
606
+ parameters: {
607
+ query?: never;
608
+ header?: never;
609
+ path?: never;
610
+ cookie?: never;
611
+ };
612
+ requestBody: {
613
+ content: {
614
+ "application/json": components["schemas"]["SyncRequestDto"];
615
+ };
616
+ };
617
+ responses: {
618
+ 200: {
619
+ headers: {
620
+ [name: string]: unknown;
621
+ };
622
+ content: {
623
+ "application/json": components["schemas"]["SyncResponseDto"];
624
+ };
625
+ };
626
+ };
627
+ };
628
+ BackstageCatalogController_readme: {
629
+ parameters: {
630
+ query: {
631
+ refresh: string;
632
+ };
633
+ header?: never;
634
+ path: {
635
+ repo: string;
636
+ };
637
+ cookie?: never;
638
+ };
639
+ requestBody?: never;
640
+ responses: {
641
+ 200: {
642
+ headers: {
643
+ [name: string]: unknown;
644
+ };
645
+ content?: never;
646
+ };
647
+ };
648
+ };
649
+ BackstageCatalogController_openapi: {
650
+ parameters: {
651
+ query: {
652
+ refresh: string;
653
+ };
654
+ header?: never;
655
+ path: {
656
+ repo: string;
657
+ };
658
+ cookie?: never;
659
+ };
660
+ requestBody?: never;
661
+ responses: {
662
+ 200: {
663
+ headers: {
664
+ [name: string]: unknown;
665
+ };
666
+ content?: never;
667
+ };
668
+ };
669
+ };
670
+ BackstageCatalogController_runbook: {
671
+ parameters: {
672
+ query: {
673
+ refresh: string;
674
+ };
675
+ header?: never;
676
+ path: {
677
+ repo: string;
678
+ };
679
+ cookie?: never;
680
+ };
681
+ requestBody?: never;
682
+ responses: {
683
+ 200: {
684
+ headers: {
685
+ [name: string]: unknown;
686
+ };
687
+ content?: never;
688
+ };
689
+ };
690
+ };
691
+ BackstageCatalogController_metadata: {
692
+ parameters: {
693
+ query: {
694
+ refresh: string;
695
+ };
696
+ header?: never;
697
+ path: {
698
+ repo: string;
699
+ };
700
+ cookie?: never;
701
+ };
702
+ requestBody?: never;
703
+ responses: {
704
+ 200: {
705
+ headers: {
706
+ [name: string]: unknown;
707
+ };
708
+ content?: never;
709
+ };
710
+ };
711
+ };
384
712
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  export type { AuthTestDto } from './models/AuthTestDto';
2
2
  export type { CreateExampleMongodbDocDto } from './models/CreateExampleMongodbDocDto';
3
+ export type { DocBlobDto } from './models/DocBlobDto';
3
4
  export type { ExampleMongodbDocDto } from './models/ExampleMongodbDocDto';
4
5
  export type { ExampleMongodbDocObjectDto } from './models/ExampleMongodbDocObjectDto';
6
+ export type { ServiceDetailDto } from './models/ServiceDetailDto';
7
+ export type { ServiceSummaryDto } from './models/ServiceSummaryDto';
8
+ export type { SyncRequestDto } from './models/SyncRequestDto';
9
+ export type { SyncResponseDto } from './models/SyncResponseDto';
5
10
  export type { UpdateExampleMongodbDocDto } from './models/UpdateExampleMongodbDocDto';
@@ -0,0 +1,12 @@
1
+ export type DocBlobDto = {
2
+ /**
3
+ * Raw content of the document
4
+ */
5
+ content: string;
6
+ /**
7
+ * Git SHA of the fetched file
8
+ */
9
+ sha?: string;
10
+ fetchedAt?: string;
11
+ format?: 'yaml' | 'json' | 'markdown';
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { DocBlobDto } from './DocBlobDto';
2
+ export type ServiceDetailDto = {
3
+ repoName: string;
4
+ description?: string;
5
+ topics: Array<string>;
6
+ defaultBranch?: string;
7
+ htmlUrl?: string;
8
+ lastSyncAt?: string;
9
+ syncStatus: 'idle' | 'ok' | 'partial' | 'failed' | 'rate_limited';
10
+ syncError?: string;
11
+ readme?: DocBlobDto;
12
+ openapi?: DocBlobDto;
13
+ runbook?: DocBlobDto;
14
+ serviceMetadata?: DocBlobDto;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { DocBlobDto } from './DocBlobDto';
2
+ export type ServiceSummaryDto = {
3
+ repoName: string;
4
+ description?: string;
5
+ topics: Array<string>;
6
+ defaultBranch?: string;
7
+ htmlUrl?: string;
8
+ lastSyncAt?: string;
9
+ syncStatus: 'idle' | 'ok' | 'partial' | 'failed' | 'rate_limited';
10
+ syncError?: string;
11
+ readme?: DocBlobDto;
12
+ openapi?: DocBlobDto;
13
+ runbook?: DocBlobDto;
14
+ serviceMetadata?: DocBlobDto;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export type SyncRequestDto = {
2
+ /**
3
+ * Optional list of repo names to sync; defaults to all repos in the org
4
+ */
5
+ repos?: Array<string>;
6
+ /**
7
+ * Force re-fetch even if SHA is unchanged
8
+ */
9
+ force?: boolean;
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ export type SyncResponseDto = {
2
+ total: number;
3
+ succeeded: number;
4
+ failed: number;
5
+ /**
6
+ * Duration in milliseconds
7
+ */
8
+ durationMs: number;
9
+ /**
10
+ * Repos that failed to sync (with error message inline if available)
11
+ */
12
+ failures: Array<string>;
13
+ };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmdjr/backstage-contracts",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Types & runtime enums generated from NGX backstage spec",
5
5
  "license": "MIT",
6
6
  "private": false,