@ironbee-ai/cli 0.5.0 → 0.5.2

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 (75) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/clients/base.d.ts +4 -0
  3. package/dist/clients/base.d.ts.map +1 -1
  4. package/dist/clients/claude/hooks/activity-start.d.ts +10 -0
  5. package/dist/clients/claude/hooks/activity-start.d.ts.map +1 -0
  6. package/dist/clients/claude/hooks/activity-start.js +31 -0
  7. package/dist/clients/claude/hooks/activity-start.js.map +1 -0
  8. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  9. package/dist/clients/claude/hooks/require-verdict.js +4 -1
  10. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  11. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  12. package/dist/clients/claude/hooks/require-verification.js +3 -0
  13. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  14. package/dist/clients/claude/hooks/session-end.d.ts +10 -0
  15. package/dist/clients/claude/hooks/session-end.d.ts.map +1 -0
  16. package/dist/clients/claude/hooks/session-end.js +43 -0
  17. package/dist/clients/claude/hooks/session-end.js.map +1 -0
  18. package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
  19. package/dist/clients/claude/hooks/session-start.js +1 -0
  20. package/dist/clients/claude/hooks/session-start.js.map +1 -1
  21. package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
  22. package/dist/clients/claude/hooks/verify-gate.js +7 -3
  23. package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
  24. package/dist/clients/claude/index.d.ts +2 -0
  25. package/dist/clients/claude/index.d.ts.map +1 -1
  26. package/dist/clients/claude/index.js +36 -5
  27. package/dist/clients/claude/index.js.map +1 -1
  28. package/dist/clients/cursor/hooks/activity-start.d.ts +10 -0
  29. package/dist/clients/cursor/hooks/activity-start.d.ts.map +1 -0
  30. package/dist/clients/cursor/hooks/activity-start.js +31 -0
  31. package/dist/clients/cursor/hooks/activity-start.js.map +1 -0
  32. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  33. package/dist/clients/cursor/hooks/require-verdict.js +4 -1
  34. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  35. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  36. package/dist/clients/cursor/hooks/require-verification.js +3 -0
  37. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  38. package/dist/clients/cursor/hooks/session-end.d.ts +10 -0
  39. package/dist/clients/cursor/hooks/session-end.d.ts.map +1 -0
  40. package/dist/clients/cursor/hooks/session-end.js +43 -0
  41. package/dist/clients/cursor/hooks/session-end.js.map +1 -0
  42. package/dist/clients/cursor/hooks/session-start.js +1 -1
  43. package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
  44. package/dist/clients/cursor/hooks/verify-gate.js +10 -3
  45. package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
  46. package/dist/clients/cursor/index.d.ts +2 -0
  47. package/dist/clients/cursor/index.d.ts.map +1 -1
  48. package/dist/clients/cursor/index.js +24 -2
  49. package/dist/clients/cursor/index.js.map +1 -1
  50. package/dist/commands/hook.js +24 -0
  51. package/dist/commands/hook.js.map +1 -1
  52. package/dist/hooks/core/actions.d.ts +23 -0
  53. package/dist/hooks/core/actions.d.ts.map +1 -1
  54. package/dist/hooks/core/actions.js +30 -0
  55. package/dist/hooks/core/actions.js.map +1 -1
  56. package/dist/hooks/core/activity.d.ts +20 -0
  57. package/dist/hooks/core/activity.d.ts.map +1 -0
  58. package/dist/hooks/core/activity.js +46 -0
  59. package/dist/hooks/core/activity.js.map +1 -0
  60. package/dist/hooks/core/session-state.d.ts +3 -0
  61. package/dist/hooks/core/session-state.d.ts.map +1 -1
  62. package/dist/hooks/core/session-state.js +24 -0
  63. package/dist/hooks/core/session-state.js.map +1 -1
  64. package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
  65. package/dist/hooks/core/submit-verdict.js +4 -1
  66. package/dist/hooks/core/submit-verdict.js.map +1 -1
  67. package/dist/hooks/core/verification-lifecycle.d.ts.map +1 -1
  68. package/dist/hooks/core/verification-lifecycle.js +9 -3
  69. package/dist/hooks/core/verification-lifecycle.js.map +1 -1
  70. package/package.json +2 -2
  71. package/dist/clients/claude/skills/ironbee-analyze.md +0 -39
  72. /package/dist/clients/claude/{rule.md → rules/ironbee-verification.md} +0 -0
  73. /package/dist/clients/claude/{skill.md → skills/ironbee-verification.md} +0 -0
  74. /package/dist/clients/cursor/{rule.md → rules/ironbee-verification.mdc} +0 -0
  75. /package/dist/clients/cursor/{skill.md → skills/ironbee-verification.md} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-end.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/session-end.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B3D"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor — session-end hook adapter
