@bluelibs/runner-dev 4.0.0 → 4.1.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 (139) hide show
  1. package/AI.md +72 -2
  2. package/README.md +132 -11
  3. package/dist/cli/overview.d.ts +3 -0
  4. package/dist/cli/overview.js +260 -0
  5. package/dist/cli/overview.js.map +1 -0
  6. package/dist/cli/ping.d.ts +3 -0
  7. package/dist/cli/ping.js +62 -0
  8. package/dist/cli/ping.js.map +1 -0
  9. package/dist/cli/query.d.ts +3 -0
  10. package/dist/cli/query.js +84 -0
  11. package/dist/cli/query.js.map +1 -0
  12. package/dist/cli/schema.d.ts +3 -0
  13. package/dist/cli/schema.js +71 -0
  14. package/dist/cli/schema.js.map +1 -0
  15. package/dist/cli/shared.d.ts +18 -0
  16. package/dist/cli/shared.js +158 -0
  17. package/dist/cli/shared.js.map +1 -0
  18. package/dist/cli.js +27 -24
  19. package/dist/cli.js.map +1 -1
  20. package/dist/components/Documentation/Documentation.d.ts +2 -2
  21. package/dist/components/Documentation/Documentation.js.map +1 -1
  22. package/dist/components/Documentation/components/DiagnosticsPanel.d.ts +2 -2
  23. package/dist/components/Documentation/components/DiagnosticsPanel.js +163 -100
  24. package/dist/components/Documentation/components/DiagnosticsPanel.js.map +1 -1
  25. package/dist/components/Documentation/components/EventCard.d.ts +3 -3
  26. package/dist/components/Documentation/components/EventCard.js +248 -122
  27. package/dist/components/Documentation/components/EventCard.js.map +1 -1
  28. package/dist/components/Documentation/components/HookCard.d.ts +3 -3
  29. package/dist/components/Documentation/components/HookCard.js +257 -86
  30. package/dist/components/Documentation/components/HookCard.js.map +1 -1
  31. package/dist/components/Documentation/components/MiddlewareCard.d.ts +3 -3
  32. package/dist/components/Documentation/components/MiddlewareCard.js +286 -131
  33. package/dist/components/Documentation/components/MiddlewareCard.js.map +1 -1
  34. package/dist/components/Documentation/components/ResourceCard.d.ts +3 -3
  35. package/dist/components/Documentation/components/ResourceCard.js +202 -68
  36. package/dist/components/Documentation/components/ResourceCard.js.map +1 -1
  37. package/dist/components/Documentation/components/Sidebar.d.ts +3 -3
  38. package/dist/components/Documentation/components/Sidebar.js +137 -101
  39. package/dist/components/Documentation/components/Sidebar.js.map +1 -1
  40. package/dist/components/Documentation/components/TagCard.d.ts +1 -1
  41. package/dist/components/Documentation/components/TaskCard.d.ts +3 -3
  42. package/dist/components/Documentation/components/TaskCard.js +176 -57
  43. package/dist/components/Documentation/components/TaskCard.js.map +1 -1
  44. package/dist/components/ExampleComponent.d.ts +2 -2
  45. package/dist/components/ExampleComponent.js +72 -31
  46. package/dist/components/ExampleComponent.js.map +1 -1
  47. package/dist/generated/resolvers-types.d.ts +52 -35
  48. package/dist/index.d.ts +7 -6
  49. package/dist/mcp/projectOverview.js +1 -1
  50. package/dist/project-writer/AIModel.d.ts +29 -0
  51. package/dist/project-writer/AIModel.js +48 -0
  52. package/dist/project-writer/AIModel.js.map +1 -0
  53. package/dist/resources/dev.resource.js +6 -0
  54. package/dist/resources/dev.resource.js.map +1 -1
  55. package/dist/resources/docs.generator.resource.d.ts +1 -1
  56. package/dist/resources/docs.generator.resource.js +1 -1
  57. package/dist/resources/docs.generator.resource.js.map +1 -1
  58. package/dist/resources/docs.route.d.ts +23 -0
  59. package/dist/resources/docs.route.js +73 -0
  60. package/dist/resources/docs.route.js.map +1 -0
  61. package/dist/resources/getFileContents.task.d.ts +17 -0
  62. package/dist/resources/getFileContents.task.js +44 -0
  63. package/dist/resources/getFileContents.task.js.map +1 -0
  64. package/dist/resources/graphql.query.task.d.ts +41 -0
  65. package/dist/resources/graphql.query.task.js +53 -0
  66. package/dist/resources/graphql.query.task.js.map +1 -0
  67. package/dist/resources/http.tag.d.ts +5 -0
  68. package/dist/resources/http.tag.js +8 -0
  69. package/dist/resources/http.tag.js.map +1 -0
  70. package/dist/resources/introspector.resource.d.ts +1 -126
  71. package/dist/resources/introspector.resource.js +5 -253
  72. package/dist/resources/introspector.resource.js.map +1 -1
  73. package/dist/resources/introspector.tools.d.ts +1 -1
  74. package/dist/resources/models/Introspector.d.ts +177 -0
  75. package/dist/resources/models/Introspector.js +361 -0
  76. package/dist/resources/models/Introspector.js.map +1 -0
  77. package/dist/resources/models/initializeFromStore.d.ts +3 -0
  78. package/dist/resources/models/initializeFromStore.js +86 -0
  79. package/dist/resources/models/initializeFromStore.js.map +1 -0
  80. package/dist/resources/models/initializeFromStore.utils.d.ts +31 -0
  81. package/dist/resources/models/initializeFromStore.utils.js +322 -0
  82. package/dist/resources/models/initializeFromStore.utils.js.map +1 -0
  83. package/dist/resources/models/introspector.tools.d.ts +26 -0
  84. package/dist/resources/models/introspector.tools.js +195 -0
  85. package/dist/resources/models/introspector.tools.js.map +1 -0
  86. package/dist/resources/routeHandlers/createDocsServeHandler.d.ts +3 -0
  87. package/dist/resources/routeHandlers/createDocsServeHandler.js +50 -0
  88. package/dist/resources/routeHandlers/createDocsServeHandler.js.map +1 -0
  89. package/dist/resources/routeHandlers/getDocsData.d.ts +13 -0
  90. package/dist/resources/routeHandlers/getDocsData.js +23 -0
  91. package/dist/resources/routeHandlers/getDocsData.js.map +1 -0
  92. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +37 -0
  93. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +44 -0
  94. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -0
  95. package/dist/resources/server.resource.d.ts +4 -3
  96. package/dist/resources/server.resource.js +46 -34
  97. package/dist/resources/server.resource.js.map +1 -1
  98. package/dist/resources/swap.resource.d.ts +10 -3
  99. package/dist/resources/swap.resource.js +24 -0
  100. package/dist/resources/swap.resource.js.map +1 -1
  101. package/dist/resources/ui.static.d.ts +1 -0
  102. package/dist/resources/ui.static.js +44 -0
  103. package/dist/resources/ui.static.js.map +1 -0
  104. package/dist/schema/context.d.ts +3 -3
  105. package/dist/schema/index.d.ts +2 -2
  106. package/dist/schema/index.js.map +1 -1
  107. package/dist/schema/model.d.ts +11 -4
  108. package/dist/schema/model.js.map +1 -1
  109. package/dist/schema/mutation.js +22 -0
  110. package/dist/schema/mutation.js.map +1 -1
  111. package/dist/schema/query.js +2 -25
  112. package/dist/schema/query.js.map +1 -1
  113. package/dist/schema/types/AllType.js +11 -2
  114. package/dist/schema/types/AllType.js.map +1 -1
  115. package/dist/schema/types/BaseElementCommon.d.ts +1 -1
  116. package/dist/schema/types/BaseElementCommon.js +21 -3
  117. package/dist/schema/types/BaseElementCommon.js.map +1 -1
  118. package/dist/schema/types/HookType.js +10 -3
  119. package/dist/schema/types/HookType.js.map +1 -1
  120. package/dist/schema/types/SwapType.d.ts +1 -0
  121. package/dist/schema/types/SwapType.js +10 -1
  122. package/dist/schema/types/SwapType.js.map +1 -1
  123. package/dist/schema/types/TagType.d.ts +5 -2
  124. package/dist/schema/types/TagType.js +23 -1
  125. package/dist/schema/types/TagType.js.map +1 -1
  126. package/dist/ui/.vite/manifest.json +11 -0
  127. package/dist/ui/assets/docs-DVEzFAJo.css +1 -0
  128. package/dist/ui/assets/docs-l9XdmrRL.js +174 -0
  129. package/dist/ui-test/assets/app.js +1 -0
  130. package/dist/ui-test/index.html +1 -0
  131. package/dist/utils/path.d.ts +7 -0
  132. package/dist/utils/path.js +43 -0
  133. package/dist/utils/path.js.map +1 -1
  134. package/dist/utils/react-ssr.d.ts +3 -1
  135. package/dist/utils/react-ssr.js +11 -6
  136. package/dist/utils/react-ssr.js.map +1 -1
  137. package/package.json +24 -5
  138. package/dist/ui/index.html +0 -20
  139. package/dist/ui/static/index-D-NS5aw1.js +0 -40
