@codyswann/lisa 4.81.0 → 4.81.2

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 (87) hide show
  1. package/all/copy-overwrite/scripts/lisa-gates.mjs +51 -7
  2. package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +1 -1
  3. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  4. package/dist/core/lisa-owned-hash-ledger.js +4 -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/upstream-evidence-manifest.d.ts.map +1 -1
  8. package/dist/core/upstream-evidence-manifest.js +3 -2
  9. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  10. package/dist/migrations/deploy-outcome-guard-edit.d.ts.map +1 -1
  11. package/dist/migrations/deploy-outcome-guard-edit.js +35 -14
  12. package/dist/migrations/deploy-outcome-guard-edit.js.map +1 -1
  13. package/dist/migrations/deploy-outcome-guard-yaml.d.ts +30 -1
  14. package/dist/migrations/deploy-outcome-guard-yaml.d.ts.map +1 -1
  15. package/dist/migrations/deploy-outcome-guard-yaml.js +88 -7
  16. package/dist/migrations/deploy-outcome-guard-yaml.js.map +1 -1
  17. package/package.json +4 -4
  18. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  20. package/plugins/lisa-agy/plugin.json +1 -1
  21. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  23. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  24. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
  28. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
  32. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  34. package/plugins/lisa-expo-agy/plugin.json +1 -1
  35. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
  39. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric-devin/.devin-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-nestjs-devin/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
  53. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  56. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
  60. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  63. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
  67. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  69. package/plugins/lisa-rails-agy/plugin.json +1 -1
  70. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
  74. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  76. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  77. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
  81. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  83. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  84. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
  87. package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-outcome-guard-edit.d.ts","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-edit.ts"],"names":[],"mappings":"AAgDA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,sCAAsC,CAAC;AAE9C,4EAA4E;AAC5E,eAAO,MAAM,eAAe,6CAAmC,CAAC;AAqGhE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CASf"}
1
+ {"version":3,"file":"deploy-outcome-guard-edit.d.ts","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-edit.ts"],"names":[],"mappings":"AAiDA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,sCAAsC,CAAC;AAE9C,4EAA4E;AAC5E,eAAO,MAAM,eAAe,6CAAmC,CAAC;AAuHhE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CASf"}
@@ -32,7 +32,8 @@
32
32
  * 1. A condition that never mentions the release result — safe to wrap, since
33
33
  * `!cancelled() && (original)` cannot change what the original decides.
