@codyswann/lisa 3.45.8 → 3.45.9

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.
Files changed (97) hide show
  1. package/dist/cli/doctor-traceability-gate.js +1 -1
  2. package/dist/cli/doctor-traceability-gate.js.map +1 -1
  3. package/dist/configs/eslint/slow.js +3 -3
  4. package/dist/configs/eslint/slow.js.map +1 -1
  5. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  6. package/dist/core/lisa-owned-hash-ledger.js +2 -0
  7. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  8. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  9. package/dist/core/upstream-evidence-manifest.js +9 -8
  10. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  11. package/dist/migrations/ensure-audit-ignore-local-exclusions.js +1 -1
  12. package/dist/migrations/ensure-audit-ignore-local-exclusions.js.map +1 -1
  13. package/dist/migrations/ensure-wiki-source-declared.js +2 -2
  14. package/dist/migrations/ensure-wiki-source-declared.js.map +1 -1
  15. package/expo/copy-overwrite/scripts/bdd/parse.mjs +1 -1
  16. package/expo/copy-overwrite/scripts/check-e2e-coverage.mjs +1 -1
  17. package/package.json +1 -1
  18. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  20. package/plugins/lisa/.codex-plugin/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  21. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  22. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  23. package/plugins/lisa/.codex-plugin/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  24. package/plugins/lisa/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  25. package/plugins/lisa/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  26. package/plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  27. package/plugins/lisa/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  28. package/plugins/lisa-agy/plugin.json +1 -1
  29. package/plugins/lisa-agy/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  30. package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  31. package/plugins/lisa-agy/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  32. package/plugins/lisa-agy/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  33. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  36. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-copilot/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  40. package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  41. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  42. package/plugins/lisa-copilot/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  43. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-cursor/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  45. package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  46. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  47. package/plugins/lisa-cursor/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  48. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-expo-agy/plugin.json +1 -1
  51. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  56. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  61. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  65. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  66. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  70. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  71. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  75. package/plugins/lisa-rails-agy/plugin.json +1 -1
  76. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  80. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  81. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  85. package/plugins/lisa-wiki/scripts/ensure-wiki.mjs +3 -3
  86. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  87. package/plugins/lisa-wiki-agy/scripts/ensure-wiki.mjs +3 -3
  88. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-wiki-copilot/scripts/ensure-wiki.mjs +3 -3
  90. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-wiki-cursor/scripts/ensure-wiki.mjs +3 -3
  92. package/plugins/src/base/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +2 -2
  93. package/plugins/src/base/skills/lisa-secrets-access/scripts/surfaces.mjs +1 -1
  94. package/plugins/src/base/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +2 -2
  95. package/plugins/src/base/skills/lisa-setup-workstation/scripts/cli.mjs +1 -1
  96. package/plugins/src/wiki/scripts/ensure-wiki.mjs +3 -3
  97. package/scripts/lisa-assert-eas-profile.mjs +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
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": "3.45.8",
3
+ "version": "3.45.9",
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-phaser",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -94,10 +94,10 @@ const committed =
94
94
  readJsonSafe(path.join(projectDir, ".lisa.config.json")) ?? {};
95
95
  const local =
96
96
  readJsonSafe(path.join(projectDir, ".lisa.config.local.json")) ?? {};
97
- const wikiCfg = { ...(committed.wiki ?? {}), ...(local.wiki ?? {}) };
97
+ const wikiCfg = { ...committed.wiki, ...local.wiki };
98
98
  const source = {
99
- ...(committed.wiki?.source ?? {}),
100
- ...(local.wiki?.source ?? {}),
99
+ ...committed.wiki?.source,
100
+ ...local.wiki?.source,
101
101
  };
