bb-cc-lite 0.1.10 → 0.1.12

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 (46) hide show
  1. package/README.md +166 -54
  2. package/dist/audit.d.ts +47 -0
  3. package/dist/audit.js +427 -0
  4. package/dist/audit.js.map +1 -0
  5. package/dist/cli.js +47 -4
  6. package/dist/cli.js.map +1 -1
  7. package/dist/decision-presentation.d.ts +2 -1
  8. package/dist/decision-presentation.js +3 -2
  9. package/dist/decision-presentation.js.map +1 -1
  10. package/dist/event-store-persistence.d.ts +1 -0
  11. package/dist/event-store-persistence.js +64 -1
  12. package/dist/event-store-persistence.js.map +1 -1
  13. package/dist/event-store-queries.js +5 -2
  14. package/dist/event-store-queries.js.map +1 -1
  15. package/dist/failure-episodes.d.ts +6 -2
  16. package/dist/failure-episodes.js +8 -8
  17. package/dist/failure-episodes.js.map +1 -1
  18. package/dist/feedback-outcomes.d.ts +9 -0
  19. package/dist/feedback-outcomes.js +190 -0
  20. package/dist/feedback-outcomes.js.map +1 -0
  21. package/dist/hook-control.js +30 -7
  22. package/dist/hook-control.js.map +1 -1
  23. package/dist/hook-payload.d.ts +4 -1
  24. package/dist/hook-payload.js +7 -3
  25. package/dist/hook-payload.js.map +1 -1
  26. package/dist/project-config.d.ts +6 -0
  27. package/dist/project-config.js +93 -0
  28. package/dist/project-config.js.map +1 -0
  29. package/dist/renderer.js +7 -5
  30. package/dist/renderer.js.map +1 -1
  31. package/dist/statusline.js +10 -3
  32. package/dist/statusline.js.map +1 -1
  33. package/dist/store.d.ts +4 -1
  34. package/dist/store.js +31 -1
  35. package/dist/store.js.map +1 -1
  36. package/dist/tool-metadata.d.ts +2 -0
  37. package/dist/tool-metadata.js +20 -2
  38. package/dist/tool-metadata.js.map +1 -1
  39. package/dist/transcript.d.ts +7 -2
  40. package/dist/transcript.js +7 -7
  41. package/dist/transcript.js.map +1 -1
  42. package/dist/types.d.ts +20 -0
  43. package/dist/why.d.ts +15 -2
  44. package/dist/why.js +130 -5
  45. package/dist/why.js.map +1 -1
  46. package/package.json +1 -1
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 formatWhy(decision: Decision): string;
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 formatWhy(decision) {
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
- `Reason: ${decision.primaryEvidence}. ${decision.impact}.`,
36
+ `Last decision: ${colorState(decision.state, color)}.`,
37
+ `${colorLabel("Reason", color)}: ${decision.primaryEvidence}. ${decision.impact}.`,
14
38
  baseline,
15
- `Next action: ${decision.action}.${cost}`
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;AAO5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAsB,EAAE;IAC3D,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAkB;IAC1C,MAAM,IAAI,GACR,QAAQ,CAAC,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oBAAoB,QAAQ,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpH,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACL,kBAAkB,QAAQ,CAAC,KAAK,GAAG;QACnC,WAAW,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,MAAM,GAAG;QAC1D,QAAQ;QACR,gBAAgB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;KAC1C;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,QAAkB;IACzC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,KAAK,sBAAsB,EAAE,CAAC;QACtD,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,OAAO,aAAa,QAAQ,CAAC,YAAY,GAAG,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"why.js","sourceRoot":"","sources":["../src/why.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bb-cc-lite",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Black Box Claude Code Lite: a small Claude Code status line that says when to continue, slow down, or stop.",
5
5
  "type": "module",
6
6
  "author": "Softcane",