@claudexor/event-log 3.1.2 → 3.3.7-rc.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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,20 @@
1
1
  import type { RunEvent, RunEventType } from "@claudexor/schema";
2
+ export type TerminalRunEventType = Extract<RunEventType, "run.completed" | "run.failed" | "run.blocked">;
3
+ export interface PreparedTerminalEvent {
4
+ type: TerminalRunEventType;
5
+ payload: Record<string, unknown>;
6
+ /**
7
+ * Publish the prepared receipt's canonical commit marker after the durable
8
+ * journal accepts the terminal, but before file-tail/live observers can see
9
+ * the per-run terminal event.
10
+ */
11
+ commit?: () => void;
12
+ /**
13
+ * Undo preparation/commit side effects when no durable journal authority was
14
+ * established. The callback must be idempotent.
15
+ */
16
+ rollback?: () => void;
17
+ }
2
18
  /**
3
19
  * Append-only JSONL event log for a single run. Terminal output and human
4
20
  * summaries are projections; this file is the canonical event stream.
@@ -14,37 +30,41 @@ export declare class EventLog {
14
30
  private readonly runId;
15
31
  private readonly taskId;
16
32
  /**
17
- * Optional in-process sink invoked after each event is persisted. Lets a
18
- * long-running service / GUI observe the live RunEvent stream without
19
- * tailing the file. A configured sink is part of the daemon's durable
20
- * event authority; failure must fail the run instead of silently creating
21
- * a gap in restart replay.
33
+ * Durable in-process authority. Non-terminal events reach it after their
34
+ * per-run append; terminal events reach it first so crash recovery can
35
+ * reconstruct the canonical receipt and per-run tail from the journal.
22
36
  */
23
- private readonly onEmit?;
37
+ private readonly onPersist?;
24
38
  /**
25
39
  * Thread this run is a turn of, when any. Stamped on every event so the
26
40
  * global event multiplex can route live progress to a chat surface without
27
41
  * a reverse job lookup.
28
42
  */
29
43
  private readonly threadId?;
44
+ /** Best-effort live observer, invoked only after terminal finalization. */
45
+ private readonly onPublish?;
30
46
  private nextSeq;
31
47
  private deferTerminalEvents;
32
48
  private deferredTerminal;
49
+ private terminalCommittedFlag;
50
+ private terminalCommitInProgress;
51
+ private terminalWriterPoisoned;
52
+ private beforeTerminal?;
33
53
  constructor(path: string, runId: string, taskId: string,
34
54
  /**
35
- * Optional in-process sink invoked after each event is persisted. Lets a
36
- * long-running service / GUI observe the live RunEvent stream without
37
- * tailing the file. A configured sink is part of the daemon's durable
38
- * event authority; failure must fail the run instead of silently creating
39
- * a gap in restart replay.
55
+ * Durable in-process authority. Non-terminal events reach it after their
56
+ * per-run append; terminal events reach it first so crash recovery can
57
+ * reconstruct the canonical receipt and per-run tail from the journal.
40
58
  */
41
- onEmit?: ((event: RunEvent) => void) | undefined,
59
+ onPersist?: ((event: RunEvent) => void) | undefined,
42
60
  /**
43
61
  * Thread this run is a turn of, when any. Stamped on every event so the
44
62
  * global event multiplex can route live progress to a chat surface without
45
63
  * a reverse job lookup.
46
64
  */
47
- threadId?: string | undefined);
65
+ threadId?: string | undefined,
66
+ /** Best-effort live observer, invoked only after terminal finalization. */
67
+ onPublish?: ((event: RunEvent) => void) | undefined);
48
68
  /**
49
69
  * Unregister this log as the live writer for its path. Out-of-band
50
70
  * appenders fall back to file-tail stamping afterwards, which is safe once
@@ -57,8 +77,20 @@ export declare class EventLog {
57
77
  deferTerminal(): void;
58
78
  clearDeferredTerminal(): void;
59
79
  flushDeferredTerminal(): RunEvent | null;
80
+ /**
81
+ * Register the engine's once-only terminal preparation hook. It builds the
82
+ * canonical receipt in memory before the durable authority accepts the
83
+ * terminal; commit runs afterward and before file-tail/live observers.
84
+ */
85
+ setBeforeTerminal(hook: (type: TerminalRunEventType, payload: Record<string, unknown>) => PreparedTerminalEvent | void): void;
86
+ /** Whether this writer has durably committed its exactly-once terminal. */
87
+ terminalCommitted(): boolean;
60
88
  /** Append a typed run event. Validates against the schema before writing. */
