@codyswann/lisa 4.22.10 → 4.22.12

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 (64) hide show
  1. package/all/copy-overwrite/scripts/check-release-package-identity.mjs +51 -41
  2. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  3. package/dist/core/lisa-owned-hash-ledger.js +2 -0
  4. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  5. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  6. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  7. package/dist/core/upstream-evidence-manifest.js +3 -2
  8. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  9. package/dist/strategies/copy-contents.d.ts +1 -1
  10. package/dist/strategies/copy-contents.d.ts.map +1 -1
  11. package/dist/strategies/copy-contents.js +6 -2
  12. package/dist/strategies/copy-contents.js.map +1 -1
  13. package/package.json +3 -3
  14. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  16. package/plugins/lisa-agy/plugin.json +1 -1
  17. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  19. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  20. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  26. package/plugins/lisa-expo-agy/plugin.json +1 -1
  27. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  31. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  32. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  36. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  37. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  41. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  42. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  46. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  47. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  51. package/plugins/lisa-rails-agy/plugin.json +1 -1
  52. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  56. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  57. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  61. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  62. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  64. package/scripts/check-release-package-identity.mjs +51 -41
@@ -90,6 +90,33 @@ function tarMember(tarballPath, member) {
90
90
  }
91
91
  }
92
92
 
93
+ /** Create the one npm archive whose bytes will be published. */
94
+ function createCandidateArchive(root, packDestination) {
95
+ mkdirSync(packDestination, { recursive: true });
96
+ if (readdirSync(packDestination).length !== 0) {
97
+ mismatch(`pack destination must be empty (${packDestination})`);
98
+ }
99
+ try {
100
+ return String(
101
+ boundedExecFileSync(
102
+ "npm",
103
+ [
104
+ "pack",
105
+ "--ignore-scripts",
106
+ "--silent",
107
+ "--pack-destination",
108
+ packDestination,
109
+ ],
110
+ { cwd: root, encoding: "utf8", timeout: 120_000 }
111
+ )
112
+ );
113
+ } catch (error) {
114
+ mismatch(
115
+ `npm pack failed before publication (${error instanceof Error ? error.message : String(error)})`
116
+ );
117
+ }
118
+ }
119
+
93
120
  /** Extract the one workspace package version certified by generated bytes. */
