@codyswann/lisa 2.105.0 → 2.106.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.d.ts +1 -0
- package/dist/utils/usage-accounting.d.ts.map +1 -1
- package/dist/utils/usage-accounting.js +85 -23
- 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/scripts/queue-status-build-readers.mjs +22 -3
- 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/lisa-wiki/scripts/wiki-status.mjs +46 -11
- package/plugins/src/base/scripts/queue-status-build-readers.mjs +22 -3
- package/plugins/src/wiki/scripts/wiki-status.mjs +46 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-accounting.d.ts","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7C,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"usage-accounting.d.ts","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { collectLisaUsageChildArtifacts } from "./usage-accounting-rollup.js";
|
|
|
3
3
|
import { sumNullableDecimals } from "./decimal-sum.js";
|
|
4
4
|
export const LISA_USAGE_HEADING = "## Lisa Usage";
|
|
5
5
|
const ENTRY_PATTERN = /<!-- lisa:usage-entry entry_id=(\S+) flow=(\S+) run_id=(\S+) provider=(\S+) model=(\S+) source=(\S+) input_tokens=(\S+) cached_input_tokens=(\S+) output_tokens=(\S+) reasoning_tokens=(\S+) total_tokens=(\S+) cost=(\S+) currency=(\S+) pricing_status=(\S+) pricing_source=(\S+) artifact_ref=(\S+) parent_artifact_ref=(\S*) -->/g;
|
|
6
|
-
const ROLLUP_PATTERN = /<!-- lisa:usage-rollup direct_entry_ids=(\S*) child_entry_ids=(\S*) child_refs=(\S*) direct_tokens=(\S+) child_tokens=(\S+) total_tokens=(\S+) direct_cost=(\S+) child_cost=(\S+) total_cost=(\S+) currency=(\S+) -->/;
|
|
6
|
+
const ROLLUP_PATTERN = /<!-- lisa:usage-rollup direct_entry_ids=(\S*) child_entry_ids=(\S*) child_refs=(\S*) direct_tokens=(\S+) child_tokens=(\S+) total_tokens=(\S+) direct_cost=(\S+) child_cost=(\S+) total_cost=(\S+) currency=(\S+)(?: child_currency=(\S+))? -->/;
|
|
7
|
+
const MIXED_CURRENCY = "mixed";
|
|
7
8
|
/**
|
|
8
9
|
* Parse a nullable numeric token field.
|
|
9
10
|
*
|
|
@@ -103,6 +104,19 @@ function sumNullable(values) {
|
|
|
103
104
|
}
|
|
104
105
|
return present.reduce((total, value) => total + value, 0);
|
|
105
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve the only currency represented by present cost values.
|
|
109
|
+
*
|
|
110
|
+
* @param entries Usage entries to inspect.
|
|
111
|
+
* @returns The single currency, mixed sentinel, or null when no priced currency exists.
|
|
112
|
+
*/
|
|
113
|
+
function resolveDirectCostCurrency(entries) {
|
|
114
|
+
const currencies = new Set(entries.filter(entry => entry.cost !== null).map(entry => entry.currency));
|
|
115
|
+
if (currencies.size > 1) {
|
|
116
|
+
return MIXED_CURRENCY;
|
|
117
|
+
}
|
|
118
|
+
return currencies.values().next().value ?? null;
|
|
119
|
+
}
|
|
106
120
|
/**
|
|
107
121
|
* Locate the current managed usage-section boundaries inside an artifact body.
|
|
108
122
|
*
|
|
@@ -180,6 +194,66 @@ export function mergeLisaUsageEntries(existingEntries, nextEntries) {
|
|
|
180
194
|
const appended = nextEntries.filter(entry => !existingEntries.some(existing => existing.entryId === entry.entryId));
|
|
181
195
|
return [...mergedExisting, ...appended];
|
|
182
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Resolve the child portion of a rollup, preferring fresh child artifacts and
|
|
199
|
+
* falling back to whatever the previous rollup recorded.
|
|
200
|
+
*
|
|
201
|
+
* @param previousRollup Existing rollup token, if any.
|
|
202
|
+
* @param childArtifacts Optional fresh child ledgers.
|
|
203
|
+
* @param directEntryIds Direct entry IDs already represented in the rollup.
|
|
204
|
+
* @returns The resolved child entry IDs, refs, tokens, currency, and cost.
|
|
205
|
+
*/
|
|
206
|
+
function resolveChildRollupParts(previousRollup, childArtifacts, directEntryIds) {
|
|
207
|
+
if (childArtifacts !== undefined) {
|
|
208
|
+
const collected = collectLisaUsageChildArtifacts(childArtifacts, directEntryIds);
|
|
209
|
+
const deduped = collected.childEntries;
|
|
210
|
+
const childCurrency = resolveDirectCostCurrency(deduped);
|
|
211
|
+
const rawChildCost = sumNullableDecimals(deduped.map(entry => entry.cost));
|
|
212
|
+
return {
|
|
213
|
+
childEntryIds: deduped.map(entry => entry.entryId),
|
|
214
|
+
childRefs: collected.childRefs,
|
|
215
|
+
childTokens: sumNullable(deduped.map(entry => entry.totalTokens)),
|
|
216
|
+
childCurrency,
|
|
217
|
+
childCost: childCurrency === MIXED_CURRENCY ? null : rawChildCost,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
const rawChildCost = previousRollup?.childCost ?? null;
|
|
221
|
+
const persistedChildCurrency = previousRollup?.childCurrency ?? null;
|
|
222
|
+
const aggregateCurrency = previousRollup?.currency === MIXED_CURRENCY
|
|
223
|
+
? null
|
|
224
|
+
: (previousRollup?.currency ?? null);
|
|
225
|
+
const childCurrency = rawChildCost === null
|
|
226
|
+
? null
|
|
227
|
+
: (persistedChildCurrency ?? aggregateCurrency);
|
|
228
|
+
return {
|
|
229
|
+
childEntryIds: previousRollup?.childEntryIds ?? [],
|
|
230
|
+
childRefs: previousRollup?.childRefs ?? [],
|
|
231
|
+
childTokens: previousRollup?.childTokens ?? null,
|
|
232
|
+
childCurrency,
|
|
233
|
+
childCost: childCurrency === MIXED_CURRENCY ? null : rawChildCost,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Resolve the combined currency for a rollup, marking it `mixed` when the
|
|
238
|
+
* direct and child sides disagree about the cost currency.
|
|
239
|
+
*
|
|
240
|
+
* @param directCurrency Currency resolved from direct entries.
|
|
241
|
+
* @param childCurrency Currency resolved from descendant entries.
|
|
242
|
+
* @param directCost Direct cost total used to detect cross-side mismatches.
|
|
243
|
+
* @param childCost Child cost total used to detect cross-side mismatches.
|
|
244
|
+
* @returns The unified currency or the mixed sentinel.
|
|
245
|
+
*/
|
|
246
|
+
function resolveRollupCurrency(directCurrency, childCurrency, directCost, childCost) {
|
|
247
|
+
const crossSideMismatch = directCost !== null &&
|
|
248
|
+
childCost !== null &&
|
|
249
|
+
directCurrency !== childCurrency;
|
|
250
|
+
if (directCurrency === MIXED_CURRENCY ||
|
|
251
|
+
childCurrency === MIXED_CURRENCY ||
|
|
252
|
+
crossSideMismatch) {
|
|
253
|
+
return MIXED_CURRENCY;
|
|
254
|
+
}
|
|
255
|
+
return directCurrency ?? childCurrency ?? null;
|
|
256
|
+
}
|
|
183
257
|
/**
|
|
184
258
|
* Build a default rollup token from direct entries while preserving any prior
|
|
185
259
|
* child-work totals supplied by callers from later lifecycle stages.
|
|
@@ -192,32 +266,18 @@ export function mergeLisaUsageEntries(existingEntries, nextEntries) {
|
|
|
192
266
|
export function createLisaUsageRollup(entries, previousRollup, childArtifacts) {
|
|
193
267
|
const directEntryIds = entries.map(entry => entry.entryId);
|
|
194
268
|
const directTokens = sumNullable(entries.map(entry => entry.totalTokens));
|
|
195
|
-
const
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
const childEntryIds =
|
|
200
|
-
? dedupedChildEntries.map(entry => entry.entryId)
|
|
201
|
-
: (previousRollup?.childEntryIds ?? []);
|
|
202
|
-
const childRefs = hasChildArtifacts
|
|
203
|
-
? collectedChildArtifacts.childRefs
|
|
204
|
-
: (previousRollup?.childRefs ?? []);
|
|
205
|
-
const childTokens = hasChildArtifacts
|
|
206
|
-
? sumNullable(dedupedChildEntries.map(entry => entry.totalTokens))
|
|
207
|
-
: (previousRollup?.childTokens ?? null);
|
|
208
|
-
const childCost = hasChildArtifacts
|
|
209
|
-
? sumNullableDecimals(dedupedChildEntries.map(entry => entry.cost))
|
|
210
|
-
: (previousRollup?.childCost ?? null);
|
|
269
|
+
const directCurrency = resolveDirectCostCurrency(entries);
|
|
270
|
+
const directCost = directCurrency === MIXED_CURRENCY
|
|
271
|
+
? null
|
|
272
|
+
: sumNullableDecimals(entries.map(entry => entry.cost));
|
|
273
|
+
const { childEntryIds, childRefs, childTokens, childCurrency, childCost } = resolveChildRollupParts(previousRollup, childArtifacts, directEntryIds);
|
|
211
274
|
const totalTokens = directTokens === null && childTokens === null
|
|
212
275
|
? null
|
|
213
276
|
: (directTokens ?? 0) + (childTokens ?? 0);
|
|
214
|
-
const
|
|
277
|
+
const currency = resolveRollupCurrency(directCurrency, childCurrency, directCost, childCost);
|
|
278
|
+
const totalCost = currency === MIXED_CURRENCY || (directCost === null && childCost === null)
|
|
215
279
|
? null
|
|
216
280
|
: sumNullableDecimals([directCost, childCost]);
|
|
217
|
-
const currency = entries.find(entry => entry.currency !== null)?.currency ??
|
|
218
|
-
dedupedChildEntries.find(entry => entry.currency !== null)?.currency ??
|
|
219
|
-
previousRollup?.currency ??
|
|
220
|
-
null;
|
|
221
281
|
return {
|
|
222
282
|
directEntryIds,
|
|
223
283
|
childEntryIds,
|
|
@@ -229,6 +289,7 @@ export function createLisaUsageRollup(entries, previousRollup, childArtifacts) {
|
|
|
229
289
|
childCost,
|
|
230
290
|
totalCost,
|
|
231
291
|
currency,
|
|
292
|
+
childCurrency,
|
|
232
293
|
};
|
|
233
294
|
}
|
|
234
295
|
/**
|
|
@@ -247,7 +308,7 @@ export function renderLisaUsageEntryToken(entry) {
|
|
|
247
308
|
* @returns The canonical `lisa:usage-rollup` token line.
|
|
248
309
|
*/
|
|
249
310
|
export function renderLisaUsageRollupToken(rollup) {
|
|
250
|
-
return `<!-- lisa:usage-rollup direct_entry_ids=${renderCsv(rollup.directEntryIds)} child_entry_ids=${renderCsv(rollup.childEntryIds)} child_refs=${renderCsv(rollup.childRefs)} direct_tokens=${renderNullable(rollup.directTokens)} child_tokens=${renderNullable(rollup.childTokens)} total_tokens=${renderNullable(rollup.totalTokens)} direct_cost=${renderNullable(rollup.directCost)} child_cost=${renderNullable(rollup.childCost)} total_cost=${renderNullable(rollup.totalCost)} currency=${renderNullable(rollup.currency)} -->`;
|
|
311
|
+
return `<!-- lisa:usage-rollup direct_entry_ids=${renderCsv(rollup.directEntryIds)} child_entry_ids=${renderCsv(rollup.childEntryIds)} child_refs=${renderCsv(rollup.childRefs)} direct_tokens=${renderNullable(rollup.directTokens)} child_tokens=${renderNullable(rollup.childTokens)} total_tokens=${renderNullable(rollup.totalTokens)} direct_cost=${renderNullable(rollup.directCost)} child_cost=${renderNullable(rollup.childCost)} total_cost=${renderNullable(rollup.totalCost)} currency=${renderNullable(rollup.currency)} child_currency=${renderNullable(rollup.childCurrency)} -->`;
|
|
251
312
|
}
|
|
252
313
|
/**
|
|
253
314
|
* Render the canonical `## Lisa Usage` section body from direct entries and a
|
|
@@ -317,6 +378,7 @@ export function parseLisaUsageSection(document) {
|
|
|
317
378
|
childCost: parseNullableNumber(rollupMatch[8] ?? ""),
|
|
318
379
|
totalCost: parseNullableNumber(rollupMatch[9] ?? ""),
|
|
319
380
|
currency: parseNullableString(rollupMatch[10] ?? ""),
|
|
381
|
+
childCurrency: parseNullableString(rollupMatch[11] ?? ""),
|
|
320
382
|
}
|
|
321
383
|
: null;
|
|
322
384
|
return { entries, rollup, range };
|
|
@@ -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,uHAAuH;AAEvH,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AA2DlD,MAAM,aAAa,GACjB,uUAAuU,CAAC;AAE1U,MAAM,cAAc,GAClB,iPAAiP,CAAC;AAEpP,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B;;;;;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,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,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,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAA6B;IACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7E,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,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,MAAyB;IAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,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,yBAAyB,CAChC,OAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC1E,CAAC;IAEF,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;AAClD,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;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC9B,cAAkD,EAClD,cAA6D,EAC7D,cAAiC;IAQjC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,8BAA8B,CAC9C,cAAc,EACd,cAAc,CACf,CAAC;QACF,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC;QACvC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO;YACL,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YAClD,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACjE,aAAa;YACb,SAAS,EAAE,aAAa,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,EAAE,SAAS,IAAI,IAAI,CAAC;IACvD,MAAM,sBAAsB,GAAG,cAAc,EAAE,aAAa,IAAI,IAAI,CAAC;IACrE,MAAM,iBAAiB,GACrB,cAAc,EAAE,QAAQ,KAAK,cAAc;QACzC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,cAAc,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,GACjB,YAAY,KAAK,IAAI;QACnB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,sBAAsB,IAAI,iBAAiB,CAAC,CAAC;IACpD,OAAO;QACL,aAAa,EAAE,cAAc,EAAE,aAAa,IAAI,EAAE;QAClD,SAAS,EAAE,cAAc,EAAE,SAAS,IAAI,EAAE;QAC1C,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI;QAChD,aAAa;QACb,SAAS,EAAE,aAAa,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;KAClE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC5B,cAA6B,EAC7B,aAA4B,EAC5B,UAAyB,EACzB,SAAwB;IAExB,MAAM,iBAAiB,GACrB,UAAU,KAAK,IAAI;QACnB,SAAS,KAAK,IAAI;QAClB,cAAc,KAAK,aAAa,CAAC;IACnC,IACE,cAAc,KAAK,cAAc;QACjC,aAAa,KAAK,cAAc;QAChC,iBAAiB,EACjB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,cAAc,IAAI,aAAa,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAkC,EAClC,cAAuC,EACvC,cAAkD;IAElD,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,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,UAAU,GACd,cAAc,KAAK,cAAc;QAC/B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,GACvE,uBAAuB,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAE1E,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,QAAQ,GAAG,qBAAqB,CACpC,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,CACV,CAAC;IACF,MAAM,SAAS,GACb,QAAQ,KAAK,cAAc,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC;QACxE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnD,OAAO;QACL,cAAc;QACd,aAAa;QACb,SAAS;QACT,YAAY;QACZ,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ;QACR,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAqB;IAC7D,OAAO,kCAAkC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,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,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACr4B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAuB;IAChE,OAAO,2CAA2C,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,SAAS,CAAC,MAAM,CAAC,SAAS,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,mBAAmB,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;AACrkB,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,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,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,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,aAAa,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,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,GAA2B,WAAW;QAChD,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;YACpD,aAAa,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SAC1D;QACH,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAIC;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,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,qBAAqB,CACnB,aAAa,EACb,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAC7B,KAAK,CAAC,cAAc,CACrB,CAAC;IACR,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;AAED,6EAA6E"}
|
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.106.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": {
|
|
@@ -93,7 +93,8 @@ export function readGithubBuildQueueSnapshot(input = {}) {
|
|
|
93
93
|
export function createBuildQueueSnapshot(input = {}) {
|
|
94
94
|
const tracker = normalizeTracker(input.tracker);
|
|
95
95
|
const unsupportedReaderError = resolveUnsupportedReaderError(input, tracker);
|
|
96
|
-
const
|
|
96
|
+
const rawRoles = input.roles ?? {};
|
|
97
|
+
const roles = normalizeRoles(rawRoles);
|
|
97
98
|
const items = normalizeItems(input.items);
|
|
98
99
|
const counts = buildLifecycleCounts(items);
|
|
99
100
|
const repairSignals = buildRepairSignals(items, input.queueArgument);
|
|
@@ -108,7 +109,7 @@ export function createBuildQueueSnapshot(input = {}) {
|
|
|
108
109
|
? false
|
|
109
110
|
: typeof input.resolutionError !== "string");
|
|
110
111
|
const namespaceAdopted =
|
|
111
|
-
input.namespaceAdopted ?? inferNamespaceAdopted(items,
|
|
112
|
+
input.namespaceAdopted ?? inferNamespaceAdopted(items, rawRoles);
|
|
112
113
|
const resolutionError =
|
|
113
114
|
unsupportedReaderError ?? input.resolutionError ?? null;
|
|
114
115
|
|
|
@@ -430,7 +431,25 @@ function inferNamespaceAdopted(items, roles) {
|
|
|
430
431
|
return (
|
|
431
432
|
["ready", "claimed", "review", "blocked"].some(
|
|
432
433
|
role => typeof roles[role] === "string" && roles[role].trim().length > 0
|
|
433
|
-
) ||
|
|
434
|
+
) || hasConfiguredDoneRole(roles?.done)
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* @param {unknown} done
|
|
440
|
+
* @returns {boolean}
|
|
441
|
+
*/
|
|
442
|
+
function hasConfiguredDoneRole(done) {
|
|
443
|
+
if (typeof done === "string") {
|
|
444
|
+
return done.trim().length > 0;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
if (!done || typeof done !== "object") {
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return Object.values(done).some(
|
|
452
|
+
value => typeof value === "string" && value.trim().length > 0
|
|
434
453
|
);
|
|
435
454
|
}
|
|
436
455
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.106.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.106.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"
|
|
@@ -24,6 +24,11 @@ function relToCwd(filePath) {
|
|
|
24
24
|
return path.relative(process.cwd(), filePath).replaceAll(path.sep, "/");
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function relToWikiParent(filePath, wikiRoot) {
|
|
28
|
+
const wikiParent = path.dirname(wikiRoot);
|
|
29
|
+
return normalizeWikiPath(path.relative(wikiParent, filePath));
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
function normalizeWikiPath(filePath) {
|
|
28
33
|
return filePath.replaceAll("\\", "/").replace(/^\.?\//, "");
|
|
29
34
|
}
|
|
@@ -156,7 +161,7 @@ function stateFacts(wikiRoot, connectorName) {
|
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
return {
|
|
159
|
-
stateFiles: files.map(filePath =>
|
|
164
|
+
stateFiles: files.map(filePath => relToWikiParent(filePath, wikiRoot)),
|
|
160
165
|
latestObservedAt: latest?.date?.toISOString() ?? latest?.data?.ingested_at,
|
|
161
166
|
sourceNotes: [...sourceNotes],
|
|
162
167
|
};
|
|
@@ -164,7 +169,7 @@ function stateFacts(wikiRoot, connectorName) {
|
|
|
164
169
|
|
|
165
170
|
function sourceFacts(wikiRoot, connectorName, configuredSourceNotes) {
|
|
166
171
|
const sourceDir = path.join(wikiRoot, "sources", connectorName);
|
|
167
|
-
const markdownFiles = walkFiles(sourceDir, { ext: ".md" })
|
|
172
|
+
const markdownFiles = walkFiles(sourceDir, { ext: ".md" });
|
|
168
173
|
const wikiParent = path.dirname(wikiRoot);
|
|
169
174
|
const sourceNoteExists = note =>
|
|
170
175
|
fs.existsSync(path.resolve(note)) ||
|
|
@@ -177,7 +182,7 @@ function sourceFacts(wikiRoot, connectorName, configuredSourceNotes) {
|
|
|
177
182
|
sourceNotes:
|
|
178
183
|
existingConfigured.length > 0
|
|
179
184
|
? existingConfigured
|
|
180
|
-
: markdownFiles.map(
|
|
185
|
+
: markdownFiles.map(filePath => relToWikiParent(filePath, wikiRoot)),
|
|
181
186
|
};
|
|
182
187
|
}
|
|
183
188
|
|
|
@@ -199,6 +204,35 @@ export function createWikiFreshnessReport({
|
|
|
199
204
|
wikiRoot,
|
|
200
205
|
now = new Date(),
|
|
201
206
|
staleAfterDays = DEFAULT_STALE_AFTER_DAYS,
|
|
207
|
+
} = {}) {
|
|
208
|
+
const parsed = parseWikiSourceFreshness({
|
|
209
|
+
configPath,
|
|
210
|
+
wikiRoot,
|
|
211
|
+
now,
|
|
212
|
+
staleAfterDays,
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
return {
|
|
216
|
+
generatedAt: now.toISOString(),
|
|
217
|
+
configPath: relToCwd(parsed.configPath),
|
|
218
|
+
wikiRoot: relToCwd(parsed.wikiRoot),
|
|
219
|
+
items: parsed.connectors.map(connector => ({
|
|
220
|
+
connector: connector.connector,
|
|
221
|
+
sideEffects: connector.sideEffects,
|
|
222
|
+
verdict: connector.verdict,
|
|
223
|
+
evidence: connector.evidencePaths,
|
|
224
|
+
lastObserved: connector.lastObservedDate ?? "unknown",
|
|
225
|
+
reason: connector.reason,
|
|
226
|
+
nextAction: connector.nextAction,
|
|
227
|
+
})),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export function parseWikiSourceFreshness({
|
|
232
|
+
configPath = "wiki/lisa-wiki.config.json",
|
|
233
|
+
wikiRoot,
|
|
234
|
+
now = new Date(),
|
|
235
|
+
staleAfterDays = DEFAULT_STALE_AFTER_DAYS,
|
|
202
236
|
} = {}) {
|
|
203
237
|
const { config, configPath: resolvedConfigPath } = loadConfig(configPath);
|
|
204
238
|
const resolvedWikiRoot = path.resolve(wikiRoot ?? config?.wikiRoot ?? "wiki");
|
|
@@ -207,7 +241,7 @@ export function createWikiFreshnessReport({
|
|
|
207
241
|
const connectors = enabledConnectors(config);
|
|
208
242
|
const staleAfterMs = staleAfterDays * DAY_MS;
|
|
209
243
|
|
|
210
|
-
const
|
|
244
|
+
const connectorRecords = connectors.map(connector => {
|
|
211
245
|
const state = stateFacts(resolvedWikiRoot, connector.name);
|
|
212
246
|
const sources = sourceFacts(
|
|
213
247
|
resolvedWikiRoot,
|
|
@@ -239,25 +273,26 @@ export function createWikiFreshnessReport({
|
|
|
239
273
|
const evidence = [
|
|
240
274
|
...sources.sourceNotes,
|
|
241
275
|
...state.stateFiles,
|
|
242
|
-
fs.existsSync(logPath)
|
|
276
|
+
fs.existsSync(logPath)
|
|
277
|
+
? relToWikiParent(logPath, resolvedWikiRoot)
|
|
278
|
+
: undefined,
|
|
243
279
|
].filter(Boolean);
|
|
244
280
|
|
|
245
281
|
return {
|
|
246
282
|
connector: connector.name,
|
|
247
283
|
sideEffects: connector.sideEffects,
|
|
248
284
|
verdict,
|
|
249
|
-
evidence,
|
|
250
|
-
|
|
285
|
+
evidencePaths: evidence,
|
|
286
|
+
lastObservedDate: observedDate?.toISOString().slice(0, 10),
|
|
251
287
|
reason: verdict === "fresh" ? "" : (log?.reason ?? ""),
|
|
252
288
|
nextAction: nextActionFor(verdict, connector.name, log?.reason),
|
|
253
289
|
};
|
|
254
290
|
});
|
|
255
291
|
|
|
256
292
|
return {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
items,
|
|
293
|
+
configPath: resolvedConfigPath,
|
|
294
|
+
wikiRoot: resolvedWikiRoot,
|
|
295
|
+
connectors: connectorRecords,
|
|
261
296
|
};
|
|
262
297
|
}
|
|
263
298
|
|
|
@@ -93,7 +93,8 @@ export function readGithubBuildQueueSnapshot(input = {}) {
|
|
|
93
93
|
export function createBuildQueueSnapshot(input = {}) {
|
|
94
94
|
const tracker = normalizeTracker(input.tracker);
|
|
95
95
|
const unsupportedReaderError = resolveUnsupportedReaderError(input, tracker);
|
|
96
|
-
const
|
|
96
|
+
const rawRoles = input.roles ?? {};
|
|
97
|
+
const roles = normalizeRoles(rawRoles);
|
|
97
98
|
const items = normalizeItems(input.items);
|
|
98
99
|
const counts = buildLifecycleCounts(items);
|
|
99
100
|
const repairSignals = buildRepairSignals(items, input.queueArgument);
|
|
@@ -108,7 +109,7 @@ export function createBuildQueueSnapshot(input = {}) {
|
|
|
108
109
|
? false
|
|
109
110
|
: typeof input.resolutionError !== "string");
|
|
110
111
|
const namespaceAdopted =
|
|
111
|
-
input.namespaceAdopted ?? inferNamespaceAdopted(items,
|
|
112
|
+
input.namespaceAdopted ?? inferNamespaceAdopted(items, rawRoles);
|
|
112
113
|
const resolutionError =
|
|
113
114
|
unsupportedReaderError ?? input.resolutionError ?? null;
|
|
114
115
|
|
|
@@ -430,7 +431,25 @@ function inferNamespaceAdopted(items, roles) {
|
|
|
430
431
|
return (
|
|
431
432
|
["ready", "claimed", "review", "blocked"].some(
|
|
432
433
|
role => typeof roles[role] === "string" && roles[role].trim().length > 0
|
|
433
|
-
) ||
|
|
434
|
+
) || hasConfiguredDoneRole(roles?.done)
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* @param {unknown} done
|
|
440
|
+
* @returns {boolean}
|
|
441
|
+
*/
|
|
442
|
+
function hasConfiguredDoneRole(done) {
|
|
443
|
+
if (typeof done === "string") {
|
|
444
|
+
return done.trim().length > 0;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
if (!done || typeof done !== "object") {
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return Object.values(done).some(
|
|
452
|
+
value => typeof value === "string" && value.trim().length > 0
|
|
434
453
|
);
|
|
435
454
|
}
|
|
436
455
|
|
|
@@ -24,6 +24,11 @@ function relToCwd(filePath) {
|
|
|
24
24
|
return path.relative(process.cwd(), filePath).replaceAll(path.sep, "/");
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function relToWikiParent(filePath, wikiRoot) {
|
|
28
|
+
const wikiParent = path.dirname(wikiRoot);
|
|
29
|
+
return normalizeWikiPath(path.relative(wikiParent, filePath));
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
function normalizeWikiPath(filePath) {
|
|
28
33
|
return filePath.replaceAll("\\", "/").replace(/^\.?\//, "");
|
|
29
34
|
}
|
|
@@ -156,7 +161,7 @@ function stateFacts(wikiRoot, connectorName) {
|
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
return {
|
|
159
|
-
stateFiles: files.map(filePath =>
|
|
164
|
+
stateFiles: files.map(filePath => relToWikiParent(filePath, wikiRoot)),
|
|
160
165
|
latestObservedAt: latest?.date?.toISOString() ?? latest?.data?.ingested_at,
|
|
161
166
|
sourceNotes: [...sourceNotes],
|
|
162
167
|
};
|
|
@@ -164,7 +169,7 @@ function stateFacts(wikiRoot, connectorName) {
|
|
|
164
169
|
|
|
165
170
|
function sourceFacts(wikiRoot, connectorName, configuredSourceNotes) {
|
|
166
171
|
const sourceDir = path.join(wikiRoot, "sources", connectorName);
|
|
167
|
-
const markdownFiles = walkFiles(sourceDir, { ext: ".md" })
|
|
172
|
+
const markdownFiles = walkFiles(sourceDir, { ext: ".md" });
|
|
168
173
|
const wikiParent = path.dirname(wikiRoot);
|
|
169
174
|
const sourceNoteExists = note =>
|
|
170
175
|
fs.existsSync(path.resolve(note)) ||
|
|
@@ -177,7 +182,7 @@ function sourceFacts(wikiRoot, connectorName, configuredSourceNotes) {
|
|
|
177
182
|
sourceNotes:
|
|
178
183
|
existingConfigured.length > 0
|
|
179
184
|
? existingConfigured
|
|
180
|
-
: markdownFiles.map(
|
|
185
|
+
: markdownFiles.map(filePath => relToWikiParent(filePath, wikiRoot)),
|
|
181
186
|
};
|
|
182
187
|
}
|
|
183
188
|
|
|
@@ -199,6 +204,35 @@ export function createWikiFreshnessReport({
|
|
|
199
204
|
wikiRoot,
|
|
200
205
|
now = new Date(),
|
|
201
206
|
staleAfterDays = DEFAULT_STALE_AFTER_DAYS,
|
|
207
|
+
} = {}) {
|
|
208
|
+
const parsed = parseWikiSourceFreshness({
|
|
209
|
+
configPath,
|
|
210
|
+
wikiRoot,
|
|
211
|
+
now,
|
|
212
|
+
staleAfterDays,
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
return {
|
|
216
|
+
generatedAt: now.toISOString(),
|
|
217
|
+
configPath: relToCwd(parsed.configPath),
|
|
218
|
+
wikiRoot: relToCwd(parsed.wikiRoot),
|
|
219
|
+
items: parsed.connectors.map(connector => ({
|
|
220
|
+
connector: connector.connector,
|
|
221
|
+
sideEffects: connector.sideEffects,
|
|
222
|
+
verdict: connector.verdict,
|
|
223
|
+
evidence: connector.evidencePaths,
|
|
224
|
+
lastObserved: connector.lastObservedDate ?? "unknown",
|
|
225
|
+
reason: connector.reason,
|
|
226
|
+
nextAction: connector.nextAction,
|
|
227
|
+
})),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export function parseWikiSourceFreshness({
|
|
232
|
+
configPath = "wiki/lisa-wiki.config.json",
|
|
233
|
+
wikiRoot,
|
|
234
|
+
now = new Date(),
|
|
235
|
+
staleAfterDays = DEFAULT_STALE_AFTER_DAYS,
|
|
202
236
|
} = {}) {
|
|
203
237
|
const { config, configPath: resolvedConfigPath } = loadConfig(configPath);
|
|
204
238
|
const resolvedWikiRoot = path.resolve(wikiRoot ?? config?.wikiRoot ?? "wiki");
|
|
@@ -207,7 +241,7 @@ export function createWikiFreshnessReport({
|
|
|
207
241
|
const connectors = enabledConnectors(config);
|
|
208
242
|
const staleAfterMs = staleAfterDays * DAY_MS;
|
|
209
243
|
|
|
210
|
-
const
|
|
244
|
+
const connectorRecords = connectors.map(connector => {
|
|
211
245
|
const state = stateFacts(resolvedWikiRoot, connector.name);
|
|
212
246
|
const sources = sourceFacts(
|
|
213
247
|
resolvedWikiRoot,
|
|
@@ -239,25 +273,26 @@ export function createWikiFreshnessReport({
|
|
|
239
273
|
const evidence = [
|
|
240
274
|
...sources.sourceNotes,
|
|
241
275
|
...state.stateFiles,
|
|
242
|
-
fs.existsSync(logPath)
|
|
276
|
+
fs.existsSync(logPath)
|
|
277
|
+
? relToWikiParent(logPath, resolvedWikiRoot)
|
|
278
|
+
: undefined,
|
|
243
279
|
].filter(Boolean);
|
|
244
280
|
|
|
245
281
|
return {
|
|
246
282
|
connector: connector.name,
|
|
247
283
|
sideEffects: connector.sideEffects,
|
|
248
284
|
verdict,
|
|
249
|
-
evidence,
|
|
250
|
-
|
|
285
|
+
evidencePaths: evidence,
|
|
286
|
+
lastObservedDate: observedDate?.toISOString().slice(0, 10),
|
|
251
287
|
reason: verdict === "fresh" ? "" : (log?.reason ?? ""),
|
|
252
288
|
nextAction: nextActionFor(verdict, connector.name, log?.reason),
|
|
253
289
|
};
|
|
254
290
|
});
|
|
255
291
|
|
|
256
292
|
return {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
items,
|
|
293
|
+
configPath: resolvedConfigPath,
|
|
294
|
+
wikiRoot: resolvedWikiRoot,
|
|
295
|
+
connectors: connectorRecords,
|
|
261
296
|
};
|
|
262
297
|
}
|
|
263
298
|
|