bb-cc-lite 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"event-store-queries.js","sourceRoot":"","sources":["../src/event-store-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAmB,EAAE,SAAkB;IAC1E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAC1H,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAA8B,EAC9B,SAAkB;IAQlB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,eAAmC,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,eAAe,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;QAC5G,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,iBAAiB,IAAI,CAAC,CAAC;YACvB,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;YAC1C,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;gBAChB,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzC,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,gBAAgB,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,SAAS;QACT,gBAAgB;QAChB,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAChF,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"event-store-queries.js","sourceRoot":"","sources":["../src/event-store-queries.ts"],"names":[],"mappings":"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"}
package/dist/paths.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare const APP_DIR_NAME = "bb-cc-lite";
2
2
  export declare function appHome(homeDir?: string): string;
3
3
  export declare function eventStorePath(): string;
4
+ export declare function baselinePath(homeDir?: string): string;
4
5
  export declare function backupDir(homeDir?: string): string;
5
6
  export declare function pricingCachePath(): string;
6
7
  export declare function cliPath(): string;
package/dist/paths.js CHANGED
@@ -9,6 +9,9 @@ export function appHome(homeDir = homedir()) {
9
9
  export function eventStorePath() {
10
10
  return process.env.BB_CC_LITE_STORE || join(appHome(), "events.json");
11
11
  }
12
+ export function baselinePath(homeDir) {
13
+ return join(appHome(homeDir), "baseline.json");
14
+ }
12
15
  export function backupDir(homeDir) {
13
16
  return join(appHome(homeDir), "backups");
14
17
  }
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AAEzC,MAAM,UAAU,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC5D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AAEzC,MAAM,UAAU,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC5D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC"}
package/dist/renderer.js CHANGED
@@ -17,18 +17,26 @@ export function renderStatusLine(decision, width) {
17
17
  }
18
18
  function defaultCandidates(decision) {
19
19
  const evidence = decision.evidence.map((item) => item.label);
20
+ const headline = decision.diagnosis || decision.primaryEvidence;
21
+ const badge = decision.baselineNote || "";
22
+ if (decision.diagnosis) {
23
+ return [
24
+ [`bb: ${decision.state}`, headline, badge, decision.action],
25
+ [`bb: ${decision.state}`, headline, decision.action],
26
+ [`bb: ${decision.state}`, headline]
27
+ ];
28
+ }
20
29
  return [
21
- [`bb: ${decision.state}`, ...evidence, decision.action],
22
- [`bb: ${decision.state}`, decision.primaryEvidence, decision.action],
23
- [`bb: ${decision.state}`, decision.action]
30
+ [`bb: ${decision.state}`, headline, badge, ...evidence.filter((item) => item !== headline), decision.action],
31
+ [`bb: ${decision.state}`, headline, decision.action],
32
+ [`bb: ${decision.state}`, headline]
24
33
  ];
25
34
  }
26
35
  function stopCandidates(decision) {
27
36
  const costEvidence = decision.evidence.filter((item) => item.detail).map((item) => item.label);
28
- const fullWhy = decision.impact && decision.impact !== decision.primaryEvidence
29
- ? `why: ${decision.primaryEvidence}; ${decision.impact}`
30
- : `why: ${decision.primaryEvidence}`;
31
- const shortWhy = `why: ${decision.primaryEvidence}`;
37
+ const headline = decision.diagnosis || decision.primaryEvidence;
38
+ const fullWhy = decision.impact && decision.impact !== headline ? `why: ${headline}; ${decision.impact}` : `why: ${headline}`;
39
+ const shortWhy = `why: ${headline}`;
32
40
  const action = `do: ${decision.action}`;
33
41
  return [
34
42
  [`bb: ${decision.state}`, fullWhy, ...costEvidence, action],
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,MAAM,MAAM,GAAkD;IAC5D,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,QAA8B,EAAE,KAAc;IAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEtG,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9C,OAAO,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA8B;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;YAC3D,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;YACpD,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC;SACpC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC5G,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA8B;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IAChE,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC;IAChH,MAAM,QAAQ,GAAG,QAAQ,QAAQ,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxC,OAAO;QACL,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,MAAM,CAAC;QAC3D,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC;QAC3C,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,uDAAuD;IACvD,4CAA4C;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,kEAAkE;IAClE,4CAA4C;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAoC;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1E,CAAC"}
@@ -20,7 +20,7 @@ export interface UninstallOptions {
20
20
  force?: boolean;
21
21
  }
22
22
  export interface InstallResult {
23
- status: "installed" | "updated" | "skipped";
23
+ status: "installed" | "updated";
24
24
  target: SettingsTarget;
25
25
  message: string;
26
26
  command?: string;
@@ -36,5 +36,6 @@ export declare function installStatusLine(options?: InstallOptions): Promise<Ins
36
36
  export declare function uninstallStatusLine(options?: UninstallOptions): Promise<UninstallResult>;
37
37
  export declare function readStatusLine(scope: SettingsScope, projectDir?: string, homeDir?: string): Promise<unknown>;
38
38
  export declare function readHooks(scope: SettingsScope, projectDir?: string, homeDir?: string): Promise<unknown>;
39
+ export declare function describeSettingsTarget(target: Pick<SettingsTarget, "scope">): string;
39
40
  export declare function isBbStatusLine(value: unknown): boolean;
40
41
  export declare function hasBbHooks(existingHooks: unknown, homeDir: string): boolean;
package/dist/settings.js CHANGED
@@ -1,10 +1,23 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
+ import { readFileSync } from "node:fs";
2
3
  import { chmod, cp, mkdir, readdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
3
4
  import { homedir } from "node:os";
4
5
  import { dirname, join, resolve } from "node:path";
5
6
  import { SAFE_HOOK_EVENTS } from "./hook-payload.js";
6
7
  import { appHome, backupDir, cliPath, quoteShell } from "./paths.js";
7
- const PACKAGE_VERSION = "0.1.0";
8
+ const PACKAGE_VERSION = readPackageVersion();
9
+ function readPackageVersion() {
10
+ try {
11
+ const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
12
+ if (typeof pkg.version === "string" && pkg.version.trim().length > 0) {
13
+ return pkg.version;
14
+ }
15
+ }
16
+ catch {
17
+ // Copied statusline runtimes do not need package metadata for rendering.
18
+ }
19
+ return "0.0.0-dev";
20
+ }
8
21
  export function resolveSettingsTarget(options = {}) {
9
22
  const scope = options.scope || "local";
10
23
  const projectDir = resolve(options.projectDir || process.cwd());
@@ -21,21 +34,6 @@ export async function installStatusLine(options = {}) {
21
34
  const targetRead = await readSettings(target.settingsPath);
22
35
  const existing = targetRead.settings.statusLine;
23
36
  const existingHooks = targetRead.settings.hooks;
24
- if (existing && !isBbStatusLine(existing) && !options.replace) {
25
- return {
26
- status: "skipped",
27
- target,
28
- message: `Preserved existing statusLine in ${target.settingsPath}. Re-run with --replace to replace it.`
29
- };
30
- }
31
- const shadowed = !existing ? await findShadowedStatusLine(target) : undefined;
32
- if (shadowed && !options.replace) {
33
- return {
34
- status: "skipped",
35
- target,
36
- message: `Preserved existing ${shadowed.scope} statusLine at ${shadowed.settingsPath}. Local install would shadow it; re-run with --replace to opt in.`
37
- };
38
- }
39
37
  const launchers = await ensureRuntimeLaunchers(options.cliFilePath || cliPath(), target.homeDir);
40
38
  const statusLine = {
41
39
  type: "command",
@@ -63,14 +61,14 @@ export async function installStatusLine(options = {}) {
63
61
  target,
64
62
  command: statusLine.command,
65
63
  backupId: installId,
66
- message: `bb-cc-lite statusLine is already installed in ${target.settingsPath}; ${options.hooks ? "repaired optional hooks and " : ""}refreshed runtime launcher.`
64
+ message: `bb-cc-lite statusLine is already installed in ${describeSettingsTarget(target)}; ${options.hooks ? "repaired optional hooks and " : ""}refreshed runtime launcher.`
67
65
  };
68
66
  }
69
67
  return {
70
68
  status: "updated",
71
69
  target,
72
70
  command: statusLine.command,
73
- message: `bb-cc-lite statusLine is already installed in ${target.settingsPath}; refreshed runtime launcher.`
71
+ message: `bb-cc-lite statusLine is already installed in ${describeSettingsTarget(target)}; refreshed runtime launcher.`
74
72
  };
75
73
  }
76
74
  const beforeRaw = targetRead.raw;
@@ -89,7 +87,9 @@ export async function installStatusLine(options = {}) {
89
87
  target,
90
88
  command: statusLine.command,
91
89
  backupId: installId,
92
- message: `${existing ? "Replaced" : "Installed"} bb-cc-lite statusLine${options.hooks ? " and optional hooks" : ""} in ${target.settingsPath}.`
90
+ message: existing
91
+ ? `Replaced existing Claude statusLine with bb-cc-lite${options.hooks ? " and optional hooks" : ""} in ${describeSettingsTarget(target)}. Previous settings were backed up.`
92
+ : `Installed bb-cc-lite statusLine${options.hooks ? " and optional hooks" : ""} in ${describeSettingsTarget(target)}.`
93
93
  };
94
94
  }
95
95
  export async function uninstallStatusLine(options = {}) {
@@ -104,7 +104,7 @@ export async function uninstallStatusLine(options = {}) {
104
104
  return {
105
105
  status: "skipped",
106
106
  target,
107
- message: `No bb-cc-lite statusLine or hooks are configured in ${target.settingsPath}.`
107
+ message: `No bb-cc-lite statusLine or hooks are configured in ${describeSettingsTarget(target)}.`
108
108
  };
109
109
  }
110
110
  const manifestOwned = manifest?.after.statusLine !== undefined &&
@@ -113,7 +113,7 @@ export async function uninstallStatusLine(options = {}) {
113
113
  return {
114
114
  status: "refused",
115
115
  target,
116
- message: `Refused to modify non-bb-cc-lite statusLine in ${target.settingsPath}.`
116
+ message: `Refused to modify non-bb-cc-lite statusLine in ${describeSettingsTarget(target)}.`
117
117
  };
118
118
  }
119
119
  const currentRaw = current.raw;
@@ -180,6 +180,9 @@ export async function readHooks(scope, projectDir = process.cwd(), homeDir = hom
180
180
  const read = await readSettings(target.settingsPath);
181
181
  return read.settings.hooks;
182
182
  }
183
+ export function describeSettingsTarget(target) {
184
+ return `${target.scope} Claude settings`;
185
+ }
183
186
  export function isBbStatusLine(value) {
184
187
  if (!value || typeof value !== "object") {
185
188
  return false;
@@ -189,8 +192,7 @@ export function isBbStatusLine(value) {
189
192
  return false;
190
193
  }
191
194
  const normalizedCommand = command.replaceAll("'", "");
192
- return (/bb-cc-lite|\/bb-cc-lite\/|\\bb-cc-lite\\/u.test(command) ||
193
- normalizedCommand.includes(join(appHome(), "bin", "statusline")));
195
+ return commandReferencesBbCcLite(command) || normalizedCommand.includes(join(appHome(), "bin", "statusline"));
194
196
  }
195
197
  async function ensureRuntimeLaunchers(cliFilePath, homeDir) {
196
198
  const home = appHome(homeDir);
@@ -199,11 +201,11 @@ async function ensureRuntimeLaunchers(cliFilePath, homeDir) {
199
201
  const hookPath = join(binDir, "hook");
200
202
  const stableCliPath = await copyRuntime(cliFilePath, home);
201
203
  await mkdir(binDir, { recursive: true, mode: 0o700 });
202
- await writeFile(statuslinePath, `#!/bin/sh\nexec ${quoteShell(process.execPath)} ${quoteShell(stableCliPath)} statusline "$@"\n`, {
204
+ await writeFile(statuslinePath, `#!/bin/sh\nexport BB_CC_LITE_HOME=${quoteShell(home)}\nexec ${quoteShell(process.execPath)} ${quoteShell(stableCliPath)} statusline "$@"\n`, {
203
205
  encoding: "utf8",
204
206
  mode: 0o700
205
207
  });
206
- await writeFile(hookPath, `#!/bin/sh\nexec ${quoteShell(process.execPath)} ${quoteShell(stableCliPath)} hook "$@"\n`, {
208
+ await writeFile(hookPath, `#!/bin/sh\nexport BB_CC_LITE_HOME=${quoteShell(home)}\nexec ${quoteShell(process.execPath)} ${quoteShell(stableCliPath)} hook "$@"\n`, {
207
209
  encoding: "utf8",
208
210
  mode: 0o700
209
211
  });
@@ -283,9 +285,12 @@ function isBbHookCommand(value, homeDir) {
283
285
  const command = typeof record.command === "string" ? record.command : "";
284
286
  const normalizedCommand = command.replaceAll("'", "");
285
287
  return (args.includes("--bb-cc-lite-hook") ||
286
- /bb-cc-lite|\/bb-cc-lite\/|\\bb-cc-lite\\/u.test(command) ||
288
+ commandReferencesBbCcLite(command) ||
287
289
  (homeDir !== undefined && normalizedCommand.includes(join(appHome(homeDir), "bin", "hook"))));
288
290
  }
291
+ function commandReferencesBbCcLite(command) {
292
+ return /(^|[\s/\\])bb-cc-lite($|[\s/\\])/u.test(command.replaceAll("'", ""));
293
+ }
289
294
  function cloneRecord(value) {
290
295
  if (!value || typeof value !== "object" || Array.isArray(value)) {
291
296
  return {};
@@ -319,23 +324,12 @@ async function chmodTree(path, dirMode, fileMode) {
319
324
  // Best effort. Existing umask protections still apply if chmod is unavailable.
320
325
  }
321
326
  }
322
- async function findShadowedStatusLine(target) {
323
- const scopes = target.scope === "local" ? ["project", "user"] : target.scope === "project" ? ["user"] : [];
324
- for (const scope of scopes) {
325
- const candidate = resolveSettingsTarget({ scope, projectDir: target.projectDir, homeDir: target.homeDir });
326
- const statusLine = await readStatusLine(scope, target.projectDir, target.homeDir);
327
- if (statusLine && !isBbStatusLine(statusLine)) {
328
- return candidate;
329
- }
330
- }
331
- return undefined;
332
- }
333
327
  async function readSettings(settingsPath) {
334
328
  try {
335
329
  const [raw, fileStat] = await Promise.all([readFile(settingsPath, "utf8"), stat(settingsPath)]);
336
330
  const parsed = JSON.parse(raw);
337
331
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
338
- throw new Error(`Settings file is not a JSON object: ${settingsPath}`);
332
+ throw new Error("Settings file is not a JSON object");
339
333
  }
340
334
  return { raw, settings: parsed, mode: fileStat.mode };
341
335
  }
@@ -359,8 +353,8 @@ async function writeBackup(installId, target, beforeRaw, beforeStatusLine, befor
359
353
  packageVersion: PACKAGE_VERSION,
360
354
  createdAt: new Date().toISOString(),
361
355
  scope: target.scope,
362
- projectDir: target.projectDir,
363
- settingsPath: target.settingsPath,
356
+ projectDirHash: sha256(target.projectDir),
357
+ settingsPathHash: sha256(target.settingsPath),
364
358
  before: {
365
359
  fileExisted: beforeRaw !== undefined,
366
360
  sha256: beforeRaw === undefined ? undefined : sha256(beforeRaw),
@@ -393,7 +387,7 @@ async function latestBackupFor(settingsPath, homeDir, include = () => true) {
393
387
  try {
394
388
  const parsed = JSON.parse(await readFile(join(backupDir(homeDir), entry.name, "manifest.json"), "utf8"));
395
389
  if (parsed.schema === "bb-cc-lite.install-backup.v1" &&
396
- parsed.settingsPath === settingsPath &&
390
+ (parsed.settingsPathHash === sha256(settingsPath) || parsed.settingsPath === settingsPath) &&
397
391
  parsed.state === "active" &&
398
392
  include(parsed)) {
399
393
  manifests.push(parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
package/dist/signals.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import type { Decision, StatusLineInput, StoredDecision, TranscriptSummary } from "./types.js";
1
+ import type { Decision, DecisionPersonalBaseline, StatusLineInput, StoredDecision, TranscriptSummary } from "./types.js";
2
2
  export interface DecideOptions {
3
3
  previous?: StoredDecision;
4
+ baseline?: DecisionPersonalBaseline;
4
5
  }
5
6
  export declare function decide(input: StatusLineInput, transcript: TranscriptSummary, options?: DecideOptions): Decision;
6
7
  export declare function formatCost(value: number): string;
package/dist/signals.js CHANGED
@@ -28,13 +28,29 @@ export function decide(input, transcript, options = {}) {
28
28
  .sort((a, b) => b.count - a.count)[0];
29
29
  if (repeatedFailure) {
30
30
  const runningTests = repeatedFailure.toolName === "Bash" && repeatedFailure.purpose === "tests";
31
+ const baselineUnrecoveredTestLoop = runningTests && supportsUnrecoveredTestLoopStop(options.baseline);
32
+ const baselineStopLike = runningTests && supportsValidationLoopStop(options.baseline);
31
33
  return baseDecision({
32
34
  state: "Stop",
33
35
  reasonCode: "repeated_tool_failure",
36
+ diagnosisCode: runningTests ? "validation_command_loop" : "tool_failure_repeated",
37
+ diagnosis: runningTests
38
+ ? baselineUnrecoveredTestLoop
39
+ ? "test loop: usually unrecovered after 3x"
40
+ : baselineStopLike
41
+ ? "test loop: past runs ended badly"
42
+ : `test loop: failed ${repeatedFailure.count}x`
43
+ : undefined,
44
+ confidence: "high",
45
+ baselineNote: baselineUnrecoveredTestLoop
46
+ ? "recent test loops were usually unrecovered after 3 failures"
47
+ : baselineStopLike
48
+ ? "usually Stop-like for you"
49
+ : undefined,
34
50
  primaryEvidence: `${repeatedFailure.toolName} failed ${repeatedFailure.count}x${runningTests ? " running tests" : ""}`,
35
51
  impact: runningTests ? "Claude is retrying a broken test loop" : "Claude is retrying the same failing tool",
36
52
  action: runningTests
37
- ? "fix the test setup manually, then ask Claude to rerun only that test"
53
+ ? "inspect first failure"
38
54
  : repeatedFailure.toolName === "Bash"
39
55
  ? "fix the failing command manually, then ask Claude to rerun only that command"
40
56
  : `inspect the failing ${repeatedFailure.toolName} step manually before more retries`,
@@ -68,14 +84,24 @@ export function decide(input, transcript, options = {}) {
68
84
  .sort((a, b) => b.count - a.count)[0];
69
85
  if (earlyRepeatedFailure) {
70
86
  const runningTests = earlyRepeatedFailure.toolName === "Bash" && earlyRepeatedFailure.purpose === "tests";
87
+ const validationPurpose = validationPurposeForFailure(earlyRepeatedFailure);
88
+ const quickRecovery = validationPurpose ? supportsQuickValidationRecovery(options.baseline, validationPurpose) : false;
89
+ const validationLabel = validationPurpose || "validation";
90
+ const validationFailureLabel = validationPurpose === "tests" ? "test" : validationLabel;
71
91
  return baseDecision({
72
92
  state: "Careful",
73
93
  reasonCode: "tool_failure_repeated",
94
+ diagnosisCode: validationPurpose ? "validation_command_loop" : "tool_failure_repeated",
95
+ diagnosis: quickRecovery ? `${validationLabel} failed twice; usually recovers after one fix` : undefined,
96
+ confidence: quickRecovery ? "medium" : undefined,
97
+ baselineNote: quickRecovery ? `${validationFailureLabel} failures usually recovered after one focused fix` : undefined,
74
98
  primaryEvidence: `${earlyRepeatedFailure.toolName} failed ${earlyRepeatedFailure.count}x${runningTests ? " running tests" : ""}`,
75
99
  impact: runningTests ? "Tests are failing repeatedly" : "A tool is starting to repeat failures",
76
- action: runningTests
77
- ? "pause and inspect the failing test before another retry"
78
- : `inspect the failing ${earlyRepeatedFailure.toolName} step before another retry`,
100
+ action: quickRecovery
101
+ ? "inspect first failure"
102
+ : runningTests
103
+ ? "pause and inspect the failing test before another retry"
104
+ : `inspect the failing ${earlyRepeatedFailure.toolName} step before another retry`,
79
105
  input,
80
106
  usage,
81
107
  transcript,
@@ -133,6 +159,27 @@ export function decide(input, transcript, options = {}) {
133
159
  costSource
134
160
  });
135
161
  }
162
+ if (transcript.hasUnvalidatedEdits) {
163
+ const unusualEditLag = hasUnusualEditValidationLag(transcript, options.baseline);
164
+ return baseDecision({
165
+ state: "Careful",
166
+ reasonCode: "edit_without_validation",
167
+ diagnosisCode: "edit_without_validation",
168
+ diagnosis: unusualEditLag ? "edit lag unusual for you" : "edits not checked yet",
169
+ confidence: "medium",
170
+ baselineNote: unusualEditLag ? "this edit has gone longer than your usual validation lag" : undefined,
171
+ primaryEvidence: "edits not validated",
172
+ impact: "A successful edit has not been checked by validation yet",
173
+ action: "run focused check",
174
+ input,
175
+ usage,
176
+ transcript,
177
+ now,
178
+ sessionKey,
179
+ costUsd,
180
+ costSource
181
+ });
182
+ }
136
183
  if (cacheWritesHigh(usage)) {
137
184
  return baseDecision({
138
185
  state: "Careful",
@@ -182,6 +229,45 @@ export function decide(input, transcript, options = {}) {
182
229
  costSource
183
230
  });
184
231
  }
232
+ if (transcript.validationRecovered) {
233
+ return baseDecision({
234
+ state: "Healthy",
235
+ reasonCode: "validation_recovered",
236
+ diagnosisCode: "validation_recovered",
237
+ diagnosis: "validation recovered",
238
+ confidence: "medium",
239
+ primaryEvidence: "validation recovered",
240
+ impact: "A failed validation later passed",
241
+ action: "continue",
242
+ input,
243
+ usage,
244
+ transcript,
245
+ now,
246
+ sessionKey,
247
+ costUsd,
248
+ costSource
249
+ });
250
+ }
251
+ if (isReadHeavyCurrentSession(transcript) && supportsReadHeavyHealthy(options.baseline)) {
252
+ return baseDecision({
253
+ state: "Healthy",
254
+ reasonCode: "read_heavy_debugging",
255
+ diagnosisCode: "read_heavy_debugging",
256
+ diagnosis: "research phase: usually normal for you",
257
+ confidence: options.baseline?.scenarios?.read_heavy_debugging?.confidence || "medium",
258
+ baselineNote: "usually Healthy-like for you",
259
+ primaryEvidence: `${transcript.readToolCalls} read/search tool calls`,
260
+ impact: "This matches your Healthy-like read-heavy sessions",
261
+ action: "continue",
262
+ input,
263
+ usage,
264
+ transcript,
265
+ now,
266
+ sessionKey,
267
+ costUsd,
268
+ costSource
269
+ });
270
+ }
185
271
  return baseDecision({
186
272
  state: "Healthy",
187
273
  reasonCode: "healthy",
@@ -220,6 +306,10 @@ function baseDecision(args) {
220
306
  return {
221
307
  state: args.state,
222
308
  reasonCode: args.reasonCode,
309
+ diagnosisCode: args.diagnosisCode,
310
+ diagnosis: args.diagnosis,
311
+ confidence: args.confidence,
312
+ baselineNote: args.baselineNote,
223
313
  primaryEvidence: args.primaryEvidence,
224
314
  evidence,
225
315
  impact: args.impact,
@@ -242,4 +332,64 @@ function cacheWarm(usage) {
242
332
  const writes = usage.cacheCreationInputTokens || 0;
243
333
  return reads > 0 && reads >= writes;
244
334
  }
335
+ function isReadHeavyCurrentSession(transcript) {
336
+ return (transcript.toolCalls >= 4 &&
337
+ transcript.readToolCalls >= 3 &&
338
+ transcript.readToolCalls / Math.max(1, transcript.toolCalls) >= 0.6 &&
339
+ transcript.failedToolResults === 0 &&
340
+ !transcript.hasUnvalidatedEdits);
341
+ }
342
+ function supportsReadHeavyHealthy(baseline) {
343
+ const scenario = baseline?.scenarios?.read_heavy_debugging;
344
+ const healthyCount = baseline?.outcomes?.healthyLike?.readHeavyNoFailure || 0;
345
+ const recentSessionsSeen = baseline?.recent?.sessionsSeen || 0;
346
+ const recentSeen = scenario?.recentSeen;
347
+ const recentHistoryIsEnough = recentSessionsSeen >= 3;
348
+ const recentSupportsHealthy = recentSeen !== undefined && recentSeen >= 3;
349
+ const allTimeSupportsHealthy = !recentHistoryIsEnough && (scenario?.seen || 0) >= 3;
350
+ return Boolean(scenario && (recentSupportsHealthy || allTimeSupportsHealthy) && scenario.confidence !== "low" && healthyCount > 0);
351
+ }
352
+ function supportsValidationLoopStop(baseline) {
353
+ const scenario = baseline?.scenarios?.validation_command_loop;
354
+ const stopCount = baseline?.outcomes?.stopLike?.validationLoopUnrecovered || 0;
355
+ return Boolean(scenario && scenario.seen >= 3 && scenario.confidence !== "low" && stopCount > 0);
356
+ }
357
+ function supportsUnrecoveredTestLoopStop(baseline) {
358
+ const scenario = baseline?.scenarios?.validation_command_loop;
359
+ const tests = baseline?.validation?.tests;
360
+ const unrecovered = tests?.unrecovered || 0;
361
+ const recovered = tests?.recovered || 0;
362
+ const recentSeen = scenario?.recentSeen || 0;
363
+ return Boolean(scenario &&
364
+ recentSeen >= 3 &&
365
+ scenario.confidence !== "low" &&
366
+ unrecovered >= 3 &&
367
+ unrecovered > recovered &&
368
+ (tests?.recoveryRate || 0) <= 0.5);
369
+ }
370
+ function validationPurposeForFailure(failure) {
371
+ if (failure.toolName !== "Bash") {
372
+ return undefined;
373
+ }
374
+ return failure.purpose === "tests" || failure.purpose === "lint" || failure.purpose === "typecheck" || failure.purpose === "build"
375
+ ? failure.purpose
376
+ : undefined;
377
+ }
378
+ function supportsQuickValidationRecovery(baseline, purpose) {
379
+ const aggregate = baseline?.validation?.[purpose];
380
+ const recovered = aggregate?.recovered || 0;
381
+ const unrecovered = aggregate?.unrecovered || 0;
382
+ const recoveryTotal = recovered + unrecovered;
383
+ return Boolean(aggregate &&
384
+ recoveryTotal >= 5 &&
385
+ recovered >= 3 &&
386
+ (aggregate.recoveryRate || 0) >= 0.75 &&
387
+ (aggregate.medianFailuresBeforeRecovery || 0) <= 1);
388
+ }
389
+ function hasUnusualEditValidationLag(transcript, baseline) {
390
+ const currentLag = transcript.unvalidatedEditToolSteps;
391
+ const p75 = baseline?.editValidation?.p75ToolStepsFromEditToValidation || 0;
392
+ const followed = baseline?.editValidation?.editsFollowedByValidation || 0;
393
+ return currentLag !== undefined && followed >= 5 && p75 > 0 && currentLag > p75;
394
+ }
245
395
  //# sourceMappingURL=signals.js.map