@ironbee-ai/cli 0.5.1 → 0.5.3

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 (100) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/analysis/cross-session.d.ts +1 -1
  4. package/dist/analysis/cross-session.js +1 -1
  5. package/dist/analysis/cross-session.js.map +1 -1
  6. package/dist/analysis/time-analysis.js +3 -3
  7. package/dist/analysis/time-analysis.js.map +1 -1
  8. package/dist/analysis/verdict-details.d.ts +1 -1
  9. package/dist/clients/base.d.ts +4 -0
  10. package/dist/clients/base.d.ts.map +1 -1
  11. package/dist/clients/claude/hooks/activity-start.d.ts +10 -0
  12. package/dist/clients/claude/hooks/activity-start.d.ts.map +1 -0
  13. package/dist/clients/claude/hooks/activity-start.js +31 -0
  14. package/dist/clients/claude/hooks/activity-start.js.map +1 -0
  15. package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
  16. package/dist/clients/claude/hooks/clear-verdict.js +17 -9
  17. package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
  18. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  19. package/dist/clients/claude/hooks/require-verdict.js +4 -1
  20. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  21. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  22. package/dist/clients/claude/hooks/require-verification.js +12 -1
  23. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  24. package/dist/clients/claude/hooks/session-end.d.ts +10 -0
  25. package/dist/clients/claude/hooks/session-end.d.ts.map +1 -0
  26. package/dist/clients/claude/hooks/session-end.js +44 -0
  27. package/dist/clients/claude/hooks/session-end.js.map +1 -0
  28. package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
  29. package/dist/clients/claude/hooks/session-start.js +4 -2
  30. package/dist/clients/claude/hooks/session-start.js.map +1 -1
  31. package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
  32. package/dist/clients/claude/hooks/track-action.js +15 -4
  33. package/dist/clients/claude/hooks/track-action.js.map +1 -1
  34. package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
  35. package/dist/clients/claude/hooks/verify-gate.js +7 -3
  36. package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
  37. package/dist/clients/claude/index.d.ts +2 -0
  38. package/dist/clients/claude/index.d.ts.map +1 -1
  39. package/dist/clients/claude/index.js +34 -0
  40. package/dist/clients/claude/index.js.map +1 -1
  41. package/dist/clients/cursor/hooks/activity-start.d.ts +10 -0
  42. package/dist/clients/cursor/hooks/activity-start.d.ts.map +1 -0
  43. package/dist/clients/cursor/hooks/activity-start.js +31 -0
  44. package/dist/clients/cursor/hooks/activity-start.js.map +1 -0
  45. package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
  46. package/dist/clients/cursor/hooks/clear-verdict.js +19 -10
  47. package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
  48. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  49. package/dist/clients/cursor/hooks/require-verdict.js +4 -1
  50. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  51. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  52. package/dist/clients/cursor/hooks/require-verification.js +12 -1
  53. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  54. package/dist/clients/cursor/hooks/session-end.d.ts +10 -0
  55. package/dist/clients/cursor/hooks/session-end.d.ts.map +1 -0
  56. package/dist/clients/cursor/hooks/session-end.js +44 -0
  57. package/dist/clients/cursor/hooks/session-end.js.map +1 -0
  58. package/dist/clients/cursor/hooks/session-start.d.ts.map +1 -1
  59. package/dist/clients/cursor/hooks/session-start.js +4 -2
  60. package/dist/clients/cursor/hooks/session-start.js.map +1 -1
  61. package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
  62. package/dist/clients/cursor/hooks/track-action.js +15 -4
  63. package/dist/clients/cursor/hooks/track-action.js.map +1 -1
  64. package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
  65. package/dist/clients/cursor/hooks/verify-gate.js +10 -3
  66. package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
  67. package/dist/clients/cursor/index.d.ts +2 -0
  68. package/dist/clients/cursor/index.d.ts.map +1 -1
  69. package/dist/clients/cursor/index.js +22 -0
  70. package/dist/clients/cursor/index.js.map +1 -1
  71. package/dist/commands/analyze.js +3 -3
  72. package/dist/commands/analyze.js.map +1 -1
  73. package/dist/commands/hook.js +24 -0
  74. package/dist/commands/hook.js.map +1 -1
  75. package/dist/hooks/core/actions.d.ts +117 -24
  76. package/dist/hooks/core/actions.d.ts.map +1 -1
  77. package/dist/hooks/core/actions.js +74 -1
  78. package/dist/hooks/core/actions.js.map +1 -1
  79. package/dist/hooks/core/activity.d.ts +20 -0
  80. package/dist/hooks/core/activity.d.ts.map +1 -0
  81. package/dist/hooks/core/activity.js +53 -0
  82. package/dist/hooks/core/activity.js.map +1 -0
  83. package/dist/hooks/core/session-state.d.ts +9 -7
  84. package/dist/hooks/core/session-state.d.ts.map +1 -1
  85. package/dist/hooks/core/session-state.js +65 -8
  86. package/dist/hooks/core/session-state.js.map +1 -1
  87. package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
  88. package/dist/hooks/core/submit-verdict.js +16 -4
  89. package/dist/hooks/core/submit-verdict.js.map +1 -1
  90. package/dist/hooks/core/verification-lifecycle.d.ts.map +1 -1
  91. package/dist/hooks/core/verification-lifecycle.js +20 -4
  92. package/dist/hooks/core/verification-lifecycle.js.map +1 -1
  93. package/dist/hooks/core/verify-gate.d.ts.map +1 -1
  94. package/dist/hooks/core/verify-gate.js +18 -14
  95. package/dist/hooks/core/verify-gate.js.map +1 -1
  96. package/dist/lib/collector.d.ts +2 -2
  97. package/dist/lib/collector.d.ts.map +1 -1
  98. package/dist/lib/collector.js +3 -12
  99. package/dist/lib/collector.js.map +1 -1
  100. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * IronBee — Activity Tracking