34
34
  * 2. A flat top-level `&&` chain containing `needs.<release>.result ==
35
- * 'success'` — the conjunct is dropped and `!cancelled()` prepended.
35
+ * 'success'` — the conjunct is dropped and `!cancelled()` prepended, unless
36
+ * a remaining conjunct is already `always()` or `!cancelled()` (#4456).
36
37
  *
37
38
  * Anything else, including that conjunct nested inside an `||`, is left to a
38
39
  * human. Dropping a term from inside a disjunction changes what the condition
@@ -51,10 +52,17 @@ import { releaseDependence, } from "../core/deploy-release-dependence.js";
51
52
  export const GUARD_STEP_NAME = "🚨 Confirm the release shipped";
52
53
  /** The status function that suppresses GitHub's implicit `success()`. */
53
54
  const SUPPRESSOR = "!cancelled()";
55
+ /**
56
+ * Conjuncts that already suppress the implicit `success()`. When one survives
57
+ * the rewrite, prepending {@link SUPPRESSOR} would only duplicate it (#4456).
58
+ */
59
+ const EXISTING_SUPPRESSORS = new Set(["always()", SUPPRESSOR]);
54
60
  /** Tokens that take no space before them when a condition is re-rendered. */
55
- const NO_SPACE_BEFORE = new Set([")", ",", "=="]);
61
+ const NO_SPACE_BEFORE = new Set([")", ","]);
56
62
  /** Tokens that take no space after them when a condition is re-rendered. */
57
- const NO_SPACE_AFTER = new Set(["(", "!", "=="]);
63
+ const NO_SPACE_AFTER = new Set(["(", "!"]);
64
+ /** A function or context name: an `(` after one is a call, written `f()`. */
65
+ const CALLABLE = /^[A-Za-z_]\w*$/;
58
66
  /**
59
67
  * Strip a `${{ }}` wrapper and surrounding whitespace from a condition.
60
68
  * @param condition - The raw `if:` text
@@ -68,21 +76,31 @@ function bareExpression(condition) {
68
76
  .trim();
69
77
  }
70
78
  /**
71
- * Re-render a token run as expression text.
79
+ * Whether a token is written with no space before it.
80
+ * @param token - The token being placed
81
+ * @param previous - The token before it
82
+ * @returns True when the two are glued, as in `always()` or `!x`
83
+ */
84
+ function gluedTo(token, previous) {
85
+ if (NO_SPACE_BEFORE.has(token) || NO_SPACE_AFTER.has(previous))
86
+ return true;
87
+ return token === "(" && CALLABLE.test(previous);
88
+ }
89
+ /**
90
+ * Re-render a token run as canonical expression text: calls written `f(a, b)`,
91
+ * binary operators (`==`, `!=`, `&&`, `||`) spaced on both sides, `!` and
92
+ * parentheses glued to their operand. Canonical so a host that asserts its
93
+ * workflow text, or reviews the diff, reads what a person would have written.
72
94
  * @param tokens - The tokens, in order
73
95
  * @returns Readable expression text
74
96
  */
75
97
  function render(tokens) {
76
- return tokens
77
- .reduce((text, token, index) => {
98
+ return tokens.reduce((text, token, index) => {
78
99
  const previous = tokens[index - 1];
79
- const glued = index === 0 ||
80
- NO_SPACE_BEFORE.has(token) ||
81
- (previous !== undefined && NO_SPACE_AFTER.has(previous));
82
- return glued ? text + token : `${text} ${token}`;
83
- }, "")
84
- .replace(/ == /g, " == ")
85
- .trim();
100
+ return previous === undefined || gluedTo(token, previous)
101
+ ? text + token
102
+ : `${text} ${token}`;
103
+ }, "");
86
104
  }
87
105
  /**
88
106
  * Split a condition into its top-level `&&` conjuncts.
@@ -166,7 +184,10 @@ function proposedCondition(job, release) {
166
184
  return null;
167
185
  if (kept.some(conjunct => conjunct.some(token => token === gate)))
168
186
  return null;
169
- return [SUPPRESSOR, ...kept.map(render)].join(" && ");
187
+ const rendered = kept.map(render);
188
+ return rendered.some(conjunct => EXISTING_SUPPRESSORS.has(conjunct))
189
+ ? rendered.join(" && ")
190
+ : [SUPPRESSOR, ...rendered].join(" && ");
170
191
  }
171
192
  /**
172
193
  * Tokenize, returning null instead of throwing on an unsupported expression.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-outcome-guard-edit.js","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-edit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAEL,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAE9C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAEhE,yEAAyE;AACzE,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,6EAA6E;AAC7E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAElD,4EAA4E;AAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAEjD;;;;GAIG;AACH,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO,SAAS;SACb,IAAI,EAAE;SACN,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GACT,KAAK,KAAK,CAAC;YACX,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1B,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC;SACL,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;SACxB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,MAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAMzB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACf,MAAM,KAAK,GACT,KAAK,KAAK,GAAG;YACX,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;YACjB,CAAC,CAAC,KAAK,KAAK,GAAG;gBACb,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;gBACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;gBACtC,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACjE,CAAC,EACD,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CACjD,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,QAA2B,EAC3B,OAAe;IAEf,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,OAAO,SAAS;QACzC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;QACpB,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAkB,EAClB,OAAe;IAEf,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,4EAA4E;IAC5E,0DAA0D;IAC1D,OAAO,iBAAiB,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI;QACxE,aAAa;QACb,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAAkB,EAAE,OAAe;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC;IACvC,MAAM,IAAI,GAAG,SAAS,OAAO,SAAS,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,UAAU,QAAQ,QAAQ,GAAG,CAAC;IAC1C,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CACrD,CAAC;IACF,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,UAAkB;IACrC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deploy-outcome-guard-edit.js","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-edit.ts"],"names":[],"mappings":"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"}
@@ -67,13 +67,42 @@ export declare function locateFirstStep(lines: readonly string[], block: JobBloc
67
67
  * @returns The step's lines, de-indented to column zero, or null when absent
68
68
  */
69
69
  export declare function extractGuardStep(template: string, stepName: string): readonly string[] | null;
70
+ /**
71
+ * How a job's `if:` is written, so a rewrite keeps the host's own style (#4456).
72
+ *
73
+ * - `block` — a block scalar, keeping its indicator (`|`, `|-`, `>`, `>-`, …).
74
+ * - `expression` — a single plain `${{ … }}` line, kept on one line.
75
+ * - `plain` — a single plain unwrapped line, kept on one line when the rewrite
76
+ * can be written that way.
77
+ *
78
+ * A plain unwrapped line cannot always stay plain: the rewrite usually starts
79
+ * with `!cancelled()`, and a plain YAML scalar that starts with `!` is a tag,
80
+ * not text. That case, a quoted or multi-line plain scalar, and a job with no
81
+ * `if:` at all get a `>-` block, which reads the same and parses.
82
+ */
83
+ export type ConditionStyle = {
84
+ readonly kind: "block";
85
+ readonly indicator: string;
86
+ } | {
87
+ readonly kind: "expression";
88
+ } | {
89
+ readonly kind: "plain";
90
+ };
91
+ /**
92
+ * Read the style of an existing `if:` key.
93
+ * @param line - The job's `if:` line, or undefined when the job declares none
94
+ * @param continued - Whether the key carries content on further lines
95
+ * @returns The style to render the rewrite in
96
+ */
97
+ export declare function conditionStyle(line: string | undefined, continued?: boolean): ConditionStyle;
70
98
  /**
71
99
  * Render the replacement `if:` block for a job.
72
100
  * @param condition - The rewritten condition text
73
101
  * @param keyIndent - Column the job's keys begin at
102
+ * @param style - How the host wrote the original `if:`
74
103
  * @returns The lines to write in place of the job's old `if:`
75
104
  */
76
- export declare function renderCondition(condition: string, keyIndent: number): readonly string[];
105
+ export declare function renderCondition(condition: string, keyIndent: number, style?: ConditionStyle): readonly string[];
77
106
  /**
78
107
  * Apply both edits to one workflow's source, or return null.
79
108
  *
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-outcome-guard-yaml.d.ts","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAYD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,IAAI,CAiBjB;AAED,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,GACV,OAAO,GAAG,IAAI,CAahB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,QAAQ,GACd;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,SAAS,MAAM,EAAE,GAAG,IAAI,CAc1B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,SAAS,MAAM,EAAE,CAkBnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,GAAG,IAAI,CA8Bf"}
1
+ {"version":3,"file":"deploy-outcome-guard-yaml.d.ts","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAYD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,IAAI,CAiBjB;AAED,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,GACV,OAAO,GAAG,IAAI,CAahB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,QAAQ,GACd;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,SAAS,MAAM,EAAE,GAAG,IAAI,CAc1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAK/B;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,SAAS,UAAQ,GAChB,cAAc,CAOhB;AAiDD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,cAA8B,GACpC,SAAS,MAAM,EAAE,CAsCnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,GAAG,IAAI,CAyCf"}
@@ -110,27 +110,104 @@ export function extractGuardStep(template, stepName) {
110
110
  .slice(start, end)
111
111
  .map(line => (line.trim() === "" ? "" : line.slice(indent)));
112
112
  }
113
+ /** The style used when the host's own cannot be kept. */
114
+ const DEFAULT_STYLE = { kind: "block", indicator: ">-" };
115
+ /**
116
+ * Read the style of an existing `if:` key.
117
+ * @param line - The job's `if:` line, or undefined when the job declares none
118
+ * @param continued - Whether the key carries content on further lines
119
+ * @returns The style to render the rewrite in
120
+ */
121
+ export function conditionStyle(line, continued = false) {
122
+ const value = line?.replace(/^\s*if:/, "").trim() ?? "";
123
+ const block = /^([|>][-+]?)\s*(?:#.*)?$/.exec(value);
124
+ if (block?.[1] !== undefined)
125
+ return { kind: "block", indicator: block[1] };
126
+ if (continued)
127
+ return DEFAULT_STYLE;
128
+ if (/^\$\{\{.*\}\}$/.test(value))
129
+ return { kind: "expression" };
130
+ return /^[A-Za-z]/.test(value) ? { kind: "plain" } : DEFAULT_STYLE;
131
+ }
132
+ /**
133
+ * Whether a condition can be written as a plain YAML scalar unchanged: it
134
+ * starts with a letter (no tag, anchor, alias, quote or indicator) and carries
135
+ * neither `: ` nor ` #`, which would end the scalar early.
136
+ * @param condition - The rewritten condition text
137
+ * @returns True when a plain one-line `if:` reads back as exactly this text
138
+ */
139
+ function plainSafe(condition) {
140
+ return (/^[A-Za-z]/.test(condition) &&
141
+ !condition.includes(": ") &&
142
+ !condition.includes(" #"));
143
+ }
144
+ /** The operator a multi-line condition is broken after. */
145
+ const AND = " && ";
146
+ /**
147
+ * Split a condition at its top-level `&&` operators only, so a parenthesised
148
+ * group or a quoted string is never broken across lines.
149
+ * @param condition - The rewritten condition text
150
+ * @returns The conjuncts, in order
151
+ */
152
+ function topLevelParts(condition) {
153
+ const scan = [...condition].reduce((state, char, index) => {
154
+ if (char === "'")
155
+ return { ...state, quoted: !state.quoted };
156
+ if (state.quoted)
157
+ return state;
158
+ if (char === "(")
159
+ return { ...state, depth: state.depth + 1 };
160
+ if (char === ")")
161
+ return { ...state, depth: state.depth - 1 };
162
+ return state.depth === 0 && condition.startsWith(AND, index)
163
+ ? { ...state, cuts: [...state.cuts, index] }
164
+ : state;
165
+ }, { depth: 0, quoted: false, cuts: [] });
166
+ const starts = [0, ...scan.cuts.map(cut => cut + AND.length)];
167
+ return starts.map((start, index) => condition.slice(start, scan.cuts[index] ?? condition.length));
168
+ }
113
169
  /**
114
170
  * Render the replacement `if:` block for a job.
115
171
  * @param condition - The rewritten condition text
116
172
  * @param keyIndent - Column the job's keys begin at
173
+ * @param style - How the host wrote the original `if:`
117
174
  * @returns The lines to write in place of the job's old `if:`
118
175
  */
119
- export function renderCondition(condition, keyIndent) {
176
+ export function renderCondition(condition, keyIndent, style = DEFAULT_STYLE) {
120
177
  const pad = " ".repeat(keyIndent);
121
178
  const inner = " ".repeat(keyIndent + 2);
179
+ // A one-line style cannot carry a condition that spans lines.
180
+ const oneLine = style.kind !== "block" && !condition.includes("\n");
181
+ const resolved = style.kind === "block" ||
182
+ (oneLine && (style.kind === "expression" || plainSafe(condition)))
183
+ ? style
184
+ : DEFAULT_STYLE;
185
+ const key = resolved.kind === "expression"
186
+ ? [`${pad}if: \${{ ${condition} }}`]
187
+ : resolved.kind === "plain"
188
+ ? [`${pad}if: ${condition}`]
189
+ : [
190
+ `${pad}if: ${resolved.indicator}`,
191
+ // A host's own multi-line text, kept by the wrap rule, is
192
+ // re-indented line by line: an unindented continuation would end
193
+ // the block scalar and the file would no longer parse.
194
+ ...topLevelParts(condition).map((part, index, parts) => {
195
+ const indented = part
196
+ .split("\n")
197
+ .map(line => inner + line.trim())
198
+ .join("\n");
199
+ return index === parts.length - 1 ? indented : `${indented} &&`;
200
+ }),
201
+ ];
122
202
  return [
123
- `${pad}# \`!cancelled()\` suppresses the implicit \`success()\` GitHub would`,
203
+ `${pad}# \`!cancelled()\` / \`always()\` suppresses the implicit \`success()\` GitHub would`,
124
204
  `${pad}# otherwise AND onto this condition. Without it a failed release`,
125
205
  `${pad}# SKIPPED this job, and a skipped job renders as neutral and counts`,
126
206
  `${pad}# as a satisfied required check — so a deploy that never happened`,
127
207
  `${pad}# left no signal at all. The release result is read by the guard STEP`,
128
208
  `${pad}# below, which fails this job loudly instead (#3467, applied by`,
129
209
  `${pad}# Lisa's ensure-deploy-outcome-guard migration for #3740).`,
130
- `${pad}if: >-`,
131
- ...condition
132
- .split(" && ")
133
- .map((part, index, parts) => index === parts.length - 1 ? `${inner}${part}` : `${inner}${part} &&`),
210
+ ...key,
134
211
  ];
135
212
  }
136
213
  /**
@@ -156,7 +233,11 @@ export function applyGuardEdits(source, jobId, condition, guardStep) {
156
233
  return null;
157
234
  const existing = locateKey(lines, block, "if");
158
235
  const guardLines = guardStep.map(line => line === "" ? "" : `${" ".repeat(step.indent)}${line}`);
159
- const conditionLines = renderCondition(condition, block.keyIndent);
236
+ const conditionLines = renderCondition(condition, block.keyIndent, existing === null
237
+ ? undefined
238
+ : conditionStyle(lines[existing.start], lines
239
+ .slice(existing.start + 1, existing.end)
240
+ .some(line => line.trim() !== "")));
160
241
  const declared = existing ?? {
161
242
  start: block.start + 1,
162
243
  end: block.start + 1,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-outcome-guard-yaml.js","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,KAAwB,EACxB,KAAa;IAEb,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,KAAK;SACf,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;SACrB,GAAG,CAAC,QAAQ,CAAC;SACb,IAAI,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACvD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACpE,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,KAAwB,EACxB,KAAe,EACf,GAAW;IAEX,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;SAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK;SACf,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;SAC3B,SAAS,CACR,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CACnE,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB,EACxB,KAAe;IAEf,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;SACjC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACnC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,WAAW,QAAQ,EAAE,CAAC,CACnD,CAAC;IACF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5D,OAAO,KAAK;SACT,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;SACjB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO;QACL,GAAG,GAAG,uEAAuE;QAC7E,GAAG,GAAG,kEAAkE;QACxE,GAAG,GAAG,qEAAqE;QAC3E,GAAG,GAAG,mEAAmE;QACzE,GAAG,GAAG,uEAAuE;QAC7E,GAAG,GAAG,iEAAiE;QACvE,GAAG,GAAG,4DAA4D;QAClE,GAAG,GAAG,QAAQ;QACd,GAAG,SAAS;aACT,KAAK,CAAC,MAAM,CAAC;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC1B,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CACtE;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,KAAa,EACb,SAAiB,EACjB,SAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACtC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CACvD,CAAC;IACF,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,IAAI;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;QACtB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;KACrB,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;QAC7B,GAAG,UAAU;QACb,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;KAC3B,CAAC;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO;QACL,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,GAAG,cAAc;QACjB,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"deploy-outcome-guard-yaml.js","sourceRoot":"","sources":["../../src/migrations/deploy-outcome-guard-yaml.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -189,7 +189,7 @@
189
189
  "qs": "^6.16.0"
190
190
  },
191
191
  "name": "@codyswann/lisa",
192
- "version": "4.81.0",
192
+ "version": "4.81.2",
193
193
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
194
194
  "main": "dist/index.js",
195
195
  "exports": {
@@ -345,7 +345,7 @@
345
345
  "test": "tests"
346
346
  },
347
347
  "types": "./dist/index.d.ts",
348
- "lisaReleaseCommit": "30a59e6d4019da74a4b8452baa780c98bdc40c5d",
349
- "gitHead": "30a59e6d4019da74a4b8452baa780c98bdc40c5d",
350
- "lisaReleaseTag": "v4.81.0"
348
+ "lisaReleaseCommit": "ac1eb852e75586854f2caa7a07d37458aa4232af",
349
+ "gitHead": "ac1eb852e75586854f2caa7a07d37458aa4232af",
350
+ "lisaReleaseTag": "v4.81.2"
351
351
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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.81.0",
3
+ "version": "4.81.2",
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",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
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-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.81.0",
3
+ "version": "4.81.2",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"