@@ -2,265 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.introspector = void 0;
4
4
  const runner_1 = require("@bluelibs/runner");
5
- const introspector_tools_1 = require("./introspector.tools");
6
- const introspector_tools_2 = require("./introspector.tools");
7
- const introspector_tools_3 = require("./introspector.tools");
5
+ const Introspector_1 = require("./models/Introspector");
6
+ const initializeFromStore_1 = require("./models/initializeFromStore");
8
7
  exports.introspector = (0, runner_1.resource)({
9
8
  id: "runner-dev.resources.introspector",
10
9
  dependencies: {
11
10
  store: runner_1.globals.resources.store,
12
11
  },
13
12
  async init(_, { store }) {
14
- // Build tasks
15
- const tasks = [];
16
- const hooks = [];
17
- for (const t of store.tasks.values()) {
18
- tasks.push((0, introspector_tools_1.mapStoreTaskToTaskModel)(t.task));
19
- }
20
- for (const h of store.hooks.values()) {
21
- hooks.push((0, introspector_tools_1.mapStoreHookToHookModel)(h));
22
- }
23
- // Build resources
24
- const resources = Array.from(store.resources.values()).map((r) => (0, introspector_tools_1.mapStoreResourceToResourceModel)(r.resource));
25
- // Build events
26
- const events = (0, introspector_tools_1.buildEvents)(Array.from(store.events.values()).map((v) => v.event), tasks, hooks, resources);
27
- // Build middlewares from both task and resource middleware collections
28
- const taskMiddlewares = (0, introspector_tools_1.buildTaskMiddlewares)(Array.from(store.taskMiddlewares.values()).map((v) => v.middleware), tasks, hooks, resources);
29
- const resourceMiddlewares = (0, introspector_tools_1.buildResourceMiddlewares)(Array.from(store.resourceMiddlewares.values()).map((v) => v.middleware), tasks, hooks, resources);
30
- const middlewares = [
31
- ...taskMiddlewares,
32
- ...resourceMiddlewares,
33
- ];
34
- (0, introspector_tools_1.attachOverrides)(store.overrideRequests, tasks, hooks, middlewares);
35
- // Attach registeredBy to all nodes based on each resource.registers
36
- (0, introspector_tools_1.attachRegisteredBy)(resources, tasks, hooks, middlewares, events);
37
- // Maps
38
- const taskMap = (0, introspector_tools_1.buildIdMap)(tasks);
39
- const hookMap = (0, introspector_tools_1.buildIdMap)(hooks);
40
- const resourceMap = (0, introspector_tools_1.buildIdMap)(resources);
41
- const eventMap = (0, introspector_tools_1.buildIdMap)(events);
42
- const middlewareMap = (0, introspector_tools_1.buildIdMap)(middlewares);
43
- // Tags
44
- const getTasksWithTag = (tagId) => tasks.filter((t) => (0, introspector_tools_1.ensureStringArray)(t.meta?.tags).includes(tagId));
45
- const getHooksWithTag = (tagId) => hooks.filter((h) => (0, introspector_tools_1.ensureStringArray)(h.meta?.tags).includes(tagId));
46
- const getResourcesWithTag = (tagId) => resources.filter((r) => (0, introspector_tools_1.ensureStringArray)(r.meta?.tags).includes(tagId));
47
- const getMiddlewaresWithTag = (tagId) => middlewares.filter((m) => (0, introspector_tools_1.ensureStringArray)(m.meta?.tags).includes(tagId));
48
- const getEventsWithTag = (tagId) => events.filter((e) => (0, introspector_tools_1.ensureStringArray)(e.meta?.tags).includes(tagId));
49
- const allTagIds = new Set();
50
- const collect = (arr) => {
51
- for (const n of arr) {
52
- for (const id of (0, introspector_tools_1.ensureStringArray)(n.meta?.tags))
53
- allTagIds.add(id);
54
- }
55
- };
56
- collect(tasks);
57
- collect(hooks);
58
- collect(resources);
59
- collect(middlewares);
60
- collect(events);
61
- const allTags = Array.from(allTagIds).map((id) => ({
62
- id,
63
- get tasks() {
64
- return getTasksWithTag(id);
65
- },
66
- get hooks() {
67
- return getHooksWithTag(id);
68
- },
69
- get resources() {
70
- return getResourcesWithTag(id);
71
- },
72
- get middlewares() {
73
- return getMiddlewaresWithTag(id);
74
- },
75
- get events() {
76
- return getEventsWithTag(id);
77
- },
78
- }));
79
- const tagMap = new Map(allTags.map((t) => [t.id, t]));
80
- // API
81
- function buildRunsOptions(nodeId, args) {
82
- const opts = {};
83
- if (typeof args?.afterTimestamp === "number")
84
- opts.afterTimestamp = args.afterTimestamp;
85
- if (typeof args?.last === "number")
86
- opts.last = args.last;
87
- const f = args?.filter ?? {};
88
- opts.nodeIds = [String(nodeId)];
89
- if (Array.isArray(f.nodeKinds))
90
- opts.nodeKinds = f.nodeKinds;
91
- if (typeof f.ok === "boolean")
92
- opts.ok = f.ok;
93
- if (Array.isArray(f.parentIds))
94
- opts.parentIds = f.parentIds;
95
- if (Array.isArray(f.rootIds))
96
- opts.rootIds = f.rootIds;
97
- if (Array.isArray(f.correlationIds))
98
- opts.correlationIds = f.correlationIds;
99
- return opts;
100
- }
101
- const api = {
102
- getRoot: () => (0, introspector_tools_3.stampElementKind)(resourceMap.get(store.root.resource.id.toString()), "RESOURCE"),
103
- getEvents: () => events,
104
- getTasks: () => tasks,
105
- getHooks: () => hooks,
106
- getMiddlewares: () => middlewares,
107
- getTaskMiddlewares: () => taskMiddlewares,
108
- getResourceMiddlewares: () => resourceMiddlewares,
109
- getResources: () => resources,
110
- getEvent: (id) => eventMap.get(id) ?? null,
111
- getTask: (id) => taskMap.get(id) ?? null,
112
- getHook: (id) => hookMap.get(id) ?? null,
113
- getMiddleware: (id) => middlewareMap.get(id) ?? null,
114
- getResource: (id) => resourceMap.get(id) ?? null,
115
- getDependencies: (node) => {
116
- const depends = (0, introspector_tools_1.ensureStringArray)(node.dependsOn);
117
- const tasksDeps = tasks.filter((t) => depends.includes(t.id));
118
- const hooksDeps = hooks.filter((l) => depends.includes(l.id));
119
- const resourcesDeps = resources.filter((r) => depends.includes(r.id));
120
- const emitIds = (0, introspector_tools_1.ensureStringArray)(node.emits);
121
- const emitEvents = events.filter((e) => emitIds.includes(e.id));
122
- return {
123
- tasks: tasksDeps,
124
- hooks: hooksDeps,
125
- resources: resourcesDeps,
126
- emitters: emitEvents,
127
- };
128
- },
129
- getEmittedEvents: (node) => {
130
- const emits = (0, introspector_tools_1.ensureStringArray)(node.emits);
131
- return events.filter((e) => emits.includes(e.id));
132
- },
133
- getMiddlewaresByIds: (ids) => {
134
- const set = new Set((0, introspector_tools_1.ensureStringArray)(ids));
135
- return middlewares.filter((m) => set.has(m.id));
136
- },
137
- getResourcesByIds: (ids) => {
138
- const set = new Set((0, introspector_tools_1.ensureStringArray)(ids));
139
- return resources.filter((r) => set.has(r.id));
140
- },
141
- getTasksByIds: (ids) => {
142
- const set = new Set((0, introspector_tools_1.ensureStringArray)(ids));
143
- return tasks.filter((t) => set.has(t.id));
144
- },
145
- getHooksByIds: (ids) => {
146
- const set = new Set((0, introspector_tools_1.ensureStringArray)(ids));
147
- return hooks.filter((l) => set.has(l.id));
148
- },
149
- getEventsByIds: (ids) => {
150
- const set = new Set((0, introspector_tools_1.ensureStringArray)(ids));
151
- return events.filter((e) => set.has(e.id));
152
- },
153
- getTasksUsingResource: (resourceId) => {
154
- return [...tasks, ...hooks].filter((t) => (0, introspector_tools_1.ensureStringArray)(t.dependsOn).includes(resourceId));
155
- },
156
- getTasksUsingMiddleware: (middlewareId) => {
157
- return tasks.filter((t) => (0, introspector_tools_1.ensureStringArray)(t.middleware).includes(middlewareId));
158
- },
159
- // Backward-compat for schema fields expecting this name
160
- // Returns only task-like nodes (tasks and hooks)
161
- getTaskLikesUsingMiddleware: (middlewareId) => {
162
- return api.getTasksUsingMiddleware(middlewareId);
163
- },
164
- // getHooksUsingResource: (resourceId) => {
165
- // return hooks.filter((l) =>
166
- // ensureStringArray(l.dependsOn).includes(resourceId)
167
- // );
168
- // },
169
- getEmittersOfEvent: (eventId) => {
170
- return [...tasks, ...hooks, ...resources].filter((t) => (0, introspector_tools_1.ensureStringArray)(t.emits).includes(eventId));
171
- },
172
- getHooksOfEvent: (eventId) => {
173
- return hooks.filter((l) => l.event === eventId);
174
- },
175
- getMiddlewareEmittedEvents: (middlewareId) => {
176
- const taskLikes = api.getTasksUsingMiddleware(middlewareId);
177
- const emittedIds = new Set();
178
- for (const t of taskLikes) {
179
- for (const e of (0, introspector_tools_1.ensureStringArray)(t.emits)) {
180
- emittedIds.add(e);
181
- }
182
- }
183
- return events.filter((e) => emittedIds.has(e.id));
184
- },
185
- getMiddlewareUsagesForTask: (taskId) => {
186
- const task = taskMap.get(taskId);
187
- if (!task)
188
- return [];
189
- const detailed = task.middlewareDetailed ?? [];
190
- return detailed
191
- .map((d) => ({
192
- id: d.id,
193
- config: d.config ?? null,
194
- node: middlewareMap.get(d.id),
195
- }))
196
- .filter((x) => Boolean(x.node));
197
- },
198
- getMiddlewareUsagesForResource: (resourceId) => {
199
- const res = resourceMap.get(resourceId);
200
- if (!res)
201
- return [];
202
- const detailed = res.middlewareDetailed ?? [];
203
- return detailed
204
- .map((d) => ({
205
- id: d.id,
206
- config: d.config ?? null,
207
- node: middlewareMap.get(d.id),
208
- }))
209
- .filter((x) => Boolean(x.node));
210
- },
211
- getTasksUsingMiddlewareDetailed: (middlewareId) => {
212
- const result = [];
213
- const addFrom = (arr) => {
214
- for (const tl of arr) {
215
- if ((tl.middleware || []).includes(middlewareId)) {
216
- const conf = (tl.middlewareDetailed || []).find((m) => m.id === middlewareId)
217
- ?.config ?? null;
218
- result.push({ id: tl.id, config: conf ?? null, node: tl });
219
- }
220
- }
221
- };
222
- addFrom(tasks);
223
- return result;
224
- },
225
- getResourcesUsingMiddlewareDetailed: (middlewareId) => {
226
- const result = [];
227
- for (const r of resources) {
228
- if ((r.middleware || []).includes(middlewareId)) {
229
- const conf = (r.middlewareDetailed || []).find((m) => m.id === middlewareId)
230
- ?.config ?? null;
231
- result.push({ id: r.id, config: conf ?? null, node: r });
232
- }
233
- }
234
- return result;
235
- },
236
- getEmittedEventsForResource: (resourceId) => {
237
- const taskLikes = api.getTasksUsingResource(resourceId);
238
- const emitted = new Set();
239
- for (const t of taskLikes) {
240
- for (const e of (0, introspector_tools_1.ensureStringArray)(t.emits))
241
- emitted.add(e);
242
- }
243
- return api.getEventsByIds(Array.from(emitted));
244
- },
245
- // Tags API
246
- getTasksWithTag,
247
- getHooksWithTag,
248
- getResourcesWithTag,
249
- getMiddlewaresWithTag,
250
- getEventsWithTag,
251
- getAllTags: () => allTags,
252
- getTag: (id) => tagMap.get(id) ?? null,
253
- // Diagnostics
254
- getOrphanEvents: () => (0, introspector_tools_2.computeOrphanEvents)(api),
255
- getUnemittedEvents: () => (0, introspector_tools_2.computeUnemittedEvents)(api),
256
- getUnusedMiddleware: () => (0, introspector_tools_2.computeUnusedMiddleware)(api),
257
- getMissingFiles: () => (0, introspector_tools_2.computeMissingFiles)(api),
258
- getOverrideConflicts: () => (0, introspector_tools_2.computeOverrideConflicts)(api),
259
- getDiagnostics: () => (0, introspector_tools_2.buildDiagnostics)(api),
260
- buildRunOptionsForTask: (taskId, args) => buildRunsOptions(taskId, args),
261
- buildRunOptionsForHook: (hookId, args) => buildRunsOptions(hookId, args),
262
- };
263
- return api;
13
+ const i = new Introspector_1.Introspector({ store });
14
+ (0, initializeFromStore_1.initializeFromStore)(i, store);
15
+ return i;
264
16
  },
265
17
  });