4
+ *
5
+ * sessionEnd hook — records session_end event and closes any
6
+ * open activity. Fires when the session terminates gracefully.
7
+ *
8
+ * Exit 0 = always allow
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.run = run;
12
+ const actions_1 = require("../../../hooks/core/actions");
13
+ const activity_1 = require("../../../hooks/core/activity");
14
+ const logger_1 = require("../../../lib/logger");
15
+ const stdin_1 = require("../../../lib/stdin");
16
+ async function run(projectDir) {
17
+ let input;
18
+ try {
19
+ input = JSON.parse((0, stdin_1.readStdin)());
20
+ }
21
+ catch (e) {
22
+ logger_1.logger.debug(`failed to parse stdin: ${e}`);
23
+ process.exit(0);
24
+ }
25
+ const sessionId = input.conversation_id ?? "default";
26
+ const sessionDir = `${projectDir}/.ironbee/sessions/${sessionId}`;
27
+ const actionsFile = `${sessionDir}/actions.jsonl`;
28
+ (0, logger_1.setLogFile)(`${sessionDir}/session.log`);
29
+ // close any open activity
30
+ await (0, activity_1.endActivity)({ sessionDir, actionsFile });
31
+ const now = Date.now();
32
+ const entry = {
33
+ type: "session_end",
34
+ timestamp: new Date(now).toISOString(),
35
+ session_id: sessionId,
36
+ duration: (0, actions_1.findDurationSinceLastAction)(actionsFile, "session_start", now),
37
+ reason: input.reason,
38
+ };
39
+ await (0, actions_1.appendAction)(actionsFile, entry);
40
+ logger_1.logger.debug(`session-end: ${sessionId}`);
41
+ process.exit(0);
42
+ }
43
+ //# sourceMappingURL=session-end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/session-end.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAYH,kBA6BC;AAvCD,yDAA0G;AAC1G,2DAA2D;AAC3D,gDAAyD;AACzD,8CAA+C;AAOxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA0B,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC;IAC7D,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAC1D,IAAA,mBAAU,EAAC,GAAG,UAAU,cAAc,CAAC,CAAC;IAExC,0BAA0B;IAC1B,MAAM,IAAA,sBAAW,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAqB;QAC5B,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,IAAA,qCAA2B,EAAC,WAAW,EAAE,eAAe,EAAE,GAAG,CAAC;QACxE,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEvC,eAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -31,7 +31,7 @@ async function run(projectDir) {
31
31
  type: "session_start",
32
32
  timestamp: new Date().toISOString(),
33
33
  session_id: sessionId,
34
- source: "cursor",
34
+ client: "cursor",
35
35
  };
36
36
  const sessionDir = `${projectDir}/.ironbee/sessions/${sessionId}`;
37
37
  await (0, actions_1.appendAction)(actionsFile, entry);
