@codyswann/lisa 2.75.0 → 2.76.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/dist/utils/usage-accounting.js +2 -2
- package/dist/utils/usage-accounting.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/commands/doctor.md +6 -0
- package/plugins/lisa/rules/usage-accounting.md +9 -0
- package/plugins/lisa/skills/doctor/SKILL.md +103 -0
- package/plugins/lisa/skills/doctor/agents/openai.yaml +4 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/src/base/commands/doctor.md +6 -0
- package/plugins/src/base/rules/usage-accounting.md +9 -0
- package/plugins/src/base/skills/doctor/SKILL.md +103 -0
|
@@ -151,8 +151,8 @@ export function createLisaUsageRollup(entries, previousRollup) {
|
|
|
151
151
|
const directCost = sumNullable(entries.map(entry => entry.cost));
|
|
152
152
|
const childEntryIds = previousRollup?.childEntryIds ?? [];
|
|
153
153
|
const childRefs = previousRollup?.childRefs ?? [];
|
|
154
|
-
const childTokens = previousRollup
|
|
155
|
-
const childCost = previousRollup
|
|
154
|
+
const childTokens = previousRollup ? previousRollup.childTokens : null;
|
|
155
|
+
const childCost = previousRollup ? previousRollup.childCost : null;
|
|
156
156
|
const totalTokens = directTokens === null && childTokens === null
|
|
157
157
|
? null
|
|
158
158
|
: (directTokens ?? 0) + (childTokens ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-accounting.js","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"usage-accounting.js","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAkDlD,MAAM,aAAa,GACjB,uUAAuU,CAAC;AAE1U,MAAM,cAAc,GAClB,uNAAuN,CAAC;AAE1N;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAA6B;IACnD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAkC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,QAAgB;IAEhB,MAAM,OAAO,GAAG,GAAG,kBAAkB,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM;YAClD,GAAG,EAAE,QAAQ,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,GAAG,GACP,iBAAiB,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,YAAY,GAAG,iBAAiB,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,KAA4C;IAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAoB;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAAoB,EAAE,QAAuB;IAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,eAA0C,EAC1C,WAAsC;IAEtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC,CAC1D,CAAC;IACF,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CACxC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAC9C,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CACjC,KAAK,CAAC,EAAE,CACN,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CACxE,CAAC;IAEF,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAkC,EAClC,cAAuC;IAEvC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,WAAW,GACf,YAAY,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,GACb,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;QACvC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IAC3C,MAAM,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,QAAQ;QACxD,cAAc,EAAE,QAAQ;QACxB,IAAI,CAAC;IAEP,OAAO;QACL,cAAc;QACd,aAAa;QACb,SAAS;QACT,YAAY;QACZ,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAqB;IAC7D,OAAO,kCAAkC,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,QAAQ,UAAU,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,MAAM,iBAAiB,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,KAAK,CAAC,aAAa,mBAAmB,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,KAAK,CAAC,WAAW,wBAAwB,KAAK,CAAC,iBAAiB,IAAI,EAAE,MAAM,CAAC;AACjsB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAuB;IAChE,OAAO,2CAA2C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC3gB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAGtC;IACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC,0CAA0C,CAAC;QAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,EAAE,CACN,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,MAAM,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAChM,CAAC;IACR,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,6GAA6G;QAC7G,EAAE;QACF,2CAA2C;QAC3C,mCAAmC;QACnC,GAAG,UAAU;QACb,EAAE;QACF,0BAA0B,CAAC,MAAM,CAAC;KACnC,CAAC;IAEF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB;IAEhB,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACrB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACrB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,iBAAiB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrD,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;QAC9B,aAAa,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;QAC5B,iBAAiB,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;KACxD,CAAC,CAAC,CAAC;IAEJ,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC;YACE,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,YAAY,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,QAAQ,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACrD;QACH,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAGC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,IAAI,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC1C,OAAO,EAAE,aAAa;QACtB,MAAM;KACP,CAAC,CAAC,OAAO,EAAE,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,OAAO,YAAY,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO,GAAG,MAAM,OAAO,YAAY,OAAO,KAAK,IAAI,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"lodash": ">=4.18.1"
|
|
83
83
|
},
|
|
84
84
|
"name": "@codyswann/lisa",
|
|
85
|
-
"version": "2.
|
|
85
|
+
"version": "2.76.0",
|
|
86
86
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
87
87
|
"main": "dist/index.js",
|
|
88
88
|
"exports": {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Audit whether the current repository is ready to use Lisa. Runs grouped read-only readiness checks for config, runtime surfaces, tracker/source access, automation prerequisites, and optional project/wiki coordination, then reports PASS/WARN/FAIL/SKIP results plus an overall verdict."
|
|
3
|
+
argument-hint: "[--fix=false]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the /lisa:doctor skill to audit whether the current repository is ready to use Lisa, report grouped PASS/WARN/FAIL/SKIP checks, and emit an overall readiness verdict. $ARGUMENTS
|
|
@@ -50,6 +50,10 @@ Each direct usage entry records one logical Lisa run or sub-run on one artifact.
|
|
|
50
50
|
|
|
51
51
|
The absence of data is never treated as zero. `null` means unknown; `0` means explicitly observed or derived zero.
|
|
52
52
|
|
|
53
|
+
For example, an unavailable Verify run still records a direct entry with `source = unavailable`,
|
|
54
|
+
`pricing_status = unavailable`, and `null` token/cost fields so downstream readers can distinguish
|
|
55
|
+
"missing telemetry" from "zero usage."
|
|
56
|
+
|
|
53
57
|
## Pricing semantics
|
|
54
58
|
|
|
55
59
|
`pricing_status` describes how trustworthy the money fields are:
|
|
@@ -121,6 +125,11 @@ Rollups aggregate descendant usage from native tracker hierarchy, documented gen
|
|
|
121
125
|
- Preserve direct totals separately from child totals.
|
|
122
126
|
- Exclude descendant entries whose `entry_id` is already present in the artifact's direct-entry set.
|
|
123
127
|
|
|
128
|
+
Concrete example: if child artifact A and child artifact B both surface descendant entry
|
|
129
|
+
`verify-123`, the parent rollup lists `verify-123` once in `child_entry_ids`. If the parent also
|
|
130
|
+
records `verify-123` directly, exclude that descendant copy from child totals and keep the entry in
|
|
131
|
+
the direct half only.
|
|
132
|
+
|
|
124
133
|
The rollup contract is additive across the hierarchy: PRDs may roll up Epics/Stories/leaves, and leaves may roll up evidence or verification artifacts, without double counting shared descendants.
|
|
125
134
|
|
|
126
135
|
## Idempotent rewrite rules
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: "Audit whether the current repository is ready to use Lisa. Runs grouped read-only checks across project detection, Lisa config, runtime distribution surfaces, tracker/source preflight access, automation prerequisites, optional GitHub Project coordination, and optional wiki delegation, then reports PASS/WARN/FAIL/SKIP results plus an overall readiness verdict (`READY`, `READY_WITH_WARNINGS`, or `NOT_READY`)."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read", "Glob", "Grep"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Doctor: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Run a read-only Lisa readiness audit for the current repository.
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
`/lisa:doctor` is the deterministic answer to "is this repo actually ready to use Lisa?" It audits
|
|
14
|
+
the repository in grouped sections, reports each check as `PASS`, `WARN`, `FAIL`, or `SKIP`, and
|
|
15
|
+
emits one overall verdict: `READY`, `READY_WITH_WARNINGS`, or `NOT_READY`.
|
|
16
|
+
|
|
17
|
+
The command is repository-scoped. It validates only what can be observed from the current repo,
|
|
18
|
+
current machine, and current runtime. It does **not** create automations, labels, tracker items, or
|
|
19
|
+
other external state as part of the default audit path.
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- Optional flags in `$ARGUMENTS` that narrow or tune read-only validation.
|
|
24
|
+
- The current repository root and its Lisa config files (`.lisa.config.json`,
|
|
25
|
+
`.lisa.config.local.json`) when present.
|
|
26
|
+
|
|
27
|
+
## Confirmation policy
|
|
28
|
+
|
|
29
|
+
Do **not** ask whether to proceed. Once invoked, run the read-only audit, print the grouped
|
|
30
|
+
results, emit the overall verdict, and stop.
|
|
31
|
+
|
|
32
|
+
Specifically forbidden:
|
|
33
|
+
|
|
34
|
+
- Previewing the number of checks and asking whether to continue.
|
|
35
|
+
- Offering "run a few checks first" or "dry-run vs real run" choices. This skill is already the
|
|
36
|
+
read-only path.
|
|
37
|
+
- Performing setup mutations just because a failing check discovered something missing.
|
|
38
|
+
|
|
39
|
+
The only legitimate reasons to stop early are:
|
|
40
|
+
|
|
41
|
+
- The current working directory cannot be resolved to a repository/root the audit can inspect.
|
|
42
|
+
- The runtime blocks all required local reads needed to even classify the repo.
|
|
43
|
+
|
|
44
|
+
## Audit contract
|
|
45
|
+
|
|
46
|
+
Doctor reports grouped checks in a stable, human-readable structure. The grouped sections include,
|
|
47
|
+
as applicable to the current repo:
|
|
48
|
+
|
|
49
|
+
1. **Project detection and runtime basics** — detect the project root, package/runtime surface, and
|
|
50
|
+
whether Lisa is installed where the repo expects it.
|
|
51
|
+
2. **Lisa config readiness** — read `.lisa.config.json` and `.lisa.config.local.json` using the
|
|
52
|
+
same local-overrides-global semantics defined by `config-resolution`; report missing required
|
|
53
|
+
keys, incompatible combinations, and committed-vs-local locality problems as findings rather
|
|
54
|
+
than mutating config.
|
|
55
|
+
3. **Tracker/source preflight** — perform read-only readiness checks for the configured `tracker`
|
|
56
|
+
and `source` only. If a required CLI, MCP surface, or auth context is unavailable in the current
|
|
57
|
+
runtime, report that explicitly instead of pretending the repo is ready.
|
|
58
|
+
4. **Runtime distribution surfaces** — confirm the command, skill, hook, and related distribution
|
|
59
|
+
surfaces relevant to this repo are present where Lisa expects them on the active runtime.
|
|
60
|
+
5. **Automation readiness** — inspect whether the configured queue source/tracker and scheduling
|
|
61
|
+
prerequisites are observable, but do **not** create, edit, or delete automations during doctor.
|
|
62
|
+
6. **Optional GitHub Project coordination** — when `github.projects.v2` is configured, delegate
|
|
63
|
+
the shared validation read to `github-project-v2` instead of reimplementing ad-hoc GraphQL
|
|
64
|
+
checks. Honor the `required=false` vs `required=true` semantics documented by
|
|
65
|
+
`config-resolution`: best-effort failures are `WARN`, required-mode failures are `FAIL`.
|
|
66
|
+
7. **Optional wiki delegation** — when a repo-local `wiki/` exists, either summarize the
|
|
67
|
+
specialized `lisa-wiki-doctor` verdict or explicitly report that deeper wiki checks are
|
|
68
|
+
available there. The base doctor stays narrower than full wiki migration enforcement.
|
|
69
|
+
|
|
70
|
+
If a check family is not applicable to the current repo, report `SKIP` with the reason.
|
|
71
|
+
|
|
72
|
+
## Output contract
|
|
73
|
+
|
|
74
|
+
The final report must:
|
|
75
|
+
|
|
76
|
+
- Separate observed facts from remediation advice.
|
|
77
|
+
- Print every check with one of `PASS`, `WARN`, `FAIL`, or `SKIP`.
|
|
78
|
+
- Emit exactly one overall verdict: `READY`, `READY_WITH_WARNINGS`, or `NOT_READY`.
|
|
79
|
+
- Stay read-only by default.
|
|
80
|
+
|
|
81
|
+
The verdict ladder is:
|
|
82
|
+
|
|
83
|
+
- `READY` — no `FAIL` and no `WARN`.
|
|
84
|
+
- `READY_WITH_WARNINGS` — no `FAIL`, but one or more `WARN`.
|
|
85
|
+
- `NOT_READY` — one or more `FAIL`.
|
|
86
|
+
|
|
87
|
+
## Delegation and reuse
|
|
88
|
+
|
|
89
|
+
- Reuse `config-resolution` for config and lifecycle role defaults instead of inventing a second
|
|
90
|
+
schema.
|
|
91
|
+
- Reuse the existing `github-project-v2` chokepoint for GitHub Project coordination checks instead
|
|
92
|
+
of inlining bespoke access logic.
|
|
93
|
+
- Reuse ideas from `lisa-wiki-doctor` for grouped verdict rendering where they fit, while keeping
|
|
94
|
+
the Lisa-wide doctor narrower than the wiki-specific migration/readiness workflow.
|
|
95
|
+
|
|
96
|
+
## Rules
|
|
97
|
+
|
|
98
|
+
- Never mutate repository, tracker, or automation state on the default doctor path.
|
|
99
|
+
- Never hardcode tracker/source label names outside the documented defaults plus configured
|
|
100
|
+
overrides from `config-resolution`.
|
|
101
|
+
- Never silently treat an unavailable check surface as success; report `WARN`, `FAIL`, or `SKIP`
|
|
102
|
+
with the explicit missing dependency.
|
|
103
|
+
- Never turn wiki-specific checks into a requirement for non-wiki repos.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.76.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.76.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Audit whether the current repository is ready to use Lisa. Runs grouped read-only readiness checks for config, runtime surfaces, tracker/source access, automation prerequisites, and optional project/wiki coordination, then reports PASS/WARN/FAIL/SKIP results plus an overall verdict."
|
|
3
|
+
argument-hint: "[--fix=false]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the /lisa:doctor skill to audit whether the current repository is ready to use Lisa, report grouped PASS/WARN/FAIL/SKIP checks, and emit an overall readiness verdict. $ARGUMENTS
|
|
@@ -50,6 +50,10 @@ Each direct usage entry records one logical Lisa run or sub-run on one artifact.
|
|
|
50
50
|
|
|
51
51
|
The absence of data is never treated as zero. `null` means unknown; `0` means explicitly observed or derived zero.
|
|
52
52
|
|
|
53
|
+
For example, an unavailable Verify run still records a direct entry with `source = unavailable`,
|
|
54
|
+
`pricing_status = unavailable`, and `null` token/cost fields so downstream readers can distinguish
|
|
55
|
+
"missing telemetry" from "zero usage."
|
|
56
|
+
|
|
53
57
|
## Pricing semantics
|
|
54
58
|
|
|
55
59
|
`pricing_status` describes how trustworthy the money fields are:
|
|
@@ -121,6 +125,11 @@ Rollups aggregate descendant usage from native tracker hierarchy, documented gen
|
|
|
121
125
|
- Preserve direct totals separately from child totals.
|
|
122
126
|
- Exclude descendant entries whose `entry_id` is already present in the artifact's direct-entry set.
|
|
123
127
|
|
|
128
|
+
Concrete example: if child artifact A and child artifact B both surface descendant entry
|
|
129
|
+
`verify-123`, the parent rollup lists `verify-123` once in `child_entry_ids`. If the parent also
|
|
130
|
+
records `verify-123` directly, exclude that descendant copy from child totals and keep the entry in
|
|
131
|
+
the direct half only.
|
|
132
|
+
|
|
124
133
|
The rollup contract is additive across the hierarchy: PRDs may roll up Epics/Stories/leaves, and leaves may roll up evidence or verification artifacts, without double counting shared descendants.
|
|
125
134
|
|
|
126
135
|
## Idempotent rewrite rules
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: "Audit whether the current repository is ready to use Lisa. Runs grouped read-only checks across project detection, Lisa config, runtime distribution surfaces, tracker/source preflight access, automation prerequisites, optional GitHub Project coordination, and optional wiki delegation, then reports PASS/WARN/FAIL/SKIP results plus an overall readiness verdict (`READY`, `READY_WITH_WARNINGS`, or `NOT_READY`)."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read", "Glob", "Grep"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Doctor: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Run a read-only Lisa readiness audit for the current repository.
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
`/lisa:doctor` is the deterministic answer to "is this repo actually ready to use Lisa?" It audits
|
|
14
|
+
the repository in grouped sections, reports each check as `PASS`, `WARN`, `FAIL`, or `SKIP`, and
|
|
15
|
+
emits one overall verdict: `READY`, `READY_WITH_WARNINGS`, or `NOT_READY`.
|
|
16
|
+
|
|
17
|
+
The command is repository-scoped. It validates only what can be observed from the current repo,
|
|
18
|
+
current machine, and current runtime. It does **not** create automations, labels, tracker items, or
|
|
19
|
+
other external state as part of the default audit path.
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- Optional flags in `$ARGUMENTS` that narrow or tune read-only validation.
|
|
24
|
+
- The current repository root and its Lisa config files (`.lisa.config.json`,
|
|
25
|
+
`.lisa.config.local.json`) when present.
|
|
26
|
+
|
|
27
|
+
## Confirmation policy
|
|
28
|
+
|
|
29
|
+
Do **not** ask whether to proceed. Once invoked, run the read-only audit, print the grouped
|
|
30
|
+
results, emit the overall verdict, and stop.
|
|
31
|
+
|
|
32
|
+
Specifically forbidden:
|
|
33
|
+
|
|
34
|
+
- Previewing the number of checks and asking whether to continue.
|
|
35
|
+
- Offering "run a few checks first" or "dry-run vs real run" choices. This skill is already the
|
|
36
|
+
read-only path.
|
|
37
|
+
- Performing setup mutations just because a failing check discovered something missing.
|
|
38
|
+
|
|
39
|
+
The only legitimate reasons to stop early are:
|
|
40
|
+
|
|
41
|
+
- The current working directory cannot be resolved to a repository/root the audit can inspect.
|
|
42
|
+
- The runtime blocks all required local reads needed to even classify the repo.
|
|
43
|
+
|
|
44
|
+
## Audit contract
|
|
45
|
+
|
|
46
|
+
Doctor reports grouped checks in a stable, human-readable structure. The grouped sections include,
|
|
47
|
+
as applicable to the current repo:
|
|
48
|
+
|
|
49
|
+
1. **Project detection and runtime basics** — detect the project root, package/runtime surface, and
|
|
50
|
+
whether Lisa is installed where the repo expects it.
|
|
51
|
+
2. **Lisa config readiness** — read `.lisa.config.json` and `.lisa.config.local.json` using the
|
|
52
|
+
same local-overrides-global semantics defined by `config-resolution`; report missing required
|
|
53
|
+
keys, incompatible combinations, and committed-vs-local locality problems as findings rather
|
|
54
|
+
than mutating config.
|
|
55
|
+
3. **Tracker/source preflight** — perform read-only readiness checks for the configured `tracker`
|
|
56
|
+
and `source` only. If a required CLI, MCP surface, or auth context is unavailable in the current
|
|
57
|
+
runtime, report that explicitly instead of pretending the repo is ready.
|
|
58
|
+
4. **Runtime distribution surfaces** — confirm the command, skill, hook, and related distribution
|
|
59
|
+
surfaces relevant to this repo are present where Lisa expects them on the active runtime.
|
|
60
|
+
5. **Automation readiness** — inspect whether the configured queue source/tracker and scheduling
|
|
61
|
+
prerequisites are observable, but do **not** create, edit, or delete automations during doctor.
|
|
62
|
+
6. **Optional GitHub Project coordination** — when `github.projects.v2` is configured, delegate
|
|
63
|
+
the shared validation read to `github-project-v2` instead of reimplementing ad-hoc GraphQL
|
|
64
|
+
checks. Honor the `required=false` vs `required=true` semantics documented by
|
|
65
|
+
`config-resolution`: best-effort failures are `WARN`, required-mode failures are `FAIL`.
|
|
66
|
+
7. **Optional wiki delegation** — when a repo-local `wiki/` exists, either summarize the
|
|
67
|
+
specialized `lisa-wiki-doctor` verdict or explicitly report that deeper wiki checks are
|
|
68
|
+
available there. The base doctor stays narrower than full wiki migration enforcement.
|
|
69
|
+
|
|
70
|
+
If a check family is not applicable to the current repo, report `SKIP` with the reason.
|
|
71
|
+
|
|
72
|
+
## Output contract
|
|
73
|
+
|
|
74
|
+
The final report must:
|
|
75
|
+
|
|
76
|
+
- Separate observed facts from remediation advice.
|
|
77
|
+
- Print every check with one of `PASS`, `WARN`, `FAIL`, or `SKIP`.
|
|
78
|
+
- Emit exactly one overall verdict: `READY`, `READY_WITH_WARNINGS`, or `NOT_READY`.
|
|
79
|
+
- Stay read-only by default.
|
|
80
|
+
|
|
81
|
+
The verdict ladder is:
|
|
82
|
+
|
|
83
|
+
- `READY` — no `FAIL` and no `WARN`.
|
|
84
|
+
- `READY_WITH_WARNINGS` — no `FAIL`, but one or more `WARN`.
|
|
85
|
+
- `NOT_READY` — one or more `FAIL`.
|
|
86
|
+
|
|
87
|
+
## Delegation and reuse
|
|
88
|
+
|
|
89
|
+
- Reuse `config-resolution` for config and lifecycle role defaults instead of inventing a second
|
|
90
|
+
schema.
|
|
91
|
+
- Reuse the existing `github-project-v2` chokepoint for GitHub Project coordination checks instead
|
|
92
|
+
of inlining bespoke access logic.
|
|
93
|
+
- Reuse ideas from `lisa-wiki-doctor` for grouped verdict rendering where they fit, while keeping
|
|
94
|
+
the Lisa-wide doctor narrower than the wiki-specific migration/readiness workflow.
|
|
95
|
+
|
|
96
|
+
## Rules
|
|
97
|
+
|
|
98
|
+
- Never mutate repository, tracker, or automation state on the default doctor path.
|
|
99
|
+
- Never hardcode tracker/source label names outside the documented defaults plus configured
|
|
100
|
+
overrides from `config-resolution`.
|
|
101
|
+
- Never silently treat an unavailable check surface as success; report `WARN`, `FAIL`, or `SKIP`
|
|
102
|
+
with the explicit missing dependency.
|
|
103
|
+
- Never turn wiki-specific checks into a requirement for non-wiki repos.
|