@rudderhq/run-intelligence-core 0.1.0-canary.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 (78) hide show
  1. package/LICENSE +186 -0
  2. package/dist/cli/analyze.d.ts +2 -0
  3. package/dist/cli/analyze.d.ts.map +1 -0
  4. package/dist/cli/analyze.js +35 -0
  5. package/dist/cli/analyze.js.map +1 -0
  6. package/dist/cli/common.d.ts +9 -0
  7. package/dist/cli/common.d.ts.map +1 -0
  8. package/dist/cli/common.js +28 -0
  9. package/dist/cli/common.js.map +1 -0
  10. package/dist/cli/compare.d.ts +2 -0
  11. package/dist/cli/compare.d.ts.map +1 -0
  12. package/dist/cli/compare.js +24 -0
  13. package/dist/cli/compare.js.map +1 -0
  14. package/dist/cli/trace-entry.d.ts +2 -0
  15. package/dist/cli/trace-entry.d.ts.map +1 -0
  16. package/dist/cli/trace-entry.js +53 -0
  17. package/dist/cli/trace-entry.js.map +1 -0
  18. package/dist/cli/trace-outline.d.ts +2 -0
  19. package/dist/cli/trace-outline.d.ts.map +1 -0
  20. package/dist/cli/trace-outline.js +43 -0
  21. package/dist/cli/trace-outline.js.map +1 -0
  22. package/dist/create-agent-benchmark.d.ts +113 -0
  23. package/dist/create-agent-benchmark.d.ts.map +1 -0
  24. package/dist/create-agent-benchmark.js +451 -0
  25. package/dist/create-agent-benchmark.js.map +1 -0
  26. package/dist/create-agent-benchmark.test.d.ts +2 -0
  27. package/dist/create-agent-benchmark.test.d.ts.map +1 -0
  28. package/dist/create-agent-benchmark.test.js +289 -0
  29. package/dist/create-agent-benchmark.test.js.map +1 -0
  30. package/dist/diagnosis.d.ts +4 -0
  31. package/dist/diagnosis.d.ts.map +1 -0
  32. package/dist/diagnosis.js +360 -0
  33. package/dist/diagnosis.js.map +1 -0
  34. package/dist/diagnosis.test.d.ts +2 -0
  35. package/dist/diagnosis.test.d.ts.map +1 -0
  36. package/dist/diagnosis.test.js +85 -0
  37. package/dist/diagnosis.test.js.map +1 -0
  38. package/dist/index.d.ts +10 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +10 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/langfuse-scores.d.ts +13 -0
  43. package/dist/langfuse-scores.d.ts.map +1 -0
  44. package/dist/langfuse-scores.js +95 -0
  45. package/dist/langfuse-scores.js.map +1 -0
  46. package/dist/langfuse-scores.test.d.ts +2 -0
  47. package/dist/langfuse-scores.test.d.ts.map +1 -0
  48. package/dist/langfuse-scores.test.js +121 -0
  49. package/dist/langfuse-scores.test.js.map +1 -0
  50. package/dist/loaders/filesystem.d.ts +26 -0
  51. package/dist/loaders/filesystem.d.ts.map +1 -0
  52. package/dist/loaders/filesystem.js +97 -0
  53. package/dist/loaders/filesystem.js.map +1 -0
  54. package/dist/loaders/rudder.d.ts +28 -0
  55. package/dist/loaders/rudder.d.ts.map +1 -0
  56. package/dist/loaders/rudder.js +81 -0
  57. package/dist/loaders/rudder.js.map +1 -0
  58. package/dist/parsers.d.ts +3 -0
  59. package/dist/parsers.d.ts.map +1 -0
  60. package/dist/parsers.js +23 -0
  61. package/dist/parsers.js.map +1 -0
  62. package/dist/trace.d.ts +42 -0
  63. package/dist/trace.d.ts.map +1 -0
  64. package/dist/trace.js +167 -0
  65. package/dist/trace.js.map +1 -0
  66. package/dist/trace.test.d.ts +2 -0
  67. package/dist/trace.test.d.ts.map +1 -0
  68. package/dist/trace.test.js +92 -0
  69. package/dist/trace.test.js.map +1 -0
  70. package/dist/transcript.d.ts +7 -0
  71. package/dist/transcript.d.ts.map +1 -0
  72. package/dist/transcript.js +70 -0
  73. package/dist/transcript.js.map +1 -0
  74. package/dist/types.d.ts +122 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js +2 -0
  77. package/dist/types.js.map +1 -0
  78. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosis.js","sourceRoot":"","sources":["../src/diagnosis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diagnosis.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosis.test.d.ts","sourceRoot":"","sources":["../src/diagnosis.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { diagnoseRun } from "./diagnosis.js";