3
+ *
4
+ * Tracks agent active time via activity_start / activity_end pairs.
5
+ * activity_start is recorded on UserPromptSubmit/beforeSubmitPrompt (primary)
6
+ * or PreToolUse allow path (fallback). activity_end is recorded on the Stop hook.
7
+ * Duration is calculated from the last activity_start in actions.jsonl.
8
+ */
9
+ export interface StartActivityInput {
10
+ sessionDir: string;
11
+ actionsFile: string;
12
+ source?: string;
13
+ }
14
+ export interface EndActivityInput {
15
+ sessionDir: string;
16
+ actionsFile: string;
17
+ }
18
+ export declare function startActivity(input: StartActivityInput): Promise<void>;
19
+ export declare function endActivity(input: EndActivityInput): Promise<void>;
20
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/activity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * IronBee — Activity Tracking
4
+ *
5
+ * Tracks agent active time via activity_start / activity_end pairs.
6
+ * activity_start is recorded on UserPromptSubmit/beforeSubmitPrompt (primary)
7
+ * or PreToolUse allow path (fallback). activity_end is recorded on the Stop hook.
8
+ * Duration is calculated from the last activity_start in actions.jsonl.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.startActivity = startActivity;
12
+ exports.endActivity = endActivity;
13
+ const crypto_1 = require("crypto");
14
+ const logger_1 = require("../../lib/logger");
15
+ const session_state_1 = require("./session-state");
16
+ const actions_1 = require("./actions");
17
+ async function startActivity(input) {
18
+ const { sessionDir, actionsFile, source } = input;
19
+ if ((0, session_state_1.isActive)(sessionDir)) {
20
+ return;
21
+ }
22
+ const activityId = (0, crypto_1.randomUUID)();
23
+ (0, session_state_1.setActiveActivity)(sessionDir, activityId);
24
+ const entry = {
25
+ ...(0, actions_1.baseFields)(actionsFile),
26
+ type: "activity_start",
27
+ timestamp: Date.now(),
28
+ activity_id: activityId,
29
+ source,
30
+ };
31
+ await (0, actions_1.appendAction)(actionsFile, entry);
32
+ logger_1.logger.debug(`activity-start: ${activityId} source=${source ?? "unknown"}`);
33
+ }
34
+ async function endActivity(input) {
35
+ const { sessionDir, actionsFile } = input;
36
+ if (!(0, session_state_1.isActive)(sessionDir)) {
37
+ return;
38
+ }
39
+ const activityId = (0, session_state_1.getActiveActivityId)(sessionDir);
40
+ (0, session_state_1.clearActiveActivity)(sessionDir);
41
+ const now = Date.now();
42
+ const duration = (0, actions_1.findDurationSinceLastAction)(actionsFile, "activity_start", now);
43
+ const entry = {
44
+ ...(0, actions_1.baseFields)(actionsFile),
45
+ type: "activity_end",
46
+ timestamp: now,
47
+ activity_id: activityId,
48
+ duration,
49
+ };
50
+ await (0, actions_1.appendAction)(actionsFile, entry);
51
+ logger_1.logger.debug(`activity-end: ${activityId ?? ""} duration=${duration ?? "unknown"}`);
52
+ }
53
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/hooks/core/activity.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAkBH,sCAmBC;AAED,kCAsBC;AA3DD,mCAAoC;AACpC,6CAA0C;AAC1C,mDAAwG;AACxG,uCAA0H;AAanH,KAAK,UAAU,aAAa,CAAC,KAAyB;IACzD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAElD,IAAI,IAAA,wBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAW,IAAA,mBAAU,GAAE,CAAC;IACxC,IAAA,iCAAiB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAwB;QAC/B,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,UAAU;QACvB,MAAM;KACT,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,eAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,WAAW,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;AAChF,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAuB;IACrD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE1C,IAAI,CAAC,IAAA,wBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAuB,IAAA,mCAAmB,EAAC,UAAU,CAAC,CAAC;IACvE,IAAA,mCAAmB,EAAC,UAAU,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAuB,IAAA,qCAA2B,EAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAErG,MAAM,KAAK,GAAsB;QAC7B,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,UAAW;QACxB,QAAQ;KACX,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,eAAM,CAAC,KAAK,CAAC,iBAAiB,UAAU,IAAI,EAAE,aAAa,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;AACxF,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * All session state (retries, activeVerificationId, lastVerdictStatus)
6
6
  * is stored in a single state.json file per session.
