@codyswann/lisa 4.68.1 → 4.69.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.
Files changed (85) hide show
  1. package/all/copy-overwrite/scripts/lisa-work-item.mjs +96 -5
  2. package/all/deletions.json +4 -2
  3. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  4. package/dist/core/lisa-owned-hash-ledger.js +8 -0
  5. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  6. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  7. package/dist/core/project-config.d.ts +6 -0
  8. package/dist/core/project-config.d.ts.map +1 -1
  9. package/dist/core/project-config.js.map +1 -1
  10. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  11. package/dist/core/upstream-evidence-manifest.js +20 -14
  12. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  13. package/dist/opencode/plugin-templates/lisa-session-bootstrap.ts +41 -1
  14. package/package.json +4 -4
  15. package/plugins/lisa/.claude-plugin/plugin.json +11 -1
  16. package/plugins/lisa/.codex-plugin/hooks.json +10 -0
  17. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  18. package/plugins/lisa/hooks/auto-update.mjs +756 -0
  19. package/plugins/lisa/hooks/auto-update.sh +31 -0
  20. package/plugins/lisa/hooks/enforcement-vintage-npm.mjs +2 -2
  21. package/plugins/lisa-agy/plugin.json +1 -1
  22. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  24. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  25. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-copilot/.claude-plugin/plugin.json +11 -1
  28. package/plugins/lisa-copilot/hooks/auto-update.mjs +756 -0
  29. package/plugins/lisa-copilot/hooks/auto-update.sh +31 -0
  30. package/plugins/lisa-copilot/hooks/enforcement-vintage-npm.mjs +2 -2
  31. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cursor/hooks/auto-update.mjs +756 -0
  33. package/plugins/lisa-cursor/hooks/auto-update.sh +31 -0
  34. package/plugins/lisa-cursor/hooks/enforcement-vintage-npm.mjs +2 -2
  35. package/plugins/lisa-cursor/hooks/hooks.json +4 -0
  36. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  38. package/plugins/lisa-expo-agy/plugin.json +1 -1
  39. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  48. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  49. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  53. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  54. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  58. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  59. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  63. package/plugins/lisa-rails-agy/plugin.json +1 -1
  64. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  68. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  69. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  73. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  74. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  76. package/plugins/src/base/.claude-plugin/plugin.json +10 -0
  77. package/plugins/src/base/hooks/auto-update.mjs +756 -0
  78. package/plugins/src/base/hooks/auto-update.sh +31 -0
  79. package/plugins/src/base/hooks/enforcement-vintage-npm.mjs +2 -2
  80. package/scripts/lib/per-agent-hook-filter.mjs +13 -0
  81. package/scripts/two-channel-couplings.json +1 -1
  82. package/typescript/copy-overwrite/.prettierignore +0 -1
  83. package/all/copy-overwrite/scripts/lisa-self-update.mjs +0 -1047
  84. package/all/create-only/.github/workflows/lisa-update.yml +0 -99
  85. package/scripts/lisa-self-update.mjs +0 -14
@@ -6,8 +6,9 @@
6
6
  * - install-pkgs.sh → install dependencies when node_modules is missing
7
7
  * - setup-jira-cli.sh → write jira-cli config from environment variables, only
8
8
  * when the project's configured tracker is jira
9
+ * - auto-update.sh → update the project to the latest Lisa (autoUpdate)
9
10
  *
10
- * Both are fully fail-open (wrapped in try/catch) so a package-manager or
11
+ * All are fully fail-open (wrapped in try/catch) so a package-manager or
11
12
  * filesystem hiccup never bricks OpenCode startup, mirroring the Codex scripts.
12
13
  * install only runs on the first session of a fresh checkout (node_modules
13
14
  * absent), so the common case is a cheap no-op.