102
102
  const ttlSeconds = Number(
103
103
  ttlOverride ?? wikiCfg.ttlSeconds ?? DEFAULT_TTL_SECONDS
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -94,10 +94,10 @@ const committed =
94
94
  readJsonSafe(path.join(projectDir, ".lisa.config.json")) ?? {};
95
95
  const local =
96
96
  readJsonSafe(path.join(projectDir, ".lisa.config.local.json")) ?? {};
97
- const wikiCfg = { ...(committed.wiki ?? {}), ...(local.wiki ?? {}) };
97
+ const wikiCfg = { ...committed.wiki, ...local.wiki };
98
98
  const source = {
99
- ...(committed.wiki?.source ?? {}),
100
- ...(local.wiki?.source ?? {}),
99
+ ...committed.wiki?.source,
100
+ ...local.wiki?.source,
101
101
  };
102
102
  const ttlSeconds = Number(
103
103
  ttlOverride ?? wikiCfg.ttlSeconds ?? DEFAULT_TTL_SECONDS
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -94,10 +94,10 @@ const committed =
94
94
  readJsonSafe(path.join(projectDir, ".lisa.config.json")) ?? {};
95
95
  const local =
96
96
  readJsonSafe(path.join(projectDir, ".lisa.config.local.json")) ?? {};
97
- const wikiCfg = { ...(committed.wiki ?? {}), ...(local.wiki ?? {}) };
97
+ const wikiCfg = { ...committed.wiki, ...local.wiki };
98
98
  const source = {
99
- ...(committed.wiki?.source ?? {}),
100
- ...(local.wiki?.source ?? {}),
99
+ ...committed.wiki?.source,
100
+ ...local.wiki?.source,
101
101
  };
102
102
  const ttlSeconds = Number(
103
103
  ttlOverride ?? wikiCfg.ttlSeconds ?? DEFAULT_TTL_SECONDS
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "3.45.8",
3
+ "version": "3.45.9",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -94,10 +94,10 @@ const committed =
94
94
  readJsonSafe(path.join(projectDir, ".lisa.config.json")) ?? {};
95
95
  const local =
96
96
  readJsonSafe(path.join(projectDir, ".lisa.config.local.json")) ?? {};
97
- const wikiCfg = { ...(committed.wiki ?? {}), ...(local.wiki ?? {}) };
97
+ const wikiCfg = { ...committed.wiki, ...local.wiki };
98
98
  const source = {
99
- ...(committed.wiki?.source ?? {}),
100
- ...(local.wiki?.source ?? {}),
99
+ ...committed.wiki?.source,
100
+ ...local.wiki?.source,
101
101
  };
102
102
  const ttlSeconds = Number(
103
103
  ttlOverride ?? wikiCfg.ttlSeconds ?? DEFAULT_TTL_SECONDS
@@ -443,8 +443,8 @@ export function satisfiedByNpm(pkg, tool) {
443
443
  const viaNpm = KNOWN_TOOLS[tool]?.viaNpm;
444
444
  if (!viaNpm) return false;
445
445
  const declared = {
446
- ...(pkg?.dependencies ?? {}),
447
- ...(pkg?.devDependencies ?? {}),
446
+ ...pkg?.dependencies,
447
+ ...pkg?.devDependencies,
448
448
  };
449
449
  return Object.hasOwn(declared, viaNpm);
450
450
  }
@@ -308,7 +308,7 @@ export function readConfig(cwd = process.cwd(), env = process.env) {
308
308
  rotating: cfg.rotating ?? [],
309
309
  propagating: cfg.propagating ?? [],
310
310
  namespace,
311
- narrow: { ...DEFAULTS.narrow, ...(cfg.narrow ?? {}) },
311
+ narrow: { ...DEFAULTS.narrow, ...cfg.narrow },
312
312
  surface: cfg.surface ?? null,
313
313
  routing,
314
314
  configPath: path,
@@ -91,7 +91,7 @@ export function readRemoteEnvConfig(cwd = process.cwd()) {
91
91
  const cfg = JSON.parse(readFileSync(path, "utf8")).remoteEnv;
92
92
  if (!cfg) return defaults;
93
93
  return {
94
- tools: { require: [], install: [], ...(cfg.tools ?? {}) },
94
+ tools: { require: [], install: [], ...cfg.tools },
95
95
  hook: cfg.hook ?? null,
96
96
  surfaces: cfg.surfaces ?? {},
97
97
  };
@@ -879,7 +879,7 @@ export function pinEnvironment(environmentId, cwd = process.cwd()) {
879
879
  : {};
880
880
  const merged = {
881
881
  ...existing,
882
- remote: { ...(existing.remote ?? {}), defaultEnvironmentId: environmentId },
882
+ remote: { ...existing.remote, defaultEnvironmentId: environmentId },
883
883
  };
884
884
  writeFileSync(path, `${JSON.stringify(merged, null, 2)}\n`);
885
885
  return path;
@@ -204,7 +204,7 @@ export async function run(argv, io = {}) {
204
204
 
205
205
  let plan;
206
206
  try {
207
- plan = planWorkstation({ agents, tools, provider, ...(io.probes ?? {}) });
207
+ plan = planWorkstation({ agents, tools, provider, ...io.probes });
208
208
  } catch (error) {
209
209
  // A misspelled provider stops here rather than silently provisioning the
210
210
  // wrong credential manager.
@@ -94,10 +94,10 @@ const committed =
94
94
  readJsonSafe(path.join(projectDir, ".lisa.config.json")) ?? {};
95
95
  const local =
96
96
  readJsonSafe(path.join(projectDir, ".lisa.config.local.json")) ?? {};
97
- const wikiCfg = { ...(committed.wiki ?? {}), ...(local.wiki ?? {}) };
97
+ const wikiCfg = { ...committed.wiki, ...local.wiki };
98
98
  const source = {
99
- ...(committed.wiki?.source ?? {}),
100
- ...(local.wiki?.source ?? {}),
99
+ ...committed.wiki?.source,
100
+ ...local.wiki?.source,
101
101
  };
102
102
  const ttlSeconds = Number(
103
103
  ttlOverride ?? wikiCfg.ttlSeconds ?? DEFAULT_TTL_SECONDS
@@ -101,7 +101,7 @@ export function resolveProfile(profiles, name) {
101
101
  const effective = {};
102
102
  for (const link of chain) {
103
103
  Object.assign(effective, link, {
104
- env: { ...(effective.env ?? {}), ...(link.env ?? {}) },
104
+ env: { ...effective.env, ...link.env },
105
105
  });
106
106
  }
107
107
  delete effective.extends;