@bluelibs/runner-dev 4.1.0 → 4.2.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 (154) hide show
  1. package/AI.md +40 -43
  2. package/README.md +70 -0
  3. package/dist/architect/core/errors.d.ts +39 -0
  4. package/dist/architect/core/errors.js +143 -0
  5. package/dist/architect/core/errors.js.map +1 -0
  6. package/dist/architect/core/index.d.ts +3 -0
  7. package/dist/architect/core/index.js +21 -0
  8. package/dist/architect/core/index.js.map +1 -0
  9. package/dist/architect/core/interfaces.d.ts +158 -0
  10. package/dist/architect/core/interfaces.js +3 -0
  11. package/dist/architect/core/interfaces.js.map +1 -0
  12. package/dist/architect/core/types.d.ts +544 -0
  13. package/dist/architect/core/types.js +49 -0
  14. package/dist/architect/core/types.js.map +1 -0
  15. package/dist/architect/execution/executor.d.ts +23 -0
  16. package/dist/architect/execution/executor.js +476 -0
  17. package/dist/architect/execution/executor.js.map +1 -0
  18. package/dist/architect/execution/index.d.ts +1 -0
  19. package/dist/architect/execution/index.js +19 -0
  20. package/dist/architect/execution/index.js.map +1 -0
  21. package/dist/architect/executor.d.ts +7 -0
  22. package/dist/architect/executor.js +150 -0
  23. package/dist/architect/executor.js.map +1 -0
  24. package/dist/architect/index.d.ts +45 -0
  25. package/dist/architect/index.js +76 -0
  26. package/dist/architect/index.js.map +1 -0
  27. package/dist/architect/llmClient.d.ts +10 -0
  28. package/dist/architect/llmClient.js +33 -0
  29. package/dist/architect/llmClient.js.map +1 -0
  30. package/dist/architect/models/base.d.ts +16 -0
  31. package/dist/architect/models/base.js +68 -0
  32. package/dist/architect/models/base.js.map +1 -0
  33. package/dist/architect/models/factory.d.ts +16 -0
  34. package/dist/architect/models/factory.js +73 -0
  35. package/dist/architect/models/factory.js.map +1 -0
  36. package/dist/architect/models/index.d.ts +3 -0
  37. package/dist/architect/models/index.js +21 -0
  38. package/dist/architect/models/index.js.map +1 -0
  39. package/dist/architect/models/openai.d.ts +7 -0
  40. package/dist/architect/models/openai.js +71 -0
  41. package/dist/architect/models/openai.js.map +1 -0
  42. package/dist/architect/planner.d.ts +9 -0
  43. package/dist/architect/planner.js +42 -0
  44. package/dist/architect/planner.js.map +1 -0
  45. package/dist/architect/planning/index.d.ts +4 -0
  46. package/dist/architect/planning/index.js +22 -0
  47. package/dist/architect/planning/index.js.map +1 -0
  48. package/dist/architect/planning/optimizer.d.ts +14 -0
  49. package/dist/architect/planning/optimizer.js +275 -0
  50. package/dist/architect/planning/optimizer.js.map +1 -0
  51. package/dist/architect/planning/planner.d.ts +15 -0
  52. package/dist/architect/planning/planner.js +124 -0
  53. package/dist/architect/planning/planner.js.map +1 -0
  54. package/dist/architect/planning/prompts.d.ts +6 -0
  55. package/dist/architect/planning/prompts.js +111 -0
  56. package/dist/architect/planning/prompts.js.map +1 -0
  57. package/dist/architect/planning/validator.d.ts +16 -0
  58. package/dist/architect/planning/validator.js +331 -0
  59. package/dist/architect/planning/validator.js.map +1 -0
  60. package/dist/architect/prompt.d.ts +1 -0
  61. package/dist/architect/prompt.js +13 -0
  62. package/dist/architect/prompt.js.map +1 -0
  63. package/dist/architect/types.d.ts +4 -0
  64. package/dist/architect/types.js +24 -0
  65. package/dist/architect/types.js.map +1 -0
  66. package/dist/cli/format.d.ts +19 -0
  67. package/dist/cli/format.js +62 -0
  68. package/dist/cli/format.js.map +1 -0
  69. package/dist/cli/init.d.ts +1 -0
  70. package/dist/cli/init.js +279 -0
  71. package/dist/cli/init.js.map +1 -0
  72. package/dist/cli/query.js +69 -0
  73. package/dist/cli/query.js.map +1 -1
  74. package/dist/cli.js +48 -21
  75. package/dist/cli.js.map +1 -1
  76. package/dist/code.d.ts +50 -0
  77. package/dist/code.js +357 -0
  78. package/dist/code.js.map +1 -0
  79. package/dist/generated/resolvers-types.d.ts +150 -29
  80. package/dist/index.d.ts +6 -0
  81. package/dist/index.js +2 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/resources/cli.config.resource.d.ts +7 -0
  84. package/dist/resources/cli.config.resource.js +11 -0
  85. package/dist/resources/cli.config.resource.js.map +1 -0
  86. package/dist/resources/coverage.resource.d.ts +19 -0
  87. package/dist/resources/coverage.resource.js +213 -0
  88. package/dist/resources/coverage.resource.js.map +1 -0
  89. package/dist/resources/dev.resource.js +0 -2
  90. package/dist/resources/dev.resource.js.map +1 -1
  91. package/dist/resources/graphql.cli.resource.d.ts +4 -0
  92. package/dist/resources/graphql.cli.resource.js +27 -0
  93. package/dist/resources/graphql.cli.resource.js.map +1 -0
  94. package/dist/resources/graphql.query.cli.task.d.ts +47 -0
  95. package/dist/resources/graphql.query.cli.task.js +54 -0
  96. package/dist/resources/graphql.query.cli.task.js.map +1 -0
  97. package/dist/resources/introspector.cli.resource.d.ts +6 -0
  98. package/dist/resources/introspector.cli.resource.js +17 -0
  99. package/dist/resources/introspector.cli.resource.js.map +1 -0
  100. package/dist/resources/live.resource.d.ts +2 -1
  101. package/dist/resources/live.resource.js +4 -2
  102. package/dist/resources/live.resource.js.map +1 -1
  103. package/dist/resources/models/Introspector.d.ts +1 -1
  104. package/dist/resources/models/Introspector.js +5 -34
  105. package/dist/resources/models/Introspector.js.map +1 -1
  106. package/dist/resources/models/initializeFromStore.js +26 -34
  107. package/dist/resources/models/initializeFromStore.js.map +1 -1
  108. package/dist/resources/models/initializeFromStore.utils.js +25 -6
  109. package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
  110. package/dist/resources/models/introspector.tools.js +2 -2
  111. package/dist/resources/models/introspector.tools.js.map +1 -1
  112. package/dist/resources/routeHandlers/getDocsData.d.ts +6 -0
  113. package/dist/resources/routeHandlers/getDocsData.js +106 -0
  114. package/dist/resources/routeHandlers/getDocsData.js.map +1 -1
  115. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +4 -0
  116. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +9 -7
  117. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -1
  118. package/dist/resources/server.resource.d.ts +3 -0
  119. package/dist/resources/server.resource.js +8 -1
  120. package/dist/resources/server.resource.js.map +1 -1
  121. package/dist/resources/swap.cli.resource.d.ts +11 -0
  122. package/dist/resources/swap.cli.resource.js +54 -0
  123. package/dist/resources/swap.cli.resource.js.map +1 -0
  124. package/dist/schema/context.d.ts +2 -0
  125. package/dist/schema/model.d.ts +4 -1
  126. package/dist/schema/model.js.map +1 -1
  127. package/dist/schema/mutation.js +38 -0
  128. package/dist/schema/mutation.js.map +1 -1
  129. package/dist/schema/query.js +22 -18
  130. package/dist/schema/query.js.map +1 -1
  131. package/dist/schema/types/BaseElementCommon.d.ts +2 -4
  132. package/dist/schema/types/BaseElementCommon.js +28 -0
  133. package/dist/schema/types/BaseElementCommon.js.map +1 -1
  134. package/dist/schema/types/CoverageType.d.ts +7 -0
  135. package/dist/schema/types/CoverageType.js +54 -0
  136. package/dist/schema/types/CoverageType.js.map +1 -0
  137. package/dist/schema/types/LiveType.js +4 -0
  138. package/dist/schema/types/LiveType.js.map +1 -1
  139. package/dist/schema/types/ResourceType.js +6 -0
  140. package/dist/schema/types/ResourceType.js.map +1 -1
  141. package/dist/schema/types/TagType.js +4 -3
  142. package/dist/schema/types/TagType.js.map +1 -1
  143. package/dist/schema/types/index.d.ts +1 -0
  144. package/dist/schema/types/index.js +3 -1
  145. package/dist/schema/types/index.js.map +1 -1
  146. package/dist/ui/.vite/manifest.json +2 -2
  147. package/dist/ui/assets/docs-DR80KoAA.js +416 -0
  148. package/dist/ui/assets/docs-DR80KoAA.js.map +1 -0
  149. package/dist/ui/assets/docs-WKK9Zcu5.css +1 -0
  150. package/dist/utils/path.js +10 -0
  151. package/dist/utils/path.js.map +1 -1
  152. package/package.json +12 -8
  153. package/dist/ui/assets/docs-DVEzFAJo.css +0 -1
  154. package/dist/ui/assets/docs-l9XdmrRL.js +0 -174