266
18
  //# sourceMappingURL=introspector.resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"introspector.resource.js","sourceRoot":"","sources":["../../src/resources/introspector.resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"introspector.resource.js","sourceRoot":"","sources":["../../src/resources/introspector.resource.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AACrD,wDAAqD;AACrD,sEAAmE;AAEtD,QAAA,YAAY,GAAG,IAAA,iBAAQ,EAAC;IACnC,EAAE,EAAE,mCAAmC;IACvC,YAAY,EAAE;QACZ,KAAK,EAAE,gBAAO,CAAC,SAAS,CAAC,KAAK;KAC/B;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE;QACrB,MAAM,CAAC,GAAG,IAAI,2BAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAA,yCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Task, Hook, Resource, Event, Middleware, ElementKind, WithElementKind } from "../schema/model";
2
2
  import { definitions } from "@bluelibs/runner";
3
- import type { Introspector } from "./introspector.resource";
3
+ import type { Introspector } from "./models/Introspector";
4
4
  import type { DiagnosticItem } from "../schema/model";
5
5
  export declare function toArray(collection: any): any[];
6
6
  export declare function readId(obj: any): string;
@@ -0,0 +1,177 @@
1
+ import type { Resource, Event, Task, Hook, Middleware, Tag } from "../../schema";
2
+ import type { DiagnosticItem } from "../../schema";
3
+ export type SerializedIntrospector = {
4
+ tasks: Task[];
5
+ hooks: Hook[];
6
+ resources: Resource[];
7
+ events: Event[];
8
+ middlewares: Middleware[];
9
+ tags: Tag[];
10
+ diagnostics?: DiagnosticItem[];
11
+ orphanEvents?: {
12
+ id: string;
13
+ }[];
14
+ unemittedEvents?: {
15
+ id: string;
16
+ }[];
17
+ unusedMiddleware?: {
18
+ id: string;
19
+ }[];
20
+ missingFiles?: Array<{
21
+ id: string;
22
+ filePath: string;
23
+ }>;
24
+ overrideConflicts?: Array<{
25
+ targetId: string;
26
+ by: string;
27
+ }>;
28
+ rootId?: string | null;
29
+ };
30
+ export declare class Introspector {
31
+ tasks: Task[];
32
+ hooks: Hook[];
33
+ resources: Resource[];
34
+ events: Event[];
35
+ taskMiddlewares: Middleware[];
36
+ resourceMiddlewares: Middleware[];
37
+ middlewares: Middleware[];
38
+ allTags: Tag[];
39
+ store: unknown | null;
40
+ rootId: string | null;
41
+ taskMap: Map<string, Task>;
42
+ hookMap: Map<string, Hook>;
43
+ resourceMap: Map<string, Resource>;
44
+ eventMap: Map<string, Event>;
45
+ middlewareMap: Map<string, Middleware>;
46
+ tagMap: Map<string, Tag>;
47
+ constructor(input: {
48
+ store: unknown;
49
+ } | {
50
+ data: SerializedIntrospector;
51
+ });
52
+ private initializeFromData;
53
+ private buildRunsOptions;
54
+ getRoot(): Resource;
55
+ getAll(): (Task | Hook | Resource | Event | Middleware)[];
56
+ getEvents(): Event[];
57
+ getTasks(): Task[];
58
+ getHooks(): Hook[];
59
+ getMiddlewares(): Middleware[];
60
+ getTaskMiddlewares(): Middleware[];
61
+ getResourceMiddlewares(): Middleware[];
62
+ getResources(): Resource[];
63
+ getEvent(id: string): Event | null;
64
+ getTask(id: string): Task | null;
65
+ getHook(id: string): Hook | null;
66
+ getMiddleware(id: string): Middleware | null;
67
+ getResource(id: string): Resource | null;
68
+ getDependencies(node: Task | Hook): {
69
+ tasks: Task[];
70
+ hooks: Hook[];
71
+ resources: Resource[];
72
+ emitters: Event[];
73
+ };
74
+ getEmittedEvents(node: Task | Hook): Event[];
75
+ getMiddlewaresByIds(ids: string[]): Middleware[];
76
+ getResourcesByIds(ids: string[]): Resource[];
77
+ getTasksByIds(ids: string[]): Task[];
78
+ getHooksByIds(ids: string[]): Hook[];
79
+ getEventsByIds(ids: string[]): Event[];
80
+ getTasksUsingResource(resourceId: string): (Task | Hook)[];
81
+ getTasksUsingMiddleware(middlewareId: string): (Task | Hook)[];
82
+ getTaskLikesUsingMiddleware(middlewareId: string): (Task | Hook)[];
83
+ getEmittersOfEvent(eventId: string): (Task | Hook | Resource)[];
84
+ getHooksOfEvent(eventId: string): Hook[];
85
+ getMiddlewareEmittedEvents(middlewareId: string): Event[];
86
+ getMiddlewareUsagesForTask(taskId: string): Array<{
87
+ id: string;
88
+ config: string | null;
89
+ node: Middleware;
90
+ }>;
91
+ getMiddlewareUsagesForResource(resourceId: string): Array<{
92
+ id: string;
93
+ config: string | null;
94
+ node: Middleware;
95
+ }>;
96
+ getTasksUsingMiddlewareDetailed(middlewareId: string): Array<{
97
+ id: string;
98
+ config: string | null;
99
+ node: Task | Hook;
100
+ }>;
101
+ getResourcesUsingMiddlewareDetailed(middlewareId: string): Array<{
102
+ id: string;
103
+ config: string | null;
104
+ node: Resource;
105
+ }>;
106
+ getEmittedEventsForResource(resourceId: string): Event[];
107
+ getTasksWithTag(tagId: string): Task[];
108
+ getHooksWithTag(tagId: string): Hook[];
109
+ getResourcesWithTag(tagId: string): Resource[];
110
+ getMiddlewaresWithTag(tagId: string): Middleware[];
111
+ getEventsWithTag(tagId: string): Event[];
112
+ getAllTags(): Tag[];
113
+ getTag(id: string): Tag | null;
114
+ getTagsByIds(ids: string[]): Tag[];
115
+ getOrphanEvents(): {
116
+ id: string;
117
+ }[];
118
+ getUnemittedEvents(): {
119
+ id: string;
120
+ }[];
121
+ getUnusedMiddleware(): {
122
+ id: string;
123
+ }[];
124
+ getOverrideConflicts(): Array<{
125
+ targetId: string;
126
+ by: string;
127
+ }>;
128
+ getDiagnostics(): Array<{
129
+ severity: string;
130
+ code: string;
131
+ message: string;
132
+ nodeId?: string;
133
+ nodeKind?: string;
134
+ }>;
135
+ buildRunOptionsForTask(taskId: string, args?: {
136
+ afterTimestamp?: number;
137
+ last?: number;
138
+ filter?: {
139
+ nodeKinds?: ("TASK" | "HOOK")[];
140
+ ok?: boolean;
141
+ parentIds?: string[];
142
+ rootIds?: string[];
143
+ correlationIds?: string[];
144
+ } | null;
145
+ }): {
146
+ afterTimestamp?: number;
147
+ last?: number;
148
+ nodeKinds?: ("TASK" | "HOOK")[];
149
+ nodeIds?: string[];
150
+ ok?: boolean;
151
+ parentIds?: string[];
152
+ rootIds?: string[];
153
+ correlationIds?: string[];
154
+ };
155
+ buildRunOptionsForHook(hookId: string, args?: {
156
+ afterTimestamp?: number;
157
+ last?: number;
158
+ filter?: {
159
+ nodeKinds?: ("TASK" | "HOOK")[];
160
+ ok?: boolean;
161
+ parentIds?: string[];
162
+ rootIds?: string[];
163
+ correlationIds?: string[];
164
+ } | null;
165
+ }): {
166
+ afterTimestamp?: number;
167
+ last?: number;
168
+ nodeKinds?: ("TASK" | "HOOK")[];
169
+ nodeIds?: string[];
170
+ ok?: boolean;
171
+ parentIds?: string[];
172
+ rootIds?: string[];
173
+ correlationIds?: string[];
174
+ };
175
+ serialize(): SerializedIntrospector;
176
+ static deserialize(data: SerializedIntrospector): Introspector;
177
+ }