@bluelibs/runner-dev 5.0.1 → 5.3.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 (99) hide show
  1. package/AI.md +107 -1
  2. package/README.md +66 -6
  3. package/dist/cli/overview.js +20 -3
  4. package/dist/cli/overview.js.map +1 -1
  5. package/dist/generated/resolvers-types.d.ts +213 -6
  6. package/dist/index.d.ts +4 -0
  7. package/dist/mcp/projectOverview.js +20 -3
  8. package/dist/mcp/projectOverview.js.map +1 -1
  9. package/dist/resources/docs.generator.resource.d.ts +1 -0
  10. package/dist/resources/durable.workflow.tag.d.ts +2 -0
  11. package/dist/resources/durable.workflow.tag.js +28 -0
  12. package/dist/resources/durable.workflow.tag.js.map +1 -0
  13. package/dist/resources/graphql-accumulator.resource.js +1 -0
  14. package/dist/resources/graphql-accumulator.resource.js.map +1 -1
  15. package/dist/resources/graphql.query.task.d.ts +2 -0
  16. package/dist/resources/introspector.cli.resource.js +27 -1
  17. package/dist/resources/introspector.cli.resource.js.map +1 -1
  18. package/dist/resources/introspector.resource.d.ts +1 -0
  19. package/dist/resources/introspector.resource.js +4 -2
  20. package/dist/resources/introspector.resource.js.map +1 -1
  21. package/dist/resources/live.resource.d.ts +3 -0
  22. package/dist/resources/live.resource.js +26 -0
  23. package/dist/resources/live.resource.js.map +1 -1
  24. package/dist/resources/models/Introspector.d.ts +58 -7
  25. package/dist/resources/models/Introspector.js +190 -15
  26. package/dist/resources/models/Introspector.js.map +1 -1
  27. package/dist/resources/models/durable.runtime.d.ts +5 -3
  28. package/dist/resources/models/durable.runtime.js +52 -10
  29. package/dist/resources/models/durable.runtime.js.map +1 -1
  30. package/dist/resources/models/durable.tools.d.ts +4 -0
  31. package/dist/resources/models/durable.tools.js +34 -0
  32. package/dist/resources/models/durable.tools.js.map +1 -1
  33. package/dist/resources/models/initializeFromStore.js +147 -6
  34. package/dist/resources/models/initializeFromStore.js.map +1 -1
  35. package/dist/resources/models/initializeFromStore.utils.d.ts +14 -1
  36. package/dist/resources/models/initializeFromStore.utils.js +59 -1
  37. package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
  38. package/dist/resources/models/introspector.tools.d.ts +8 -0
  39. package/dist/resources/models/introspector.tools.js +63 -0
  40. package/dist/resources/models/introspector.tools.js.map +1 -1
  41. package/dist/resources/models/tunnel.tools.d.ts +3 -0
  42. package/dist/resources/models/tunnel.tools.js +35 -0
  43. package/dist/resources/models/tunnel.tools.js.map +1 -0
  44. package/dist/resources/routeHandlers/createLiveStreamHandler.d.ts +16 -0
  45. package/dist/resources/routeHandlers/createLiveStreamHandler.js +127 -0
  46. package/dist/resources/routeHandlers/createLiveStreamHandler.js.map +1 -0
  47. package/dist/resources/routeHandlers/getDocsData.js +20 -0
  48. package/dist/resources/routeHandlers/getDocsData.js.map +1 -1
  49. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +2 -0
  50. package/dist/resources/routeHandlers/requestCorrelation.d.ts +11 -0
  51. package/dist/resources/routeHandlers/requestCorrelation.js +29 -0
  52. package/dist/resources/routeHandlers/requestCorrelation.js.map +1 -0
  53. package/dist/resources/server.resource.d.ts +2 -0
  54. package/dist/resources/server.resource.js +13 -1
  55. package/dist/resources/server.resource.js.map +1 -1
  56. package/dist/resources/swap.resource.d.ts +1 -0
  57. package/dist/resources/ui.static.js +6 -3
  58. package/dist/resources/ui.static.js.map +1 -1
  59. package/dist/schema/index.js +4 -0
  60. package/dist/schema/index.js.map +1 -1
  61. package/dist/schema/model.d.ts +40 -0
  62. package/dist/schema/model.js.map +1 -1
  63. package/dist/schema/query.js +23 -0
  64. package/dist/schema/query.js.map +1 -1
  65. package/dist/schema/types/AllType.js +8 -0
  66. package/dist/schema/types/AllType.js.map +1 -1
  67. package/dist/schema/types/AsyncContextType.js +21 -1
  68. package/dist/schema/types/AsyncContextType.js.map +1 -1
  69. package/dist/schema/types/BaseElementCommon.js +10 -0
  70. package/dist/schema/types/BaseElementCommon.js.map +1 -1
  71. package/dist/schema/types/InterceptorOwnersType.d.ts +2 -0
  72. package/dist/schema/types/InterceptorOwnersType.js +63 -0
  73. package/dist/schema/types/InterceptorOwnersType.js.map +1 -0
  74. package/dist/schema/types/LiveType.js +14 -76
  75. package/dist/schema/types/LiveType.js.map +1 -1
  76. package/dist/schema/types/ResourceType.js +12 -9
  77. package/dist/schema/types/ResourceType.js.map +1 -1
  78. package/dist/schema/types/RunOptionsType.d.ts +2 -0
  79. package/dist/schema/types/RunOptionsType.js +71 -0
  80. package/dist/schema/types/RunOptionsType.js.map +1 -0
  81. package/dist/schema/types/TaskType.js +36 -4
  82. package/dist/schema/types/TaskType.js.map +1 -1
  83. package/dist/schema/types/index.d.ts +2 -0
  84. package/dist/schema/types/index.js +5 -1
  85. package/dist/schema/types/index.js.map +1 -1
  86. package/dist/ui/.vite/manifest.json +2 -2
  87. package/dist/ui/assets/docs-BhRuaJ5l.css +1 -0
  88. package/dist/ui/assets/docs-H4oDZj7p.js +302 -0
  89. package/dist/ui/assets/docs-H4oDZj7p.js.map +1 -0
  90. package/dist/ui-test/assets/app.js +1 -1
  91. package/dist/utils/healthCollectors.d.ts +37 -0
  92. package/dist/utils/healthCollectors.js +147 -0
  93. package/dist/utils/healthCollectors.js.map +1 -0
  94. package/dist/version.d.ts +1 -1
  95. package/dist/version.js +1 -1
  96. package/package.json +2 -4
  97. package/dist/ui/assets/docs-CLK_iFXw.css +0 -1
  98. package/dist/ui/assets/docs-DnmhGz-y.js +0 -378
  99. package/dist/ui/assets/docs-DnmhGz-y.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEGACY_TUNNEL_TAG_ID = exports.TUNNEL_TAG_ID = void 0;