7
7
  */
8
+ import { ActionEntry } from "./actions";
8
9
  export type SessionPhase = "coding" | "verifying" | "fixing" | null;
9
10
  export interface SessionState {
10
11
  retries: number;
@@ -12,9 +13,11 @@ export interface SessionState {
12
13
  activeTraceId: string | null;
13
14
  lastVerdictStatus: string | null;
14
15
  activeFixId: string | null;
16
+ activeActivityId: string | null;
15
17
  phase: SessionPhase;
16
18
  recordingRequired: boolean;
17
19
  recordingActive: boolean;
20
+ active: boolean;
18
21
  }
19
22
  /** Generate an OTEL-compatible trace ID (32 hex chars / 16 bytes). */
20
23
  export declare function generateTraceId(): string;
@@ -38,16 +41,15 @@ export declare function isRecordingRequired(sessionDir: string): boolean;
38
41
  export declare function setRecordingRequired(sessionDir: string, required: boolean): void;
39
42
  export declare function isRecordingActive(sessionDir: string): boolean;
40
43
  export declare function setRecordingActive(sessionDir: string, active: boolean): void;
44
+ export declare function isActive(sessionDir: string): boolean;
45
+ export declare function setActive(sessionDir: string, active: boolean): void;
46
+ export declare function getActiveActivityId(sessionDir: string): string | undefined;
47
+ export declare function setActiveActivity(sessionDir: string, activityId: string): void;
48
+ export declare function clearActiveActivity(sessionDir: string): void;
41
49
  /**
42
50
  * Reconcile session state on session start/resume.
43
51
  * Closes any open verification or fix cycles, records appropriate
44
52
  * end entries in actions.jsonl, and resets phase to "coding".
45
- *
46
- * @param appendFn — action appender function (avoids circular import with actions.ts)
47
53
  */
48
- export declare function reconcileSessionState(sessionDir: string, actionsFile: string, appendFn: (file: string, entry: {
49
- type: string;
50
- timestamp: string;
51
- [key: string]: unknown;
52
- }) => Promise<void>): Promise<void>;
54
+ export declare function reconcileSessionState(sessionDir: string, actionsFile: string, appendFn: (file: string, entry: ActionEntry) => Promise<void>): Promise<void>;
53
55
  //# sourceMappingURL=session-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEpE,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC5B;AAeD,sEAAsE;AACtE,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAuB1D;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAQxE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9E;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMvG;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAMhE;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIpF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIvD;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAItE;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAGzD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAIhF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAI5E;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACvC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC9G,OAAO,CAAC,IAAI,CAAC,CAgDf"}
1
+ {"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
@@ -28,11 +28,17 @@ exports.isRecordingRequired = isRecordingRequired;
28
28
  exports.setRecordingRequired = setRecordingRequired;
29
29
  exports.isRecordingActive = isRecordingActive;
30
30
  exports.setRecordingActive = setRecordingActive;
31
+ exports.isActive = isActive;
32
+ exports.setActive = setActive;
33
+ exports.getActiveActivityId = getActiveActivityId;
34
+ exports.setActiveActivity = setActiveActivity;
35
+ exports.clearActiveActivity = clearActiveActivity;
31
36
  exports.reconcileSessionState = reconcileSessionState;
32
37
  const crypto_1 = require("crypto");
33
38
  const fs_1 = require("fs");
34
39
  const path_1 = require("path");
35
40
  const logger_1 = require("../../lib/logger");
41
+ const actions_1 = require("./actions");
36
42
  const STATE_FILE = "state.json";
37
43
  const DEFAULT_STATE = {
38
44
  retries: 0,
@@ -40,9 +46,11 @@ const DEFAULT_STATE = {
40
46
  activeTraceId: null,
41
47
  lastVerdictStatus: null,
42
48
  activeFixId: null,
49
+ activeActivityId: null,
43
50
  phase: null,
44
51
  recordingRequired: false,
45
52
  recordingActive: false,
53
+ active: false,
46
54
  };
47
55
  /** Generate an OTEL-compatible trace ID (32 hex chars / 16 bytes). */
48
56
  function generateTraceId() {
@@ -63,9 +71,11 @@ function readState(sessionDir) {
63
71
  activeTraceId: typeof parsed.activeTraceId === "string" ? parsed.activeTraceId : null,
64
72
  lastVerdictStatus: typeof parsed.lastVerdictStatus === "string" ? parsed.lastVerdictStatus : null,
65
73
  activeFixId: typeof parsed.activeFixId === "string" ? parsed.activeFixId : null,
74
+ activeActivityId: typeof parsed.activeActivityId === "string" ? parsed.activeActivityId : null,
66
75
  phase: typeof parsed.phase === "string" && validPhases.includes(parsed.phase) ? parsed.phase : null,
67
76
  recordingRequired: typeof parsed.recordingRequired === "boolean" ? parsed.recordingRequired : false,
68
77
  recordingActive: typeof parsed.recordingActive === "boolean" ? parsed.recordingActive : false,
78
+ active: typeof parsed.active === "boolean" ? parsed.active : false,
69
79
  };
70
80
  }
71
81
  catch (e) {
@@ -170,25 +180,54 @@ function setRecordingActive(sessionDir, active) {
170
180
  state.recordingActive = active;
171
181
  writeState(sessionDir, state);
172
182
  }
183
+ function isActive(sessionDir) {
184
+ const state = readState(sessionDir);
185
+ return state.active;
186
+ }
187
+ function setActive(sessionDir, active) {
188
+ const state = readState(sessionDir);
189
+ state.active = active;
190
+ if (!active) {
191
+ state.activeActivityId = null;
192
+ }
193
+ writeState(sessionDir, state);
194
+ }
195
+ function getActiveActivityId(sessionDir) {
196
+ const state = readState(sessionDir);
197
+ return state.activeActivityId ?? undefined;
198
+ }
199
+ function setActiveActivity(sessionDir, activityId) {
200
+ const state = readState(sessionDir);
201
+ state.activeActivityId = activityId;
202
+ state.active = true;
203
+ writeState(sessionDir, state);
204
+ }
205
+ function clearActiveActivity(sessionDir) {
206
+ const state = readState(sessionDir);
207
+ state.activeActivityId = null;
208
+ state.active = false;
209
+ writeState(sessionDir, state);
210
+ }
173
211
  /**
174
212
  * Reconcile session state on session start/resume.
175
213
  * Closes any open verification or fix cycles, records appropriate
176
214
  * end entries in actions.jsonl, and resets phase to "coding".
177
- *
178
- * @param appendFn — action appender function (avoids circular import with actions.ts)
179
215
  */
180
216
  async function reconcileSessionState(sessionDir, actionsFile, appendFn) {
181
217
  const state = readState(sessionDir);
182
218
  let dirty = false;
183
219
  // close abandoned verification
184
220
  if (state.activeVerificationId) {
185
- await appendFn(actionsFile, {
221
+ const entry = {
222
+ ...(0, actions_1.baseFields)(actionsFile),
186
223
  type: "verification_end",
187
- timestamp: new Date().toISOString(),
224
+ timestamp: Date.now(),
188
225
  verification_id: state.activeVerificationId,
226
+ activity_id: state.activeActivityId,
189
227
  trace_id: state.activeTraceId,
190
228
  reason: "session_reconcile",
191
- });
229
+ };
230
+ await appendFn(actionsFile, entry);
192
231
  logger_1.logger.debug(`reconcile: ended abandoned verification ${state.activeVerificationId}`);
193
232
  state.activeVerificationId = null;
194
233
  state.activeTraceId = null;
@@ -196,16 +235,34 @@ async function reconcileSessionState(sessionDir, actionsFile, appendFn) {
196
235
  }
197
236
  // close abandoned fix
198
237
  if (state.activeFixId) {
199
- await appendFn(actionsFile, {
238
+ const entry = {
239
+ ...(0, actions_1.baseFields)(actionsFile),
200
240
  type: "fix_end",
201
- timestamp: new Date().toISOString(),
241
+ timestamp: Date.now(),
202
242
  fix_id: state.activeFixId,
243
+ activity_id: state.activeActivityId,
203
244
  reason: "session_reconcile",
204
- });
245
+ };
246
+ await appendFn(actionsFile, entry);
205
247
  logger_1.logger.debug(`reconcile: ended abandoned fix ${state.activeFixId}`);
206
248
  state.activeFixId = null;
207
249
  dirty = true;
208
250
  }
251
+ // close abandoned activity
252
+ if (state.active) {
253
+ const entry = {
254
+ ...(0, actions_1.baseFields)(actionsFile),
255
+ type: "activity_end",
256
+ timestamp: Date.now(),
257
+ activity_id: state.activeActivityId,
258
+ reason: "session_reconcile",
259
+ };
260
+ await appendFn(actionsFile, entry);
261
+ logger_1.logger.debug(`reconcile: ended abandoned activity ${state.activeActivityId ?? ""}`);
262
+ state.active = false;
263
+ state.activeActivityId = null;
264
+ dirty = true;
265
+ }
209
266
  // reset recording state
210
267
  if (state.recordingRequired || state.recordingActive) {
211
268
  state.recordingRequired = false;
@@ -1 +1 @@
1
- {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../../src/hooks/core/session-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"submit-verdict.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAYD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwH9F"}
1
+ {"version":3,"file":"submit-verdict.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAcD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqI9F"}
@@ -81,24 +81,34 @@ async function runSubmitVerdict(input) {
81
81
  // auto-record verification_end if there's an active verification
82
82
  const verificationId = (0, session_state_1.getActiveVerificationId)(sessionDir);
83
83
  const traceId = (0, session_state_1.getActiveTraceId)(sessionDir);
84
+ const activityId = (0, session_state_1.getActiveActivityId)(sessionDir);
84
85
  if (verificationId) {
86
+ const verEndNow = Date.now();
85
87
  const endEntry = {
88
+ ...(0, actions_1.baseFields)(actionsFile),
86
89
  type: "verification_end",
87
- timestamp: new Date().toISOString(),
90
+ timestamp: verEndNow,
88
91
  verification_id: verificationId,
92
+ activity_id: activityId,
89
93
  trace_id: traceId,
94
+ duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "verification_start", verEndNow),
95
+ status: verdict.status,
90
96
  };
91
97
  await (0, actions_1.appendAction)(actionsFile, endEntry);
92
98
  (0, session_state_1.clearActiveVerification)(sessionDir);
93
99
  logger_1.logger.debug(`verification-end (auto): ${verificationId} trace=${traceId}`);
94
100
  }
95
101
  // record verdict_write action
102
+ // Post-validation the verdict satisfies the strict Verdict contract.
103
+ const typedVerdict = verdict;
96
104
  const entry = {
105
+ ...(0, actions_1.baseFields)(actionsFile),
97
106
  type: "verdict_write",
98
- timestamp: new Date().toISOString(),
107
+ timestamp: Date.now(),
99
108
  verification_id: verificationId,
109
+ activity_id: activityId,
100
110
  trace_id: traceId,
101
- verdict: verdict,
111
+ verdict: typedVerdict,
102
112
  };
103
113
  await (0, actions_1.appendAction)(actionsFile, entry);
104
114
  await (0, telemetry_1.trackVerdictWrite)(sessionId, verdict.status);
@@ -106,9 +116,11 @@ async function runSubmitVerdict(input) {
106
116
  if (verdict.status === "fail") {
107
117
  const fixId = (0, crypto_1.randomUUID)();
108
118
  const fixEntry = {
119
+ ...(0, actions_1.baseFields)(actionsFile),
109
120
  type: "fix_start",
110
- timestamp: new Date().toISOString(),
121
+ timestamp: Date.now(),
111
122
  fix_id: fixId,
123
+ activity_id: activityId,
112
124
  };
113
125
  await (0, actions_1.appendAction)(actionsFile, fixEntry);
114
126
  (0, session_state_1.setActiveFix)(sessionDir, fixId);
@@ -1 +1 @@
1
- {"version":3,"file":"submit-verdict.js","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit-verdict.js","sourceRoot":"","sources":["../../../src/hooks/core/submit-verdict.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verification-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verification-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoDvG;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsBjG"}
1
+ {"version":3,"file":"verification-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verification-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAgEvG;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BjG"}
@@ -15,13 +15,18 @@ const actions_1 = require("./actions");
15
15
  const session_state_1 = require("./session-state");
16
16
  async function startVerification(input) {
17
17
  const { sessionDir, actionsFile } = input;
18
+ const activityId = (0, session_state_1.getActiveActivityId)(sessionDir);
18
19
  // if there's an active fix, end it before starting verification
19
20
  const activeFixId = (0, session_state_1.getActiveFixId)(sessionDir);
20
21
  if (activeFixId) {
22
+ const fixEndNow = Date.now();
21
23
  const fixEndEntry = {
24
+ ...(0, actions_1.baseFields)(actionsFile),
22
25
  type: "fix_end",
23
- timestamp: new Date().toISOString(),
26
+ timestamp: fixEndNow,
24
27
  fix_id: activeFixId,
28
+ activity_id: activityId,
29
+ duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "fix_start", fixEndNow),
25
30
  };
26
31
  await (0, actions_1.appendAction)(actionsFile, fixEndEntry);
27
32
  (0, session_state_1.clearActiveFix)(sessionDir);
@@ -32,11 +37,15 @@ async function startVerification(input) {
32
37
  if (existingId) {
33
38
  const existingTraceId = (0, session_state_1.getActiveTraceId)(sessionDir);
34
39
  logger_1.logger.debug(`ending previous verification ${existingId} before starting new one`);
40
+ const verEndNow = Date.now();
35
41
  const endEntry = {
42
+ ...(0, actions_1.baseFields)(actionsFile),
36
43
  type: "verification_end",
37
- timestamp: new Date().toISOString(),
44
+ timestamp: verEndNow,
38
45
  verification_id: existingId,
46
+ activity_id: activityId,
39
47
  trace_id: existingTraceId,
48
+ duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "verification_start", verEndNow),
40
49
  };
41
50
  await (0, actions_1.appendAction)(actionsFile, endEntry);
42
51
  (0, session_state_1.clearActiveVerification)(sessionDir);
@@ -44,9 +53,11 @@ async function startVerification(input) {
44
53
  const verificationId = (0, crypto_1.randomUUID)();
45
54
  const traceId = (0, session_state_1.generateTraceId)();
46
55
  const entry = {
56
+ ...(0, actions_1.baseFields)(actionsFile),
47
57
  type: "verification_start",
48
- timestamp: new Date().toISOString(),
58
+ timestamp: Date.now(),
49
59
  verification_id: verificationId,
60
+ activity_id: activityId,
50
61
  trace_id: traceId,
51
62
  };
52
63
  await (0, actions_1.appendAction)(actionsFile, entry);
@@ -66,11 +77,16 @@ async function endVerification(input) {
66
77
  return { success: false, message: "No active verification to end." };
67
78
  }
68
79
  const traceId = (0, session_state_1.getActiveTraceId)(sessionDir);
80
+ const activityId = (0, session_state_1.getActiveActivityId)(sessionDir);
81
+ const now = Date.now();
69
82
  const entry = {
83
+ ...(0, actions_1.baseFields)(actionsFile),
70
84
  type: "verification_end",
71
- timestamp: new Date().toISOString(),
85
+ timestamp: now,
72
86
  verification_id: verificationId,
87
+ activity_id: activityId,
73
88
  trace_id: traceId,
89
+ duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "verification_start", now),
74
90
  };
75
91
  await (0, actions_1.appendAction)(actionsFile, entry);
76
92
  (0, session_state_1.clearActiveVerification)(sessionDir);
@@ -1 +1 @@
1
- {"version":3,"file":"verification-lifecycle.js","sourceRoot":"","sources":["../../../src/hooks/core/verification-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-lifecycle.js","sourceRoot":"","sources":["../../../src/hooks/core/verification-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsLrF"}
1
+ {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAgED,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwLrF"}
@@ -63,7 +63,7 @@ async function runVerifyGate(input) {
63
63
  const hasEdit = (0, actions_1.hasFileEditsSinceLastVerification)(actionsFile);
64
64
  if (!hasEdit) {
65
65
  logger_1.logger.debug("no code edits detected, allowing completion");
66
- await recordMarker(actionsFile, sid, "allow", "no_edits");
66
+ await recordMarker(actionsFile, sessionDir, sid, "allow", "no_edits");
67
67
  return { action: "allow" };
68
68
  }
69
69
  // ── Check 2: Were required IronBee tools used AFTER the latest code edit? ─
@@ -73,8 +73,10 @@ async function runVerifyGate(input) {
73
73
  logger_1.logger.debug(`verify-gate: missingTools=${missingTools.length}/${REQUIRED_TOOLS.length} usedTools=${[...usedToolNames].join(",")}`);
74
74
  if (missingTools.length === REQUIRED_TOOLS.length) {
75
75
  const marker = {
76
+ ...(0, actions_1.baseFields)(actionsFile),
76
77
  type: "verification_requested",
77
- timestamp: new Date().toISOString(),
78
+ timestamp: Date.now(),
79
+ activity_id: (0, session_state_1.getActiveActivityId)(sessionDir),
78
80
  action: "block",
79
81
  reason: "no_tools",
80
82
  };
@@ -100,7 +102,7 @@ You made code changes but did not verify them through the browser.
100
102
  }
101
103
  if (missingTools.length > 0) {
102
104
  const missing = missingTools.map((t) => ` - ${t.name} (${t.purpose})`).join("\n");
103
- await recordMarker(actionsFile, sid, "block", "incomplete_tools");
105
+ await recordMarker(actionsFile, sessionDir, sid, "block", "incomplete_tools");
104
106
  return {
105
107
  action: "block",
106
108
  message: `INCOMPLETE VERIFICATION.
@@ -114,7 +116,7 @@ Run the missing tools, functionally test your changes, then submit your verdict:
114
116
  }
115
117
  // ── Check 3: Verdict file exists? ──────────────────────
116
118
  if (!(0, fs_1.existsSync)(verdictFile)) {
117
- await recordMarker(actionsFile, sid, "block", "no_verdict");
119
+ await recordMarker(actionsFile, sessionDir, sid, "block", "no_verdict");
118
120
  return {
119
121
  action: "block",
120
122
  message: `VERDICT MISSING.
@@ -132,7 +134,7 @@ Submit your verdict:
132
134
  catch (e) {
133
135
  logger_1.logger.debug(`failed to parse verdict ${verdictFile}: ${e}`);
134
136
  cleanup(verdictFile);
135
- await recordMarker(actionsFile, sid, "block", "invalid_verdict");
137
+ await recordMarker(actionsFile, sessionDir, sid, "block", "invalid_verdict");
136
138
  return {
137
139
  action: "block",
138
140
  message: `INVALID VERDICT. Submit valid JSON:
@@ -144,7 +146,7 @@ Submit your verdict:
144
146
  const checks = verdict.checks;
145
147
  if (!Array.isArray(pages) || pages.length === 0) {
146
148
  cleanup(verdictFile);
147
- await recordMarker(actionsFile, sid, "block", "invalid_verdict");
149
+ await recordMarker(actionsFile, sessionDir, sid, "block", "invalid_verdict");
148
150
  return {
149
151
  action: "block",
150
152
  message: `VERDICT REJECTED: missing pages_tested.
@@ -155,7 +157,7 @@ Your verdict must include which pages you tested.
155
157
  }
156
158
  if (!Array.isArray(checks) || checks.length === 0) {
157
159
  cleanup(verdictFile);
158
- await recordMarker(actionsFile, sid, "block", "invalid_verdict");
160
+ await recordMarker(actionsFile, sessionDir, sid, "block", "invalid_verdict");
159
161
  return {
160
162
  action: "block",
161
163
  message: `VERDICT REJECTED: missing checks.
@@ -166,7 +168,7 @@ Your verdict must describe what you functionally tested.
166
168
  }
167
169
  if (typeof verdict.console_errors !== "number" || typeof verdict.network_failures !== "number") {
168
170
  cleanup(verdictFile);
169
- await recordMarker(actionsFile, sid, "block", "invalid_verdict");
171
+ await recordMarker(actionsFile, sessionDir, sid, "block", "invalid_verdict");
170
172
  return {
171
173
  action: "block",
172
174
  message: `VERDICT REJECTED: missing console_errors or network_failures count.
@@ -179,7 +181,7 @@ Your verdict must include error counts.
179
181
  if (verdict.status === "pass") {
180
182
  logger_1.logger.debug("verdict passed, allowing completion");
181
183
  (0, session_state_1.resetRetries)(sessionDir);
182
- await recordMarker(actionsFile, sid, "allow", "verdict_pass");
184
+ await recordMarker(actionsFile, sessionDir, sid, "allow", "verdict_pass");
183
185
  return { action: "allow" };
184
186
  }
185
187
  if (verdict.status === "fail") {
@@ -188,7 +190,7 @@ Your verdict must include error counts.
188
190
  if (retries >= maxRetries) {
189
191
  cleanup(verdictFile);
190
192
  (0, session_state_1.resetRetries)(sessionDir);
191
- await recordMarker(actionsFile, sid, "allow", "max_retries_exceeded");
193
+ await recordMarker(actionsFile, sessionDir, sid, "allow", "max_retries_exceeded");
192
194
  return {
193
195
  action: "allow",
194
196
  message: `VERIFICATION FAILED ${maxRetries} TIMES. Allowing completion.
@@ -200,7 +202,7 @@ Report these issues in your final response.`,
200
202
  };
201
203
  }
202
204
  cleanup(verdictFile);
203
- await recordMarker(actionsFile, sid, "block", "verdict_fail");
205
+ await recordMarker(actionsFile, sessionDir, sid, "block", "verdict_fail");
204
206
  return {
205
207
  action: "block",
206
208
  message: `VERIFICATION FAILED (attempt ${retries}/${maxRetries}).
@@ -214,17 +216,19 @@ Submit verdict: echo '<verdict-json>' | ironbee hook submit-verdict`,
214
216
  }
215
217
  // ── Unknown status ─────────────────────────────────────
216
218
  cleanup(verdictFile);
217
- await recordMarker(actionsFile, sid, "block", "invalid_verdict");
219
+ await recordMarker(actionsFile, sessionDir, sid, "block", "invalid_verdict");
218
220
  return {
219
221
  action: "block",
220
222
  message: `INVALID VERDICT STATUS: "${verdict.status}". Status must be "pass" or "fail".
221
223
  echo '${verdictExamplePass(sid)}' | ironbee hook submit-verdict`,
222
224
  };
223
225
  }
224
- async function recordMarker(actionsFile, sessionId, action, reason) {
226
+ async function recordMarker(actionsFile, sessionDir, sessionId, action, reason) {
225
227
  const marker = {
228
+ ...(0, actions_1.baseFields)(actionsFile),
226
229
  type: "verification_requested",
227
- timestamp: new Date().toISOString(),
230
+ timestamp: Date.now(),
231
+ activity_id: (0, session_state_1.getActiveActivityId)(sessionDir),
228
232
  action,
229
233
  reason,
230
234
  };