@@ -51,15 +51,19 @@ export type Scalars = {
51
51
  /** Minimal, generic element used for root and as a fallback when a specific concrete type cannot be resolved. */
52
52
  export type All = BaseElement & {
53
53
  __typename?: 'All';
54
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
55
+ coverage: Maybe<CoverageInfo>;
56
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
57
+ coverageContents: Maybe<Scalars['String']['output']>;
54
58
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
55
59
  fileContents: Maybe<Scalars['String']['output']>;
56
- /** Path to element file */
60
+ /** Path to task file */
57
61
  filePath: Maybe<Scalars['String']['output']>;
58
- /** Element ID */
62
+ /** Unique identifier for the element */
59
63
  id: Scalars['ID']['output'];
60
64
  /** Markdown composed from meta.title and meta.description (if present) */
61
65
  markdownDescription: Scalars['String']['output'];
62
- /** Element metadata */
66
+ /** Metadata for the element */
63
67
  meta: Maybe<Meta>;
64
68
  /** Tags associated with this element. */
65
69
  tags: Maybe<Array<Tag>>;
@@ -93,6 +97,18 @@ export type BaseElementFileContentsArgs = {
93
97
  endLine: InputMaybe<Scalars['Int']['input']>;
94
98
  startLine: InputMaybe<Scalars['Int']['input']>;
95
99
  };
100
+ /** Test coverage information for a specific element file. Details are computed on demand. */
101
+ export type CoverageInfo = {
102
+ __typename?: 'CoverageInfo';
103
+ /** Number of statements covered for this file (if known). */
104
+ coveredStatements: Maybe<Scalars['Int']['output']>;
105
+ /** Raw coverage details serialized as JSON string (for this file only). */
106
+ details: Maybe<Scalars['String']['output']>;
107
+ /** Statement coverage percentage (0-100, rounded). */
108
+ percentage: Maybe<Scalars['Int']['output']>;
109
+ /** Total statements counted for this file (if known). */
110
+ totalStatements: Maybe<Scalars['Int']['output']>;
111
+ };
96
112
  export type CpuStats = {
97
113
  __typename?: 'CpuStats';
98
114
  /** System 1-minute load average */
@@ -166,15 +182,19 @@ export type ErrorFilterInput = {
166
182
  };
167
183
  export type Event = BaseElement & {
168
184
  __typename?: 'Event';
185
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
186
+ coverage: Maybe<CoverageInfo>;
187
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
188
+ coverageContents: Maybe<Scalars['String']['output']>;
169
189
  /** Ids of task/hook/resource nodes that emit this event */
170
190
  emittedBy: Array<Scalars['String']['output']>;
171
191
  /** Nodes that emit this event (resolved). Can be Task, Hook or Resource. */
172
192
  emittedByResolved: Array<BaseElement>;
173
193
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
174
194
  fileContents: Maybe<Scalars['String']['output']>;
175
- /** Path to event file */
195
+ /** Path to task file */
176
196
  filePath: Maybe<Scalars['String']['output']>;
177
- /** Event id */
197
+ /** Unique identifier for the element */
178
198
  id: Scalars['ID']['output'];
179
199
  /** Ids of task/hook nodes listening to this event */
180
200
  listenedToBy: Array<Scalars['String']['output']>;
@@ -182,7 +202,7 @@ export type Event = BaseElement & {
182
202
  listenedToByResolved: Array<Hook>;
183
203
  /** Markdown composed from meta.title and meta.description (if present) */
184
204
  markdownDescription: Scalars['String']['output'];
185
- /** Event metadata */
205
+ /** Metadata for the element */
186
206
  meta: Maybe<Meta>;
187
207
  /** Prettified Zod JSON structure for the event payload schema, if provided */
188
208
  payloadSchema: Maybe<Scalars['String']['output']>;
@@ -233,6 +253,10 @@ export type GlobalMiddleware = {
233
253
  };
234
254
  export type Hook = BaseElement & {
235
255
  __typename?: 'Hook';
256
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
257
+ coverage: Maybe<CoverageInfo>;
258
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
259
+ coverageContents: Maybe<Scalars['String']['output']>;
236
260
  /** Ids of resources/tasks this hook depends on */
237
261
  dependsOn: Array<Scalars['String']['output']>;
238
262
  /** Flattened dependencies resolved to All (tasks, hooks, resources) */
@@ -247,11 +271,11 @@ export type Hook = BaseElement & {
247
271
  events: Array<Scalars['String']['output']>;
248
272
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
249
273
  fileContents: Maybe<Scalars['String']['output']>;
250
- /** Path to hook file */
274
+ /** Path to task file */
251
275
  filePath: Maybe<Scalars['String']['output']>;
252
276
  /** Execution order among hooks for the same event */
253
277
  hookOrder: Maybe<Scalars['Int']['output']>;
254
- /** Hook id */
278
+ /** Unique identifier for the element */
255
279
  id: Scalars['ID']['output'];
256
280
  /** Prettified Zod JSON structure for the input schema, if provided */
257
281
  inputSchema: Maybe<Scalars['String']['output']>;
@@ -259,7 +283,7 @@ export type Hook = BaseElement & {
259
283
  inputSchemaReadable: Maybe<Scalars['String']['output']>;
260
284
  /** Markdown composed from meta.title and meta.description (if present) */
261
285
  markdownDescription: Scalars['String']['output'];
262
- /** Hook metadata */
286
+ /** Metadata for the element */
263
287
  meta: Maybe<Meta>;
264
288
  /** Ids of middlewares applied to this hook */
265
289
  middleware: Array<Scalars['String']['output']>;
@@ -351,6 +375,8 @@ export type LogEntry = {
351
375
  level: LogLevelEnum;
352
376
  /** Log message */
353
377
  message: Scalars['String']['output'];
378
+ /** Source id */
379
+ sourceId: Maybe<Scalars['String']['output']>;
354
380
  /** Log creation time (milliseconds since epoch) */
355
381
  timestampMs: Scalars['Float']['output'];
356
382
  };
@@ -394,19 +420,23 @@ export type Middleware = BaseElement & {
394
420
  configSchema: Maybe<Scalars['String']['output']>;
395
421
  /** Readable text representation of the middleware config schema, if provided */
396
422
  configSchemaReadable: Maybe<Scalars['String']['output']>;
423
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
424
+ coverage: Maybe<CoverageInfo>;
425
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
426
+ coverageContents: Maybe<Scalars['String']['output']>;
397
427
  /** Events emitted by task/hook nodes that use this middleware */
398
428
  emits: Array<Event>;
399
429
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
400
430
  fileContents: Maybe<Scalars['String']['output']>;
401
- /** Path to middleware file */
431
+ /** Path to task file */
402
432
  filePath: Maybe<Scalars['String']['output']>;
403
433
  /** Global middleware configuration */
404
434
  global: Maybe<GlobalMiddleware>;
405
- /** Middleware id */
435
+ /** Unique identifier for the element */
406
436
  id: Scalars['ID']['output'];
407
437
  /** Markdown composed from meta.title and meta.description (if present) */
408
438
  markdownDescription: Scalars['String']['output'];
409
- /** Middleware metadata */
439
+ /** Metadata for the element */
410
440
  meta: Maybe<Meta>;
411
441
  /** Id of the resource that overrides this middleware (if any) */
412
442
  overriddenBy: Maybe<Scalars['String']['output']>;
@@ -460,6 +490,8 @@ export type Query = {
460
490
  event: Maybe<Event>;
461
491
  /** List events with optional filters. */
462
492
  events: Array<Event>;
493
+ /** Get a single hook by its id. */
494
+ hook: Maybe<Hook>;
463
495
  /** Get all hooks (optionally filter by id prefix). */
464
496
  hooks: Array<Hook>;
465
497
  /** Access live telemetry (logs, emissions, errors, runs, system stats). Always use filters and last to limit payload. */
@@ -502,6 +534,10 @@ export type QueryEventsArgs = {
502
534
  filter: InputMaybe<EventFilterInput>;
503
535
  };
504
536
  /** Root queries for introspection, live telemetry, and debugging of Runner apps. */
537
+ export type QueryHookArgs = {
538
+ id: Scalars['ID']['input'];
539
+ };
540
+ /** Root queries for introspection, live telemetry, and debugging of Runner apps. */
505
541
  export type QueryHooksArgs = {
506
542
  idIncludes: InputMaybe<Scalars['ID']['input']>;
507
543
  };
@@ -551,6 +587,10 @@ export type Resource = BaseElement & {
551
587
  configSchemaReadable: Maybe<Scalars['String']['output']>;
552
588
  /** Serialized context (if any) */
553
589
  context: Maybe<Scalars['String']['output']>;
590
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
591
+ coverage: Maybe<CoverageInfo>;
592
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
593
+ coverageContents: Maybe<Scalars['String']['output']>;
554
594
  /** Ids of resources this resource depends on */
555
595
  dependsOn: Array<Scalars['String']['output']>;
556
596
  /** Resources this resource depends on (resolved) */
@@ -559,13 +599,13 @@ export type Resource = BaseElement & {
559
599
  emits: Array<Event>;
560
600
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
561
601
  fileContents: Maybe<Scalars['String']['output']>;
562
- /** Path to resource file */
602
+ /** Path to task file */
563
603
  filePath: Maybe<Scalars['String']['output']>;
564
- /** Resource id */
604
+ /** Unique identifier for the element */
565
605
  id: Scalars['ID']['output'];
566
606
  /** Markdown composed from meta.title and meta.description (if present) */
567
607
  markdownDescription: Scalars['String']['output'];
568
- /** Resource metadata */
608
+ /** Metadata for the element */
569
609
  meta: Maybe<Meta>;
570
610
  /** Ids of middlewares applied to this resource */
571
611
  middleware: Array<Scalars['String']['output']>;
@@ -602,19 +642,23 @@ export type ResourceMiddleware = BaseElement & {
602
642
  configSchema: Maybe<Scalars['String']['output']>;
603
643
  /** Readable text representation of the middleware config schema, if provided */
604
644
  configSchemaReadable: Maybe<Scalars['String']['output']>;
645
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
646
+ coverage: Maybe<CoverageInfo>;
647
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
648
+ coverageContents: Maybe<Scalars['String']['output']>;
605
649
  /** Events emitted by task/hook nodes that use this middleware */
606
650
  emits: Array<Event>;
607
651
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
608
652
  fileContents: Maybe<Scalars['String']['output']>;
609
- /** Path to middleware file */
653
+ /** Path to task file */
610
654
  filePath: Maybe<Scalars['String']['output']>;
611
655
  /** Global middleware configuration */
612
656
  global: Maybe<GlobalMiddleware>;
613
- /** Middleware id */
657
+ /** Unique identifier for the element */
614
658
  id: Scalars['ID']['output'];
615
659
  /** Markdown composed from meta.title and meta.description (if present) */
616
660
  markdownDescription: Scalars['String']['output'];
617
- /** Middleware metadata */
661
+ /** Metadata for the element */
618
662
  meta: Maybe<Meta>;
619
663
  /** Id of the resource that overrides this middleware (if any) */
620
664
  overriddenBy: Maybe<Scalars['String']['output']>;
@@ -687,17 +731,39 @@ export type SwappedTask = {
687
731
  swappedAt: Scalars['Float']['output'];
688
732
  taskId: Scalars['String']['output'];
689
733
  };
690
- export type Tag = {
734
+ export type Tag = BaseElement & {
691
735
  __typename?: 'Tag';
692
736
  all: Array<BaseElement>;
737
+ config: Maybe<Scalars['String']['output']>;
693
738
  configSchema: Maybe<Scalars['String']['output']>;
739
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
740
+ coverage: Maybe<CoverageInfo>;
741
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
742
+ coverageContents: Maybe<Scalars['String']['output']>;
694
743
  events: Array<Event>;
744
+ /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
745
+ fileContents: Maybe<Scalars['String']['output']>;
746
+ /** Path to task file */
747
+ filePath: Maybe<Scalars['String']['output']>;
695
748
  hooks: Array<Hook>;
696
- id: Scalars['String']['output'];
749
+ /** Unique identifier for the element */
750
+ id: Scalars['ID']['output'];
751
+ /** Markdown composed from meta.title and meta.description (if present) */
752
+ markdownDescription: Scalars['String']['output'];
753
+ /** Metadata for the element */
754
+ meta: Maybe<Meta>;
697
755
  middlewares: Array<Middleware>;
698
756
  resources: Array<Resource>;
757
+ /** Tags associated with this element. */
758
+ tags: Maybe<Array<Tag>>;
759
+ /** Detailed tags associated with this element */
760
+ tagsDetailed: Maybe<Array<TagUsage>>;
699
761
  tasks: Array<Task>;
700
762
  };
763
+ export type TagFileContentsArgs = {
764
+ endLine: InputMaybe<Scalars['Int']['input']>;
765
+ startLine: InputMaybe<Scalars['Int']['input']>;
766
+ };
701
767
  export type TagUsage = {
702
768
  __typename?: 'TagUsage';
703
769
  config: Maybe<Scalars['String']['output']>;
@@ -706,6 +772,10 @@ export type TagUsage = {
706
772
  };
707
773
  export type Task = BaseElement & {
708
774
  __typename?: 'Task';
775
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
776
+ coverage: Maybe<CoverageInfo>;
777
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
778
+ coverageContents: Maybe<Scalars['String']['output']>;
709
779
  /** Ids of resources/tasks this task depends on */
710
780
  dependsOn: Array<Scalars['String']['output']>;
711
781
  /** Resolved dependencies and emitted events for this task */
@@ -720,7 +790,7 @@ export type Task = BaseElement & {
720
790
  fileContents: Maybe<Scalars['String']['output']>;
721
791
  /** Path to task file */
722
792
  filePath: Maybe<Scalars['String']['output']>;
723
- /** Task id */
793
+ /** Unique identifier for the element */
724
794
  id: Scalars['ID']['output'];
725
795
  /** Prettified Zod JSON structure for the input schema, if provided */
726
796
  inputSchema: Maybe<Scalars['String']['output']>;
@@ -728,7 +798,7 @@ export type Task = BaseElement & {
728
798
  inputSchemaReadable: Maybe<Scalars['String']['output']>;
729
799
  /** Markdown composed from meta.title and meta.description (if present) */
730
800
  markdownDescription: Scalars['String']['output'];
731
- /** Task metadata */
801
+ /** Metadata for the element */
732
802
  meta: Maybe<Meta>;
733
803
  /** Ids of middlewares applied to this task */
734
804
  middleware: Array<Scalars['String']['output']>;
@@ -775,19 +845,23 @@ export type TaskMiddleware = BaseElement & {
775
845
  configSchema: Maybe<Scalars['String']['output']>;
776
846
  /** Readable text representation of the middleware config schema, if provided */
777
847
  configSchemaReadable: Maybe<Scalars['String']['output']>;
848
+ /** Coverage summary for this element's file (percentage is always resolvable if coverage report is present). */
849
+ coverage: Maybe<CoverageInfo>;
850
+ /** Raw coverage report contents from the project (entire file), or null if not available. */
851
+ coverageContents: Maybe<Scalars['String']['output']>;
778
852
  /** Events emitted by task/hook nodes that use this middleware */
779
853
  emits: Array<Event>;
780
854
  /** Contents of the file at filePath (if accessible). Optionally slice by 1-based inclusive line numbers via startLine/endLine. Caution: avoid querying this in bulk; prefer fetching one file at a time. */
781
855
  fileContents: Maybe<Scalars['String']['output']>;
782
- /** Path to middleware file */
856
+ /** Path to task file */
783
857
  filePath: Maybe<Scalars['String']['output']>;
784
858
  /** Global middleware configuration */
785
859
  global: Maybe<GlobalMiddleware>;
786
- /** Middleware id */
860
+ /** Unique identifier for the element */
787
861
  id: Scalars['ID']['output'];
788
862
  /** Markdown composed from meta.title and meta.description (if present) */
789
863
  markdownDescription: Scalars['String']['output'];
790
- /** Middleware metadata */
864
+ /** Metadata for the element */
791
865
  meta: Maybe<Meta>;
792
866
  /** Id of the resource that overrides this middleware (if any) */
793
867
  overriddenBy: Maybe<Scalars['String']['output']>;
@@ -883,6 +957,14 @@ export type ResolversInterfaceTypes<_RefType extends Record<string, unknown>> =
883
957
  tags: Maybe<Array<_RefType['Tag']>>;
884
958
  usedBy: Array<_RefType['Resource']>;
885
959
  usedByDetailed: Array<_RefType['MiddlewareResourceUsage']>;
960
+ }) | (Omit<Tag, 'all' | 'events' | 'hooks' | 'middlewares' | 'resources' | 'tags' | 'tasks'> & {
961
+ all: Array<_RefType['BaseElement']>;
962
+ events: Array<_RefType['Event']>;
963
+ hooks: Array<_RefType['Hook']>;
964
+ middlewares: Array<_RefType['Middleware']>;
965
+ resources: Array<_RefType['Resource']>;
966
+ tags: Maybe<Array<_RefType['Tag']>>;
967
+ tasks: Array<_RefType['Task']>;
886
968
  }) | (Omit<Task, 'dependsOnResolved' | 'depenendsOnResolved' | 'emitsResolved' | 'middlewareResolved' | 'middlewareResolvedDetailed' | 'registeredByResolved' | 'runs' | 'tags'> & {
887
969
  dependsOnResolved: _RefType['TaskDependsOn'];
888
970
  depenendsOnResolved: Array<_RefType['BaseElement']>;
@@ -907,6 +989,7 @@ export type ResolversTypes = ResolversObject<{
907
989
  }>;
908
990
  BaseElement: ResolverTypeWrapper<ResolversInterfaceTypes<ResolversTypes>['BaseElement']>;
909
991
  Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>;
992
+ CoverageInfo: ResolverTypeWrapper<CoverageInfo>;
910
993
  CpuStats: ResolverTypeWrapper<CpuStats>;
911
994
  Diagnostic: ResolverTypeWrapper<Diagnostic>;
912
995
  EmissionEntry: ResolverTypeWrapper<Omit<EmissionEntry, 'emitterResolved' | 'eventResolved'> & {
@@ -994,12 +1077,13 @@ export type ResolversTypes = ResolversObject<{
994
1077
  String: ResolverTypeWrapper<Scalars['String']['output']>;
995
1078
  SwapResult: ResolverTypeWrapper<SwapResult>;
996
1079
  SwappedTask: ResolverTypeWrapper<SwappedTask>;
997
- Tag: ResolverTypeWrapper<Omit<Tag, 'all' | 'events' | 'hooks' | 'middlewares' | 'resources' | 'tasks'> & {
1080
+ Tag: ResolverTypeWrapper<Omit<Tag, 'all' | 'events' | 'hooks' | 'middlewares' | 'resources' | 'tags' | 'tasks'> & {
998
1081
  all: Array<ResolversTypes['BaseElement']>;
999
1082
  events: Array<ResolversTypes['Event']>;
1000
1083
  hooks: Array<ResolversTypes['Hook']>;
1001
1084
  middlewares: Array<ResolversTypes['Middleware']>;
1002
1085
  resources: Array<ResolversTypes['Resource']>;
1086
+ tags: Maybe<Array<ResolversTypes['Tag']>>;
1003
1087
  tasks: Array<ResolversTypes['Task']>;
1004
1088
  }>;
1005
1089
  TagUsage: ResolverTypeWrapper<TagUsage>;
@@ -1037,6 +1121,7 @@ export type ResolversParentTypes = ResolversObject<{
1037
1121
  };
1038
1122
  BaseElement: ResolversInterfaceTypes<ResolversParentTypes>['BaseElement'];
1039
1123
  Boolean: Scalars['Boolean']['output'];
1124
+ CoverageInfo: CoverageInfo;
1040
1125
  CpuStats: CpuStats;
1041
1126
  Diagnostic: Diagnostic;
1042
1127
  EmissionEntry: Omit<EmissionEntry, 'emitterResolved' | 'eventResolved'> & {
@@ -1121,12 +1206,13 @@ export type ResolversParentTypes = ResolversObject<{
1121
1206
  String: Scalars['String']['output'];
1122
1207
  SwapResult: SwapResult;
1123
1208
  SwappedTask: SwappedTask;
1124
- Tag: Omit<Tag, 'all' | 'events' | 'hooks' | 'middlewares' | 'resources' | 'tasks'> & {
1209
+ Tag: Omit<Tag, 'all' | 'events' | 'hooks' | 'middlewares' | 'resources' | 'tags' | 'tasks'> & {
1125
1210
  all: Array<ResolversParentTypes['BaseElement']>;
1126
1211
  events: Array<ResolversParentTypes['Event']>;
1127
1212
  hooks: Array<ResolversParentTypes['Hook']>;
1128
1213
  middlewares: Array<ResolversParentTypes['Middleware']>;
1129
1214
  resources: Array<ResolversParentTypes['Resource']>;
1215
+ tags: Maybe<Array<ResolversParentTypes['Tag']>>;
1130
1216
  tasks: Array<ResolversParentTypes['Task']>;
1131
1217
  };
1132
1218
  TagUsage: TagUsage;
@@ -1158,6 +1244,8 @@ export type ResolversParentTypes = ResolversObject<{
1158
1244
  };
1159
1245
  }>;
1160
1246
  export type AllResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['All'] = ResolversParentTypes['All']> = ResolversObject<{
1247
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1248
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1161
1249
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, AllFileContentsArgs>;
1162
1250
  filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1163
1251
  id: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
@@ -1168,7 +1256,7 @@ export type AllResolvers<ContextType = CustomGraphQLContext, ParentType extends
1168
1256
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1169
1257
  }>;
1170
1258
  export type BaseElementResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['BaseElement'] = ResolversParentTypes['BaseElement']> = ResolversObject<{
1171
- __resolveType: TypeResolveFn<'All' | 'Event' | 'Hook' | 'Middleware' | 'Resource' | 'ResourceMiddleware' | 'Task' | 'TaskMiddleware', ParentType, ContextType>;
1259
+ __resolveType: TypeResolveFn<'All' | 'Event' | 'Hook' | 'Middleware' | 'Resource' | 'ResourceMiddleware' | 'Tag' | 'Task' | 'TaskMiddleware', ParentType, ContextType>;
1172
1260
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, BaseElementFileContentsArgs>;
1173
1261
  filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1174
1262
  id: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
@@ -1177,6 +1265,13 @@ export type BaseElementResolvers<ContextType = CustomGraphQLContext, ParentType
1177
1265
  tags: Resolver<Maybe<Array<ResolversTypes['Tag']>>, ParentType, ContextType>;
1178
1266
  tagsDetailed: Resolver<Maybe<Array<ResolversTypes['TagUsage']>>, ParentType, ContextType>;
1179
1267
  }>;
1268
+ export type CoverageInfoResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['CoverageInfo'] = ResolversParentTypes['CoverageInfo']> = ResolversObject<{
1269
+ coveredStatements: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
1270
+ details: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1271
+ percentage: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
1272
+ totalStatements: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
1273
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1274
+ }>;
1180
1275
  export type CpuStatsResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['CpuStats'] = ResolversParentTypes['CpuStats']> = ResolversObject<{
1181
1276
  loadAverage: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
1182
1277
  usage: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
@@ -1212,6 +1307,8 @@ export type ErrorEntryResolvers<ContextType = CustomGraphQLContext, ParentType e
1212
1307
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1213
1308
  }>;
1214
1309
  export type EventResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['Event'] = ResolversParentTypes['Event']> = ResolversObject<{
1310
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1311
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1215
1312
  emittedBy: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
1216
1313
  emittedByResolved: Resolver<Array<ResolversTypes['BaseElement']>, ParentType, ContextType>;
1217
1314
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, EventFileContentsArgs>;
@@ -1245,6 +1342,8 @@ export type GlobalMiddlewareResolvers<ContextType = CustomGraphQLContext, Parent
1245
1342
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1246
1343
  }>;
1247
1344
  export type HookResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['Hook'] = ResolversParentTypes['Hook']> = ResolversObject<{
1345
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1346
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1248
1347
  dependsOn: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
1249
1348
  depenendsOnResolved: Resolver<Array<ResolversTypes['BaseElement']>, ParentType, ContextType>;
1250
1349
  emits: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
@@ -1286,6 +1385,7 @@ export type LogEntryResolvers<ContextType = CustomGraphQLContext, ParentType ext
1286
1385
  data: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1287
1386
  level: Resolver<ResolversTypes['LogLevelEnum'], ParentType, ContextType>;
1288
1387
  message: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1388
+ sourceId: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1289
1389
  timestampMs: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
1290
1390
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1291
1391
  }>;
@@ -1309,6 +1409,8 @@ export type MetaTagUsageResolvers<ContextType = CustomGraphQLContext, ParentType
1309
1409
  export type MiddlewareResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['Middleware'] = ResolversParentTypes['Middleware']> = ResolversObject<{
1310
1410
  configSchema: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1311
1411
  configSchemaReadable: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1412
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1413
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1312
1414
  emits: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType>;
1313
1415
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, MiddlewareFileContentsArgs>;
1314
1416
  filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
@@ -1346,6 +1448,7 @@ export type QueryResolvers<ContextType = CustomGraphQLContext, ParentType extend
1346
1448
  diagnostics: Resolver<Array<ResolversTypes['Diagnostic']>, ParentType, ContextType>;
1347
1449
  event: Resolver<Maybe<ResolversTypes['Event']>, ParentType, ContextType, RequireFields<QueryEventArgs, 'id'>>;
1348
1450
  events: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType, QueryEventsArgs>;
1451
+ hook: Resolver<Maybe<ResolversTypes['Hook']>, ParentType, ContextType, RequireFields<QueryHookArgs, 'id'>>;
1349
1452
  hooks: Resolver<Array<ResolversTypes['Hook']>, ParentType, ContextType, QueryHooksArgs>;
1350
1453
  live: Resolver<ResolversTypes['Live'], ParentType, ContextType>;
1351
1454
  middleware: Resolver<Maybe<ResolversTypes['Middleware']>, ParentType, ContextType, RequireFields<QueryMiddlewareArgs, 'id'>>;
@@ -1366,6 +1469,8 @@ export type ResourceResolvers<ContextType = CustomGraphQLContext, ParentType ext
1366
1469
  configSchema: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1367
1470
  configSchemaReadable: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1368
1471
  context: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1472
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1473
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1369
1474
  dependsOn: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
1370
1475
  dependsOnResolved: Resolver<Array<ResolversTypes['Resource']>, ParentType, ContextType>;
1371
1476
  emits: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType>;
@@ -1391,6 +1496,8 @@ export type ResourceResolvers<ContextType = CustomGraphQLContext, ParentType ext
1391
1496
  export type ResourceMiddlewareResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['ResourceMiddleware'] = ResolversParentTypes['ResourceMiddleware']> = ResolversObject<{
1392
1497
  configSchema: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1393
1498
  configSchemaReadable: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1499
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1500
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1394
1501
  emits: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType>;
1395
1502
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, ResourceMiddlewareFileContentsArgs>;
1396
1503
  filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
@@ -1434,12 +1541,21 @@ export type SwappedTaskResolvers<ContextType = CustomGraphQLContext, ParentType
1434
1541
  }>;
1435
1542
  export type TagResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['Tag'] = ResolversParentTypes['Tag']> = ResolversObject<{
1436
1543
  all: Resolver<Array<ResolversTypes['BaseElement']>, ParentType, ContextType>;
1544
+ config: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1437
1545
  configSchema: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1546
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1547
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1438
1548
  events: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType>;
1549
+ fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, TagFileContentsArgs>;
1550
+ filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1439
1551
  hooks: Resolver<Array<ResolversTypes['Hook']>, ParentType, ContextType>;
1440
- id: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1552
+ id: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1553
+ markdownDescription: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1554
+ meta: Resolver<Maybe<ResolversTypes['Meta']>, ParentType, ContextType>;
1441
1555
  middlewares: Resolver<Array<ResolversTypes['Middleware']>, ParentType, ContextType>;
1442
1556
  resources: Resolver<Array<ResolversTypes['Resource']>, ParentType, ContextType>;
1557
+ tags: Resolver<Maybe<Array<ResolversTypes['Tag']>>, ParentType, ContextType>;
1558
+ tagsDetailed: Resolver<Maybe<Array<ResolversTypes['TagUsage']>>, ParentType, ContextType>;
1443
1559
  tasks: Resolver<Array<ResolversTypes['Task']>, ParentType, ContextType>;
1444
1560
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1445
1561
  }>;
@@ -1450,6 +1566,8 @@ export type TagUsageResolvers<ContextType = CustomGraphQLContext, ParentType ext
1450
1566
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1451
1567
  }>;
1452
1568
  export type TaskResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['Task'] = ResolversParentTypes['Task']> = ResolversObject<{
1569
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1570
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1453
1571
  dependsOn: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
1454
1572
  dependsOnResolved: Resolver<ResolversTypes['TaskDependsOn'], ParentType, ContextType>;
1455
1573
  depenendsOnResolved: Resolver<Array<ResolversTypes['BaseElement']>, ParentType, ContextType>;
@@ -1483,6 +1601,8 @@ export type TaskDependsOnResolvers<ContextType = CustomGraphQLContext, ParentTyp
1483
1601
  export type TaskMiddlewareResolvers<ContextType = CustomGraphQLContext, ParentType extends ResolversParentTypes['TaskMiddleware'] = ResolversParentTypes['TaskMiddleware']> = ResolversObject<{
1484
1602
  configSchema: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1485
1603
  configSchemaReadable: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1604
+ coverage: Resolver<Maybe<ResolversTypes['CoverageInfo']>, ParentType, ContextType>;
1605
+ coverageContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1486
1606
  emits: Resolver<Array<ResolversTypes['Event']>, ParentType, ContextType>;
1487
1607
  fileContents: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, TaskMiddlewareFileContentsArgs>;
1488
1608
  filePath: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
@@ -1508,6 +1628,7 @@ export type TaskMiddlewareUsageResolvers<ContextType = CustomGraphQLContext, Par
1508
1628
  export type Resolvers<ContextType = CustomGraphQLContext> = ResolversObject<{
1509
1629
  All: AllResolvers<ContextType>;
1510
1630
  BaseElement: BaseElementResolvers<ContextType>;
1631
+ CoverageInfo: CoverageInfoResolvers<ContextType>;
1511
1632
  CpuStats: CpuStatsResolvers<ContextType>;
1512
1633
  Diagnostic: DiagnosticResolvers<ContextType>;
1513
1634
  EmissionEntry: EmissionEntryResolvers<ContextType>;
package/dist/index.d.ts CHANGED
@@ -31,6 +31,9 @@ export declare const resources: {
31
31
  graphql: import("@bluelibs/runner/dist/defs").IResource<void, Promise<{
32
32
  getSchema: () => import("graphql").GraphQLSchema;
33
33
  }>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
34
+ coverage: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("./resources/coverage.resource").CoverageService>, {
35
+ store: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
36
+ }, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
34
37
  }, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
35
38
  introspector: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("./resources/models/Introspector").Introspector>, {
36
39
  store: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
@@ -58,5 +61,8 @@ export declare const resources: {
58
61
  getSchema: () => import("graphql").GraphQLSchema;
59
62
  }>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
60
63
  dev: import("@bluelibs/runner/dist/defs").IResource<import("./resources/dev.resource").DevConfig, Promise<any>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
64
+ coverage: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("./resources/coverage.resource").CoverageService>, {
65
+ store: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
66
+ }, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
61
67
  };
62
68
  export { dev };
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ const swap_resource_1 = require("./resources/swap.resource");
9
9
  const graphql_accumulator_resource_1 = require("./resources/graphql-accumulator.resource");
10
10
  const dev_resource_1 = require("./resources/dev.resource");
11
11
  Object.defineProperty(exports, "dev", { enumerable: true, get: function () { return dev_resource_1.dev; } });
12
+ const coverage_resource_1 = require("./resources/coverage.resource");
12
13
  Error.stackTraceLimit = Infinity;
13
14
  exports.resources = {
14
15
  server: server_resource_1.serverResource,
@@ -18,5 +19,6 @@ exports.resources = {
18
19
  swapManager: swap_resource_1.swapManager,
19
20
  graphql: graphql_accumulator_resource_1.graphql,
20
21
  dev: dev_resource_1.dev,
22
+ coverage: coverage_resource_1.coverage,
21
23
  };
22
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,iEAA6D;AAC7D,6EAAiE;AACjE,6DAAiD;AACjD,uEAA2D;AAC3D,6DAAwD;AACxD,2FAAmE;AACnE,2DAA+C;AActC,oFAdA,kBAAG,OAcA;AAZZ,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AAEpB,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,gCAAc;IACtB,YAAY,EAAZ,oCAAY;IACZ,IAAI,EAAJ,oBAAI;IACJ,SAAS,EAAT,8BAAS;IACT,WAAW,EAAX,2BAAW;IACX,OAAO,EAAP,sCAAO;IACP,GAAG,EAAH,kBAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,iEAA6D;AAC7D,6EAAiE;AACjE,6DAAiD;AACjD,uEAA2D;AAC3D,6DAAwD;AACxD,2FAAmE;AACnE,2DAA+C;AAgBtC,oFAhBA,kBAAG,OAgBA;AAfZ,qEAAyD;AAEzD,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AAEpB,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,gCAAc;IACtB,YAAY,EAAZ,oCAAY;IACZ,IAAI,EAAJ,oBAAI;IACJ,SAAS,EAAT,8BAAS;IACT,WAAW,EAAX,2BAAW;IACX,OAAO,EAAP,sCAAO;IACP,GAAG,EAAH,kBAAG;IACH,QAAQ,EAAR,4BAAQ;CACT,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type Store } from "@bluelibs/runner";
2
+ export interface CliConfigValue {
3
+ store: Store;
4
+ }
5
+ export declare const cliConfig: import("@bluelibs/runner/dist/defs").IResource<{
6
+ customStore: Store;
7
+ }, Promise<CliConfigValue>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cliConfig = void 0;
4
+ const runner_1 = require("@bluelibs/runner");
5
+ exports.cliConfig = (0, runner_1.resource)({
6
+ id: "runner-dev.resources.cli-config",
7
+ async init(config) {
8
+ return { store: config.customStore };
9
+ },
10
+ });
11
+ //# sourceMappingURL=cli.config.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.config.resource.js","sourceRoot":"","sources":["../../src/resources/cli.config.resource.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AAM3C,QAAA,SAAS,GAAG,IAAA,iBAAQ,EAAC;IAChC,EAAE,EAAE,iCAAiC;IACrC,KAAK,CAAC,IAAI,CAAC,MAA8B;QACvC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export type CoverageSummary = {
2
+ filePath: string;
3
+ totalStatements: number;
4
+ coveredStatements: number;
5
+ percentage: number;
6
+ };
7
+ type CoverageDetails = unknown;
8
+ export interface CoverageService {
9
+ getRawCoverageContents(): Promise<string | null>;
10
+ getSummaryForAbsolutePath(absPath: string): Promise<CoverageSummary | null>;
11
+ getDetailsForAbsolutePath(absPath: string): Promise<CoverageDetails | null>;
12
+ getSummaryForPath(inputPath: string | null | undefined): Promise<CoverageSummary | null>;
13
+ getDetailsForPath(inputPath: string | null | undefined): Promise<CoverageDetails | null>;
14
+ }
15
+ export declare const coverage: import("@bluelibs/runner/dist/defs").IResource<void, Promise<CoverageService>, {
16
+ store: import("@bluelibs/runner/dist/defs").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
17
+ }, any, any, import("@bluelibs/runner/dist/defs").TagType[], import("@bluelibs/runner/dist/defs").ResourceMiddlewareAttachmentType[]>;
18
+ export type Coverage = CoverageService;
19
+ export {};