4
+ exports.hasTunnelTag = hasTunnelTag;
5
+ exports.TUNNEL_TAG_ID = "globals.tags.tunnel";
6
+ exports.LEGACY_TUNNEL_TAG_ID = "runner-dev.tunnel";
7
+ function readTagId(tagLike) {
8
+ if (typeof tagLike === "string")
9
+ return tagLike;
10
+ if (!tagLike || typeof tagLike !== "object")
11
+ return null;
12
+ const tagRecord = tagLike;
13
+ if (typeof tagRecord.id === "string")
14
+ return tagRecord.id;
15
+ if (typeof tagRecord.tag?.id === "string")
16
+ return tagRecord.tag.id;
17
+ return null;
18
+ }
19
+ function hasTunnelTag(tags) {
20
+ if (!Array.isArray(tags))
21
+ return false;
22
+ return tags.some((tagLike) => {
23
+ const tagId = readTagId(tagLike);
24
+ if (!tagId)
25
+ return false;
26
+ const lowerTagId = tagId.toLowerCase();
27
+ if (lowerTagId === exports.TUNNEL_TAG_ID)
28
+ return true;
29
+ if (lowerTagId === exports.LEGACY_TUNNEL_TAG_ID)
30
+ return true;
31
+ // Backward-compatible fallback for older custom tags, but avoid known false positives.
32
+ return /\btunnel\b/i.test(tagId) && !/tunnelpolicy/i.test(tagId);
33
+ });
34
+ }
35
+ //# sourceMappingURL=tunnel.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.tools.js","sourceRoot":"","sources":["../../../src/resources/models/tunnel.tools.ts"],"names":[],"mappings":";;;AAcA,oCAcC;AA5BY,QAAA,aAAa,GAAG,qBAAqB,CAAC;AACtC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAExD,SAAS,SAAS,CAAC,OAAgB;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzD,MAAM,SAAS,GAAG,OAAmD,CAAC;IACtE,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,EAAE,CAAC;IAC1D,IAAI,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAEnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,IAAkC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,UAAU,KAAK,qBAAa;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,UAAU,KAAK,4BAAoB;YAAE,OAAO,IAAI,CAAC;QAErD,uFAAuF;QACvF,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Request, Response } from "express";
2
+ import type { Live } from "../live.resource";
3
+ export interface LiveStreamDeps {
4
+ live: Live;
5
+ }
6
+ /**
7
+ * Creates an Express route handler that streams live telemetry data via
8
+ * Server-Sent Events (SSE). The handler:
9
+ *
10
+ * 1. Subscribes to `live.onRecord()` for near-instant push of new entries.
11
+ * 2. Debounces rapid bursts (100 ms) to avoid flooding the connection.
12
+ * 3. Pushes system health snapshots every 2 s on a separate cadence.
13
+ * 4. Sends heartbeat comments every 15 s to keep proxies from closing idle connections.
14
+ * 5. Cleans up all timers and subscriptions on client disconnect.
15
+ */
16
+ export declare function createLiveStreamHandler({ live }: LiveStreamDeps): (_req: Request, res: Response) => void;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLiveStreamHandler = createLiveStreamHandler;
4
+ const healthCollectors_1 = require("../../utils/healthCollectors");
5
+ /** Debounce interval (ms) for batching rapid record notifications into a single SSE push. */
6
+ const DEBOUNCE_MS = 100;
7
+ /** How often (ms) system health metrics (memory, cpu, eventLoop, gc) are pushed. */
8
+ const HEALTH_INTERVAL_MS = 2_000;
9
+ /** How often (ms) a heartbeat comment is sent to keep the connection alive through proxies. */
10
+ const HEARTBEAT_INTERVAL_MS = 15_000;
11
+ /** Maximum number of entries per category in a single SSE push. */
12
+ const MAX_ENTRIES_PER_PUSH = 1_000;
13
+ // ---------------------------------------------------------------------------
14
+ // Helpers
15
+ // ---------------------------------------------------------------------------
16
+ function safeStringify(value) {
17
+ if (value == null)
18
+ return null;
19
+ if (typeof value === "string")
20
+ return value;
21
+ try {
22
+ return JSON.stringify(value);
23
+ }
24
+ catch {
25
+ return String(value);
26
+ }
27
+ }
28
+ /**
29
+ * Creates an Express route handler that streams live telemetry data via
30
+ * Server-Sent Events (SSE). The handler:
31
+ *
32
+ * 1. Subscribes to `live.onRecord()` for near-instant push of new entries.
33
+ * 2. Debounces rapid bursts (100 ms) to avoid flooding the connection.
34
+ * 3. Pushes system health snapshots every 2 s on a separate cadence.
35
+ * 4. Sends heartbeat comments every 15 s to keep proxies from closing idle connections.
36
+ * 5. Cleans up all timers and subscriptions on client disconnect.
37
+ */
38
+ function createLiveStreamHandler({ live }) {
39
+ return (_req, res) => {
40
+ // --- SSE headers ---------------------------------------------------------
41
+ res.setHeader("Content-Type", "text/event-stream");
42
+ res.setHeader("Cache-Control", "no-cache");
43
+ res.setHeader("Connection", "keep-alive");
44
+ res.setHeader("X-Accel-Buffering", "no"); // nginx
45
+ res.flushHeaders();
46
+ let cursor = 0; // start from the beginning so the initial push picks up existing entries
47
+ let debounceTimer = null;
48
+ let closed = false;
49
+ // --- Write helpers -------------------------------------------------------
50
+ /** Write a single SSE frame. */
51
+ const sendEvent = (eventName, data) => {
52
+ if (closed)
53
+ return;
54
+ try {
55
+ res.write(`event: ${eventName}\ndata: ${JSON.stringify(data)}\n\n`);
56
+ }
57
+ catch {
58
+ cleanup();
59
+ }
60
+ };
61
+ /** Read new telemetry entries since `cursor`, serialize, and push. */
62
+ const pushDelta = () => {
63
+ if (closed)
64
+ return;
65
+ const query = { afterTimestamp: cursor, last: MAX_ENTRIES_PER_PUSH };
66
+ const logs = live
67
+ .getLogs(query)
68
+ .map((l) => ({ ...l, data: safeStringify(l.data) }));
69
+ const emissions = live
70
+ .getEmissions(query)
71
+ .map((e) => ({ ...e, payload: safeStringify(e.payload) }));
72
+ const errors = live
73
+ .getErrors(query)
74
+ .map((e) => ({ ...e, data: safeStringify(e.data) }));
75
+ const runs = live.getRuns(query);
76
+ if (logs.length + emissions.length + errors.length + runs.length === 0) {
77
+ return;
78
+ }
79
+ // Advance cursor past everything we just delivered
80
+ const latest = (0, healthCollectors_1.latestTimestamp)(logs, emissions, errors, runs);
81
+ if (latest !== undefined)
82
+ cursor = latest;
83
+ sendEvent("telemetry", { logs, emissions, errors, runs });
84
+ };
85
+ /** Debounced notification handler — batches rapid record calls. */
86
+ const onRecordNotification = () => {
87
+ if (closed || debounceTimer)
88
+ return;
89
+ debounceTimer = setTimeout(() => {
90
+ debounceTimer = null;
91
+ pushDelta();
92
+ }, DEBOUNCE_MS);
93
+ };
94
+ // --- Subscriptions & timers ----------------------------------------------
95
+ const unsubscribe = live.onRecord(onRecordNotification);
96
+ const healthTimer = setInterval(() => {
97
+ if (!closed)
98
+ sendEvent("health", (0, healthCollectors_1.getHealthSnapshot)());
99
+ }, HEALTH_INTERVAL_MS);
100
+ const heartbeatTimer = setInterval(() => {
101
+ if (!closed)
102
+ res.write(": heartbeat\n\n");
103
+ }, HEARTBEAT_INTERVAL_MS);
104
+ // --- Initial push --------------------------------------------------------
105
+ sendEvent("health", (0, healthCollectors_1.getHealthSnapshot)());
106
+ pushDelta(); // push any pre-existing entries
107
+ // If nothing existed, advance cursor to now so future pushes are incremental
108
+ if (cursor === 0)
109
+ cursor = Date.now() - 1;
110
+ // --- Cleanup on disconnect -----------------------------------------------
111
+ const cleanup = () => {
112
+ if (closed)
113
+ return;
114
+ closed = true;
115
+ unsubscribe();
116
+ clearInterval(healthTimer);
117
+ clearInterval(heartbeatTimer);
118
+ if (debounceTimer) {
119
+ clearTimeout(debounceTimer);
120
+ debounceTimer = null;
121
+ }
122
+ };
123
+ res.on("close", cleanup);
124
+ res.on("error", cleanup);
125
+ };
126
+ }
127
+ //# sourceMappingURL=createLiveStreamHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLiveStreamHandler.js","sourceRoot":"","sources":["../../../src/resources/routeHandlers/createLiveStreamHandler.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const initializeFromStore_1 = require("../models/initializeFromStore");
8
8
  const promises_1 = __importDefault(require("node:fs/promises"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  const help_1 = require("../../mcp/help");
11
+ const durable_runtime_1 = require("../models/durable.runtime");
11
12
  // Serve JSON data for docs UI to fetch client-side
12
13
  function createDocsDataRouteHandler(config) {
13
14
  return async (req, res) => {
@@ -19,6 +20,25 @@ function createDocsDataRouteHandler(config) {
19
20
  logger.info(`Serving documentation data${message}.`);
20
21
  (0, initializeFromStore_1.initializeFromStore)(introspector, config.store);
21
22
  const data = introspector.serialize();
23
+ // Enrich tasks with durable metadata for docs UI.
24
+ if (Array.isArray(data.tasks)) {
25
+ for (const task of data.tasks) {
26
+ const taskId = String(task?.id || "");
27
+ if (!taskId)
28
+ continue;
29
+ const isDurable = introspector.isDurableTask(taskId);
30
+ const dependencyIds = Array.isArray(task?.dependsOn)
31
+ ? task.dependsOn.map((depId) => String(depId))
32
+ : [];
33
+ task.isDurable = isDurable;
34
+ task.durableResourceId = isDurable
35
+ ? (0, durable_runtime_1.findDurableResourceIdFromStore)(config.store, taskId, dependencyIds) ||
36
+ introspector.getDurableResourceForTask(taskId)?.id ||
37
+ null
38
+ : null;
39
+ task.flowShape = null;
40
+ }
41
+ }
22
42
  // Attach pre-fetched coverage percentages when coverage is available.
23
43
  if (config.coverage) {
24
44
  const attach = async (arr) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getDocsData.js","sourceRoot":"","sources":["../../../src/resources/routeHandlers/getDocsData.ts"],"names":[],"mappings":";;;;;AA2BA,gEA6JC;AArLD,uEAAoE;AACpE,gEAAkC;AAClC,0DAA6B;AAC7B,yCAAgD;AAoBhD,mDAAmD;AACnD,SAAgB,0BAA0B,CAAC,MAAuB;IAChE,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;QAC3D,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACxC,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,SAA+B,CAAC;QAElE,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,oBAAoB,eAAe,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,6BAA6B,OAAO,GAAG,CAAC,CAAC;QAErD,IAAA,yCAAmB,EAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAI,YAAwC,CAAC,SAAS,EAAE,CAAC;QAEnE,sEAAsE;QACtE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,EAClB,GAAwD,EACxD,EAAE;gBACF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,QAAS,CAAC,iBAAiB,CAChD,EAAE,CAAC,QAAQ,IAAI,IAAI,CACpB,CAAC;wBACF,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;4BACzC,EAAU,CAAC,QAAQ,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtD,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,qCAAqC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,CAAE,IAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACxC,MAAM,MAAM,CAAE,IAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,MAAM,CAAE,IAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACxC,MAAM,MAAM,CAAE,IAAY,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC9C,MAAM,MAAM,CAAE,IAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,MAAM,kBAAkB,GAAG,MAAM,IAAA,qBAAc,EAC7C,kBAAkB,EAClB,OAAO,CACR,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAU,CAAA,CAAC,CAAC;QACxC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAC;QAE7D,uDAAuD;QACvD,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAc,EACvC,sBAAsB,EACtB,OAAO,CACR,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAU,CAAA,CAAC,CAAC;QACxC,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;QAE/C,iEAAiE;QACjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAChC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACzC,MAAM,CACP,CAAC;gBACF,aAAa,GAAG,QAAQ,IAAI,aAAa,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,mBAAmB,IAAI,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,aAAa,IAAI,EAAE,CAAC;QAExC,kCAAkC;QAClC,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,EAAE,CAAC,+CAA+C,CAAC,CAAC;QACjE,CAAC;QAED,mFAAmF;QACnF,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;YAEhD,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEvB,MAAM,MAAM,GAAG,CAAI,GAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,CACV,EAAU,EACV,KAAqB,EACrB,WAA2B,EAC3B,EAAE;gBACF,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GACT,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO,KAAK,SAAS,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YAC1C,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAI,CAAS,CAAC,IAAI,IAAI,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,CAAE,CAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CACzD,CAAC;gBACJ,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAI,CAAS,CAAC,IAAI,IAAI,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,CAAE,CAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CACzD,CAAC;gBACJ,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAI,CAAS,CAAC,IAAI,IAAI,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,CAAE,CAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CACzD,CAAC;gBACJ,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;QACD,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC;YACP,eAAe;YACf,gBAAgB,EAAE,IAAI;YACtB,iBAAiB;YACjB,WAAW;YACX,iBAAiB;YACjB,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getDocsData.js","sourceRoot":"","sources":["../../../src/resources/routeHandlers/getDocsData.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare const registerHttpRoutes: import("@bluelibs/runner").IHook<{
5
5
  logger: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Logger>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
6
6
  introspector: import("@bluelibs/runner").IResource<void, Promise<import("../..").Introspector>, {
7
7
  store: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
8
+ runtime: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").RunResult<unknown>>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
8
9
  }, any, {
9
10
  title: string;
10
11
  description: string;
@@ -32,6 +33,7 @@ export declare const registerHttpRoutes: import("@bluelibs/runner").IHook<{
32
33
  taskRunner: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").TaskRunner>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
33
34
  introspector: import("@bluelibs/runner").IResource<void, Promise<import("../..").Introspector>, {
34
35
  store: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
36
+ runtime: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").RunResult<unknown>>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
35
37
  }, any, {
36
38
  title: string;
37
39
  description: string;
@@ -0,0 +1,11 @@
1
+ import type { Request, Response, NextFunction } from "express";
2
+ /**
3
+ * Express middleware that wraps each incoming request in an AsyncLocalStorage
4
+ * context carrying a fresh `correlationId`. This ensures all logs, emissions,
5
+ * errors, and runs recorded during the request automatically inherit a traceId
6
+ * — even when the code is not inside a task/hook execution.
7
+ *
8
+ * If a context already exists (e.g. a task triggered the request internally),
9
+ * the existing correlationId is preserved.
10
+ */
11
+ export declare function createRequestCorrelationMiddleware(): (req: Request, _res: Response, next: NextFunction) => void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRequestCorrelationMiddleware = createRequestCorrelationMiddleware;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const telemetry_chain_1 = require("../telemetry.chain");
6
+ /**
7
+ * Express middleware that wraps each incoming request in an AsyncLocalStorage
8
+ * context carrying a fresh `correlationId`. This ensures all logs, emissions,
9
+ * errors, and runs recorded during the request automatically inherit a traceId
10
+ * — even when the code is not inside a task/hook execution.
11
+ *
12
+ * If a context already exists (e.g. a task triggered the request internally),
13
+ * the existing correlationId is preserved.
14
+ */
15
+ function createRequestCorrelationMiddleware() {
16
+ return (req, _res, next) => {
17
+ const existing = telemetry_chain_1.runContext.getStore();
18
+ if (existing) {
19
+ // Already inside a run context — don't override
20
+ return next();
21
+ }
22
+ const raw = req.headers["x-correlation-id"];
23
+ const correlationId = (Array.isArray(raw) ? raw[0] : raw) || (0, node_crypto_1.randomUUID)();
24
+ telemetry_chain_1.runContext.run({ chain: [], correlationId }, () => {
25
+ next();
26
+ });
27
+ };
28
+ }
29
+ //# sourceMappingURL=requestCorrelation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestCorrelation.js","sourceRoot":"","sources":["../../../src/resources/routeHandlers/requestCorrelation.ts"],"names":[],"mappings":";;AAaA,gFAeC;AA3BD,6CAAyC;AACzC,wDAAgD;AAEhD;;;;;;;;GAQG;AACH,SAAgB,kCAAkC;IAChD,OAAO,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,4BAAU,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,gDAAgD;YAChD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAA,wBAAU,GAAE,CAAC;QAE1E,4BAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE;YAChD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -19,6 +19,7 @@ export declare const serverResource: import("@bluelibs/runner").IResource<Server
19
19
  logger: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Logger>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
20
20
  introspector: import("@bluelibs/runner").IResource<void, Promise<import("..").Introspector>, {
21
21
  store: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
22
+ runtime: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").RunResult<unknown>>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
22
23
  }, any, {
23
24
  title: string;
24
25
  description: string;
@@ -46,6 +47,7 @@ export declare const serverResource: import("@bluelibs/runner").IResource<Server
46
47
  taskRunner: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").TaskRunner>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
47
48
  introspector: import("@bluelibs/runner").IResource<void, Promise<import("..").Introspector>, {
48
49
  store: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
50
+ runtime: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").RunResult<unknown>>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
49
51
  }, any, {
50
52
  title: string;
51
53
  description: string;
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.serverResource = void 0;
30
30
  const runner_1 = require("@bluelibs/runner");
31
31
  const server_1 = require("@apollo/server");
32
+ const disabled_1 = require("@apollo/server/plugin/disabled");
32
33
  const graphql_accumulator_resource_1 = require("./graphql-accumulator.resource");
33
34
  const introspector_resource_1 = require("./introspector.resource");
34
35
  const live_resource_1 = require("./live.resource");
@@ -42,6 +43,8 @@ const ui_static_1 = require("./ui.static");
42
43
  const printSchema_1 = require("graphql/utilities/printSchema");
43
44
  const getDocsData_1 = require("./routeHandlers/getDocsData");
44
45
  const createDocsServeHandler_1 = require("./routeHandlers/createDocsServeHandler");
46
+ const createLiveStreamHandler_1 = require("./routeHandlers/createLiveStreamHandler");
47
+ const requestCorrelation_1 = require("./routeHandlers/requestCorrelation");
45
48
  const voyager_html_1 = __importDefault(require("./templates/voyager.html"));
46
49
  exports.serverResource = (0, runner_1.resource)({
47
50
  id: "runner-dev.resources.server",
@@ -63,12 +66,19 @@ exports.serverResource = (0, runner_1.resource)({
63
66
  logger = logger.with({
64
67
  source: exports.serverResource.id,
65
68
  });
66
- const server = new server_1.ApolloServer({ schema: graphql.getSchema() });
69
+ const server = new server_1.ApolloServer({
70
+ schema: graphql.getSchema(),
71
+ plugins: [(0, disabled_1.ApolloServerPluginLandingPageDisabled)()],
72
+ });
67
73
  const port = config.port ?? 1337;
68
74
  const host = config.host;
69
75
  const _apolloConfig = config.apollo ?? {};
70
76
  await server.start();
71
77
  const app = (0, express_1.default)();
78
+ // Wrap every incoming request in an AsyncLocalStorage context with a fresh
79
+ // correlationId so that all logs / emissions / errors within the request
80
+ // automatically receive a traceId — even outside task execution.
81
+ app.use((0, requestCorrelation_1.createRequestCorrelationMiddleware)());
72
82
  // GraphQL endpoint
73
83
  app.use("/graphql", express_1.default.json(), (req, res, next) => {
74
84
  // logger.debug("GraphQL request", req.body);
@@ -85,6 +95,8 @@ exports.serverResource = (0, runner_1.resource)({
85
95
  };
86
96
  },
87
97
  }));
98
+ // SSE endpoint for live telemetry streaming
99
+ app.get("/live/stream", (0, createLiveStreamHandler_1.createLiveStreamHandler)({ live }));
88
100
  // Voyager UI at /voyager (simple CDN-based standalone page)
89
101
  app.get("/voyager", (_req, res) => {
90
102
  const html = voyager_html_1.default;
@@ -1 +1 @@
1
- {"version":3,"file":"server.resource.js","sourceRoot":"","sources":["../../src/resources/server.resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.resource.js","sourceRoot":"","sources":["../../src/resources/server.resource.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export declare const swapManager: import("@bluelibs/runner").IResource<void, Pro
44
44
  taskRunner: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").TaskRunner>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
45
45
  introspector: import("@bluelibs/runner").IResource<void, Promise<import("..").Introspector>, {
46
46
  store: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").Store>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
47
+ runtime: import("@bluelibs/runner").IResource<void, Promise<import("@bluelibs/runner").RunResult<unknown>>, {}, any, any, import("@bluelibs/runner").TagType[], import("@bluelibs/runner").ResourceMiddlewareAttachmentType[]>;
47
48
  }, any, {
48
49
  title: string;
49
50
  description: string;
@@ -39,7 +39,9 @@ function createUiStaticRouter(uiDir) {
39
39
  ? req.path.slice(1)
40
40
  : req.path;
41
41
  const filePath = path.join(uiDir, cleanedPath);
42
- const cacheKey = `${req.path}:${process.env.API_URL ?? ""}:${process.env.OPENAI_API_BASE_URL ?? ""}:${process.env.OPENAI_API_KEY ?? ""}`;
42
+ const cacheKey = `${req.path}:${process.env.API_URL ?? ""}`;
43
+ // [AI-CHAT-DISABLED] OpenAI env injection disabled
44
+ // `:${process.env.OPENAI_API_BASE_URL ?? ""}:${process.env.OPENAI_API_KEY ?? ""}`
43
45
  if (jsCache.has(cacheKey)) {
44
46
  res.setHeader("Content-Type", "application/javascript");
45
47
  res.setHeader("Cache-Control", "no-store");
@@ -48,8 +50,9 @@ function createUiStaticRouter(uiDir) {
48
50
  let data = await fs.readFile(filePath, "utf8");
49
51
  const replacements = [
50
52
  ["__API_URL__", process.env.API_URL ?? ""],
51
- ["__OPENAI_API_BASE_URL__", process.env.OPENAI_API_BASE_URL ?? ""],
52
- ["__OPENAI_API_KEY__", process.env.OPENAI_API_KEY ?? ""],
53
+ // [AI-CHAT-DISABLED] OpenAI env injection disabled
54
+ // ["__OPENAI_API_BASE_URL__", process.env.OPENAI_API_BASE_URL ?? ""],
55
+ // ["__OPENAI_API_KEY__", process.env.OPENAI_API_KEY ?? ""],
53
56
  ];
54
57
  for (const [token, value] of replacements) {
55
58
  data = data.split(token).join(JSON.stringify(value));
@@ -1 +1 @@
1
- {"version":3,"file":"ui.static.js","sourceRoot":"","sources":["../../src/resources/ui.static.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oDA6CC;AAjDD,sDAA6D;AAC7D,gDAAkC;AAClC,qDAAuC;AAEvC,SAAgB,oBAAoB,CAAC,KAAa;IAChD,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAI,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC1C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,IACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EACrC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gBACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,YAAY,GAAuB;gBACvC,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1C,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;gBAClE,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aACzD,CAAC;YAEF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"ui.static.js","sourceRoot":"","sources":["../../src/resources/ui.static.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oDA8CC;AAlDD,sDAA6D;AAC7D,gDAAkC;AAClC,qDAAuC;AAEvC,SAAgB,oBAAoB,CAAC,KAAa;IAChD,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAI,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC1C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC5D,mDAAmD;YACnD,kFAAkF;YAElF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gBACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,YAAY,GAAuB;gBACvC,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1C,mDAAmD;gBACnD,sEAAsE;gBACtE,4DAA4D;aAC7D,CAAC;YAEF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -44,6 +44,8 @@ const createSchema = (_swapManager) => {
44
44
  index_1.TunnelInfoType,
45
45
  index_1.TunnelModeEnum,
46
46
  index_1.TunnelTransportEnum,
47
+ index_1.RunOptionsType,
48
+ index_1.InterceptorOwnersSnapshotType,
47
49
  ],
48
50
  });
49
51
  };
@@ -72,6 +74,8 @@ exports.schema = new graphql_1.GraphQLSchema({
72
74
  index_1.TunnelInfoType,
73
75
  index_1.TunnelModeEnum,
74
76
  index_1.TunnelTransportEnum,
77
+ index_1.RunOptionsType,
78
+ index_1.InterceptorOwnersSnapshotType,
75
79
  ],
76
80
  });
77
81
  // Re-export all types for external usage
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,mCAAoC;AACpC,yCAA0C;AAE1C,yCAqBuB;AAEhB,MAAM,YAAY,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC1D,OAAO,IAAI,uBAAa,CAAC;QACvB,KAAK,EAAE,iBAAS;QAChB,QAAQ,EAAE,uBAAY;QACtB,KAAK,EAAE;YACL,eAAO;YACP,4BAAoB;YACpB,iBAAS;YACT,gBAAQ;YACR,4BAAoB;YACpB,sBAAc;YACd,0BAAkB;YAClB,8BAAsB;YACtB,gBAAQ;YACR,oBAAY;YACZ,gBAAQ;YACR,gBAAQ;YACR,sBAAc;YACd,sBAAc;YACd,uBAAe;YACf,iBAAS;YACT,wBAAgB;YAChB,sBAAc;YACd,sBAAc;YACd,2BAAmB;SACpB;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA3BW,QAAA,YAAY,gBA2BvB;AAEF,0DAA0D;AAC7C,QAAA,MAAM,GAAG,IAAI,uBAAa,CAAC;IACtC,KAAK,EAAE,iBAAS;IAChB,KAAK,EAAE;QACL,eAAO;QACP,4BAAoB;QACpB,iBAAS;QACT,gBAAQ;QACR,4BAAoB;QACpB,sBAAc;QACd,0BAAkB;QAClB,8BAAsB;QACtB,gBAAQ;QACR,oBAAY;QACZ,gBAAQ;QACR,gBAAQ;QACR,sBAAc;QACd,sBAAc;QACd,uBAAe;QACf,iBAAS;QACT,wBAAgB;QAChB,sBAAc;QACd,sBAAc;QACd,2BAAmB;KACpB;CACF,CAAC,CAAC;AAEH,yCAAyC;AACzC,gDAA8B;AAC9B,0CAAwB;AACxB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,mCAAoC;AACpC,yCAA0C;AAE1C,yCAuBuB;AAEhB,MAAM,YAAY,GAAG,CAAC,YAA2B,EAAE,EAAE;IAC1D,OAAO,IAAI,uBAAa,CAAC;QACvB,KAAK,EAAE,iBAAS;QAChB,QAAQ,EAAE,uBAAY;QACtB,KAAK,EAAE;YACL,eAAO;YACP,4BAAoB;YACpB,iBAAS;YACT,gBAAQ;YACR,4BAAoB;YACpB,sBAAc;YACd,0BAAkB;YAClB,8BAAsB;YACtB,gBAAQ;YACR,oBAAY;YACZ,gBAAQ;YACR,gBAAQ;YACR,sBAAc;YACd,sBAAc;YACd,uBAAe;YACf,iBAAS;YACT,wBAAgB;YAChB,sBAAc;YACd,sBAAc;YACd,2BAAmB;YACnB,sBAAc;YACd,qCAA6B;SAC9B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB;AAEF,0DAA0D;AAC7C,QAAA,MAAM,GAAG,IAAI,uBAAa,CAAC;IACtC,KAAK,EAAE,iBAAS;IAChB,KAAK,EAAE;QACL,eAAO;QACP,4BAAoB;QACpB,iBAAS;QACT,gBAAQ;QACR,4BAAoB;QACpB,sBAAc;QACd,0BAAkB;QAClB,8BAAsB;QACtB,gBAAQ;QACR,oBAAY;QACZ,gBAAQ;QACR,gBAAQ;QACR,sBAAc;QACd,sBAAc;QACd,uBAAe;QACf,iBAAS;QACT,wBAAgB;QAChB,sBAAc;QACd,sBAAc;QACd,2BAAmB;QACnB,sBAAc;QACd,qCAA6B;KAC9B;CACF,CAAC,CAAC;AAEH,yCAAyC;AACzC,gDAA8B;AAC9B,0CAAwB;AACxB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA"}
@@ -11,6 +11,8 @@ export interface BaseElement {
11
11
  id: string;
12
12
  meta?: Meta | null;
13
13
  filePath?: string | null;
14
+ isPrivate?: boolean;
15
+ visibilityReason?: string | null;
14
16
  registeredBy?: string | null;
15
17
  overriddenBy?: string | null;
16
18
  tags?: string[] | null;
@@ -44,6 +46,18 @@ export interface TunnelInfo {
44
46
  auth?: string;
45
47
  eventDeliveryMode?: string;
46
48
  }
49
+ export interface DurableFlowNode {
50
+ kind: string;
51
+ stepId?: string | null;
52
+ durationMs?: number | null;
53
+ signalId?: string | null;
54
+ eventId?: string | null;
55
+ selectedBranchId?: string | null;
56
+ message?: string | null;
57
+ }
58
+ export interface DurableFlowShape {
59
+ nodes: DurableFlowNode[];
60
+ }
47
61
  export interface Tag extends BaseElement {
48
62
  id: string;
49
63
  configSchema?: string | null;
@@ -86,6 +100,13 @@ export interface Task extends BaseElement {
86
100
  middleware: string[];
87
101
  middlewareDetailed?: MiddlewareUsage[];
88
102
  inputSchema?: string | null;
103
+ resultSchema?: string | null;
104
+ isDurable?: boolean;
105
+ durableResourceId?: string | null;
106
+ flowShape?: DurableFlowShape | null;
107
+ interceptorCount?: number;
108
+ hasInterceptors?: boolean;
109
+ interceptorOwnerIds?: string[];
89
110
  }
90
111
  export interface Hook extends BaseElement {
91
112
  events: string[];
@@ -105,6 +126,7 @@ export interface Resource extends BaseElement {
105
126
  middlewareDetailed?: MiddlewareUsage[];
106
127
  overrides: string[];
107
128
  registers: string[];
129
+ exports?: string[] | null;
108
130
  context?: string | null;
109
131
  tunnelInfo?: TunnelInfo | null;
110
132
  }
@@ -122,8 +144,26 @@ export interface AsyncContext extends BaseElement {
122
144
  serialize?: string | null;
123
145
  parse?: string | null;
124
146
  usedBy: string[];
147
+ requiredBy: string[];
125
148
  providedBy: string[];
126
149
  }
150
+ export interface RunOptions {
151
+ mode: string;
152
+ debug: boolean;
153
+ debugMode?: string | null;
154
+ logsEnabled: boolean;
155
+ logsPrintThreshold?: string | null;
156
+ logsPrintStrategy?: string | null;
157
+ logsBuffer: boolean;
158
+ errorBoundary?: boolean | null;
159
+ shutdownHooks?: boolean | null;
160
+ dryRun: boolean;
161
+ lazy: boolean;
162
+ initMode: "sequential" | "parallel";
163
+ runtimeEventCycleDetection?: boolean | null;
164
+ hasOnUnhandledError: boolean;
165
+ rootId: string;
166
+ }
127
167
  export interface DiagnosticItem {
128
168
  severity: string;
129
169
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/schema/model.ts"],"names":[],"mappings":";;;AA6Ea,QAAA,iBAAiB,GAAkB,MAAM,CACpD,wBAAwB,CACzB,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/schema/model.ts"],"names":[],"mappings":";;;AA+Fa,QAAA,iBAAiB,GAAkB,MAAM,CACpD,wBAAwB,CACzB,CAAC"}
@@ -32,6 +32,29 @@ exports.QueryType = new graphql_1.GraphQLObjectType({
32
32
  type: index_1.ResourceType,
33
33
  resolve: (_root, _args, ctx) => ctx.introspector.getRoot(),
34
34
  },
35
+ runOptions: {
36
+ description: "Effective run options used when starting the application via run(). Includes mode, debug flag, and root resource id.",
37
+ type: new graphql_1.GraphQLNonNull(index_1.RunOptionsType),
38
+ resolve: (_root, _args, ctx) => ctx.introspector.getRunOptions(),
39
+ },
40
+ interceptorOwners: {
41
+ description: "Snapshot of interceptor ownership: local task interceptors by task id and middleware interceptor ownership from middleware manager.",
42
+ type: new graphql_1.GraphQLNonNull(index_1.InterceptorOwnersSnapshotType),
43
+ resolve: (_root, _args, ctx) => {
44
+ const snapshot = ctx.introspector.getInterceptorOwnersSnapshot();
45
+ const tasksById = {};
46
+ for (const task of ctx.introspector.getTasks()) {
47
+ const ownerResourceIds = ctx.introspector.getTaskInterceptorOwnerIds(task.id);
48
+ if (ownerResourceIds.length > 0) {
49
+ tasksById[task.id] = ownerResourceIds;
50
+ }
51
+ }
52
+ return {
53
+ ...snapshot,
54
+ tasksById,
55
+ };
56
+ },
57
+ },
35
58
  all: {
36
59
  description: "Unified view of all elements (tasks, hooks, resources, middleware, events). Prefer specific queries for efficiency.",
37
60
  type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(index_1.BaseElementInterface))),