61
89
  emit(type: RunEventType, payload?: Record<string, unknown>): RunEvent;
90
+ private poisonAfterDurableCommit;
91
+ /** @internal Release a poisoned live owner once journal recovery repairs its tail. */
92
+ releaseRecoveredTerminalFence(): boolean;
93
+ private rollbackTerminal;
62
94
  /** Read and parse all events (skipping malformed lines, which are surfaced separately). */
63
95
  readAll(): {
64
96
  events: RunEvent[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIhE;;;;;;;;;GASG;AACH,qBAAa,QAAQ;IAMjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IArB5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,gBAAgB,CAAyE;gBAG9E,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAC/B;;;;;;OAMG;IACc,MAAM,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,aAAA;IACnD;;;;OAIG;IACc,QAAQ,CAAC,EAAE,MAAM,YAAA;IAMpC;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAIf;;mEAE+D;IAC/D,aAAa,IAAI,IAAI;IAIrB,qBAAqB,IAAI,IAAI;IAI7B,qBAAqB,IAAI,QAAQ,GAAG,IAAI;IAOxC,6EAA6E;IAC7E,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,QAAQ;IAoCzE,2FAA2F;IAC3F,OAAO,IAAI;QAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAgBrD;AAUD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,QAAQ,CAaV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKhE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,YAAY,EACZ,eAAe,GAAG,YAAY,GAAG,aAAa,CAC/C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAQ;IAajB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IA5B7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,gBAAgB,CAAyE;IACjG,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,cAAc,CAAC,CAGW;IAElC,YACmB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAC/B;;;;OAIG;IACc,SAAS,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,aAAA;IACtD;;;;OAIG;IACc,QAAQ,CAAC,EAAE,MAAM,YAAA;IAClC,2EAA2E;IAC1D,SAAS,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,aAAA,EAUvD;IAED;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAEd;IAED;;mEAE+D;IAC/D,aAAa,IAAI,IAAI,CAEpB;IAED,qBAAqB,IAAI,IAAI,CAE5B;IAED,qBAAqB,IAAI,QAAQ,GAAG,IAAI,CAKvC;IAED;;;;OAIG;IACH,iBAAiB,CACf,IAAI,EAAE,CACJ,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,qBAAqB,GAAG,IAAI,GAChC,IAAI,CAEN;IAED,2EAA2E;IAC3E,iBAAiB,IAAI,OAAO,CAE3B;IAED,6EAA6E;IAC7E,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,QAAQ,CA6GxE;IAED,OAAO,CAAC,wBAAwB;IAuBhC,sFAAsF;IACtF,6BAA6B,IAAI,OAAO,CAKvC;IAED,OAAO,CAAC,gBAAgB;IAmCxB,2FAA2F;IAC3F,OAAO,IAAI;QAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAenD;CACF;AAUD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,QAAQ,CAiBV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBlD"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { RunEvent as RunEventSchema } from "@claudexor/schema";
2
+ import { existsSync, statSync, truncateSync, unlinkSync } from "node:fs";
2
3
  import { appendLine, nowIso, readTextSafe, redactSecrets } from "@claudexor/util";
3
4
  /**
4
5
  * Append-only JSONL event log for a single run. Terminal output and human
@@ -14,33 +15,45 @@ export class EventLog {
14
15
  path;
15
16
  runId;
16
17
  taskId;
17
- onEmit;
18
+ onPersist;
18
19
  threadId;
20
+ onPublish;
19
21
  nextSeq;
20
22
  deferTerminalEvents = false;
21
23
  deferredTerminal = null;
24
+ terminalCommittedFlag = false;
25
+ terminalCommitInProgress = false;
26
+ terminalWriterPoisoned = false;
27
+ beforeTerminal;
22
28
  constructor(path, runId, taskId,
23
29
  /**
24
- * Optional in-process sink invoked after each event is persisted. Lets a
25
- * long-running service / GUI observe the live RunEvent stream without
26
- * tailing the file. A configured sink is part of the daemon's durable
27
- * event authority; failure must fail the run instead of silently creating
28
- * a gap in restart replay.
30
+ * Durable in-process authority. Non-terminal events reach it after their
31
+ * per-run append; terminal events reach it first so crash recovery can
32
+ * reconstruct the canonical receipt and per-run tail from the journal.
29
33
  */
30
- onEmit,
34
+ onPersist,
31
35
  /**
32
36
  * Thread this run is a turn of, when any. Stamped on every event so the
33
37
  * global event multiplex can route live progress to a chat surface without
34
38
  * a reverse job lookup.
35
39
  */
36
- threadId) {
40
+ threadId,
41
+ /** Best-effort live observer, invoked only after terminal finalization. */
42
+ onPublish) {
37
43
  this.path = path;
38
44
  this.runId = runId;
39
45
  this.taskId = taskId;
40
- this.onEmit = onEmit;
46
+ this.onPersist = onPersist;
41
47
  this.threadId = threadId;
48
+ this.onPublish = onPublish;
42
49
  this.nextSeq = lastSeqInFile(path) + 1;
43
- activeEventLogs.set(path, this);
50
+ this.terminalCommittedFlag = terminalEventInFile(path);
51
+ if (!this.terminalCommittedFlag) {
52
+ if (activeEventLogs.has(path)) {
53
+ throw new Error("an active EventLog already owns this event path");
54
+ }
55
+ activeEventLogs.set(path, this);
56
+ }
44
57
  }
45
58
  /**
46
59
  * Unregister this log as the live writer for its path. Out-of-band
@@ -66,10 +79,32 @@ export class EventLog {
66
79
  this.deferTerminalEvents = false;
67
80
  return pending ? this.emit(pending.type, pending.payload) : null;
68
81
  }
82
+ /**
83
+ * Register the engine's once-only terminal preparation hook. It builds the
84
+ * canonical receipt in memory before the durable authority accepts the
85
+ * terminal; commit runs afterward and before file-tail/live observers.
86
+ */
87
+ setBeforeTerminal(hook) {
88
+ this.beforeTerminal = hook;
89
+ }
90
+ /** Whether this writer has durably committed its exactly-once terminal. */
91
+ terminalCommitted() {
92
+ return this.terminalCommittedFlag;
93
+ }
69
94
  /** Append a typed run event. Validates against the schema before writing. */
70
95
  emit(type, payload = {}) {
71
- if (this.deferTerminalEvents &&
72
- (type === "run.completed" || type === "run.failed" || type === "run.blocked")) {
96
+ if (this.terminalCommittedFlag) {
97
+ throw new Error("run terminal event is already committed");
98
+ }
99
+ if (this.terminalWriterPoisoned) {
100
+ throw new Error("run terminal writer is poisoned after an incomplete rollback");
101
+ }
102
+ if (this.terminalCommitInProgress) {
103
+ throw new Error("run terminal event commit is already in progress");
104
+ }
105
+ const terminalType = type === "run.completed" || type === "run.failed" || type === "run.blocked" ? type : null;
106
+ const terminal = terminalType !== null;
107
+ if (this.deferTerminalEvents && terminal) {
73
108
  if (this.deferredTerminal)
74
109
  throw new Error("run terminal event was emitted more than once");
75
110
  this.deferredTerminal = { type, payload };
@@ -83,8 +118,9 @@ export class EventLog {
83
118
  payload: redactEventValue(payload),
84
119
  });
85
120
  }
86
- const event = RunEventSchema.parse({
87
- seq: this.nextSeq++,
121
+ let prepared = undefined;
122
+ let event = RunEventSchema.parse({
123
+ seq: this.nextSeq,
88
124
  ts: nowIso(),
89
125
  run_id: this.runId,
90
126
  task_id: this.taskId,
@@ -92,16 +128,142 @@ export class EventLog {
92
128
  type,
93
129
  payload: redactEventValue(payload),
94
130
  });
95
- appendLine(this.path, JSON.stringify(event));
96
- this.onEmit?.(event);
97
- // Terminal events are emitted exactly once, last (output.ready invariant
98
- // tests pin this). Self-disposing here hands the seq space back to
99
- // file-tail appenders without requiring every orchestrator mode to
100
- // remember a finally block.
101
- if (type === "run.completed" || type === "run.failed" || type === "run.blocked")
131
+ // Snapshot before terminal preparation: the hook may materialize sibling
132
+ // artifacts, but the event file rollback boundary is the pre-hook state.
133
+ const previousBytes = existsSync(this.path) ? statSync(this.path).size : null;
134
+ if (terminal) {
135
+ // Fence every re-entrant emit before the preparation hook, append, and
136
+ // durable sink form one terminal commit. The fence is released only by
137
+ // a complete rollback or after the terminal fully commits.
138
+ this.terminalCommitInProgress = true;
139
+ // Validate the exact redacted event before terminal preparation can
140
+ // materialize a receipt for it. Keep the hook registered until the event
141
+ // itself is durable so an append failure can retry the entire commit.
142
+ try {
143
+ prepared = this.beforeTerminal?.(terminalType, event.payload);
144
+ // Terminal preparation may canonicalize facts after consulting immutable
145
+ // artifacts. Commit the corresponding event type and payload as one
146
+ // validated unit so the receipt, durable event, and live publication
147
+ // cannot disagree.
148
+ event = RunEventSchema.parse(prepared
149
+ ? {
150
+ ...event,
151
+ type: prepared.type,
152
+ payload: redactEventValue(prepared.payload),
153
+ }
154
+ : event);
155
+ }
156
+ catch (error) {
157
+ this.rollbackTerminal(previousBytes, prepared, error);
158
+ }
159
+ }
160
+ if (terminal) {
161
+ let durableAuthorityCommitted = false;
162
+ try {
163
+ this.onPersist?.(event);
164
+ durableAuthorityCommitted = this.onPersist !== undefined;
165
+ }
166
+ catch (error) {
167
+ this.rollbackTerminal(previousBytes, prepared, error);
168
+ }
169
+ try {
170
+ prepared?.commit?.();
171
+ }
172
+ catch (error) {
173
+ if (durableAuthorityCommitted)
174
+ this.poisonAfterDurableCommit(error);
175
+ this.rollbackTerminal(previousBytes, prepared, error);
176
+ }
177
+ try {
178
+ appendLine(this.path, JSON.stringify(event));
179
+ }
180
+ catch (error) {
181
+ if (durableAuthorityCommitted)
182
+ this.poisonAfterDurableCommit(error);
183
+ this.rollbackTerminal(previousBytes, prepared, error);
184
+ }
185
+ this.nextSeq += 1;
186
+ // The durable journal, canonical prepared receipt, and per-run event are
187
+ // now one committed terminal unit. Only now may observers see it.
188
+ this.terminalCommittedFlag = true;
189
+ this.terminalCommitInProgress = false;
190
+ this.beforeTerminal = undefined;
102
191
  this.dispose();
192
+ try {
193
+ this.onPublish?.(event);
194
+ }
195
+ catch {
196
+ /* durable replay remains authoritative */
197
+ }
198
+ }
199
+ else {
200
+ appendLine(this.path, JSON.stringify(event));
201
+ this.nextSeq += 1;
202
+ this.onPersist?.(event);
203
+ try {
204
+ this.onPublish?.(event);
205
+ }
206
+ catch {
207
+ /* best-effort live observer */
208
+ }
209
+ }
103
210
  return event;
104
211
  }
212
+ poisonAfterDurableCommit(originalError) {
213
+ this.terminalWriterPoisoned = true;
214
+ this.terminalCommitInProgress = false;
215
+ this.beforeTerminal = undefined;
216
+ // CommandStore repairs the per-run tail synchronously from the accepted
217
+ // journal terminal. Release the strong live-writer reference once that
218
+ // repair becomes visible; appendRunEvent also performs this check inline.
219
+ setImmediate(() => {
220
+ this.releaseRecoveredTerminalFence();
221
+ }).unref?.();
222
+ throw Object.assign(new AggregateError([originalError], "durable terminal authority committed but local finalization failed; restart required"), {
223
+ code: "terminal_recovery_required",
224
+ status: 503,
225
+ retryable: false,
226
+ });
227
+ }
228
+ /** @internal Release a poisoned live owner once journal recovery repairs its tail. */
229
+ releaseRecoveredTerminalFence() {
230
+ if (!this.terminalWriterPoisoned || !terminalEventInFile(this.path))
231
+ return false;
232
+ this.terminalCommittedFlag = true;
233
+ this.dispose();
234
+ return true;
235
+ }
236
+ rollbackTerminal(previousBytes, prepared, originalError) {
237
+ const rollbackErrors = [];
238
+ try {
239
+ if (previousBytes === null) {
240
+ if (existsSync(this.path))
241
+ unlinkSync(this.path);
242
+ }
243
+ else if (existsSync(this.path) && statSync(this.path).size !== previousBytes) {
244
+ truncateSync(this.path, previousBytes);
245
+ }
246
+ }
247
+ catch (error) {
248
+ rollbackErrors.push(error);
249
+ }
250
+ try {
251
+ prepared?.rollback?.();
252
+ }
253
+ catch (error) {
254
+ rollbackErrors.push(error);
255
+ }
256
+ if (rollbackErrors.length > 0) {
257
+ // A partial rollback means neither retry nor an out-of-band append can
258
+ // safely infer the terminal boundary. Keep this live writer registered
259
+ // as an explicit poison fence until the owning process fails closed.
260
+ this.terminalWriterPoisoned = true;
261
+ this.terminalCommitInProgress = false;
262
+ throw new AggregateError([originalError, ...rollbackErrors], "terminal event commit failed and rollback was incomplete");
263
+ }
264
+ this.terminalCommitInProgress = false;
265
+ throw originalError;
266
+ }
105
267
  /** Read and parse all events (skipping malformed lines, which are surfaced separately). */
106
268
  readAll() {
107
269
  const text = readTextSafe(this.path);
@@ -138,8 +300,12 @@ const activeEventLogs = new Map();
138
300
  */
139
301
  export function appendRunEvent(path, runId, taskId, type, payload = {}) {
140
302
  const live = activeEventLogs.get(path);
141
- if (live)
303
+ if (live && !live.releaseRecoveredTerminalFence())
142
304
  return live.emit(type, payload);
305
+ const terminal = type === "run.completed" || type === "run.failed" || type === "run.blocked";
306
+ if (terminal && terminalEventInFile(path)) {
307
+ throw new Error("run terminal event is already committed");
308
+ }
143
309
  const event = RunEventSchema.parse({
144
310
  seq: lastSeqInFile(path) + 1,
145
311
  ts: nowIso(),
@@ -180,6 +346,28 @@ export function lastSeqInFile(path) {
180
346
  }
181
347
  return last;
182
348
  }
349
+ function terminalEventInFile(path) {
350
+ const text = readTextSafe(path);
351
+ if (text === null)
352
+ return false;
353
+ for (const line of text.split("\n")) {
354
+ const trimmed = line.trim();
355
+ if (!trimmed)
356
+ continue;
357
+ try {
358
+ const event = RunEventSchema.parse(JSON.parse(trimmed));
359
+ if (event.type === "run.completed" ||
360
+ event.type === "run.failed" ||
361
+ event.type === "run.blocked") {
362
+ return true;
363
+ }
364
+ }
365
+ catch {
366
+ /* malformed evidence cannot establish a terminal fence */
367
+ }
368
+ }
369
+ return false;
370
+ }
183
371
  function redactEventValue(value) {
184
372
  if (typeof value === "string")
185
373
  return redactSecrets(value);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/event-log",
3
- "version": "3.1.2",
3
+ "version": "3.3.7-rc.0",
4
4
  "license": "MIT",
5
5
  "description": "Append-only JSONL run-event log (a projection-friendly evidence ledger).",
6
6
  "type": "module",
@@ -16,8 +16,8 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@claudexor/schema": "3.1.2",
20
- "@claudexor/util": "3.1.2"
19
+ "@claudexor/schema": "3.3.7-rc.0",
20
+ "@claudexor/util": "3.3.7-rc.0"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",