@codyswann/lisa 2.92.0 → 2.94.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/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/automation-status-expected-fleet.mjs +7 -132
- package/plugins/lisa/scripts/queue-contract-resolution.mjs +458 -0
- package/plugins/lisa/skills/queue-status/SKILL.md +23 -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/scripts/automation-status-expected-fleet.mjs +7 -132
- package/plugins/src/base/scripts/queue-contract-resolution.mjs +458 -0
- package/plugins/src/base/skills/queue-status/SKILL.md +23 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.94.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.94.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"
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
* truth.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import {
|
|
12
|
+
resolveBuildQueueArgument,
|
|
13
|
+
resolveGithubRepoRef,
|
|
14
|
+
resolvePrdQueueArgument,
|
|
15
|
+
resolvePrdSource,
|
|
16
|
+
} from "./queue-contract-resolution.mjs";
|
|
17
|
+
|
|
11
18
|
export const AUTOMATION_EXPECTED_CADENCES = {
|
|
12
19
|
"intake-repair": {
|
|
13
20
|
human: "every 60 minutes",
|
|
@@ -33,11 +40,6 @@ export const AUTOMATION_EXPECTED_CADENCES = {
|
|
|
33
40
|
|
|
34
41
|
export const EXPLORATORY_QA_STACK_PRIORITY = ["expo", "rails", "harper-fabric"];
|
|
35
42
|
|
|
36
|
-
const GITHUB_REMOTE_PATTERNS = [
|
|
37
|
-
/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/.]+?)(?:\.git)?$/,
|
|
38
|
-
/^git@github\.com:(?<owner>[^/]+)\/(?<repo>[^/.]+?)(?:\.git)?$/,
|
|
39
|
-
];
|
|
40
|
-
|
|
41
43
|
/**
|
|
42
44
|
* @typedef {{
|
|
43
45
|
* readonly id: string
|
|
@@ -229,83 +231,6 @@ function createUnsupportedEntry(identity, id, reason) {
|
|
|
229
231
|
};
|
|
230
232
|
}
|
|
231
233
|
|
|
232
|
-
/**
|
|
233
|
-
* @param {Record<string, any>} config
|
|
234
|
-
* @param {string | undefined} source
|
|
235
|
-
* @returns {string}
|
|
236
|
-
*/
|
|
237
|
-
function resolvePrdQueueArgument(config, source) {
|
|
238
|
-
switch (source) {
|
|
239
|
-
case "github":
|
|
240
|
-
requireGithubRepo(config);
|
|
241
|
-
return "github intake_mode=prd";
|
|
242
|
-
case "linear":
|
|
243
|
-
requireLinearWorkspace(config);
|
|
244
|
-
return "linear";
|
|
245
|
-
case "notion": {
|
|
246
|
-
const databaseId = config.notion?.prdDatabaseId;
|
|
247
|
-
if (!databaseId) {
|
|
248
|
-
throw new Error(
|
|
249
|
-
"Unable to resolve the PRD queue: notion.prdDatabaseId is required when source=notion."
|
|
250
|
-
);
|
|
251
|
-
}
|
|
252
|
-
return databaseId;
|
|
253
|
-
}
|
|
254
|
-
case "confluence": {
|
|
255
|
-
const parentPageId = config.confluence?.parentPageId;
|
|
256
|
-
const spaceKey = config.confluence?.spaceKey;
|
|
257
|
-
if (!parentPageId && !spaceKey) {
|
|
258
|
-
throw new Error(
|
|
259
|
-
"Unable to resolve the PRD queue: confluence.parentPageId or confluence.spaceKey is required when source=confluence."
|
|
260
|
-
);
|
|
261
|
-
}
|
|
262
|
-
return parentPageId ?? spaceKey;
|
|
263
|
-
}
|
|
264
|
-
case "jira": {
|
|
265
|
-
const project = config.jira?.project;
|
|
266
|
-
if (!project) {
|
|
267
|
-
throw new Error(
|
|
268
|
-
"Unable to resolve the PRD queue: jira.project is required when source=jira."
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
|
-
return project;
|
|
272
|
-
}
|
|
273
|
-
default:
|
|
274
|
-
throw new Error(
|
|
275
|
-
"Unable to resolve the PRD queue from config. Set source or use tracker=github self-host with github.org/github.repo."
|
|
276
|
-
);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* @param {Record<string, any>} config
|
|
282
|
-
* @param {string | undefined} tracker
|
|
283
|
-
* @returns {string}
|
|
284
|
-
*/
|
|
285
|
-
function resolveBuildQueueArgument(config, tracker) {
|
|
286
|
-
switch (tracker) {
|
|
287
|
-
case "github":
|
|
288
|
-
requireGithubRepo(config);
|
|
289
|
-
return "github intake_mode=build";
|
|
290
|
-
case "linear":
|
|
291
|
-
requireLinearWorkspace(config);
|
|
292
|
-
return "linear";
|
|
293
|
-
case "jira": {
|
|
294
|
-
const project = config.jira?.project;
|
|
295
|
-
if (!project) {
|
|
296
|
-
throw new Error(
|
|
297
|
-
"Unable to resolve the build queue: jira.project is required when tracker=jira."
|
|
298
|
-
);
|
|
299
|
-
}
|
|
300
|
-
return project;
|
|
301
|
-
}
|
|
302
|
-
default:
|
|
303
|
-
throw new Error(
|
|
304
|
-
"Unable to resolve the build queue from config. tracker must be github, linear, or jira."
|
|
305
|
-
);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
234
|
/**
|
|
310
235
|
* @param {Record<string, any>} config
|
|
311
236
|
* @param {string | undefined} source
|
|
@@ -343,56 +268,6 @@ function resolveRepairQueueArgument(config, source, tracker) {
|
|
|
343
268
|
);
|
|
344
269
|
}
|
|
345
270
|
|
|
346
|
-
/**
|
|
347
|
-
* @param {Record<string, any>} config
|
|
348
|
-
* @returns {string | undefined}
|
|
349
|
-
*/
|
|
350
|
-
function resolvePrdSource(config) {
|
|
351
|
-
if (typeof config.source === "string" && config.source.length > 0) {
|
|
352
|
-
return config.source;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
if (
|
|
356
|
-
config.tracker === "github" &&
|
|
357
|
-
config.github?.org &&
|
|
358
|
-
config.github?.repo
|
|
359
|
-
) {
|
|
360
|
-
return "github";
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
return undefined;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* @param {Record<string, any>} config
|
|
368
|
-
* @param {string | undefined} gitRemoteUrl
|
|
369
|
-
* @returns {{ readonly owner: string, readonly repo: string } | null}
|
|
370
|
-
*/
|
|
371
|
-
function resolveGithubRepoRef(config, gitRemoteUrl) {
|
|
372
|
-
const owner = config.github?.org;
|
|
373
|
-
const repo = config.github?.repo;
|
|
374
|
-
|
|
375
|
-
if (owner && repo) {
|
|
376
|
-
return { owner, repo };
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
if (!gitRemoteUrl) {
|
|
380
|
-
return null;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
for (const pattern of GITHUB_REMOTE_PATTERNS) {
|
|
384
|
-
const match = gitRemoteUrl.match(pattern);
|
|
385
|
-
if (match?.groups?.owner && match.groups.repo) {
|
|
386
|
-
return {
|
|
387
|
-
owner: match.groups.owner,
|
|
388
|
-
repo: match.groups.repo,
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
return null;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
271
|
/**
|
|
397
272
|
* @param {Record<string, any>} config
|
|
398
273
|
*/
|