@@ -61,6 +62,45 @@ export const LisaSessionBootstrap = async ({
61
62
  // fail open — never block startup on a dependency-install error
62
63
  }
63
64
 
65
+ // auto-update: the same engine as the Claude/Codex/Cursor/Copilot SessionStart
66
+ // hook (CodySwannGT/lisa#4337), run from the project's installed Lisa package,
67
+ // which ships `plugins/lisa/hooks/`. It is not a guard, so it is not staged
68
+ // beside this plugin; running it from node_modules is safe even though it
69
+ // rewrites node_modules, because Node has loaded it before anything changes.
70
+ // It runs after install so it sees the installed version, honours
71
+ // `autoUpdate: false`, only touches a clean tree, and reports what it did.
72
+ // OpenCode has no context-injection channel here, so the report goes to the
73
+ // console the session shows.
74
+ try {
75
+ const engine = `${root}/node_modules/@codyswann/lisa/plugins/lisa/hooks/auto-update.mjs`;
76
+ if (existsSync(engine) && !Bun.which("node")) {
77
+ console.error(
78
+ "lisa-auto-update: node is not on PATH, so the session-start Lisa update could not run. Install Node.js (or add it to PATH) to enable it."
79
+ );
80
+ } else if (existsSync(engine)) {
81
+ const result = await $`node ${engine} --project-dir ${root}`
82
+ .cwd(root)
83
+ .quiet()
84
+ .nothrow();
85
+ const text = String(result.stdout ?? "").trim();
86
+ if (text) {
87
+ const context = JSON.parse(text)?.hookSpecificOutput?.additionalContext;
88
+ if (context) console.error(context);
89
+ }
90
+ } else if (
91
+ existsSync(`${root}/node_modules/@codyswann/lisa/package.json`)
92
+ ) {
93
+ // This plugin is only written by an apply of a Lisa that ships the
94
+ // engine, so an installed Lisa without it means node_modules is older
95
+ // than the project's own files. Say so rather than skipping silently.
96
+ console.error(
97
+ "lisa-auto-update: the installed @codyswann/lisa predates this project's Lisa files, so the session-start update could not run. Run your package install to bring node_modules up to date."
98
+ );
99
+ }
100
+ } catch {
101
+ // fail open — a session must start even when the update cannot run
102
+ }
103
+
64
104
  // setup-jira-cli: write jira-cli config from environment variables and non-secret Lisa config.
65
105
  // Gated on `tracker: "jira"` — a project on Linear or GitHub Issues has no use
66
106
  // for a jira-cli config, and writing one made a false implicit claim about the
package/package.json CHANGED
@@ -187,7 +187,7 @@
187
187
  "zod-validation-error": "^4.0.0"
188
188
  },
189
189
  "name": "@codyswann/lisa",
190
- "version": "4.68.1",
190
+ "version": "4.69.0",
191
191
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
192
192
  "main": "dist/index.js",
193
193
  "exports": {
@@ -336,7 +336,7 @@
336
336
  "test": "tests"
337
337
  },
338
338
  "types": "./dist/index.d.ts",
339
- "lisaReleaseCommit": "d58ad3182285c14e174f430045b385a678a07bcd",
340
- "gitHead": "d58ad3182285c14e174f430045b385a678a07bcd",
341
- "lisaReleaseTag": "v4.68.1"
339
+ "lisaReleaseCommit": "ca44b2a299be0fb35643497b9eda675824787470",
340
+ "gitHead": "ca44b2a299be0fb35643497b9eda675824787470",
341
+ "lisaReleaseTag": "v4.69.0"
342
342
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -294,6 +294,16 @@
294
294
  }
295
295
  ]
296
296
  },
297
+ {
298
+ "matcher": "startup",
299
+ "hooks": [
300
+ {
301
+ "type": "command",
302
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/auto-update.sh",
303
+ "timeout": 600
304
+ }
305
+ ]
306
+ },
297
307
  {
298
308
  "matcher": "",
299
309
  "hooks": [
@@ -216,6 +216,16 @@
216
216
  }
217
217
  ]
218
218
  },
219
+ {
220
+ "matcher": "startup",
221
+ "hooks": [
222
+ {
223
+ "type": "command",
224
+ "command": "${PLUGIN_ROOT}/hooks/auto-update.sh",
225
+ "timeout": 600
226
+ }
227
+ ]
228
+ },
219
229
  {
220
230
  "matcher": "",
221
231
  "hooks": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"