@urateam/core 0.1.50 → 0.1.51
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.
- package/dist/__tests__/agentic-deep-review-provider.test.js +6 -1
- package/dist/__tests__/agentic-deep-review-provider.test.js.map +1 -1
- package/dist/__tests__/audit-session-events.test.d.ts +2 -0
- package/dist/__tests__/audit-session-events.test.d.ts.map +1 -0
- package/dist/__tests__/audit-session-events.test.js +39 -0
- package/dist/__tests__/audit-session-events.test.js.map +1 -0
- package/dist/__tests__/db-migration-agent-session-id.test.d.ts +2 -0
- package/dist/__tests__/db-migration-agent-session-id.test.d.ts.map +1 -0
- package/dist/__tests__/db-migration-agent-session-id.test.js +35 -0
- package/dist/__tests__/db-migration-agent-session-id.test.js.map +1 -0
- package/dist/__tests__/deep-review-resume.test.d.ts +18 -0
- package/dist/__tests__/deep-review-resume.test.d.ts.map +1 -0
- package/dist/__tests__/deep-review-resume.test.js +90 -0
- package/dist/__tests__/deep-review-resume.test.js.map +1 -0
- package/dist/__tests__/execute-stage-session-opts.test.d.ts +17 -0
- package/dist/__tests__/execute-stage-session-opts.test.d.ts.map +1 -0
- package/dist/__tests__/execute-stage-session-opts.test.js +179 -0
- package/dist/__tests__/execute-stage-session-opts.test.js.map +1 -0
- package/dist/__tests__/ralph-handoff-suppression.test.d.ts +2 -0
- package/dist/__tests__/ralph-handoff-suppression.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-handoff-suppression.test.js +37 -0
- package/dist/__tests__/ralph-handoff-suppression.test.js.map +1 -0
- package/dist/__tests__/session-policy.test.d.ts +2 -0
- package/dist/__tests__/session-policy.test.d.ts.map +1 -0
- package/dist/__tests__/session-policy.test.js +44 -0
- package/dist/__tests__/session-policy.test.js.map +1 -0
- package/dist/__tests__/session-resume-fallback.test.d.ts +18 -0
- package/dist/__tests__/session-resume-fallback.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-fallback.test.js +137 -0
- package/dist/__tests__/session-resume-fallback.test.js.map +1 -0
- package/dist/__tests__/session-resume-flag.test.d.ts +2 -0
- package/dist/__tests__/session-resume-flag.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-flag.test.js +87 -0
- package/dist/__tests__/session-resume-flag.test.js.map +1 -0
- package/dist/__tests__/session-store.test.d.ts +2 -0
- package/dist/__tests__/session-store.test.d.ts.map +1 -0
- package/dist/__tests__/session-store.test.js +44 -0
- package/dist/__tests__/session-store.test.js.map +1 -0
- package/dist/__tests__/session-volume-check.test.d.ts +2 -0
- package/dist/__tests__/session-volume-check.test.d.ts.map +1 -0
- package/dist/__tests__/session-volume-check.test.js +28 -0
- package/dist/__tests__/session-volume-check.test.js.map +1 -0
- package/dist/__tests__/validate-run-mode.test.d.ts +2 -0
- package/dist/__tests__/validate-run-mode.test.d.ts.map +1 -0
- package/dist/__tests__/validate-run-mode.test.js +102 -0
- package/dist/__tests__/validate-run-mode.test.js.map +1 -0
- package/dist/__tests__/zombie-age-default.test.d.ts +2 -0
- package/dist/__tests__/zombie-age-default.test.d.ts.map +1 -0
- package/dist/__tests__/zombie-age-default.test.js +24 -0
- package/dist/__tests__/zombie-age-default.test.js.map +1 -0
- package/dist/audit/events.d.ts +45 -0
- package/dist/audit/events.d.ts.map +1 -1
- package/dist/audit/events.js +79 -0
- package/dist/audit/events.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +4 -1
- package/dist/db/client.js.map +1 -1
- package/dist/db/schema.d.ts +19 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +2 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/executor/deep-review.d.ts +28 -1
- package/dist/executor/deep-review.d.ts.map +1 -1
- package/dist/executor/deep-review.js +113 -9
- package/dist/executor/deep-review.js.map +1 -1
- package/dist/executor/executor.d.ts +33 -0
- package/dist/executor/executor.d.ts.map +1 -1
- package/dist/executor/executor.js +94 -4
- package/dist/executor/executor.js.map +1 -1
- package/dist/executor/index.d.ts +7 -0
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +7 -0
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/prompt/assembler.d.ts +7 -1
- package/dist/executor/prompt/assembler.d.ts.map +1 -1
- package/dist/executor/prompt/assembler.js +9 -3
- package/dist/executor/prompt/assembler.js.map +1 -1
- package/dist/executor/prompt/templates.d.ts +25 -6
- package/dist/executor/prompt/templates.d.ts.map +1 -1
- package/dist/executor/prompt/templates.js +21 -12
- package/dist/executor/prompt/templates.js.map +1 -1
- package/dist/executor/review/agentic-deep-review.d.ts.map +1 -1
- package/dist/executor/review/agentic-deep-review.js +15 -1
- package/dist/executor/review/agentic-deep-review.js.map +1 -1
- package/dist/executor/review/review-provider.d.ts +21 -0
- package/dist/executor/review/review-provider.d.ts.map +1 -1
- package/dist/executor/review/review-provider.js.map +1 -1
- package/dist/executor/session-policy.d.ts +38 -0
- package/dist/executor/session-policy.d.ts.map +1 -0
- package/dist/executor/session-policy.js +66 -0
- package/dist/executor/session-policy.js.map +1 -0
- package/dist/executor/session-store.d.ts +32 -0
- package/dist/executor/session-store.d.ts.map +1 -0
- package/dist/executor/session-store.js +38 -0
- package/dist/executor/session-store.js.map +1 -0
- package/dist/executor/validate.d.ts +20 -1
- package/dist/executor/validate.d.ts.map +1 -1
- package/dist/executor/validate.js +16 -1
- package/dist/executor/validate.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +139 -6
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/session-volume-check.d.ts +38 -0
- package/dist/pipeline/session-volume-check.d.ts.map +1 -0
- package/dist/pipeline/session-volume-check.js +45 -0
- package/dist/pipeline/session-volume-check.js.map +1 -0
- package/dist/pm/scheduler.d.ts +14 -0
- package/dist/pm/scheduler.d.ts.map +1 -1
- package/dist/pm/scheduler.js +9 -5
- package/dist/pm/scheduler.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +16 -0
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +19 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for BEC-227 — Task 7:
|
|
3
|
+
* JSONL-exists pre-check on the resume path of `executeStage()`.
|
|
4
|
+
*
|
|
5
|
+
* Scenario covered:
|
|
6
|
+
* - When `agentSessionId` is set and `isFirstResumableStage=false` BUT the
|
|
7
|
+
* SDK transcript JSONL file does NOT exist on disk for the (cwd, sessionId)
|
|
8
|
+
* tuple, the executor must:
|
|
9
|
+
* 1. Drop the resume option (call shape is fresh: no `sessionId`, no `resume`)
|
|
10
|
+
* 2. Emit the `pipeline.agent_session_missing_fallback` audit event with
|
|
11
|
+
* `reason: "jsonl-not-found"`
|
|
12
|
+
* 3. Log a warning
|
|
13
|
+
*
|
|
14
|
+
* The SDK `query` and `logAuditEvent` are mocked, and `transcriptExists` is
|
|
15
|
+
* forced to return `false` so this test does not depend on the host filesystem.
|
|
16
|
+
*/
|
|
17
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
18
|
+
// ── Module mocks (declared before imports) ────────────────────────────────────
|
|
19
|
+
vi.mock("@anthropic-ai/claude-agent-sdk", () => ({
|
|
20
|
+
query: vi.fn(),
|
|
21
|
+
}));
|
|
22
|
+
vi.mock("../executor/auth-check.js", () => ({
|
|
23
|
+
isClaudeAuthValid: vi.fn().mockResolvedValue(true),
|
|
24
|
+
resolveClaudeAuth: vi.fn().mockReturnValue({ method: "session" }),
|
|
25
|
+
}));
|
|
26
|
+
vi.mock("../executor/extract-handoff.js", () => ({
|
|
27
|
+
extractHandoff: vi.fn().mockResolvedValue({
|
|
28
|
+
artifact: {
|
|
29
|
+
runId: "run-bec227-t7",
|
|
30
|
+
issueId: "BEC-227",
|
|
31
|
+
stage: "implement",
|
|
32
|
+
timestamp: new Date().toISOString(),
|
|
33
|
+
summary: "Stub handoff",
|
|
34
|
+
filesChanged: [],
|
|
35
|
+
approach: "Stub",
|
|
36
|
+
context: { issueIntent: "x", constraints: [], assumptions: [] },
|
|
37
|
+
tokenBudget: { contextTokensUsed: 0, recommendedMaxTurns: 1 },
|
|
38
|
+
},
|
|
39
|
+
structured: true,
|
|
40
|
+
}),
|
|
41
|
+
}));
|
|
42
|
+
vi.mock("../executor/session-store.js", async () => {
|
|
43
|
+
const real = await vi.importActual("../executor/session-store.js");
|
|
44
|
+
return {
|
|
45
|
+
...real,
|
|
46
|
+
// Force the transcript-not-found path so the fallback branch fires.
|
|
47
|
+
transcriptExists: vi.fn().mockReturnValue(false),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const { logAuditEventMock } = vi.hoisted(() => ({
|
|
51
|
+
logAuditEventMock: vi.fn().mockResolvedValue(undefined),
|
|
52
|
+
}));
|
|
53
|
+
vi.mock("../audit/writer.js", async () => {
|
|
54
|
+
const real = await vi.importActual("../audit/writer.js");
|
|
55
|
+
return {
|
|
56
|
+
...real,
|
|
57
|
+
logAuditEvent: logAuditEventMock,
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
// ── Imports ───────────────────────────────────────────────────────────────────
|
|
61
|
+
import { executeStage } from "../executor/executor.js";
|
|
62
|
+
import { createDb } from "../db/client.js";
|
|
63
|
+
import { pipelineRuns } from "../db/schema.js";
|
|
64
|
+
// ── Fixtures ──────────────────────────────────────────────────────────────────
|
|
65
|
+
const testIssue = {
|
|
66
|
+
id: "BEC-227",
|
|
67
|
+
slug: "agent-session-continuity",
|
|
68
|
+
title: "Agent session continuity Phase 1",
|
|
69
|
+
description: "Resume fallback when JSONL is missing",
|
|
70
|
+
acceptanceCriteria: ["fallback to fresh session on missing JSONL"],
|
|
71
|
+
labels: ["auto-implement"],
|
|
72
|
+
priority: 4,
|
|
73
|
+
};
|
|
74
|
+
const testRepoConfig = {
|
|
75
|
+
url: "https://github.com/test-org/test-repo",
|
|
76
|
+
defaultBranch: "main",
|
|
77
|
+
testCommand: "echo ok",
|
|
78
|
+
buildCommand: "echo ok",
|
|
79
|
+
};
|
|
80
|
+
async function seedPipelineRun(db, runId) {
|
|
81
|
+
await db.insert(pipelineRuns).values({
|
|
82
|
+
id: runId,
|
|
83
|
+
issueId: testIssue.id,
|
|
84
|
+
issueTitle: testIssue.title,
|
|
85
|
+
pipelineKey: "auto-implement",
|
|
86
|
+
repoUrl: testRepoConfig.url,
|
|
87
|
+
branch: `agent/${runId}`,
|
|
88
|
+
status: "running",
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function makeMinimalStream() {
|
|
92
|
+
return (async function* () {
|
|
93
|
+
yield {
|
|
94
|
+
type: "assistant",
|
|
95
|
+
content: [{ type: "text", text: "done" }],
|
|
96
|
+
};
|
|
97
|
+
})();
|
|
98
|
+
}
|
|
99
|
+
// ── Tests ─────────────────────────────────────────────────────────────────────
|
|
100
|
+
describe("executeStage — session resume fallback (BEC-227, Task 7)", () => {
|
|
101
|
+
let db;
|
|
102
|
+
beforeEach(async () => {
|
|
103
|
+
db = await createDb({ connectionString: ":memory:" });
|
|
104
|
+
vi.clearAllMocks();
|
|
105
|
+
logAuditEventMock.mockClear();
|
|
106
|
+
logAuditEventMock.mockResolvedValue(undefined);
|
|
107
|
+
});
|
|
108
|
+
it("transcript missing → falls back to fresh session and emits missing_fallback audit event", async () => {
|
|
109
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
110
|
+
query.mockReturnValue(makeMinimalStream());
|
|
111
|
+
await seedPipelineRun(db, "run-fallback-t7");
|
|
112
|
+
await executeStage({
|
|
113
|
+
runId: "run-fallback-t7",
|
|
114
|
+
issueId: testIssue.id,
|
|
115
|
+
stage: "implement",
|
|
116
|
+
sanitizedIssue: testIssue,
|
|
117
|
+
repoConfig: testRepoConfig,
|
|
118
|
+
workdir: "/nonexistent/path/bec227-t7",
|
|
119
|
+
db,
|
|
120
|
+
agentSessionId: "uuid-nonexistent",
|
|
121
|
+
isFirstResumableStage: false,
|
|
122
|
+
});
|
|
123
|
+
// SDK call shape: no resume, no sessionId (fresh)
|
|
124
|
+
expect(query).toHaveBeenCalledOnce();
|
|
125
|
+
const opts = query.mock.calls[0][0].options;
|
|
126
|
+
expect(opts.resume).toBeUndefined();
|
|
127
|
+
expect(opts.sessionId).toBeUndefined();
|
|
128
|
+
// Audit event emitted with jsonl-not-found reason
|
|
129
|
+
const fallbackCall = logAuditEventMock.mock.calls.find((call) => call[1]?.eventType === "pipeline.agent_session_missing_fallback");
|
|
130
|
+
expect(fallbackCall).toBeDefined();
|
|
131
|
+
expect(fallbackCall[1].payload.reason).toBe("jsonl-not-found");
|
|
132
|
+
expect(fallbackCall[1].payload.sessionId).toBe("uuid-nonexistent");
|
|
133
|
+
expect(fallbackCall[1].payload.runId).toBe("run-fallback-t7");
|
|
134
|
+
expect(fallbackCall[1].payload.issueId).toBe(testIssue.id);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=session-resume-fallback.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-resume-fallback.test.js","sourceRoot":"","sources":["../../src/__tests__/session-resume-fallback.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-resume-flag.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session-resume-flag.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import { eq } from "drizzle-orm";
|
|
3
|
+
import { createDb } from "../db/client.js";
|
|
4
|
+
import { pipelineRuns } from "../db/schema.js";
|
|
5
|
+
/**
|
|
6
|
+
* BEC-227 — Task 5 verification.
|
|
7
|
+
*
|
|
8
|
+
* `runner.start()` mints an `agent_session_id` UUID and persists it on the
|
|
9
|
+
* `pipeline_runs` row when `URATEAM_ENABLE_AGENT_SESSION_RESUME=true`. This
|
|
10
|
+
* test simulates the row state directly (rather than invoking `start()`
|
|
11
|
+
* which requires reconstructing 6 positional params + a queue + executor)
|
|
12
|
+
* and asserts the column behaviour — the runner-level integration is
|
|
13
|
+
* verified by typecheck + existing pipeline tests.
|
|
14
|
+
*/
|
|
15
|
+
describe("agent_session_id minting (BEC-227)", () => {
|
|
16
|
+
let originalEnv;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
originalEnv = process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
|
|
19
|
+
});
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
if (originalEnv === undefined) {
|
|
22
|
+
delete process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME = originalEnv;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
it("flag on → mints UUID and persists on pipeline_runs row", async () => {
|
|
29
|
+
process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME = "true";
|
|
30
|
+
const db = await createDb({ driver: "sqlite", connectionString: ":memory:" });
|
|
31
|
+
const runId = "test-run-with-session";
|
|
32
|
+
await db.insert(pipelineRuns).values({
|
|
33
|
+
id: runId,
|
|
34
|
+
issueId: "BEC-227",
|
|
35
|
+
issueTitle: "test",
|
|
36
|
+
repoUrl: "https://example.com/repo",
|
|
37
|
+
pipelineKey: "auto-implement",
|
|
38
|
+
status: "queued",
|
|
39
|
+
startedAt: new Date(),
|
|
40
|
+
agentSessionId: "expected-uuid", // simulate what start() writes
|
|
41
|
+
});
|
|
42
|
+
const [row] = await db
|
|
43
|
+
.select()
|
|
44
|
+
.from(pipelineRuns)
|
|
45
|
+
.where(eq(pipelineRuns.id, runId));
|
|
46
|
+
expect(row.agentSessionId).toBe("expected-uuid");
|
|
47
|
+
});
|
|
48
|
+
it("flag off → agentSessionId stays null", async () => {
|
|
49
|
+
delete process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
|
|
50
|
+
const db = await createDb({ driver: "sqlite", connectionString: ":memory:" });
|
|
51
|
+
const runId = "test-run-legacy";
|
|
52
|
+
await db.insert(pipelineRuns).values({
|
|
53
|
+
id: runId,
|
|
54
|
+
issueId: "BEC-227",
|
|
55
|
+
issueTitle: "test",
|
|
56
|
+
repoUrl: "https://example.com/repo",
|
|
57
|
+
pipelineKey: "auto-implement",
|
|
58
|
+
status: "queued",
|
|
59
|
+
startedAt: new Date(),
|
|
60
|
+
});
|
|
61
|
+
const [row] = await db
|
|
62
|
+
.select()
|
|
63
|
+
.from(pipelineRuns)
|
|
64
|
+
.where(eq(pipelineRuns.id, runId));
|
|
65
|
+
expect(row.agentSessionId).toBeNull();
|
|
66
|
+
});
|
|
67
|
+
it("isAgentSessionResumeEnabled reads env at call time (strict equality 'true')", async () => {
|
|
68
|
+
const { isAgentSessionResumeEnabled } = await import("../executor/session-policy.js");
|
|
69
|
+
expect(isAgentSessionResumeEnabled({
|
|
70
|
+
URATEAM_ENABLE_AGENT_SESSION_RESUME: "true",
|
|
71
|
+
})).toBe(true);
|
|
72
|
+
expect(isAgentSessionResumeEnabled({
|
|
73
|
+
URATEAM_ENABLE_AGENT_SESSION_RESUME: "1",
|
|
74
|
+
})).toBe(false);
|
|
75
|
+
expect(isAgentSessionResumeEnabled({
|
|
76
|
+
URATEAM_ENABLE_AGENT_SESSION_RESUME: "yes",
|
|
77
|
+
})).toBe(false);
|
|
78
|
+
expect(isAgentSessionResumeEnabled({
|
|
79
|
+
URATEAM_ENABLE_AGENT_SESSION_RESUME: "TRUE",
|
|
80
|
+
})).toBe(false);
|
|
81
|
+
expect(isAgentSessionResumeEnabled({
|
|
82
|
+
URATEAM_ENABLE_AGENT_SESSION_RESUME: "",
|
|
83
|
+
})).toBe(false);
|
|
84
|
+
expect(isAgentSessionResumeEnabled({})).toBe(false);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=session-resume-flag.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-resume-flag.test.js","sourceRoot":"","sources":["../../src/__tests__/session-resume-flag.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session-store.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync, mkdirSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { transcriptPath, transcriptExists } from "../executor/session-store.js";
|
|
6
|
+
let tmpRoot;
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
tmpRoot = mkdtempSync(join(tmpdir(), "urateam-session-store-test-"));
|
|
9
|
+
});
|
|
10
|
+
afterEach(() => {
|
|
11
|
+
rmSync(tmpRoot, { recursive: true, force: true });
|
|
12
|
+
});
|
|
13
|
+
describe("session-store (BEC-227)", () => {
|
|
14
|
+
it("transcriptPath builds the expected per-cwd / per-session path", () => {
|
|
15
|
+
const p = transcriptPath({
|
|
16
|
+
projectsRoot: tmpRoot,
|
|
17
|
+
cwd: "/home/ura/data/runs/abc/worktree",
|
|
18
|
+
sessionId: "uuid-1",
|
|
19
|
+
});
|
|
20
|
+
// Per SDK convention: projectsRoot / <encoded-cwd> / <sessionId>.jsonl
|
|
21
|
+
expect(p).toMatch(/uuid-1\.jsonl$/);
|
|
22
|
+
expect(p).toContain(tmpRoot);
|
|
23
|
+
});
|
|
24
|
+
it("transcriptExists returns true when the JSONL file is present", () => {
|
|
25
|
+
const dir = join(tmpRoot, "encoded-cwd");
|
|
26
|
+
mkdirSync(dir, { recursive: true });
|
|
27
|
+
writeFileSync(join(dir, "uuid-1.jsonl"), '{"message":"hi"}\n');
|
|
28
|
+
const exists = transcriptExists({
|
|
29
|
+
projectsRoot: tmpRoot,
|
|
30
|
+
cwd: "/encoded-cwd",
|
|
31
|
+
sessionId: "uuid-1",
|
|
32
|
+
});
|
|
33
|
+
expect(exists).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
it("transcriptExists returns false when missing", () => {
|
|
36
|
+
const exists = transcriptExists({
|
|
37
|
+
projectsRoot: tmpRoot,
|
|
38
|
+
cwd: "/nonexistent",
|
|
39
|
+
sessionId: "uuid-missing",
|
|
40
|
+
});
|
|
41
|
+
expect(exists).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=session-store.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store.test.js","sourceRoot":"","sources":["../../src/__tests__/session-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAM,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAc,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhF,IAAI,OAAe,CAAC;AAEpB,UAAU,CAAC,GAAG,EAAE;IACd,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,cAAc,CAAC;YACvB,YAAY,EAAE,OAAO;YACrB,GAAG,EAAE,kCAAkC;YACvC,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,uEAAuE;QACvE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACzC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,YAAY,EAAE,OAAO;YACrB,GAAG,EAAE,cAAc;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,YAAY,EAAE,OAAO;YACrB,GAAG,EAAE,cAAc;YACnB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-volume-check.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session-volume-check.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import { mkdtempSync, rmSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { checkSessionVolume } from "../pipeline/session-volume-check.js";
|
|
6
|
+
let dir;
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
dir = mkdtempSync(join(tmpdir(), "vol-check-"));
|
|
9
|
+
});
|
|
10
|
+
afterEach(() => {
|
|
11
|
+
rmSync(dir, { recursive: true, force: true });
|
|
12
|
+
});
|
|
13
|
+
describe("checkSessionVolume (BEC-227)", () => {
|
|
14
|
+
it("writeable persistent dir → returns ok", () => {
|
|
15
|
+
const result = checkSessionVolume({ projectsDir: dir });
|
|
16
|
+
expect(result.ok).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
it("nonexistent dir → returns not-found", () => {
|
|
19
|
+
const result = checkSessionVolume({
|
|
20
|
+
projectsDir: "/totally/not/a/real/path/asdf",
|
|
21
|
+
});
|
|
22
|
+
expect(result.ok).toBe(false);
|
|
23
|
+
if (!result.ok) {
|
|
24
|
+
expect(result.reason).toBe("not-found");
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=session-volume-check.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-volume-check.test.js","sourceRoot":"","sources":["../../src/__tests__/session-volume-check.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,IAAI,GAAW,CAAC;AAChB,UAAU,CAAC,GAAG,EAAE;IACd,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,WAAW,EAAE,+BAA+B;SAC7C,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-run-mode.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/validate-run-mode.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
// Mock the Agent SDK before importing the module under test so that any
|
|
3
|
+
// "fallback" / "first-resumed" path that would otherwise invoke the Haiku
|
|
4
|
+
// validator stays hermetic.
|
|
5
|
+
vi.mock("@anthropic-ai/claude-agent-sdk", () => ({
|
|
6
|
+
query: vi.fn(),
|
|
7
|
+
}));
|
|
8
|
+
import { validateHandoff } from "../executor/validate.js";
|
|
9
|
+
const issue = {
|
|
10
|
+
id: "BEC-227",
|
|
11
|
+
slug: "test-issue",
|
|
12
|
+
title: "Test issue",
|
|
13
|
+
description: "A test issue for validation runMode",
|
|
14
|
+
acceptanceCriteria: ["Tests pass"],
|
|
15
|
+
labels: ["bug"],
|
|
16
|
+
priority: 2,
|
|
17
|
+
};
|
|
18
|
+
const repo = {
|
|
19
|
+
url: "https://github.com/org/repo",
|
|
20
|
+
defaultBranch: "main",
|
|
21
|
+
testCommand: "pnpm test",
|
|
22
|
+
buildCommand: "pnpm build",
|
|
23
|
+
};
|
|
24
|
+
function makeHandoff(overrides) {
|
|
25
|
+
return {
|
|
26
|
+
runId: "run-1",
|
|
27
|
+
issueId: "BEC-227",
|
|
28
|
+
stage: "implement",
|
|
29
|
+
timestamp: new Date().toISOString(),
|
|
30
|
+
summary: "Implemented the feature",
|
|
31
|
+
filesChanged: ["src/index.ts"],
|
|
32
|
+
approach: "Added a new function",
|
|
33
|
+
context: {
|
|
34
|
+
issueIntent: "Add feature",
|
|
35
|
+
constraints: [],
|
|
36
|
+
assumptions: [],
|
|
37
|
+
},
|
|
38
|
+
tokenBudget: {
|
|
39
|
+
contextTokensUsed: 1000,
|
|
40
|
+
recommendedMaxTurns: 10,
|
|
41
|
+
},
|
|
42
|
+
...overrides,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function makeHandoffResult(structured, overrides) {
|
|
46
|
+
return {
|
|
47
|
+
artifact: makeHandoff(overrides),
|
|
48
|
+
structured,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
describe("validate.ts runMode (BEC-227)", () => {
|
|
52
|
+
beforeEach(async () => {
|
|
53
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
54
|
+
query.mockClear();
|
|
55
|
+
});
|
|
56
|
+
it("runMode='resumed' → skip validation, return valid+skipped without invoking agent", async () => {
|
|
57
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
58
|
+
const querySpy = query;
|
|
59
|
+
// Use blank summary + empty filesChanged so the existing fast-path bypass
|
|
60
|
+
// would NOT trigger — only the runMode='resumed' branch can return early.
|
|
61
|
+
const result = await validateHandoff("implement", makeHandoffResult(true, { filesChanged: [], summary: "" }), issue, repo, "/tmp/test", "resumed");
|
|
62
|
+
expect(result.valid).toBe(true);
|
|
63
|
+
expect(result.skipped).toBe(true);
|
|
64
|
+
expect(result.reason).toContain("resumed");
|
|
65
|
+
// Agent must NOT have been called.
|
|
66
|
+
expect(querySpy).not.toHaveBeenCalled();
|
|
67
|
+
});
|
|
68
|
+
it("runMode='first-resumed' → validate as before (heuristic fast-path still applies)", async () => {
|
|
69
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
70
|
+
const querySpy = query;
|
|
71
|
+
// Default fixture has filesChanged AND summary so the existing heuristic
|
|
72
|
+
// fast-path returns valid without the runMode='resumed' skip path running.
|
|
73
|
+
const result = await validateHandoff("implement", makeHandoffResult(true), issue, repo, "/tmp/test", "first-resumed");
|
|
74
|
+
expect(result.valid).toBe(true);
|
|
75
|
+
// skipped flag is only set by the runMode='resumed' branch — heuristic
|
|
76
|
+
// bypass leaves it undefined / falsy.
|
|
77
|
+
expect(result.skipped).toBeFalsy();
|
|
78
|
+
expect(querySpy).not.toHaveBeenCalled();
|
|
79
|
+
});
|
|
80
|
+
it("runMode='fallback' → validate as before (invokes agent when heuristic fails)", async () => {
|
|
81
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
82
|
+
const querySpy = query;
|
|
83
|
+
querySpy.mockReturnValue((async function* () {
|
|
84
|
+
yield {
|
|
85
|
+
type: "assistant",
|
|
86
|
+
content: [
|
|
87
|
+
{
|
|
88
|
+
type: "text",
|
|
89
|
+
text: '```json\n{"valid": true, "issues": []}\n```',
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
};
|
|
93
|
+
})());
|
|
94
|
+
// Empty filesChanged so heuristic fails and agent IS called — this proves
|
|
95
|
+
// 'fallback' is NOT short-circuited by the runMode skip path.
|
|
96
|
+
const result = await validateHandoff("implement", makeHandoffResult(true, { filesChanged: [] }), issue, repo, "/tmp/test", "fallback");
|
|
97
|
+
expect(result.valid).toBe(true);
|
|
98
|
+
expect(result.skipped).toBeFalsy();
|
|
99
|
+
expect(querySpy).toHaveBeenCalledTimes(1);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=validate-run-mode.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-run-mode.test.js","sourceRoot":"","sources":["../../src/__tests__/validate-run-mode.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zombie-age-default.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/zombie-age-default.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { parseStuckRunAgeMinutes } from "../pm/scheduler.js";
|
|
3
|
+
describe("PM_AGENT_STUCK_RUN_AGE_MIN default (BEC-227 / BEC-184 tuning)", () => {
|
|
4
|
+
it("default is 120 minutes when env unset", () => {
|
|
5
|
+
expect(parseStuckRunAgeMinutes(undefined)).toBe(120);
|
|
6
|
+
});
|
|
7
|
+
it("default is 120 minutes for invalid string", () => {
|
|
8
|
+
expect(parseStuckRunAgeMinutes("not-a-number")).toBe(120);
|
|
9
|
+
});
|
|
10
|
+
it("default is 120 minutes for empty string", () => {
|
|
11
|
+
expect(parseStuckRunAgeMinutes("")).toBe(120);
|
|
12
|
+
});
|
|
13
|
+
it("env override still respected (valid integer)", () => {
|
|
14
|
+
expect(parseStuckRunAgeMinutes("90")).toBe(90);
|
|
15
|
+
});
|
|
16
|
+
it("clamps zero/negative to 1 minute (mis-config guard)", () => {
|
|
17
|
+
expect(parseStuckRunAgeMinutes("0")).toBe(1);
|
|
18
|
+
expect(parseStuckRunAgeMinutes("-5")).toBe(1);
|
|
19
|
+
});
|
|
20
|
+
it("large values pass through", () => {
|
|
21
|
+
expect(parseStuckRunAgeMinutes("1440")).toBe(1440);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=zombie-age-default.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zombie-age-default.test.js","sourceRoot":"","sources":["../../src/__tests__/zombie-age-default.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/audit/events.d.ts
CHANGED
|
@@ -362,6 +362,51 @@ export declare function pipelineSpecVsImplFailedEvent(args: {
|
|
|
362
362
|
promisedSymbol: string;
|
|
363
363
|
}>;
|
|
364
364
|
}): AuditEvent;
|
|
365
|
+
/**
|
|
366
|
+
* BEC-227 — a fresh per-run Agent SDK session was created on the first
|
|
367
|
+
* resumable stage. The `sessionId` is the UUID the SDK generates on the
|
|
368
|
+
* first `query()` call; downstream stages reuse it via `resume:`.
|
|
369
|
+
*/
|
|
370
|
+
export declare function agentSessionCreatedEvent(args: {
|
|
371
|
+
runId: string;
|
|
372
|
+
issueId: string;
|
|
373
|
+
sessionId: string;
|
|
374
|
+
}): AuditEvent;
|
|
375
|
+
/**
|
|
376
|
+
* BEC-227 — a downstream stage resumed the per-run SDK session. Payload
|
|
377
|
+
* carries the stage name and the prior message count read from the
|
|
378
|
+
* session JSONL transcript so operators can see how much context was
|
|
379
|
+
* inherited from earlier stages.
|
|
380
|
+
*/
|
|
381
|
+
export declare function agentSessionResumedEvent(args: {
|
|
382
|
+
runId: string;
|
|
383
|
+
issueId: string;
|
|
384
|
+
sessionId: string;
|
|
385
|
+
stage: string;
|
|
386
|
+
priorMessageCount: number;
|
|
387
|
+
}): AuditEvent;
|
|
388
|
+
/**
|
|
389
|
+
* BEC-227 — a stage attempted to resume the per-run session but the
|
|
390
|
+
* underlying JSONL was missing, unreadable, or the SDK rejected the resume.
|
|
391
|
+
* The runner fell back to a fresh session for this stage. `reason` captures
|
|
392
|
+
* the failure mode so operators can spot tmpfs-loss / parse-error patterns.
|
|
393
|
+
*/
|
|
394
|
+
export declare function agentSessionMissingFallbackEvent(args: {
|
|
395
|
+
runId: string;
|
|
396
|
+
issueId: string;
|
|
397
|
+
sessionId: string;
|
|
398
|
+
reason: "jsonl-not-found" | "jsonl-parse-error" | "sdk-resume-error";
|
|
399
|
+
}): AuditEvent;
|
|
400
|
+
/**
|
|
401
|
+
* BEC-227 — emitted at boot when the session-volume check finds
|
|
402
|
+
* `~/.claude/projects` on tmpfs, missing, or unwritable. Session JSONLs
|
|
403
|
+
* won't survive container restarts in any of these cases, so the operator
|
|
404
|
+
* must remount before resume becomes reliable.
|
|
405
|
+
*/
|
|
406
|
+
export declare function systemSessionVolumeWarningEvent(args: {
|
|
407
|
+
projectsDir: string;
|
|
408
|
+
reason: "tmpfs" | "write-test-failed" | "not-found";
|
|
409
|
+
}): AuditEvent;
|
|
365
410
|
/**
|
|
366
411
|
* Tier 6e — emitted after each successful push. Records how closely triage
|
|
367
412
|
* v2's `affectedFiles` prediction matched the actual changed files in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/audit/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/audit/events.ts"],"names":[],"mappings":"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"}
|