94
121
  function certificateVersion(bytes, label) {
95
122
  const match = String(bytes).match(
@@ -115,18 +142,24 @@ export function assertReleaseCommit(releaseCommit) {
115
142
  * @returns {{headCommit: string, tagCommit: string, releaseCommit: string}}
116
143
  */
117
144
  export function assertCheckoutIdentity({ root, releaseCommit, tag }) {
118
- assertReleaseCommit(releaseCommit);
145
+ const validatedReleaseCommit = assertReleaseCommit(releaseCommit);
119
146
  const headCommit = gitCommit(root, "HEAD");
120
- if (headCommit !== releaseCommit) {
147
+ if (headCommit !== validatedReleaseCommit) {
121
148
  mismatch(
122
- `HEAD ${headCommit} does not match release commit ${releaseCommit}`
149
+ `HEAD ${headCommit} does not match release commit ${validatedReleaseCommit}`
123
150
  );
124
151
  }
125
152
  const tagCommit = gitCommit(root, tag);
126
- if (tagCommit !== releaseCommit) {
127
- mismatch(`tag ${tag} resolves ${tagCommit}, expected ${releaseCommit}`);
153
+ if (tagCommit !== validatedReleaseCommit) {
154
+ mismatch(
155
+ `tag ${tag} resolves ${tagCommit}, expected ${validatedReleaseCommit}`
156
+ );
128
157
  }
129
- return Object.freeze({ headCommit, tagCommit, releaseCommit });
158
+ return Object.freeze({
159
+ headCommit,
160
+ tagCommit,
161
+ releaseCommit: validatedReleaseCommit,
162
+ });
130
163
  }
131
164
 
132
165
  /**
@@ -140,21 +173,21 @@ export function packAndValidateReleaseCandidate({
140
173
  releaseCommit,
141
174
  packDestination,
142
175
  }) {
143
- assertReleaseCommit(releaseCommit);
176
+ const validatedReleaseCommit = assertReleaseCommit(releaseCommit);
144
177
  const packageJson = readJson(path.join(root, "package.json"), "package.json");
145
178
  if (packageJson.version !== version) {
146
179
  mismatch(
147
180
  `package.json version ${JSON.stringify(packageJson.version)} expected ${version}`
148
181
  );
149
182
  }
150
- if (packageJson.lisaReleaseCommit !== releaseCommit) {
183
+ if (packageJson.lisaReleaseCommit !== validatedReleaseCommit) {
151
184
  mismatch(
152
- `package.json lisaReleaseCommit ${JSON.stringify(packageJson.lisaReleaseCommit)} expected ${releaseCommit}`
185
+ `package.json lisaReleaseCommit ${JSON.stringify(packageJson.lisaReleaseCommit)} expected ${validatedReleaseCommit}`
153
186
  );
154
187
  }
155
- if (packageJson.gitHead !== releaseCommit) {
188
+ if (packageJson.gitHead !== validatedReleaseCommit) {
156
189
  mismatch(
157
- `package.json gitHead ${JSON.stringify(packageJson.gitHead)} expected ${releaseCommit}`
190
+ `package.json gitHead ${JSON.stringify(packageJson.gitHead)} expected ${validatedReleaseCommit}`
158
191
  );
159
192
  }
160
193
 
@@ -172,30 +205,7 @@ export function packAndValidateReleaseCandidate({
172
205
  }
173
206
  }
174
207
 
175
- mkdirSync(packDestination, { recursive: true });
176
- if (readdirSync(packDestination).length !== 0) {
177
- mismatch(`pack destination must be empty (${packDestination})`);
178
- }
179
- let packOutput;
180
- try {
181
- packOutput = String(
182
- boundedExecFileSync(
183
- "npm",
184
- [
185
- "pack",
186
- "--ignore-scripts",
187
- "--silent",
188
- "--pack-destination",
189
- packDestination,
190
- ],
191
- { cwd: root, encoding: "utf8", timeout: 120_000 }
192
- )
193
- );
194
- } catch (error) {
195
- mismatch(
196
- `npm pack failed before publication (${error instanceof Error ? error.message : String(error)})`
197
- );
198
- }
208
+ const packOutput = createCandidateArchive(root, packDestination);
199
209
  const candidates = readdirSync(packDestination).filter(file =>
200
210
  file.endsWith(".tgz")
201
211
  );
@@ -223,14 +233,14 @@ export function packAndValidateReleaseCandidate({
223
233
  `packed package version ${JSON.stringify(packedPackage.version)} expected ${version}`
224
234
  );
225
235
  }
226
- if (packedPackage.lisaReleaseCommit !== releaseCommit) {
236
+ if (packedPackage.lisaReleaseCommit !== validatedReleaseCommit) {
227
237
  mismatch(
228
- `packed lisaReleaseCommit ${JSON.stringify(packedPackage.lisaReleaseCommit)} expected ${releaseCommit}`
238
+ `packed lisaReleaseCommit ${JSON.stringify(packedPackage.lisaReleaseCommit)} expected ${validatedReleaseCommit}`
229
239
  );
230
240
  }
231
- if (packedPackage.gitHead !== releaseCommit) {
241
+ if (packedPackage.gitHead !== validatedReleaseCommit) {
232
242
  mismatch(
233
- `packed gitHead ${JSON.stringify(packedPackage.gitHead)} expected ${releaseCommit}`
243
+ `packed gitHead ${JSON.stringify(packedPackage.gitHead)} expected ${validatedReleaseCommit}`
234
244
  );
235
245
  }
236
246
 
@@ -241,7 +251,7 @@ export function packAndValidateReleaseCandidate({
241
251
  packedCertificateVersion = certificateVersion(member, "packed certificate");
242
252
  if (packedCertificateVersion !== version) {
243
253
  mismatch(
244
- `packed certificate names ${packedCertificateVersion}, expected ${version} at release commit ${releaseCommit} (${PACKED_CERTIFICATE})`
254
+ `packed certificate names ${packedCertificateVersion}, expected ${version} at release commit ${validatedReleaseCommit} (${PACKED_CERTIFICATE})`
245
255
  );
246
256
  }
247
257
  certificateMemberSha256 = sha256(member);
@@ -249,7 +259,7 @@ export function packAndValidateReleaseCandidate({
249
259
 
250
260
  return Object.freeze({
251
261
  version,
252
- releaseCommit,
262
+ releaseCommit: validatedReleaseCommit,
253
263
  certificateVersion: packedCertificateVersion,
254
264
  tarballPath,
255
265
  tarballSha256: sha256(tarballBytes),