3
+ import { observedRunFromFilesystem } from "./loaders/rudder.js";
4
+ function makeRun(overrides = {}) {
5
+ return {
6
+ id: "run-1",
7
+ orgId: "org-1",
8
+ agentId: "agent-1",
9
+ invocationSource: "on_demand",
10
+ triggerDetail: "manual",
11
+ status: "failed",
12
+ startedAt: new Date("2026-04-08T10:00:00.000Z"),
13
+ finishedAt: new Date("2026-04-08T10:02:00.000Z"),
14
+ error: "permission denied",
15
+ wakeupRequestId: null,
16
+ exitCode: 1,
17
+ signal: null,
18
+ usageJson: { inputTokens: 42, outputTokens: 12, costUsd: 0.12 },
19
+ resultJson: null,
20
+ sessionIdBefore: null,
21
+ sessionIdAfter: null,
22
+ logStore: "local_file",
23
+ logRef: "run-1.ndjson",
24
+ logBytes: 100,
25
+ logSha256: null,
26
+ logCompressed: false,
27
+ stdoutExcerpt: null,
28
+ stderrExcerpt: "permission denied",
29
+ errorCode: "permission_denied",
30
+ externalRunId: null,
31
+ processPid: null,
32
+ processStartedAt: null,
33
+ retryOfRunId: null,
34
+ processLossRetryCount: 0,
35
+ contextSnapshot: { issueId: "issue-1" },
36
+ createdAt: new Date("2026-04-08T10:00:00.000Z"),
37
+ updatedAt: new Date("2026-04-08T10:02:00.000Z"),
38
+ ...overrides,
39
+ };
40
+ }
41
+ describe("diagnoseRun", () => {
42
+ it("classifies a known error taxonomy", () => {
43
+ const detail = observedRunFromFilesystem({
44
+ run: makeRun(),
45
+ agentName: "Debugger",
46
+ issue: { id: "issue-1", identifier: "RUD-1", title: "Fix the service" },
47
+ bundle: {
48
+ agentRuntimeType: "process",
49
+ agentConfigRevisionId: null,
50
+ agentConfigRevisionCreatedAt: null,
51
+ agentConfigFingerprint: null,
52
+ runtimeConfigFingerprint: null,
53
+ },
54
+ logContent: "",
55
+ });
56
+ const diagnosis = diagnoseRun(detail, "error");
57
+ expect(diagnosis.failureTaxonomy).toBe("permission_denied");
58
+ expect(diagnosis.findings.some((finding) => finding.id === "taxonomy-permission_denied")).toBe(true);
59
+ });
60
+ it("reports performance warnings for very large runs", () => {
61
+ const detail = observedRunFromFilesystem({
62
+ run: makeRun({
63
+ status: "succeeded",
64
+ error: null,
65
+ errorCode: null,
66
+ usageJson: { inputTokens: 700000, outputTokens: 12000, costUsd: 8.5 },
67
+ startedAt: new Date("2026-04-08T10:00:00.000Z"),
68
+ finishedAt: new Date("2026-04-08T10:20:00.000Z"),
69
+ }),
70
+ agentName: "Perf Agent",
71
+ bundle: {
72
+ agentRuntimeType: "process",
73
+ agentConfigRevisionId: null,
74
+ agentConfigRevisionCreatedAt: null,
75
+ agentConfigFingerprint: null,
76
+ runtimeConfigFingerprint: null,
77
+ },
78
+ logContent: "",
79
+ });
80
+ const diagnosis = diagnoseRun(detail, "perf");
81
+ expect(diagnosis.findings.some((finding) => finding.id === "duration-over-10m")).toBe(true);
82
+ expect(diagnosis.findings.some((finding) => finding.id === "very-high-input-tokens")).toBe(true);
83
+ });
84
+ });
85
+ //# sourceMappingURL=diagnosis.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosis.test.js","sourceRoot":"","sources":["../src/diagnosis.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from "./types.js";
2
+ export * from "./transcript.js";
3
+ export * from "./trace.js";
4
+ export * from "./parsers.js";
5
+ export * from "./diagnosis.js";
6
+ export * from "./langfuse-scores.js";
7
+ export * from "./create-agent-benchmark.js";
8
+ export * from "./loaders/rudder.js";
9
+ export * from "./loaders/filesystem.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ export * from "./types.js";
2
+ export * from "./transcript.js";
3
+ export * from "./trace.js";
4
+ export * from "./parsers.js";
5
+ export * from "./diagnosis.js";
6
+ export * from "./langfuse-scores.js";
7
+ export * from "./create-agent-benchmark.js";
8
+ export * from "./loaders/rudder.js";
9
+ export * from "./loaders/filesystem.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ExecutionLangfuseLink } from "@rudderhq/shared";
2
+ import type { ObservedRunDetail, RunDiagnosis } from "./types.js";
3
+ export interface LangfuseScoreDraft {
4
+ name: "run_health" | "failure_taxonomy" | "task_outcome" | "budget_guardrail" | "cost_efficiency" | "human_intervention_required" | "recovery_success";
5
+ value: boolean | number | string;
6
+ comment?: string;
7
+ metadata?: Record<string, unknown>;
8
+ }
9
+ export declare function buildLangfuseRunScores(detail: ObservedRunDetail, diagnosis: RunDiagnosis): LangfuseScoreDraft[];
10
+ export type LangfuseAnnotatedRun = {
11
+ langfuse?: ExecutionLangfuseLink | null;
12
+ };
13
+ //# sourceMappingURL=langfuse-scores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-scores.d.ts","sourceRoot":"","sources":["../src/langfuse-scores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EACA,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,6BAA6B,GAC7B,kBAAkB,CAAC;IACvB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAgDD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,GAAG,kBAAkB,EAAE,CAkD/G;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC,CAAC"}
@@ -0,0 +1,95 @@
1
+ function collectErrorText(detail) {
2
+ return [
3
+ detail.run.error ?? "",
4
+ detail.run.errorCode ?? "",
5
+ detail.run.stderrExcerpt ?? "",
6
+ ...detail.events.map((event) => event.message ?? ""),
7
+ ].join("\n");
8
+ }
9
+ function isBudgetGuardrail(detail) {
10
+ return /budget|hard[-\s]?limit|token burn|auto-pause/i.test(collectErrorText(detail));
11
+ }
12
+ function requiresHumanIntervention(detail, diagnosis) {
13
+ if (detail.run.status === "failed" || detail.run.status === "timed_out")
14
+ return true;
15
+ return diagnosis.findings.some((finding) => finding.severity === "error");
16
+ }
17
+ function resolveTaskOutcome(detail) {
18
+ switch (detail.run.status) {
19
+ case "succeeded":
20
+ return 1;
21
+ case "cancelled":
22
+ return 0;
23
+ case "failed":
24
+ case "timed_out":
25
+ return 0;
26
+ default:
27
+ return 0;
28
+ }
29
+ }
30
+ function resolveCostEfficiency(detail, diagnosis) {
31
+ const costUsd = Number(diagnosis.metrics.costUsd ?? detail.run.usageJson?.costUsd ?? 0);
32
+ if (detail.run.status !== "succeeded")
33
+ return "n/a";
34
+ if (costUsd <= 1)
35
+ return "low";
36
+ if (costUsd <= 5)
37
+ return "medium";
38
+ return "high";
39
+ }
40
+ function resolveRecoverySuccess(detail) {
41
+ const recovery = detail.run.contextSnapshot?.recovery;
42
+ if (!recovery || typeof recovery !== "object")
43
+ return null;
44
+ return detail.run.status === "succeeded";
45
+ }
46
+ export function buildLangfuseRunScores(detail, diagnosis) {
47
+ const scores = [
48
+ {
49
+ name: "run_health",
50
+ value: detail.run.status === "succeeded",
51
+ comment: diagnosis.summary,
52
+ metadata: {
53
+ status: detail.run.status,
54
+ failureTaxonomy: diagnosis.failureTaxonomy,
55
+ },
56
+ },
57
+ {
58
+ name: "failure_taxonomy",
59
+ value: diagnosis.failureTaxonomy,
60
+ comment: detail.run.error ?? diagnosis.summary,
61
+ },
62
+ {
63
+ name: "task_outcome",
64
+ value: resolveTaskOutcome(detail),
65
+ comment: detail.issue?.identifier ?? detail.issue?.title ?? "No linked issue",
66
+ },
67
+ {
68
+ name: "budget_guardrail",
69
+ value: isBudgetGuardrail(detail),
70
+ comment: isBudgetGuardrail(detail) ? "Run was blocked or degraded by budget enforcement." : "No budget guardrail detected.",
71
+ },
72
+ {
73
+ name: "cost_efficiency",
74
+ value: resolveCostEfficiency(detail, diagnosis),
75
+ comment: `costUsd=${Number(diagnosis.metrics.costUsd ?? detail.run.usageJson?.costUsd ?? 0).toFixed(2)}`,
76
+ },
77
+ {
78
+ name: "human_intervention_required",
79
+ value: requiresHumanIntervention(detail, diagnosis),
80
+ comment: requiresHumanIntervention(detail, diagnosis)
81
+ ? "Manual review or follow-up is recommended."
82
+ : "No immediate human intervention signal detected.",
83
+ },
84
+ ];
85
+ const recoverySuccess = resolveRecoverySuccess(detail);
86
+ if (recoverySuccess !== null) {
87
+ scores.push({
88
+ name: "recovery_success",
89
+ value: recoverySuccess,
90
+ comment: recoverySuccess ? "Recovery run completed successfully." : "Recovery run did not complete successfully.",
91
+ });
92
+ }
93
+ return scores;
94
+ }
95
+ //# sourceMappingURL=langfuse-scores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-scores.js","sourceRoot":"","sources":["../src/langfuse-scores.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=langfuse-scores.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-scores.test.d.ts","sourceRoot":"","sources":["../src/langfuse-scores.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { diagnoseRun } from "./diagnosis.js";
3
+ import { buildLangfuseRunScores } from "./langfuse-scores.js";
4
+ import { observedRunFromFilesystem } from "./loaders/rudder.js";
5
+ function makeRun(overrides = {}) {
6
+ return {
7
+ id: "run-1",
8
+ orgId: "org-1",
9
+ agentId: "agent-1",
10
+ invocationSource: "on_demand",
11
+ triggerDetail: "manual",
12
+ status: "failed",
13
+ startedAt: new Date("2026-04-08T10:00:00.000Z"),
14
+ finishedAt: new Date("2026-04-08T10:02:00.000Z"),
15
+ error: "budget hard limit exceeded",
16
+ wakeupRequestId: null,
17
+ exitCode: 1,
18
+ signal: null,
19
+ usageJson: { inputTokens: 42, outputTokens: 12, costUsd: 0.12 },
20
+ resultJson: null,
21
+ sessionIdBefore: null,
22
+ sessionIdAfter: null,
23
+ logStore: "local_file",
24
+ logRef: "run-1.ndjson",
25
+ logBytes: 100,
26
+ logSha256: null,
27
+ logCompressed: false,
28
+ stdoutExcerpt: null,
29
+ stderrExcerpt: "budget hard limit exceeded",
30
+ errorCode: "budget_limit",
31
+ externalRunId: null,
32
+ processPid: null,
33
+ processStartedAt: null,
34
+ retryOfRunId: null,
35
+ processLossRetryCount: 0,
36
+ contextSnapshot: { issueId: "issue-1" },
37
+ createdAt: new Date("2026-04-08T10:00:00.000Z"),
38
+ updatedAt: new Date("2026-04-08T10:02:00.000Z"),
39
+ ...overrides,
40
+ };
41
+ }
42
+ describe("buildLangfuseRunScores", () => {
43
+ it("maps phase-1 score taxonomy from run diagnosis", () => {
44
+ const detail = observedRunFromFilesystem({
45
+ run: makeRun(),
46
+ agentName: "Budget Agent",
47
+ issue: { id: "issue-1", identifier: "RUD-1", title: "Protect the budget" },
48
+ bundle: {
49
+ agentRuntimeType: "process",
50
+ agentConfigRevisionId: null,
51
+ agentConfigRevisionCreatedAt: null,
52
+ agentConfigFingerprint: null,
53
+ runtimeConfigFingerprint: null,
54
+ },
55
+ events: [
56
+ {
57
+ id: 1,
58
+ orgId: "org-1",
59
+ runId: "run-1",
60
+ agentId: "agent-1",
61
+ seq: 1,
62
+ eventType: "error",
63
+ stream: "system",
64
+ level: "error",
65
+ color: null,
66
+ message: "budget hard limit exceeded",
67
+ payload: null,
68
+ createdAt: new Date("2026-04-08T10:02:00.000Z"),
69
+ },
70
+ ],
71
+ logContent: "",
72
+ });
73
+ const diagnosis = diagnoseRun(detail, "error");
74
+ const scores = buildLangfuseRunScores(detail, diagnosis);
75
+ expect(scores.map((score) => score.name)).toEqual([
76
+ "run_health",
77
+ "failure_taxonomy",
78
+ "task_outcome",
79
+ "budget_guardrail",
80
+ "cost_efficiency",
81
+ "human_intervention_required",
82
+ ]);
83
+ expect(scores.find((score) => score.name === "run_health")?.value).toBe(false);
84
+ expect(scores.find((score) => score.name === "budget_guardrail")?.value).toBe(true);
85
+ expect(scores.find((score) => score.name === "human_intervention_required")?.value).toBe(true);
86
+ });
87
+ it("includes recovery_success when a recovery run is present", () => {
88
+ const detail = observedRunFromFilesystem({
89
+ run: makeRun({
90
+ status: "succeeded",
91
+ error: null,
92
+ errorCode: null,
93
+ contextSnapshot: {
94
+ issueId: "issue-1",
95
+ recovery: {
96
+ originalRunId: "run-0",
97
+ failureKind: "adapter_failed",
98
+ failureSummary: "Previous run failed",
99
+ recoveryTrigger: "automatic",
100
+ recoveryMode: "continue_preferred",
101
+ },
102
+ },
103
+ }),
104
+ agentName: "Recovery Agent",
105
+ bundle: {
106
+ agentRuntimeType: "process",
107
+ agentConfigRevisionId: null,
108
+ agentConfigRevisionCreatedAt: null,
109
+ agentConfigFingerprint: null,
110
+ runtimeConfigFingerprint: null,
111
+ },
112
+ logContent: "",
113
+ });
114
+ const diagnosis = diagnoseRun(detail, "auto");
115
+ const scores = buildLangfuseRunScores(detail, diagnosis);
116
+ expect(scores.find((score) => score.name === "recovery_success")).toMatchObject({
117
+ value: true,
118
+ });
119
+ });
120
+ });
121
+ //# sourceMappingURL=langfuse-scores.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse-scores.test.js","sourceRoot":"","sources":["../src/langfuse-scores.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { observedRunFromFilesystem } from "./rudder.js";
2
+ import type { RunDiagnosis, RunDiagnosisMode } from "../types.js";
3
+ export interface FilesystemRunMatch {
4
+ runId: string;
5
+ logPath: string;
6
+ logRef: string;
7
+ orgId: string | null;
8
+ agentId: string | null;
9
+ }
10
+ export declare function findRunLog(dataDir: string, runIdPrefix: string): FilesystemRunMatch | null;
11
+ export declare function loadRunLogContent(logPath: string): string;
12
+ export declare function loadFilesystemRunDetail(input: {
13
+ match: FilesystemRunMatch;
14
+ agentRuntimeType?: string;
15
+ agentName?: string | null;
16
+ }): import("../types.js").ObservedRunDetail;
17
+ export declare function diagnoseFilesystemRun(input: {
18
+ match: FilesystemRunMatch;
19
+ agentRuntimeType?: string;
20
+ agentName?: string | null;
21
+ mode?: RunDiagnosisMode;
22
+ }): {
23
+ detail: ReturnType<typeof observedRunFromFilesystem>;
24
+ diagnosis: RunDiagnosis;
25
+ };
26
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/loaders/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAgC1F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,2CAiDA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAIpF"}
@@ -0,0 +1,97 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { diagnoseRun } from "../diagnosis.js";
4
+ import { observedRunFromFilesystem } from "./rudder.js";
5
+ export function findRunLog(dataDir, runIdPrefix) {
6
+ const prefix = runIdPrefix.toLowerCase();
7
+ const walk = (dir) => {
8
+ if (!fs.existsSync(dir))
9
+ return [];
10
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
11
+ const files = [];
12
+ for (const entry of entries) {
13
+ const fullPath = path.join(dir, entry.name);
14
+ if (entry.isDirectory()) {
15
+ files.push(...walk(fullPath));
16
+ }
17
+ else if (entry.isFile() && entry.name.endsWith(".ndjson")) {
18
+ files.push(fullPath);
19
+ }
20
+ }
21
+ return files;
22
+ };
23
+ for (const filePath of walk(dataDir)) {
24
+ const basename = path.basename(filePath, ".ndjson").toLowerCase();
25
+ if (basename !== prefix && !basename.startsWith(prefix))
26
+ continue;
27
+ const rel = path.relative(dataDir, filePath);
28
+ const segments = rel.split(path.sep);
29
+ return {
30
+ runId: path.basename(filePath, ".ndjson"),
31
+ logPath: filePath,
32
+ logRef: rel,
33
+ orgId: segments[0] ?? null,
34
+ agentId: segments[1] ?? null,
35
+ };
36
+ }
37
+ return null;
38
+ }
39
+ export function loadRunLogContent(logPath) {
40
+ return fs.readFileSync(logPath, "utf8");
41
+ }
42
+ export function loadFilesystemRunDetail(input) {
43
+ const logContent = loadRunLogContent(input.match.logPath);
44
+ const now = new Date();
45
+ const run = {
46
+ id: input.match.runId,
47
+ orgId: input.match.orgId ?? "unknown",
48
+ agentId: input.match.agentId ?? "unknown",
49
+ invocationSource: "on_demand",
50
+ triggerDetail: null,
51
+ status: "running",
52
+ startedAt: now,
53
+ finishedAt: null,
54
+ error: null,
55
+ wakeupRequestId: null,
56
+ exitCode: null,
57
+ signal: null,
58
+ usageJson: null,
59
+ resultJson: null,
60
+ sessionIdBefore: null,
61
+ sessionIdAfter: null,
62
+ logStore: "local_file",
63
+ logRef: input.match.logRef,
64
+ logBytes: Buffer.byteLength(logContent, "utf8"),
65
+ logSha256: null,
66
+ logCompressed: false,
67
+ stdoutExcerpt: null,
68
+ stderrExcerpt: null,
69
+ errorCode: null,
70
+ externalRunId: null,
71
+ processPid: null,
72
+ processStartedAt: null,
73
+ retryOfRunId: null,
74
+ processLossRetryCount: 0,
75
+ contextSnapshot: { agentRuntimeType: input.agentRuntimeType ?? "process" },
76
+ createdAt: now,
77
+ updatedAt: now,
78
+ };
79
+ return observedRunFromFilesystem({
80
+ run,
81
+ agentName: input.agentName ?? input.match.agentId,
82
+ logContent,
83
+ bundle: {
84
+ agentRuntimeType: input.agentRuntimeType ?? "process",
85
+ agentConfigRevisionId: null,
86
+ agentConfigRevisionCreatedAt: null,
87
+ agentConfigFingerprint: null,
88
+ runtimeConfigFingerprint: null,
89
+ },
90
+ });
91
+ }
92
+ export function diagnoseFilesystemRun(input) {
93
+ const detail = loadFilesystemRunDetail(input);
94
+ const diagnosis = diagnoseRun(detail, input.mode ?? "auto");
95
+ return { detail, diagnosis };
96
+ }
97
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/loaders/filesystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { HeartbeatRun, HeartbeatRunEvent } from "@rudderhq/shared";
2
+ import type { ObservedRunDetail, RunDiagnosis, RunDiagnosisMode, RunExportRow } from "../types.js";
3
+ export declare function listOrganizations(apiBaseUrl: string): Promise<Array<{
4
+ id: string;
5
+ name: string;
6
+ }>>;
7
+ export declare function listObservedRuns(apiBaseUrl: string, orgId: string, params?: URLSearchParams): Promise<RunExportRow[]>;
8
+ export declare function getObservedRun(apiBaseUrl: string, runId: string): Promise<RunExportRow>;
9
+ export declare function getRunEvents(apiBaseUrl: string, runId: string): Promise<HeartbeatRunEvent[]>;
10
+ export declare function getRunLog(apiBaseUrl: string, runId: string): Promise<{
11
+ content: string;
12
+ }>;
13
+ export declare function findObservedRunByPrefix(apiBaseUrl: string, runIdPrefix: string): Promise<RunExportRow | null>;
14
+ export declare function loadObservedRunDetail(apiBaseUrl: string, runId: string): Promise<ObservedRunDetail>;
15
+ export declare function diagnoseObservedRun(apiBaseUrl: string, runId: string, mode?: RunDiagnosisMode): Promise<{
16
+ detail: ObservedRunDetail;
17
+ diagnosis: RunDiagnosis;
18
+ }>;
19
+ export declare function observedRunFromFilesystem(input: {
20
+ run: HeartbeatRun;
21
+ agentName: string | null;
22
+ orgName?: string | null;
23
+ issue?: RunExportRow["issue"];
24
+ bundle?: RunExportRow["bundle"];
25
+ events?: HeartbeatRunEvent[];
26
+ logContent?: string | null;
27
+ }): ObservedRunDetail;
28
+ //# sourceMappingURL=rudder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rudder.d.ts","sourceRoot":"","sources":["../../src/loaders/rudder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUnG,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAExG;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,YAAY,EAAE,CAAC,CAGzB;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAE7F;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAElG;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAE/F;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CASnH;AAED,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAezG;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,gBAAyB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,CAIjE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,GAAG,EAAE,YAAY,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,iBAAiB,CAsBpB"}