@@ -1 +1 @@
1
- {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC3D"}
1
+ {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC3D"}
@@ -13,6 +13,7 @@
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.run = run;
15
15
  const verify_gate_1 = require("../../../hooks/core/verify-gate");
16
+ const activity_1 = require("../../../hooks/core/activity");
16
17
  const config_1 = require("../../../lib/config");
17
18
  const logger_1 = require("../../../lib/logger");
18
19
  const output_1 = require("../../../lib/output");
@@ -29,18 +30,24 @@ async function run(projectDir) {
29
30
  }
30
31
  const sessionId = input.conversation_id ?? "default";
31
32
  (0, logger_1.setLogFile)(`${projectDir}/.ironbee/sessions/${sessionId}/session.log`);
33
+ const sessionDir = `${projectDir}/.ironbee/sessions/${sessionId}`;
34
+ const actionsFile = `${sessionDir}/actions.jsonl`;
32
35
  const config = (0, config_1.loadConfig)(projectDir);
33
36
  const result = await (0, verify_gate_1.runVerifyGate)({
34
37
  sessionId,
35
- sessionDir: `${projectDir}/.ironbee/sessions/${sessionId}`,
36
- actionsFile: `${projectDir}/.ironbee/sessions/${sessionId}/actions.jsonl`,
37
- verdictFile: `${projectDir}/.ironbee/sessions/${sessionId}/verdict.json`,
38
+ sessionDir,
39
+ actionsFile,
40
+ verdictFile: `${sessionDir}/verdict.json`,
38
41
  maxRetries: (0, config_1.getMaxRetries)(config),
39
42
  });
40
43
  const output = {};
44
+ if (result.action === "allow") {
45
+ await (0, activity_1.endActivity)({ sessionDir, actionsFile });
46
+ }
41
47
  // If verification blocks (action === "block"), send a followup_message
42
48
  // to force the agent back into a new iteration. The agent cannot complete
43
49
  // until it resolves the verification issue or loop_limit is reached.
50
+ // Activity stays open so the retry loop is included in the same activity cycle.
44
51
  if (result.action === "block" && result.message) {
45
52
  output.followup_message = result.message;
46
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/verify-gate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAoBH,kBAiCC;AAnDD,iEAAkF;AAClF,gDAA+E;AAC/E,gDAAyD;AACzD,gDAAmD;AACnD,8CAA+C;AAcxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA0B,CAAC;IAC/B,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAAwB,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAA,qBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC;IAC7D,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAqB,MAAM,IAAA,2BAAa,EAAC;QACjD,SAAS;QACT,UAAU,EAAE,GAAG,UAAU,sBAAsB,SAAS,EAAE;QAC1D,WAAW,EAAE,GAAG,UAAU,sBAAsB,SAAS,gBAAgB;QACzE,WAAW,EAAE,GAAG,UAAU,sBAAsB,SAAS,eAAe;QACxE,UAAU,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,IAAA,qBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/verify-gate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqBH,kBAyCC;AA5DD,iEAAkF;AAClF,2DAA2D;AAC3D,gDAA+E;AAC/E,gDAAyD;AACzD,gDAAmD;AACnD,8CAA+C;AAcxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA0B,CAAC;IAC/B,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAAwB,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAA,qBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC;IAC7D,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAE1D,MAAM,MAAM,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAqB,MAAM,IAAA,2BAAa,EAAC;QACjD,SAAS;QACT,UAAU;QACV,WAAW;QACX,WAAW,EAAE,GAAG,UAAU,eAAe;QACzC,UAAU,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAA,sBAAW,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,gFAAgF;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,IAAA,qBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -12,6 +12,8 @@ export declare class CursorClient implements IClient {
12
12
  runSessionStart(projectDir: string): Promise<void>;
13
13
  runRequireVerdict(projectDir: string): Promise<void>;
14
14
  runRequireVerification(projectDir: string): Promise<void>;
15
+ runActivityStart(projectDir: string): Promise<void>;
16
+ runSessionEnd(projectDir: string): Promise<void>;
15
17
  private isIronBeeHook;
16
18
  private mergeHooksConfig;
17
19
  private removeIronBeeHooks;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAiDjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1C,OAAO,CAAC,gBAAgB;IAsBX,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IA4ExB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;CAoBzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA6ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAiDjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1C,OAAO,CAAC,gBAAgB;IAsBX,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IA4FxB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;CAoBzB"}
@@ -11,6 +11,8 @@ const track_action_1 = require("./hooks/track-action");
11
11
  const session_start_1 = require("./hooks/session-start");
12
12
  const require_verdict_1 = require("./hooks/require-verdict");
13
13
  const require_verification_1 = require("./hooks/require-verification");
14
+ const activity_start_1 = require("./hooks/activity-start");
15
+ const session_end_1 = require("./hooks/session-end");
14
16
  const config_1 = require("../../lib/config");
15
17
  const MCP_SERVER_NAME = "browser-devtools";
16
18
  const IRONBEE_HOOK_MARKER = "ironbee";
@@ -39,10 +41,10 @@ class CursorClient {
39
41
  const hooksPath = (0, path_1.join)(cursorDir, "hooks.json");
40
42
  this.mergeHooksConfig(hooksPath);
41
43
  const skillPath = (0, path_1.join)(skillsDir, "ironbee-verification.md");
42
- const skillContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "skill.md"), "utf-8");
44
+ const skillContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "skills", "ironbee-verification.md"), "utf-8");
43
45
  (0, fs_1.writeFileSync)(skillPath, skillContent);
44
46
  const rulePath = (0, path_1.join)(rulesDir, "ironbee-verification.mdc");
45
- const ruleContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "rule.md"), "utf-8");
47
+ const ruleContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "rules", "ironbee-verification.mdc"), "utf-8");
46
48
  (0, fs_1.writeFileSync)(rulePath, ruleContent);
