@ironbee-ai/cli 0.3.0 → 0.4.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/CHANGELOG.md +11 -8
- package/README.md +104 -3
- package/dist/analysis/code-changes.d.ts +22 -0
- package/dist/analysis/code-changes.d.ts.map +1 -0
- package/dist/analysis/code-changes.js +141 -0
- package/dist/analysis/code-changes.js.map +1 -0
- package/dist/analysis/cross-session.d.ts +34 -0
- package/dist/analysis/cross-session.d.ts.map +1 -0
- package/dist/analysis/cross-session.js +230 -0
- package/dist/analysis/cross-session.js.map +1 -0
- package/dist/analysis/fix-effectiveness.d.ts +16 -0
- package/dist/analysis/fix-effectiveness.d.ts.map +1 -0
- package/dist/analysis/fix-effectiveness.js +99 -0
- package/dist/analysis/fix-effectiveness.js.map +1 -0
- package/dist/analysis/scoring.d.ts +15 -0
- package/dist/analysis/scoring.d.ts.map +1 -0
- package/dist/analysis/scoring.js +57 -0
- package/dist/analysis/scoring.js.map +1 -0
- package/dist/analysis/time-analysis.d.ts +22 -0
- package/dist/analysis/time-analysis.d.ts.map +1 -0
- package/dist/analysis/time-analysis.js +174 -0
- package/dist/analysis/time-analysis.js.map +1 -0
- package/dist/analysis/verdict-details.d.ts +23 -0
- package/dist/analysis/verdict-details.d.ts.map +1 -0
- package/dist/analysis/verdict-details.js +59 -0
- package/dist/analysis/verdict-details.js.map +1 -0
- package/dist/analysis/verification-quality.d.ts +19 -0
- package/dist/analysis/verification-quality.d.ts.map +1 -0
- package/dist/analysis/verification-quality.js +182 -0
- package/dist/analysis/verification-quality.js.map +1 -0
- package/dist/clients/base.d.ts +2 -0
- package/dist/clients/base.d.ts.map +1 -1
- package/dist/clients/claude/commands/ironbee-analyze.md +42 -0
- package/dist/clients/claude/hooks/clear-verdict.js +1 -1
- package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
- package/dist/clients/claude/hooks/require-verification.d.ts +15 -0
- package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -0
- package/dist/clients/claude/hooks/require-verification.js +61 -0
- package/dist/clients/claude/hooks/require-verification.js.map +1 -0
- package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-start.js +7 -0
- package/dist/clients/claude/hooks/session-start.js.map +1 -1
- package/dist/clients/claude/hooks/track-action.d.ts +1 -1
- package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
- package/dist/clients/claude/hooks/track-action.js +58 -13
- package/dist/clients/claude/hooks/track-action.js.map +1 -1
- package/dist/clients/claude/hooks/verify-gate.js +1 -1
- package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
- package/dist/clients/claude/index.d.ts +2 -0
- package/dist/clients/claude/index.d.ts.map +1 -1
- package/dist/clients/claude/index.js +43 -9
- package/dist/clients/claude/index.js.map +1 -1
- package/dist/clients/claude/rule.md +9 -7
- package/dist/clients/claude/skill.md +11 -8
- package/dist/clients/claude/skills/ironbee-analyze.md +39 -0
- package/dist/clients/cursor/commands/ironbee-analyze/SKILL.md +48 -0
- package/dist/clients/cursor/hooks/clear-verdict.js +1 -1
- package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
- package/dist/clients/cursor/hooks/require-verification.d.ts +15 -0
- package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -0
- package/dist/clients/cursor/hooks/require-verification.js +63 -0
- package/dist/clients/cursor/hooks/require-verification.js.map +1 -0
- package/dist/clients/cursor/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/session-start.js +3 -0
- package/dist/clients/cursor/hooks/session-start.js.map +1 -1
- package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/track-action.js +62 -12
- package/dist/clients/cursor/hooks/track-action.js.map +1 -1
- package/dist/clients/cursor/hooks/verify-gate.js +1 -1
- package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
- package/dist/clients/cursor/index.d.ts +2 -0
- package/dist/clients/cursor/index.d.ts.map +1 -1
- package/dist/clients/cursor/index.js +31 -6
- package/dist/clients/cursor/index.js.map +1 -1
- package/dist/clients/cursor/rule.md +9 -7
- package/dist/clients/cursor/skill.md +11 -8
- package/dist/commands/analyze.d.ts +3 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +298 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +79 -0
- package/dist/commands/hook.js.map +1 -1
- package/dist/hooks/core/actions.d.ts +19 -0
- package/dist/hooks/core/actions.d.ts.map +1 -1
- package/dist/hooks/core/actions.js +5 -0
- package/dist/hooks/core/actions.js.map +1 -1
- package/dist/hooks/core/clear-verdict.d.ts +1 -1
- package/dist/hooks/core/clear-verdict.d.ts.map +1 -1
- package/dist/hooks/core/clear-verdict.js +13 -9
- package/dist/hooks/core/clear-verdict.js.map +1 -1
- package/dist/hooks/core/session-state.d.ts +47 -0
- package/dist/hooks/core/session-state.d.ts.map +1 -0
- package/dist/hooks/core/session-state.js +192 -0
- package/dist/hooks/core/session-state.js.map +1 -0
- package/dist/hooks/core/submit-verdict.d.ts +1 -0
- package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
- package/dist/hooks/core/submit-verdict.js +35 -27
- package/dist/hooks/core/submit-verdict.js.map +1 -1
- package/dist/hooks/core/verification-lifecycle.d.ts +30 -0
- package/dist/hooks/core/verification-lifecycle.d.ts.map +1 -0
- package/dist/hooks/core/verification-lifecycle.js +75 -0
- package/dist/hooks/core/verification-lifecycle.js.map +1 -0
- package/dist/hooks/core/verify-gate.d.ts +1 -1
- package/dist/hooks/core/verify-gate.d.ts.map +1 -1
- package/dist/hooks/core/verify-gate.js +13 -20
- package/dist/hooks/core/verify-gate.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IronBee — Verification Lifecycle Core Logic
|
|
3
|
+
*
|
|
4
|
+
* Manages verification start/end boundaries.
|
|
5
|
+
* Each verification cycle gets a unique ID and an OTEL-compatible trace ID
|
|
6
|
+
* linking start → end → verdict.
|
|
7
|
+
*/
|
|
8
|
+
export interface VerificationStartInput {
|
|
9
|
+
sessionId: string;
|
|
10
|
+
sessionDir: string;
|
|
11
|
+
actionsFile: string;
|
|
12
|
+
}
|
|
13
|
+
export interface VerificationStartResult {
|
|
14
|
+
verificationId: string;
|
|
15
|
+
traceId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface VerificationEndInput {
|
|
18
|
+
sessionId: string;
|
|
19
|
+
sessionDir: string;
|
|
20
|
+
actionsFile: string;
|
|
21
|
+
}
|
|
22
|
+
export interface VerificationEndResult {
|
|
23
|
+
success: boolean;
|
|
24
|
+
verificationId?: string;
|
|
25
|
+
traceId?: string;
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function startVerification(input: VerificationStartInput): VerificationStartResult;
|
|
29
|
+
export declare function endVerification(input: VerificationEndInput): VerificationEndResult;
|
|
30
|
+
//# sourceMappingURL=verification-lifecycle.d.ts.map
|
|
@@ -0,0 +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;CACvB;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,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,uBAAuB,CA8CxF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAsBlF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IronBee — Verification Lifecycle Core Logic
|
|
4
|
+
*
|
|
5
|
+
* Manages verification start/end boundaries.
|
|
6
|
+
* Each verification cycle gets a unique ID and an OTEL-compatible trace ID
|
|
7
|
+
* linking start → end → verdict.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.startVerification = startVerification;
|
|
11
|
+
exports.endVerification = endVerification;
|
|
12
|
+
const crypto_1 = require("crypto");
|
|
13
|
+
const logger_1 = require("../../lib/logger");
|
|
14
|
+
const actions_1 = require("./actions");
|
|
15
|
+
const session_state_1 = require("./session-state");
|
|
16
|
+
function startVerification(input) {
|
|
17
|
+
const { sessionDir, actionsFile } = input;
|
|
18
|
+
// if there's an active fix, end it before starting verification
|
|
19
|
+
const activeFixId = (0, session_state_1.getActiveFixId)(sessionDir);
|
|
20
|
+
if (activeFixId) {
|
|
21
|
+
const fixEndEntry = {
|
|
22
|
+
type: "fix_end",
|
|
23
|
+
timestamp: new Date().toISOString(),
|
|
24
|
+
fix_id: activeFixId,
|
|
25
|
+
};
|
|
26
|
+
(0, actions_1.appendAction)(actionsFile, fixEndEntry);
|
|
27
|
+
(0, session_state_1.clearActiveFix)(sessionDir);
|
|
28
|
+
logger_1.logger.debug(`fix-end: ${activeFixId} (starting new verification)`);
|
|
29
|
+
}
|
|
30
|
+
// if there's already an active verification, end it first
|
|
31
|
+
const existingId = (0, session_state_1.getActiveVerificationId)(sessionDir);
|
|
32
|
+
if (existingId) {
|
|
33
|
+
const existingTraceId = (0, session_state_1.getActiveTraceId)(sessionDir);
|
|
34
|
+
logger_1.logger.debug(`ending previous verification ${existingId} before starting new one`);
|
|
35
|
+
const endEntry = {
|
|
36
|
+
type: "verification_end",
|
|
37
|
+
timestamp: new Date().toISOString(),
|
|
38
|
+
verification_id: existingId,
|
|
39
|
+
trace_id: existingTraceId,
|
|
40
|
+
};
|
|
41
|
+
(0, actions_1.appendAction)(actionsFile, endEntry);
|
|
42
|
+
(0, session_state_1.clearActiveVerification)(sessionDir);
|
|
43
|
+
}
|
|
44
|
+
const verificationId = (0, crypto_1.randomUUID)();
|
|
45
|
+
const traceId = (0, session_state_1.generateTraceId)();
|
|
46
|
+
const entry = {
|
|
47
|
+
type: "verification_start",
|
|
48
|
+
timestamp: new Date().toISOString(),
|
|
49
|
+
verification_id: verificationId,
|
|
50
|
+
trace_id: traceId,
|
|
51
|
+
};
|
|
52
|
+
(0, actions_1.appendAction)(actionsFile, entry);
|
|
53
|
+
(0, session_state_1.setActiveVerification)(sessionDir, verificationId, traceId);
|
|
54
|
+
logger_1.logger.debug(`verification-start: ${verificationId} trace=${traceId}`);
|
|
55
|
+
return { verificationId, traceId };
|
|
56
|
+
}
|
|
57
|
+
function endVerification(input) {
|
|
58
|
+
const { sessionDir, actionsFile } = input;
|
|
59
|
+
const verificationId = (0, session_state_1.getActiveVerificationId)(sessionDir);
|
|
60
|
+
if (!verificationId) {
|
|
61
|
+
return { success: false, message: "No active verification to end." };
|
|
62
|
+
}
|
|
63
|
+
const traceId = (0, session_state_1.getActiveTraceId)(sessionDir);
|
|
64
|
+
const entry = {
|
|
65
|
+
type: "verification_end",
|
|
66
|
+
timestamp: new Date().toISOString(),
|
|
67
|
+
verification_id: verificationId,
|
|
68
|
+
trace_id: traceId,
|
|
69
|
+
};
|
|
70
|
+
(0, actions_1.appendAction)(actionsFile, entry);
|
|
71
|
+
(0, session_state_1.clearActiveVerification)(sessionDir);
|
|
72
|
+
logger_1.logger.debug(`verification-end: ${verificationId} trace=${traceId}`);
|
|
73
|
+
return { success: true, verificationId, traceId, message: `Verification ${verificationId} ended.` };
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=verification-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.runVerifyGate = runVerifyGate;
|
|
11
11
|
const fs_1 = require("fs");
|
|
12
|
-
const path_1 = require("path");
|
|
13
12
|
const logger_1 = require("../../lib/logger");
|
|
14
13
|
const telemetry_1 = require("../../lib/telemetry");
|
|
15
14
|
const actions_1 = require("./actions");
|
|
15
|
+
const session_state_1 = require("./session-state");
|
|
16
16
|
const DEFAULT_MAX_RETRIES = 3;
|
|
17
17
|
function verdictExamplePass(sessionId) {
|
|
18
18
|
return JSON.stringify({
|
|
@@ -36,11 +36,12 @@ function verdictExampleFail(sessionId) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
const MCP_SERVER = "browser-devtools";
|
|
39
|
+
const TOOL_PREFIX = "bdt_";
|
|
39
40
|
const REQUIRED_TOOLS = [
|
|
40
|
-
{ toolName: `mcp__${MCP_SERVER}
|
|
41
|
-
{ toolName: `mcp__${MCP_SERVER}
|
|
42
|
-
{ toolName: `mcp__${MCP_SERVER}
|
|
43
|
-
{ toolName: `mcp__${MCP_SERVER}
|
|
41
|
+
{ toolName: `mcp__${MCP_SERVER}__${TOOL_PREFIX}navigation_go-to`, name: `mcp__${MCP_SERVER}__${TOOL_PREFIX}navigation_go-to`, purpose: "navigate to a page" },
|
|
42
|
+
{ toolName: `mcp__${MCP_SERVER}__${TOOL_PREFIX}content_take-screenshot`, name: `mcp__${MCP_SERVER}__${TOOL_PREFIX}content_take-screenshot`, purpose: "take a screenshot" },
|
|
43
|
+
{ toolName: `mcp__${MCP_SERVER}__${TOOL_PREFIX}a11y_take-aria-snapshot`, name: `mcp__${MCP_SERVER}__${TOOL_PREFIX}a11y_take-aria-snapshot`, purpose: "check accessibility/page structure" },
|
|
44
|
+
{ toolName: `mcp__${MCP_SERVER}__${TOOL_PREFIX}o11y_get-console-messages`, name: `mcp__${MCP_SERVER}__${TOOL_PREFIX}o11y_get-console-messages`, purpose: "check console for errors" },
|
|
44
45
|
];
|
|
45
46
|
function cleanup(...files) {
|
|
46
47
|
for (const f of files) {
|
|
@@ -55,7 +56,7 @@ function cleanup(...files) {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
async function runVerifyGate(input) {
|
|
58
|
-
const { sessionId: sid, actionsFile, verdictFile,
|
|
59
|
+
const { sessionId: sid, sessionDir, actionsFile, verdictFile, maxRetries: inputMaxRetries } = input;
|
|
59
60
|
const maxRetries = inputMaxRetries ?? DEFAULT_MAX_RETRIES;
|
|
60
61
|
logger_1.logger.debug(`verify-gate: session=${sid} verdictExists=${(0, fs_1.existsSync)(verdictFile)}`);
|
|
61
62
|
// ── Check 1: Were code files edited? ───────────────────
|
|
@@ -65,8 +66,8 @@ async function runVerifyGate(input) {
|
|
|
65
66
|
await recordMarker(actionsFile, sid, "allow", "no_edits");
|
|
66
67
|
return { action: "allow" };
|
|
67
68
|
}
|
|
68
|
-
// ── Check 2: Were required IronBee tools used?
|
|
69
|
-
const toolCalls = (0, actions_1.
|
|
69
|
+
// ── Check 2: Were required IronBee tools used AFTER the latest code edit? ─
|
|
70
|
+
const toolCalls = (0, actions_1.getToolCallsSinceLastFileEdit)(actionsFile);
|
|
70
71
|
const usedToolNames = new Set(toolCalls.map((t) => t.tool_name));
|
|
71
72
|
const missingTools = REQUIRED_TOOLS.filter((t) => !usedToolNames.has(t.toolName));
|
|
72
73
|
logger_1.logger.debug(`verify-gate: missingTools=${missingTools.length}/${REQUIRED_TOOLS.length} usedTools=${[...usedToolNames].join(",")}`);
|
|
@@ -177,24 +178,16 @@ Your verdict must include error counts.
|
|
|
177
178
|
// ── Check 6: Pass or fail? ─────────────────────────────
|
|
178
179
|
if (verdict.status === "pass") {
|
|
179
180
|
logger_1.logger.debug("verdict passed, allowing completion");
|
|
180
|
-
|
|
181
|
+
(0, session_state_1.resetRetries)(sessionDir);
|
|
181
182
|
await recordMarker(actionsFile, sid, "allow", "verdict_pass");
|
|
182
183
|
return { action: "allow" };
|
|
183
184
|
}
|
|
184
185
|
if (verdict.status === "fail") {
|
|
185
|
-
|
|
186
|
-
try {
|
|
187
|
-
retries = parseInt((0, fs_1.readFileSync)(retryFile, "utf-8"), 10) || 0;
|
|
188
|
-
}
|
|
189
|
-
catch (e) {
|
|
190
|
-
logger_1.logger.debug(`failed to read retry file ${retryFile}: ${e}`);
|
|
191
|
-
}
|
|
192
|
-
retries++;
|
|
193
|
-
(0, fs_1.mkdirSync)((0, path_1.dirname)(retryFile), { recursive: true });
|
|
194
|
-
(0, fs_1.writeFileSync)(retryFile, String(retries));
|
|
186
|
+
const retries = (0, session_state_1.incrementRetries)(sessionDir);
|
|
195
187
|
const issues = (verdict.issues ?? ["unknown"]).join("\n - ");
|
|
196
188
|
if (retries >= maxRetries) {
|
|
197
|
-
cleanup(verdictFile
|
|
189
|
+
cleanup(verdictFile);
|
|
190
|
+
(0, session_state_1.resetRetries)(sessionDir);
|
|
198
191
|
await recordMarker(actionsFile, sid, "allow", "max_retries_exceeded");
|
|
199
192
|
return {
|
|
200
193
|
action: "allow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const update_1 = require("./commands/update");
|
|
|
10
10
|
const hook_1 = require("./commands/hook");
|
|
11
11
|
const status_1 = require("./commands/status");
|
|
12
12
|
const verify_1 = require("./commands/verify");
|
|
13
|
+
const analyze_1 = require("./commands/analyze");
|
|
13
14
|
const icon_1 = require("./lib/icon");
|
|
14
15
|
const version_1 = require("./lib/version");
|
|
15
16
|
const output_1 = require("./lib/output");
|
|
@@ -24,6 +25,7 @@ program.addCommand(uninstall_1.uninstallCommand);
|
|
|
24
25
|
program.addCommand(update_1.updateCommand);
|
|
25
26
|
program.addCommand(status_1.statusCommand);
|
|
26
27
|
program.addCommand(verify_1.verifyCommand);
|
|
28
|
+
program.addCommand(analyze_1.analyzeCommand);
|
|
27
29
|
program.addCommand(hook_1.hookCommand);
|
|
28
30
|
// hook subcommands run in the background — skip banner and update check
|
|
29
31
|
const isHookCommand = process.argv[2] === "hook";
|
|
@@ -41,6 +43,7 @@ if (process.argv.length === 2) {
|
|
|
41
43
|
console.log(` ${output_1.pc.green("update")} Update to the latest version`);
|
|
42
44
|
console.log(` ${output_1.pc.green("status")} ${output_1.pc.dim("[project-dir]")} Show verification status for sessions`);
|
|
43
45
|
console.log(` ${output_1.pc.green("verify")} ${output_1.pc.dim("[session-id]")} Dry-run verdict validation`);
|
|
46
|
+
console.log(` ${output_1.pc.green("analyze")} ${output_1.pc.dim("[session-id]")} Analyze session metrics (or all sessions)`);
|
|
44
47
|
console.log();
|
|
45
48
|
console.log(` ${output_1.pc.dim("Run")} ${output_1.pc.cyan("ironbee <command> --help")} ${output_1.pc.dim("for more info on a command.")}`);
|
|
46
49
|
console.log();
|
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ironbee-ai/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "The CLI for IronBee —
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "The CLI for IronBee — Verification and Intelligence Layer for Agentic Development",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"ironbee": "dist/index.js"
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"ai",
|
|
31
31
|
"ai-agent",
|
|
32
32
|
"verification",
|
|
33
|
+
"intelligence",
|
|
33
34
|
"browser-testing",
|
|
34
35
|
"claude",
|
|
35
36
|
"claude-code",
|