@codyswann/lisa 2.104.5 → 2.104.6
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/queue-contract-resolution.mjs +24 -9
- 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/queue-contract-resolution.mjs +24 -9
package/package.json
CHANGED
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"lodash": ">=4.18.1"
|
|
83
83
|
},
|
|
84
84
|
"name": "@codyswann/lisa",
|
|
85
|
-
"version": "2.104.
|
|
85
|
+
"version": "2.104.6",
|
|
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": {
|
|
@@ -216,7 +216,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
216
216
|
kind: "labels",
|
|
217
217
|
roles: resolveObjectRoles(
|
|
218
218
|
config.github?.labels?.prd,
|
|
219
|
-
DEFAULT_GITHUB_LINEAR_PRD_ROLES
|
|
219
|
+
DEFAULT_GITHUB_LINEAR_PRD_ROLES,
|
|
220
|
+
{ allowNull: false }
|
|
220
221
|
),
|
|
221
222
|
rollup: {
|
|
222
223
|
closeOnShipped: Boolean(
|
|
@@ -230,7 +231,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
230
231
|
kind: "labels",
|
|
231
232
|
roles: resolveObjectRoles(
|
|
232
233
|
config.linear?.labels?.prd,
|
|
233
|
-
DEFAULT_GITHUB_LINEAR_PRD_ROLES
|
|
234
|
+
DEFAULT_GITHUB_LINEAR_PRD_ROLES,
|
|
235
|
+
{ allowNull: false }
|
|
234
236
|
),
|
|
235
237
|
rollup: {
|
|
236
238
|
closeOnShipped: Boolean(
|
|
@@ -245,7 +247,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
245
247
|
statusProperty: config.notion?.statusProperty || "Status",
|
|
246
248
|
roles: resolveObjectRoles(
|
|
247
249
|
config.notion?.values,
|
|
248
|
-
DEFAULT_NOTION_PRD_ROLES
|
|
250
|
+
DEFAULT_NOTION_PRD_ROLES,
|
|
251
|
+
{ allowNull: false }
|
|
249
252
|
),
|
|
250
253
|
rollup: {
|
|
251
254
|
closeOnShipped: Boolean(
|
|
@@ -259,7 +262,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
259
262
|
kind: "parent-pages",
|
|
260
263
|
roles: resolveObjectRoles(
|
|
261
264
|
config.confluence?.parents,
|
|
262
|
-
DEFAULT_CONFLUENCE_PARENT_ROLES
|
|
265
|
+
DEFAULT_CONFLUENCE_PARENT_ROLES,
|
|
266
|
+
{ allowNull: true }
|
|
263
267
|
),
|
|
264
268
|
rollup: {
|
|
265
269
|
closeOnShipped: Boolean(
|
|
@@ -374,13 +378,24 @@ export function resolveQueueContract(input = {}) {
|
|
|
374
378
|
/**
|
|
375
379
|
* @param {Record<string, any> | undefined} values
|
|
376
380
|
* @param {Record<string, any>} defaults
|
|
381
|
+
* @param {{ readonly allowNull?: boolean }} [options]
|
|
377
382
|
* @returns {Record<string, any>}
|
|
378
383
|
*/
|
|
379
|
-
function resolveObjectRoles(values, defaults) {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
+
function resolveObjectRoles(values, defaults, options = {}) {
|
|
385
|
+
const resolved = { ...defaults };
|
|
386
|
+
|
|
387
|
+
for (const [key, value] of Object.entries(values ?? {})) {
|
|
388
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
389
|
+
resolved[key] = value;
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
if (options.allowNull === true && value === null) {
|
|
394
|
+
resolved[key] = value;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
return resolved;
|
|
384
399
|
}
|
|
385
400
|
|
|
386
401
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.104.
|
|
3
|
+
"version": "2.104.6",
|
|
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.104.
|
|
3
|
+
"version": "2.104.6",
|
|
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"
|
|
@@ -216,7 +216,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
216
216
|
kind: "labels",
|
|
217
217
|
roles: resolveObjectRoles(
|
|
218
218
|
config.github?.labels?.prd,
|
|
219
|
-
DEFAULT_GITHUB_LINEAR_PRD_ROLES
|
|
219
|
+
DEFAULT_GITHUB_LINEAR_PRD_ROLES,
|
|
220
|
+
{ allowNull: false }
|
|
220
221
|
),
|
|
221
222
|
rollup: {
|
|
222
223
|
closeOnShipped: Boolean(
|
|
@@ -230,7 +231,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
230
231
|
kind: "labels",
|
|
231
232
|
roles: resolveObjectRoles(
|
|
232
233
|
config.linear?.labels?.prd,
|
|
233
|
-
DEFAULT_GITHUB_LINEAR_PRD_ROLES
|
|
234
|
+
DEFAULT_GITHUB_LINEAR_PRD_ROLES,
|
|
235
|
+
{ allowNull: false }
|
|
234
236
|
),
|
|
235
237
|
rollup: {
|
|
236
238
|
closeOnShipped: Boolean(
|
|
@@ -245,7 +247,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
245
247
|
statusProperty: config.notion?.statusProperty || "Status",
|
|
246
248
|
roles: resolveObjectRoles(
|
|
247
249
|
config.notion?.values,
|
|
248
|
-
DEFAULT_NOTION_PRD_ROLES
|
|
250
|
+
DEFAULT_NOTION_PRD_ROLES,
|
|
251
|
+
{ allowNull: false }
|
|
249
252
|
),
|
|
250
253
|
rollup: {
|
|
251
254
|
closeOnShipped: Boolean(
|
|
@@ -259,7 +262,8 @@ export function resolvePrdLifecycleRoles(
|
|
|
259
262
|
kind: "parent-pages",
|
|
260
263
|
roles: resolveObjectRoles(
|
|
261
264
|
config.confluence?.parents,
|
|
262
|
-
DEFAULT_CONFLUENCE_PARENT_ROLES
|
|
265
|
+
DEFAULT_CONFLUENCE_PARENT_ROLES,
|
|
266
|
+
{ allowNull: true }
|
|
263
267
|
),
|
|
264
268
|
rollup: {
|
|
265
269
|
closeOnShipped: Boolean(
|
|
@@ -374,13 +378,24 @@ export function resolveQueueContract(input = {}) {
|
|
|
374
378
|
/**
|
|
375
379
|
* @param {Record<string, any> | undefined} values
|
|
376
380
|
* @param {Record<string, any>} defaults
|
|
381
|
+
* @param {{ readonly allowNull?: boolean }} [options]
|
|
377
382
|
* @returns {Record<string, any>}
|
|
378
383
|
*/
|
|
379
|
-
function resolveObjectRoles(values, defaults) {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
+
function resolveObjectRoles(values, defaults, options = {}) {
|
|
385
|
+
const resolved = { ...defaults };
|
|
386
|
+
|
|
387
|
+
for (const [key, value] of Object.entries(values ?? {})) {
|
|
388
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
389
|
+
resolved[key] = value;
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
if (options.allowNull === true && value === null) {
|
|
394
|
+
resolved[key] = value;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
return resolved;
|
|
384
399
|
}
|
|
385
400
|
|
|
386
401
|
/**
|