47
49
  const analyzeSkillDir = (0, path_1.join)(skillsDir, "ironbee-analyze");
48
50
  (0, fs_1.mkdirSync)(analyzeSkillDir, { recursive: true });
@@ -109,6 +111,12 @@ class CursorClient {
109
111
  async runRequireVerification(projectDir) {
110
112
  await (0, require_verification_1.run)(projectDir);
111
113
  }
114
+ async runActivityStart(projectDir) {
115
+ await (0, activity_start_1.run)(projectDir);
116
+ }
117
+ async runSessionEnd(projectDir) {
118
+ await (0, session_end_1.run)(projectDir);
119
+ }
112
120
  isIronBeeHook(entry) {
113
121
  return entry.command.includes(IRONBEE_HOOK_MARKER);
114
122
  }
@@ -137,6 +145,13 @@ class CursorClient {
137
145
  config.hooks.sessionStart.push({
138
146
  command: `ironbee hook session-start --client cursor`,
139
147
  });
148
+ // ── beforeSubmitPrompt — start activity tracking on each agent turn ──
149
+ if (!config.hooks.beforeSubmitPrompt) {
150
+ config.hooks.beforeSubmitPrompt = [];
151
+ }
152
+ config.hooks.beforeSubmitPrompt.push({
153
+ command: `ironbee hook activity-start --client cursor`,
154
+ });
140
155
  // ── preToolUse — block browser tools if no active verification ──
141
156
  if (!config.hooks.preToolUse) {
142
157
  config.hooks.preToolUse = [];
@@ -174,6 +189,13 @@ class CursorClient {
174
189
  config.hooks.stop.push({
175
190
  command: `ironbee hook verify-gate --client cursor`,
176
191
  });
192
+ // ── sessionEnd — record session end ──
193
+ if (!config.hooks.sessionEnd) {
194
+ config.hooks.sessionEnd = [];
195
+ }
196
+ config.hooks.sessionEnd.push({
197
+ command: `ironbee hook session-end --client cursor`,
198
+ });
177
199
  config.version = 1;
178
200
  (0, fs_1.writeFileSync)(hooksPath, JSON.stringify(config, null, 2));
179
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,30 @@ exports.hookCommand
84
84
  const projectDir = client.resolveProjectDir();
85
85
  await client.runRequireVerdict(projectDir);
86
86
  });
87
+ exports.hookCommand
88
+ .command("session-end")
89
+ .description("SessionEnd hook — records session end in actions.jsonl")
90
+ .option("--client <name>", "client name (overrides IRONBEE_CLIENT env var)")
91
+ .action(async (options) => {
92
+ const client = resolveClient(options.client);
93
+ if (!client) {
94
+ return;
95
+ }
96
+ const projectDir = client.resolveProjectDir();
97
+ await client.runSessionEnd(projectDir);
98
+ });
99
+ exports.hookCommand
100
+ .command("activity-start")
101
+ .description("UserPromptSubmit/beforeSubmitPrompt hook — starts activity tracking on each agent turn")
102
+ .option("--client <name>", "client name (overrides IRONBEE_CLIENT env var)")
103
+ .action(async (options) => {
104
+ const client = resolveClient(options.client);
105
+ if (!client) {
106
+ return;
107
+ }
108
+ const projectDir = client.resolveProjectDir();
109
+ await client.runActivityStart(projectDir);
110
+ });
87
111
  exports.hookCommand
88
112
  .command("require-verification")
89
113
  .description("PreToolUse hook — blocks browser tools until verification-start is called")
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,15 @@ export interface FileEditAction extends ActionEntry {
33
33
  export interface SessionStartAction extends ActionEntry {
34
34
  type: "session_start";
35
35
  session_id: string;
36
+ client?: string;
36
37
  source?: string;
37
38
  }
39
+ export interface SessionEndAction extends ActionEntry {
40
+ type: "session_end";
41
+ session_id: string;
42
+ duration?: number;
43
+ reason?: string;
44
+ }
38
45
  export interface VerificationStartAction extends ActionEntry {
39
46
  type: "verification_start";
40
47
  verification_id: string;
@@ -44,6 +51,8 @@ export interface VerificationEndAction extends ActionEntry {
44
51
  type: "verification_end";
45
52
  verification_id: string;
46
53
  trace_id?: string;
54
+ duration?: number;
55
+ status?: string;
47
56
  }
48
57
  export interface FixStartAction extends ActionEntry {
49
58
  type: "fix_start";
@@ -52,8 +61,22 @@ export interface FixStartAction extends ActionEntry {
52
61
  export interface FixEndAction extends ActionEntry {
53
62
  type: "fix_end";
54
63
  fix_id: string;
64
+ duration?: number;
65
+ }
66
+ export interface ActivityStartAction extends ActionEntry {
67
+ type: "activity_start";
68
+ source?: string;
69
+ }
70
+ export interface ActivityEndAction extends ActionEntry {
71
+ type: "activity_end";
72
+ duration?: number;
55
73
  }
56
74
  export declare function appendAction(actionsFile: string, entry: ActionEntry): Promise<void>;
75
+ /**
76
+ * Find the last action of a given type in actions.jsonl and calculate
77
+ * duration from its timestamp to now.
78
+ */
79
+ export declare function findDurationSinceLastAction(actionsFile: string, actionType: string, now: number): number | undefined;
57
80
  export declare function readActionsSinceLastMarker(actionsFile: string, markerType: string): ActionEntry[];
58
81
  export declare function getToolCallsSinceLastVerification(actionsFile: string): ToolCallAction[];
59
82
  export declare function getToolCallsSinceLastFileEdit(actionsFile: string): ToolCallAction[];
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,WAAW;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA4B,SAAQ,WAAW;IAC5D,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACnD,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACnD,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IACxD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACtD,IAAI,EAAE,kBAAkB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CA6BjG;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,CAGvF;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,CAGnF;AAED,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGzE;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG9E"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.appendAction = appendAction;
10
+ exports.findDurationSinceLastAction = findDurationSinceLastAction;
10
11
  exports.readActionsSinceLastMarker = readActionsSinceLastMarker;
11
12
  exports.getToolCallsSinceLastVerification = getToolCallsSinceLastVerification;
12
13
  exports.getToolCallsSinceLastFileEdit = getToolCallsSinceLastFileEdit;
@@ -41,6 +42,35 @@ async function appendAction(actionsFile, entry) {
41
42
  }
42
43
  }
43
44
  }
45
+ /**
46
+ * Find the last action of a given type in actions.jsonl and calculate
47
+ * duration from its timestamp to now.
48
+ */
49
+ function findDurationSinceLastAction(actionsFile, actionType, now) {
50
+ if (!(0, fs_1.existsSync)(actionsFile)) {
51
+ return undefined;
52
+ }
53
+ try {
54
+ const content = (0, fs_1.readFileSync)(actionsFile, "utf-8");
55
+ const lines = content.trim().split("\n").filter((l) => l.length > 0);
56
+ for (let i = lines.length - 1; i >= 0; i--) {
57
+ try {
58
+ const entry = JSON.parse(lines[i]);
59
+ if (entry.type === actionType && entry.timestamp) {
60
+ const startTime = new Date(entry.timestamp).getTime();
61
+ return now - startTime;
62
+ }
63
+ }
64
+ catch {
65
+ // skip malformed lines
66
+ }
67
+ }
68
+ }
69
+ catch (e) {
70
+ logger_1.logger.debug(`failed to find duration for ${actionType}: ${e}`);
71
+ }
72
+ return undefined;
73
+ }
44
74
  function readActionsSinceLastMarker(actionsFile, markerType) {
45
75
  if (!(0, fs_1.existsSync)(actionsFile)) {
46
76
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwFH,oCAuBC;AAMD,kEAyBC;AAED,gEA6BC;AAED,8EAGC;AAED,sEAGC;AAED,oEAGC;AAED,8EAGC;AA/LD,2BAAyE;AACzE,mCAAoC;AACpC,+BAAyC;AACzC,6CAA0C;AAC1C,mDAAsD;AAkF/C,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,KAAkB;IACtE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACZ,KAAK,CAAC,EAAE,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACD,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAA,mBAAc,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,kFAAkF;IAClF,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,wEAAwE;YACxE,MAAM,SAAS,GAAW,IAAA,eAAQ,EAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAW,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,IAAA,2BAAe,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CAAC,WAAmB,EAAE,UAAkB,EAAE,GAAW;IAC5F,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAW,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAa,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhG,KAAK,IAAI,CAAC,GAAW,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC;gBACD,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAgB,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC/C,MAAM,SAAS,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxE,OAAO,GAAG,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,uBAAuB;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAgB,0BAA0B,CAAC,WAAmB,EAAE,UAAkB;IAC9E,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAW,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAa,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhG,IAAI,eAAe,GAAW,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAgB,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC5B,eAAe,GAAG,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,uBAAuB;YAC3B,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,+BAA+B,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAgB,iCAAiC,CAAC,WAAmB;IACjE,MAAM,OAAO,GAAkB,0BAA0B,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAc,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC3F,CAAC;AAED,SAAgB,6BAA6B,CAAC,WAAmB;IAC7D,MAAM,OAAO,GAAkB,0BAA0B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAc,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC3F,CAAC;AAED,SAAgB,4BAA4B,CAAC,WAAmB;IAC5D,MAAM,OAAO,GAAkB,0BAA0B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAc,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,iCAAiC,CAAC,WAAmB;IACjE,MAAM,OAAO,GAAkB,0BAA0B,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAc,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAC7E,CAAC"}
@@ -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;AAMH,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,CAgB5E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxE"}
@@ -0,0 +1,46 @@
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 logger_1 = require("../../lib/logger");
14
+ const session_state_1 = require("./session-state");
15
+ const actions_1 = require("./actions");
16
+ async function startActivity(input) {
17
+ const { sessionDir, actionsFile, source } = input;
18
+ if ((0, session_state_1.isActive)(sessionDir)) {
19
+ return;
20
+ }
21
+ (0, session_state_1.setActive)(sessionDir, true);
22
+ const entry = {
23
+ type: "activity_start",
24
+ timestamp: new Date().toISOString(),
25
+ source,
26
+ };
27
+ await (0, actions_1.appendAction)(actionsFile, entry);
28
+ logger_1.logger.debug(`activity-start: source=${source ?? "unknown"}`);
29
+ }
30
+ async function endActivity(input) {
31
+ const { sessionDir, actionsFile } = input;
32
+ if (!(0, session_state_1.isActive)(sessionDir)) {
33
+ return;
34
+ }
35
+ (0, session_state_1.setActive)(sessionDir, false);
36
+ const now = Date.now();
37
+ const duration = (0, actions_1.findDurationSinceLastAction)(actionsFile, "activity_start", now);
38
+ const entry = {
39
+ type: "activity_end",
40
+ timestamp: new Date(now).toISOString(),
41
+ duration,
42
+ };
43
+ await (0, actions_1.appendAction)(actionsFile, entry);
44
+ logger_1.logger.debug(`activity-end: duration=${duration ?? "unknown"}`);
45
+ }
46
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/hooks/core/activity.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAiBH,sCAgBC;AAED,kCAmBC;AApDD,6CAA0C;AAC1C,mDAAsD;AACtD,uCAA8G;AAavG,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,IAAA,yBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAwB;QAC/B,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM;KACT,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,eAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;AAClE,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,IAAA,yBAAS,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE7B,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,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,QAAQ;KACX,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,eAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -15,6 +15,7 @@ export interface SessionState {
15
15
  phase: SessionPhase;
16
16
  recordingRequired: boolean;
17
17
  recordingActive: boolean;
18
+ active: boolean;
18
19
  }
19
20
  /** Generate an OTEL-compatible trace ID (32 hex chars / 16 bytes). */
20
21
  export declare function generateTraceId(): string;
@@ -38,6 +39,8 @@ export declare function isRecordingRequired(sessionDir: string): boolean;
38
39
  export declare function setRecordingRequired(sessionDir: string, required: boolean): void;
39
40
  export declare function isRecordingActive(sessionDir: string): boolean;
40
41
  export declare function setRecordingActive(sessionDir: string, active: boolean): void;
42
+ export declare function isActive(sessionDir: string): boolean;
43
+ export declare function setActive(sessionDir: string, active: boolean): void;
41
44
  /**
42
45
  * Reconcile session state on session start/resume.
43
46
  * Closes any open verification or fix cycles, records appropriate
@@ -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,6 +28,8 @@ 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;
31
33
  exports.reconcileSessionState = reconcileSessionState;
32
34
  const crypto_1 = require("crypto");
33
35
  const fs_1 = require("fs");
@@ -43,6 +45,7 @@ const DEFAULT_STATE = {
43
45
  phase: null,
44
46
  recordingRequired: false,
45
47
  recordingActive: false,
48
+ active: false,
46
49
  };
47
50
  /** Generate an OTEL-compatible trace ID (32 hex chars / 16 bytes). */
48
51
  function generateTraceId() {
@@ -66,6 +69,7 @@ function readState(sessionDir) {
66
69
  phase: typeof parsed.phase === "string" && validPhases.includes(parsed.phase) ? parsed.phase : null,
67
70
  recordingRequired: typeof parsed.recordingRequired === "boolean" ? parsed.recordingRequired : false,
68
71
  recordingActive: typeof parsed.recordingActive === "boolean" ? parsed.recordingActive : false,
72
+ active: typeof parsed.active === "boolean" ? parsed.active : false,
69
73
  };
70
74
  }
71
75
  catch (e) {
@@ -170,6 +174,15 @@ function setRecordingActive(sessionDir, active) {
170
174
  state.recordingActive = active;
171
175
  writeState(sessionDir, state);
172
176
  }
177
+ function isActive(sessionDir) {
178
+ const state = readState(sessionDir);
179
+ return state.active;
180
+ }
181
+ function setActive(sessionDir, active) {
182
+ const state = readState(sessionDir);
183
+ state.active = active;
184
+ writeState(sessionDir, state);
185
+ }
173
186
  /**
174
187
  * Reconcile session state on session start/resume.
175
188
  * Closes any open verification or fix cycles, records appropriate
@@ -206,6 +219,17 @@ async function reconcileSessionState(sessionDir, actionsFile, appendFn) {
206
219
  state.activeFixId = null;
207
220
  dirty = true;
208
221
  }
222
+ // close abandoned activity
223
+ if (state.active) {
224
+ await appendFn(actionsFile, {
225
+ type: "activity_end",
226
+ timestamp: new Date().toISOString(),
227
+ reason: "session_reconcile",
228
+ });
229
+ logger_1.logger.debug("reconcile: ended abandoned activity");
230
+ state.active = false;
231
+ dirty = true;
232
+ }
209
233
  // reset recording state
210
234
  if (state.recordingRequired || state.recordingActive) {
211
235
  state.recordingRequired = false;