bb-cc-lite 0.1.10 → 0.1.11
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/README.md +40 -7
- package/dist/cli.js +5 -4
- package/dist/cli.js.map +1 -1
- package/dist/decision-presentation.d.ts +2 -1
- package/dist/decision-presentation.js +3 -2
- package/dist/decision-presentation.js.map +1 -1
- package/dist/event-store-persistence.d.ts +1 -0
- package/dist/event-store-persistence.js +64 -1
- package/dist/event-store-persistence.js.map +1 -1
- package/dist/event-store-queries.js +5 -2
- package/dist/event-store-queries.js.map +1 -1
- package/dist/failure-episodes.d.ts +6 -2
- package/dist/failure-episodes.js +8 -8
- package/dist/failure-episodes.js.map +1 -1
- package/dist/feedback-outcomes.d.ts +9 -0
- package/dist/feedback-outcomes.js +190 -0
- package/dist/feedback-outcomes.js.map +1 -0
- package/dist/hook-control.js +30 -7
- package/dist/hook-control.js.map +1 -1
- package/dist/hook-payload.d.ts +4 -1
- package/dist/hook-payload.js +7 -3
- package/dist/hook-payload.js.map +1 -1
- package/dist/project-config.d.ts +6 -0
- package/dist/project-config.js +93 -0
- package/dist/project-config.js.map +1 -0
- package/dist/renderer.js +7 -5
- package/dist/renderer.js.map +1 -1
- package/dist/statusline.js +10 -3
- package/dist/statusline.js.map +1 -1
- package/dist/store.d.ts +4 -1
- package/dist/store.js +31 -1
- package/dist/store.js.map +1 -1
- package/dist/tool-metadata.d.ts +2 -0
- package/dist/tool-metadata.js +20 -2
- package/dist/tool-metadata.js.map +1 -1
- package/dist/transcript.d.ts +7 -2
- package/dist/transcript.js +7 -7
- package/dist/transcript.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/why.d.ts +15 -2
- package/dist/why.js +130 -5
- package/dist/why.js.map +1 -1
- package/package.json +1 -1
package/dist/store.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { HOOK_STORE_LIMIT, STORE_LIMIT, readStore, updateStore } from "./event-store-persistence.js";
|
|
2
|
+
import { FEEDBACK_OUTCOME_STORE_LIMIT, HOOK_STORE_LIMIT, STORE_LIMIT, readStore, updateStore } from "./event-store-persistence.js";
|
|
3
3
|
import { eventStorePath } from "./paths.js";
|
|
4
4
|
export { readStore } from "./event-store-persistence.js";
|
|
5
5
|
export { hookSummary, latestDecision } from "./event-store-queries.js";
|
|
6
|
+
export { FEEDBACK_OUTCOME_STORE_LIMIT } from "./event-store-persistence.js";
|
|
6
7
|
export async function recordDecision(decision, storePath = eventStorePath()) {
|
|
7
8
|
return updateStore(storePath, (store) => {
|
|
8
9
|
const stored = {
|
|
@@ -37,6 +38,35 @@ export async function recordFeedbackEvent(event, storePath = eventStorePath()) {
|
|
|
37
38
|
cooldownKey: event.cooldownKey
|
|
38
39
|
}, storePath);
|
|
39
40
|
}
|
|
41
|
+
export async function recordFeedbackOutcome(outcome, storePath = eventStorePath()) {
|
|
42
|
+
return updateStore(storePath, (store) => {
|
|
43
|
+
const stored = {
|
|
44
|
+
id: randomUUID(),
|
|
45
|
+
kind: "feedback_outcome",
|
|
46
|
+
sessionKey: outcome.sessionKey,
|
|
47
|
+
feedbackAction: outcome.feedbackAction,
|
|
48
|
+
cooldownKey: outcome.cooldownKey,
|
|
49
|
+
expectedAction: outcome.expectedAction,
|
|
50
|
+
outcome: outcome.outcome,
|
|
51
|
+
timestamp: outcome.timestamp,
|
|
52
|
+
safeCategory: outcome.safeCategory,
|
|
53
|
+
reasonCode: outcome.reasonCode,
|
|
54
|
+
stateBefore: outcome.stateBefore,
|
|
55
|
+
stateAfter: outcome.stateAfter
|
|
56
|
+
};
|
|
57
|
+
store.feedbackOutcomes.push(stored);
|
|
58
|
+
store.feedbackOutcomes = store.feedbackOutcomes.slice(-FEEDBACK_OUTCOME_STORE_LIMIT);
|
|
59
|
+
store.updatedAt = new Date().toISOString();
|
|
60
|
+
return { store, result: stored };
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export async function recentFeedbackOutcomes(sessionKey, storePath = eventStorePath()) {
|
|
64
|
+
const store = await readStore(storePath);
|
|
65
|
+
return store.feedbackOutcomes
|
|
66
|
+
.filter((outcome) => !sessionKey || outcome.sessionKey === sessionKey)
|
|
67
|
+
.sort((left, right) => left.timestamp.localeCompare(right.timestamp))
|
|
68
|
+
.slice(-10);
|
|
69
|
+
}
|
|
40
70
|
export async function recentFeedbackEvents(sessionKey, storePath = eventStorePath()) {
|
|
41
71
|
if (!sessionKey) {
|
|
42
72
|
return [];
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-metadata.d.ts
CHANGED
package/dist/tool-metadata.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
2
|
import { hashValue } from "./paths.js";
|
|
3
|
+
import { classifyConfiguredValidationCommand } from "./project-config.js";
|
|
3
4
|
import { asRecord, stringField } from "./status-input.js";
|
|
4
5
|
const TEST_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?(test|vitest|jest)|\b(vitest|jest|mocha|pytest|cargo\s+test|go\s+test|rspec|playwright\s+test)\b/i;
|
|
5
6
|
const LINT_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?lint\b|\b(eslint|ruff|flake8|cargo\s+clippy)\b/i;
|
|
6
7
|
const TYPECHECK_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?typecheck\b|\btsc\s+--noEmit\b|\bmypy\b/i;
|
|
7
8
|
const BUILD_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?(build|compile)\b|\b(tsc|vite\s+build|cargo\s+build|go\s+build)\b/i;
|
|
9
|
+
const READ_ONLY_BASH_COMMAND_RE = /^(pwd|ls\b|git\s+(status|diff|log|show)\b|rg\b|grep\b|sed\s+-n\b|head\b|tail\b|wc\b)/iu;
|
|
10
|
+
const SHELL_MUTATION_HINT_RE = /(\s>|>>|\|\s*(tee|xargs)\b|&&|\|\||;)/iu;
|
|
8
11
|
export function classifyToolIdentity(toolName, input, options = {}) {
|
|
9
12
|
const candidate = rawToolNameCandidate(toolName, options) || "";
|
|
10
13
|
if (candidate && isMcpToolName(candidate)) {
|
|
@@ -17,11 +20,12 @@ export function classifyToolIdentity(toolName, input, options = {}) {
|
|
|
17
20
|
};
|
|
18
21
|
}
|
|
19
22
|
const displayName = safeToolName(toolName, options);
|
|
23
|
+
const purpose = classifyToolPurpose(displayName, input, options);
|
|
20
24
|
return {
|
|
21
25
|
displayName,
|
|
22
|
-
purpose
|
|
26
|
+
purpose,
|
|
23
27
|
isEdit: isEditTool(displayName),
|
|
24
|
-
isReadSearch: isReadSearchTool(displayName)
|
|
28
|
+
isReadSearch: isReadSearchTool(displayName) || purpose === "read"
|
|
25
29
|
};
|
|
26
30
|
}
|
|
27
31
|
export function classifyToolPurpose(toolName, input, options = {}) {
|
|
@@ -29,6 +33,10 @@ export function classifyToolPurpose(toolName, input, options = {}) {
|
|
|
29
33
|
return undefined;
|
|
30
34
|
}
|
|
31
35
|
const command = stringField(asRecord(input)?.command);
|
|
36
|
+
const configured = classifyConfiguredValidationCommand(command, options.projectConfig);
|
|
37
|
+
if (configured) {
|
|
38
|
+
return configured;
|
|
39
|
+
}
|
|
32
40
|
if (command && TEST_COMMAND_RE.test(command)) {
|
|
33
41
|
return "tests";
|
|
34
42
|
}
|
|
@@ -41,6 +49,9 @@ export function classifyToolPurpose(toolName, input, options = {}) {
|
|
|
41
49
|
if (command && BUILD_COMMAND_RE.test(command)) {
|
|
42
50
|
return "build";
|
|
43
51
|
}
|
|
52
|
+
if (isReadOnlyBashCommand(command)) {
|
|
53
|
+
return "read";
|
|
54
|
+
}
|
|
44
55
|
return undefined;
|
|
45
56
|
}
|
|
46
57
|
export function classifyResultPurpose(part) {
|
|
@@ -81,6 +92,13 @@ function rawToolNameCandidate(toolName, options) {
|
|
|
81
92
|
function isMcpToolName(toolName) {
|
|
82
93
|
return toolName.startsWith("mcp__");
|
|
83
94
|
}
|
|
95
|
+
function isReadOnlyBashCommand(command) {
|
|
96
|
+
if (!command) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
const normalized = command.trim().replace(/\s+/gu, " ");
|
|
100
|
+
return READ_ONLY_BASH_COMMAND_RE.test(normalized) && !SHELL_MUTATION_HINT_RE.test(normalized);
|
|
101
|
+
}
|
|
84
102
|
const APPROVED_BUILT_IN_TOOL_NAMES = new Set([
|
|
85
103
|
"Bash",
|
|
86
104
|
"Edit",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../src/tool-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,eAAe,GACnB,oIAAoI,CAAC;AACvI,MAAM,eAAe,GAAG,kFAAkF,CAAC;AAC3G,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AACzG,MAAM,gBAAgB,GAAG,qGAAqG,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../src/tool-metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/transcript.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { type ReadTranscriptTailOptions } from "./transcript-reader.js";
|
|
2
|
+
import type { ProjectConfig } from "./project-config.js";
|
|
2
3
|
import type { TranscriptSummary } from "./types.js";
|
|
3
|
-
export type ParseTranscriptOptions = ReadTranscriptTailOptions
|
|
4
|
+
export type ParseTranscriptOptions = ReadTranscriptTailOptions & {
|
|
5
|
+
projectConfig?: ProjectConfig;
|
|
6
|
+
};
|
|
4
7
|
export declare function parseTranscriptTail(transcriptPath: string | undefined, options?: ParseTranscriptOptions): Promise<TranscriptSummary>;
|
|
5
|
-
export declare function parseTranscriptLines(lines: string[], bytesRead?: number
|
|
8
|
+
export declare function parseTranscriptLines(lines: string[], bytesRead?: number, options?: {
|
|
9
|
+
projectConfig?: ProjectConfig;
|
|
10
|
+
}): TranscriptSummary;
|
package/dist/transcript.js
CHANGED
|
@@ -7,10 +7,10 @@ export async function parseTranscriptTail(transcriptPath, options = {}) {
|
|
|
7
7
|
if (!tail.pathReadable) {
|
|
8
8
|
return emptySummary(false);
|
|
9
9
|
}
|
|
10
|
-
return parseTranscriptLines(tail.lines, tail.bytesRead);
|
|
10
|
+
return parseTranscriptLines(tail.lines, tail.bytesRead, { projectConfig: options.projectConfig });
|
|
11
11
|
}
|
|
12
|
-
export function parseTranscriptLines(lines, bytesRead = Buffer.byteLength(lines.join("\n"))) {
|
|
13
|
-
const failureEpisodes = extractFailureEpisodesFromTranscriptLines(lines);
|
|
12
|
+
export function parseTranscriptLines(lines, bytesRead = Buffer.byteLength(lines.join("\n")), options = {}) {
|
|
13
|
+
const failureEpisodes = extractFailureEpisodesFromTranscriptLines(lines, { projectConfig: options.projectConfig });
|
|
14
14
|
const blindRetry = summarizeBlindRetry(failureEpisodes);
|
|
15
15
|
const toolById = new Map();
|
|
16
16
|
const failureCounts = new Map();
|
|
@@ -70,7 +70,7 @@ export function parseTranscriptLines(lines, bytesRead = Buffer.byteLength(lines.
|
|
|
70
70
|
}
|
|
71
71
|
for (const toolUse of toolUses) {
|
|
72
72
|
toolCalls += 1;
|
|
73
|
-
const identity = classifyToolIdentity(toolUse.name, toolUse.input, { basenameOnly: true });
|
|
73
|
+
const identity = classifyToolIdentity(toolUse.name, toolUse.input, { basenameOnly: true, projectConfig: options.projectConfig });
|
|
74
74
|
if (identity.isReadSearch) {
|
|
75
75
|
readToolCalls += 1;
|
|
76
76
|
}
|
|
@@ -92,7 +92,7 @@ export function parseTranscriptLines(lines, bytesRead = Buffer.byteLength(lines.
|
|
|
92
92
|
toolResultStep += 1;
|
|
93
93
|
const meta = (toolResult.toolUseId ? toolById.get(toolResult.toolUseId) : undefined) ||
|
|
94
94
|
(toolResult.toolName
|
|
95
|
-
? metaFromToolName(toolResult.toolName)
|
|
95
|
+
? metaFromToolName(toolResult.toolName, options.projectConfig)
|
|
96
96
|
: undefined) ||
|
|
97
97
|
{ name: "tool", purpose: undefined, isEdit: false, isReadSearch: false };
|
|
98
98
|
const purpose = meta.name === "Bash" ? toolResult.purpose || meta.purpose : meta.purpose;
|
|
@@ -191,8 +191,8 @@ function emptySummary(pathReadable) {
|
|
|
191
191
|
function isValidationPurpose(purpose) {
|
|
192
192
|
return purpose === "tests" || purpose === "lint" || purpose === "typecheck" || purpose === "build";
|
|
193
193
|
}
|
|
194
|
-
function metaFromToolName(toolName) {
|
|
195
|
-
const identity = classifyToolIdentity(toolName, undefined, { basenameOnly: true });
|
|
194
|
+
function metaFromToolName(toolName, projectConfig) {
|
|
195
|
+
const identity = classifyToolIdentity(toolName, undefined, { basenameOnly: true, projectConfig });
|
|
196
196
|
return {
|
|
197
197
|
name: identity.displayName,
|
|
198
198
|
purpose: identity.purpose,
|
package/dist/transcript.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,yCAAyC,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wBAAwB,CAAC;AAc5F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,cAAkC,EAClC,UAAkC,EAAE;IAEpC,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAe,EAAE,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnG,MAAM,eAAe,GAAG,yCAAyC,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,mBAAuC,CAAC;IAC5C,IAAI,4BAA4B,GAAG,KAAK,CAAC;IACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,WAAmC,CAAC;IACxC,IAAI,oBAAwC,CAAC;IAC7C,IAAI,eAAmC,CAAC;IACxC,IAAI,yBAA6C,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,eAAe,GAAG,cAAc,IAAI,eAAe,CAAC;QACpD,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1F,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,WAAW,GAAG,UAAU,CAAC;YACzB,oBAAoB,GAAG,cAAc,IAAI,oBAAoB,CAAC;QAChE,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,gBAAgB,IAAI,CAAC,CAAC;YACtB,sBAAsB,GAAG,CAAC,CAAC;YAC3B,yBAAyB,GAAG,cAAc,IAAI,yBAAyB,CAAC;QAC1E,CAAC;aAAM,IAAI,gBAAgB,GAAG,CAAC,IAAI,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;YAC1F,sBAAsB,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBACf,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;oBACvB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,cAAc,IAAI,CAAC,CAAC;YACpB,MAAM,IAAI,GACR,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,CAAC,UAAU,CAAC,QAAQ;oBAClB,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,SAAS,CAAC;gBACd,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACzF,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,kBAAkB,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,qBAAqB,IAAI,CAAC,CAAC;oBAC3B,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,mBAAmB,GAAG,cAAc,CAAC;gBACvC,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACxB,mBAAmB,IAAI,CAAC,CAAC;oBACzB,IAAI,4BAA4B,EAAE,CAAC;wBACjC,mBAAmB,GAAG,IAAI,CAAC;oBAC7B,CAAC;oBACD,4BAA4B,GAAG,KAAK,CAAC;oBACrC,oBAAoB,GAAG,CAAC,CAAC;oBACzB,oBAAoB,GAAG,KAAK,CAAC;oBAC7B,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,mBAAmB,GAAG,SAAS,CAAC;gBAClC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,iBAAiB,IAAI,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;gBACxE,oBAAoB,IAAI,CAAC,CAAC;gBAC1B,oBAAoB,GAAG,KAAK,CAAC;YAC/B,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,4BAA4B,GAAG,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,cAAc;QACd,SAAS;QACT,aAAa;QACb,qBAAqB;QACrB,gBAAgB;QAChB,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;QACjB,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/E,eAAe;QACf,UAAU;QACV,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB,EACtB,mBAAmB,IAAI,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS;QAC7G,mBAAmB;QACnB,gBAAgB,EAAE,mBAAmB,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC;QACnE,gBAAgB;QAChB,sBAAsB;QACtB,KAAK;QACL,WAAW;QACX,oBAAoB;QACpB,eAAe;QACf,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,YAAqB;IACzC,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,qBAAqB,EAAE,CAAC;QACxB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,CAAC;QACvB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,CAAC;QACnB,sBAAsB,EAAE,CAAC;QACzB,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA2B;IACtD,OAAO,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,OAAO,CAAC;AACrG,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,WAAW;QAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAsE,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;IAChH,OAAO,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;AACrH,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,OAA2B,EAAE,KAAa;IAChF,MAAM,OAAO,GAAuB;QAClC,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,KAAK;KACN,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB;IACjC,OAAO,CACL,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,wBAAwB,KAAK,SAAS;QAC5C,KAAK,CAAC,oBAAoB,KAAK,SAAS;QACxC,KAAK,CAAC,WAAW,KAAK,SAAS,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,MAAM,GAA0D,EAAE,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7G,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IAMxD,MAAM,MAAM,GAAyF,EAAE,CAAC;IACxG,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/D,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;YACzE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YAChG,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAA8B;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B;IACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC;IACnD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B;IACvD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxG,IAAI,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChI,OAAO,IAAI,KAAK,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAA8B,EAC9B,QAA+D,EAC/D,WAAiG;IAEjG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -99,6 +99,25 @@ export interface DerivedHookEvent {
|
|
|
99
99
|
export interface StoredHookEvent extends DerivedHookEvent {
|
|
100
100
|
id: string;
|
|
101
101
|
}
|
|
102
|
+
export type FeedbackExpectedAction = "run_validation" | "intervene_before_retry" | "summarize_or_narrow" | "validate_or_summarize";
|
|
103
|
+
export type FeedbackOutcomeState = "pending" | "followed" | "ignored" | "resolved" | "superseded";
|
|
104
|
+
export type FeedbackOutcomeSafeCategory = "tests" | "lint" | "typecheck" | "build" | "tool" | "mcp" | "edit" | "budget" | "activity" | "finish";
|
|
105
|
+
export interface FeedbackOutcomeRecord {
|
|
106
|
+
kind: "feedback_outcome";
|
|
107
|
+
sessionKey?: string;
|
|
108
|
+
feedbackAction: "coach" | "guard";
|
|
109
|
+
cooldownKey: string;
|
|
110
|
+
expectedAction: FeedbackExpectedAction;
|
|
111
|
+
outcome: FeedbackOutcomeState;
|
|
112
|
+
timestamp: string;
|
|
113
|
+
safeCategory?: FeedbackOutcomeSafeCategory;
|
|
114
|
+
reasonCode?: string;
|
|
115
|
+
stateBefore?: DecisionState;
|
|
116
|
+
stateAfter?: DecisionState;
|
|
117
|
+
}
|
|
118
|
+
export interface StoredFeedbackOutcome extends FeedbackOutcomeRecord {
|
|
119
|
+
id: string;
|
|
120
|
+
}
|
|
102
121
|
export interface DecisionEvidence {
|
|
103
122
|
label: string;
|
|
104
123
|
detail?: string;
|
|
@@ -214,4 +233,5 @@ export interface EventStoreData {
|
|
|
214
233
|
updatedAt: string;
|
|
215
234
|
decisions: StoredDecision[];
|
|
216
235
|
hookEvents: StoredHookEvent[];
|
|
236
|
+
feedbackOutcomes: StoredFeedbackOutcome[];
|
|
217
237
|
}
|
package/dist/why.d.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import type { Decision, StoredDecision } from "./types.js";
|
|
1
|
+
import type { Decision, StoredDecision, StoredFeedbackOutcome } from "./types.js";
|
|
2
2
|
interface WhyOptions {
|
|
3
3
|
sessionId?: string;
|
|
4
4
|
}
|
|
5
|
+
interface FormatWhyOptions {
|
|
6
|
+
feedbackOutcomes?: StoredFeedbackOutcome[];
|
|
7
|
+
color?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface WhyContext {
|
|
10
|
+
decision?: StoredDecision;
|
|
11
|
+
feedbackOutcomes: StoredFeedbackOutcome[];
|
|
12
|
+
}
|
|
5
13
|
export declare function getWhyDecision(options?: WhyOptions): Promise<StoredDecision | undefined>;
|
|
6
|
-
export declare function
|
|
14
|
+
export declare function getWhyContext(options?: WhyOptions): Promise<WhyContext>;
|
|
15
|
+
export declare function formatWhy(decision: Decision, options?: FormatWhyOptions): string;
|
|
16
|
+
export declare function formatWhyJson(decision: StoredDecision | Decision, feedbackOutcomes?: StoredFeedbackOutcome[]): Decision & {
|
|
17
|
+
feedbackOutcomes: StoredFeedbackOutcome[];
|
|
18
|
+
};
|
|
19
|
+
export declare function shouldColorWhy(env?: NodeJS.ProcessEnv, isTty?: boolean): boolean;
|
|
7
20
|
export {};
|
package/dist/why.js
CHANGED
|
@@ -1,22 +1,53 @@
|
|
|
1
1
|
import { latestDecisionForSession } from "./session.js";
|
|
2
|
-
import { latestDecision } from "./store.js";
|
|
2
|
+
import { latestDecision, recentFeedbackOutcomes } from "./store.js";
|
|
3
|
+
const RESET = "\u001b[0m";
|
|
4
|
+
const BOLD = "\u001b[1m";
|
|
5
|
+
const DIM = "\u001b[2m";
|
|
6
|
+
const STATE_COLORS = {
|
|
7
|
+
Healthy: "\u001b[32m",
|
|
8
|
+
Careful: "\u001b[33m",
|
|
9
|
+
Stop: "\u001b[1;31m"
|
|
10
|
+
};
|
|
11
|
+
const OUTCOME_COLORS = {
|
|
12
|
+
pending: DIM,
|
|
13
|
+
followed: "\u001b[36m",
|
|
14
|
+
ignored: "\u001b[33m",
|
|
15
|
+
resolved: "\u001b[32m",
|
|
16
|
+
superseded: DIM
|
|
17
|
+
};
|
|
3
18
|
export async function getWhyDecision(options = {}) {
|
|
4
19
|
return options.sessionId ? latestDecisionForSession(options.sessionId) : latestDecision();
|
|
5
20
|
}
|
|
6
|
-
export function
|
|
21
|
+
export async function getWhyContext(options = {}) {
|
|
22
|
+
const decision = await getWhyDecision(options);
|
|
23
|
+
return {
|
|
24
|
+
decision,
|
|
25
|
+
feedbackOutcomes: decision?.sessionKey ? await recentFeedbackOutcomes(decision.sessionKey) : []
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function formatWhy(decision, options = {}) {
|
|
29
|
+
const color = options.color === true;
|
|
7
30
|
const cost = decision.costUsd === undefined
|
|
8
31
|
? ""
|
|
9
32
|
: `\nCost evidence: ${decision.costSource === "estimated" ? "estimated " : ""}$${decision.costUsd.toFixed(4)}.`;
|
|
10
33
|
const baseline = baselineWhyLine(decision);
|
|
34
|
+
const feedbackLedger = formatFeedbackLedger(options.feedbackOutcomes || [], color);
|
|
11
35
|
return [
|
|
12
|
-
`Last decision: ${decision.state}.`,
|
|
13
|
-
|
|
36
|
+
`Last decision: ${colorState(decision.state, color)}.`,
|
|
37
|
+
`${colorLabel("Reason", color)}: ${decision.primaryEvidence}. ${decision.impact}.`,
|
|
14
38
|
baseline,
|
|
15
|
-
|
|
39
|
+
feedbackLedger,
|
|
40
|
+
`${colorLabel("Next action", color)}: ${decision.action}.${cost}`
|
|
16
41
|
]
|
|
17
42
|
.filter(Boolean)
|
|
18
43
|
.join("\n");
|
|
19
44
|
}
|
|
45
|
+
export function formatWhyJson(decision, feedbackOutcomes = []) {
|
|
46
|
+
return {
|
|
47
|
+
...decision,
|
|
48
|
+
feedbackOutcomes
|
|
49
|
+
};
|
|
50
|
+
}
|
|
20
51
|
function baselineWhyLine(decision) {
|
|
21
52
|
if (!decision.baselineNote) {
|
|
22
53
|
return undefined;
|
|
@@ -26,4 +57,98 @@ function baselineWhyLine(decision) {
|
|
|
26
57
|
}
|
|
27
58
|
return `Baseline: ${decision.baselineNote}.`;
|
|
28
59
|
}
|
|
60
|
+
export function shouldColorWhy(env = process.env, isTty = Boolean(process.stdout.isTTY)) {
|
|
61
|
+
return isTty && !env.NO_COLOR && env.BB_CC_LITE_COLOR !== "0";
|
|
62
|
+
}
|
|
63
|
+
function formatFeedbackLedger(outcomes, color) {
|
|
64
|
+
const outcome = outcomes.filter((candidate) => candidate.kind === "feedback_outcome").at(-1);
|
|
65
|
+
if (!outcome) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const steps = feedbackLedgerSteps(outcome, color);
|
|
69
|
+
if (steps.length === 0) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
return [`${colorLabel("Recent bb loop", color)}:`, ...steps.map((step, index) => `${index + 1}. ${step}`)].join("\n");
|
|
73
|
+
}
|
|
74
|
+
function feedbackLedgerSteps(outcome, color) {
|
|
75
|
+
const action = outcome.feedbackAction === "guard" ? "Guard" : "Coach";
|
|
76
|
+
const category = categoryLabel(outcome.safeCategory);
|
|
77
|
+
const steps = [feedbackStep(action, outcome, category)];
|
|
78
|
+
if (outcome.outcome === "resolved") {
|
|
79
|
+
if (isValidationCategory(outcome.safeCategory)) {
|
|
80
|
+
steps.push(`Claude ran ${category}.`);
|
|
81
|
+
steps.push(`${sentenceCategory(outcome.safeCategory)} passed.`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
steps.push("State improved after feedback.");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else if (outcome.outcome === "followed") {
|
|
88
|
+
if (outcome.expectedAction === "run_validation" && isValidationCategory(outcome.safeCategory)) {
|
|
89
|
+
steps.push(`Claude ran ${category}.`);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
steps.push("Claude changed approach before retrying.");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (outcome.outcome === "ignored") {
|
|
96
|
+
if (isValidationCategory(outcome.safeCategory)) {
|
|
97
|
+
steps.push(`Claude retried ${category} without an intervention.`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
steps.push("Claude continued the risky flow without the expected intervention.");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
steps.push(`Outcome: ${colorOutcome(outcome.outcome, color)}.`);
|
|
104
|
+
return steps;
|
|
105
|
+
}
|
|
106
|
+
function feedbackStep(action, outcome, category) {
|
|
107
|
+
switch (outcome.reasonCode) {
|
|
108
|
+
case "edit_without_validation":
|
|
109
|
+
return `${action} feedback: edits needed validation.`;
|
|
110
|
+
case "validation_repeated":
|
|
111
|
+
case "blind_retry_loop":
|
|
112
|
+
case "coach_validation_retry_after_feedback":
|
|
113
|
+
return `${action} feedback: inspect before retrying ${category}.`;
|
|
114
|
+
case "finish_with_unresolved_risk":
|
|
115
|
+
return `${action} feedback: resolve or summarize risk before finishing.`;
|
|
116
|
+
default:
|
|
117
|
+
return `${action} feedback: ${expectedActionLabel(outcome.expectedAction)}.`;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function expectedActionLabel(expectedAction) {
|
|
121
|
+
switch (expectedAction) {
|
|
122
|
+
case "intervene_before_retry":
|
|
123
|
+
return "change approach before retrying";
|
|
124
|
+
case "summarize_or_narrow":
|
|
125
|
+
return "summarize progress or narrow scope";
|
|
126
|
+
case "validate_or_summarize":
|
|
127
|
+
return "validate or summarize the blocker";
|
|
128
|
+
case "run_validation":
|
|
129
|
+
return "run focused validation";
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function categoryLabel(category) {
|
|
133
|
+
if (category === "tests") {
|
|
134
|
+
return "tests";
|
|
135
|
+
}
|
|
136
|
+
return category || "the check";
|
|
137
|
+
}
|
|
138
|
+
function sentenceCategory(category) {
|
|
139
|
+
const label = categoryLabel(category);
|
|
140
|
+
return `${label.slice(0, 1).toUpperCase()}${label.slice(1)}`;
|
|
141
|
+
}
|
|
142
|
+
function isValidationCategory(category) {
|
|
143
|
+
return category === "tests" || category === "lint" || category === "typecheck" || category === "build";
|
|
144
|
+
}
|
|
145
|
+
function colorState(state, enabled) {
|
|
146
|
+
return enabled ? `${STATE_COLORS[state]}${state}${RESET}` : state;
|
|
147
|
+
}
|
|
148
|
+
function colorOutcome(outcome, enabled) {
|
|
149
|
+
return enabled ? `${OUTCOME_COLORS[outcome]}${outcome}${RESET}` : outcome;
|
|
150
|
+
}
|
|
151
|
+
function colorLabel(label, enabled) {
|
|
152
|
+
return enabled ? `${BOLD}${label}${RESET}` : label;
|
|
153
|
+
}
|
|
29
154
|
//# sourceMappingURL=why.js.map
|
package/dist/why.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"why.js","sourceRoot":"","sources":["../src/why.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"why.js","sourceRoot":"","sources":["../src/why.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED