@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
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env bash
2
+ # SessionStart: keep the project on the latest Lisa, locally
3
+ # (CodySwannGT/lisa#4337). `autoUpdate` in .lisa.config.json defaults to on;
4
+ # `false` opts out.
5
+ #
6
+ # All the work lives in the sibling `.mjs`, which is unit-tested. This wrapper
7
+ # only resolves the project root and hands off — the same division
8
+ # `enforcement-vintage.sh` beside it makes.
9
+ #
10
+ # FAIL SOFT, ALWAYS. Every exit is 0: a session must start even when the update
11
+ # cannot run, and the `.mjs` reports what it could not do in the context.
12
+ set -uo pipefail
13
+
14
+ cat >/dev/null 2>&1 || true
15
+
16
+ ROOT="${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}}"
17
+ RUNNER="$ROOT/hooks/auto-update.mjs"
18
+
19
+ [ -f "$RUNNER" ] || exit 0
20
+ command -v node >/dev/null 2>&1 || exit 0
21
+
22
+ # CLAUDE_PROJECT_DIR is the harness's own declaration of the root; the git
23
+ # toplevel is the fallback, because the manifest and node_modules this updates
24
+ # live at the repository root, not at whatever directory the session opened in.
25
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-}"
26
+ if [ -z "${PROJECT_DIR}" ] || [ ! -d "${PROJECT_DIR}" ]; then
27
+ PROJECT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
28
+ fi
29
+
30
+ node "$RUNNER" --project-dir "$PROJECT_DIR" || true
31
+ exit 0
@@ -259,8 +259,8 @@ export function renderNpmRows(state) {
259
259
  const guidance = state.projectBehind
260
260
  ? [
261
261
  `PROJECT BEHIND — this project installs lisa ${state.pin?.version} while lisa ${state.latest?.version} is published.`,
262
- "- Do NOT upgrade Lisa inside the current task: a version bump plus its template apply belongs in its own pull request, never mixed into feature work.",
263
- "- Check for an open pull request on a `lisa/update-*` branch. If none is open, the project's Lisa Update workflow (`.github/workflows/lisa-update.yml`) opens one on its schedule; say so in your report, and if that workflow is missing, recommend running `lisa apply` once so the project receives it.",
262
+ "- Do NOT upgrade Lisa by hand inside the current task. The session-start auto-update applies it on a clean tree as its own commit; see the lisa-auto-update block for what it did this session.",
263
+ '- If it did not run (autoUpdate is false, the tree was dirty, or it failed), say so in your report; the update happens at the start of the next session on a clean tree, or with "autoUpdate" left on.',
264
264
  ]
265
265
  : [];
266
266
  return { rows, guidance };
@@ -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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.68.1",
3
+ "version": "4.69.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -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"
@@ -222,6 +222,16 @@
222
222
  }
223
223
  ]
224
224
  },
225
+ {
226
+ "matcher": "startup",
227
+ "hooks": [
228
+ {
229
+ "type": "command",
230
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/auto-update.sh",
231
+ "timeout": 600
232
+ }
233
+ ]
234
+ },
225
235
  {
226
236
  "matcher": "",
227
237
  "hooks": [