@codyswann/lisa 2.294.0 → 2.295.1

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 (133) hide show
  1. package/dist/cli/gate-commands.d.ts +1 -3
  2. package/dist/cli/gate-commands.d.ts.map +1 -1
  3. package/dist/cli/gate-commands.js +0 -26
  4. package/dist/cli/gate-commands.js.map +1 -1
  5. package/dist/cli/index.d.ts +7 -2
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +43 -4
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/update-check.d.ts +0 -8
  10. package/dist/cli/update-check.d.ts.map +1 -1
  11. package/dist/cli/update-check.js +2 -4
  12. package/dist/cli/update-check.js.map +1 -1
  13. package/dist/core/project-config.d.ts +0 -3
  14. package/dist/core/project-config.d.ts.map +1 -1
  15. package/dist/core/project-config.js +40 -4
  16. package/dist/core/project-config.js.map +1 -1
  17. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  18. package/dist/core/upstream-evidence-manifest.js +2 -28
  19. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  20. package/dist/sync/registry.d.ts.map +1 -1
  21. package/dist/sync/registry.js +6 -3
  22. package/dist/sync/registry.js.map +1 -1
  23. package/package.json +1 -1
  24. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  26. package/plugins/lisa/rules/eager/config-resolution.md +0 -9
  27. package/plugins/lisa/rules/reference/config-resolution.md +0 -59
  28. package/plugins/lisa-agy/plugin.json +1 -1
  29. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  32. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-copilot/rules/eager/config-resolution.md +0 -9
  36. package/plugins/lisa-copilot/rules/reference/config-resolution.md +0 -59
  37. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +0 -59
  39. package/plugins/lisa-cursor/rules/config-resolution.mdc +0 -9
  40. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  42. package/plugins/lisa-expo-agy/plugin.json +1 -1
  43. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  48. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  52. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  53. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  58. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-openclaw-cursor/.claude-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-rails/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-rails-agy/plugin.json +1 -1
  68. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  73. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  78. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/src/base/rules/eager/config-resolution.md +0 -9
  81. package/plugins/src/base/rules/reference/config-resolution.md +0 -59
  82. package/dist/cli/deploy-status-adapter-github.d.ts +0 -20
  83. package/dist/cli/deploy-status-adapter-github.d.ts.map +0 -1
  84. package/dist/cli/deploy-status-adapter-github.js +0 -167
  85. package/dist/cli/deploy-status-adapter-github.js.map +0 -1
  86. package/dist/cli/deploy-status-adapter-jira.d.ts +0 -18
  87. package/dist/cli/deploy-status-adapter-jira.d.ts.map +0 -1
  88. package/dist/cli/deploy-status-adapter-jira.js +0 -215
  89. package/dist/cli/deploy-status-adapter-jira.js.map +0 -1
  90. package/dist/cli/deploy-status-adapter-linear.d.ts +0 -16
  91. package/dist/cli/deploy-status-adapter-linear.d.ts.map +0 -1
  92. package/dist/cli/deploy-status-adapter-linear.js +0 -204
  93. package/dist/cli/deploy-status-adapter-linear.js.map +0 -1
  94. package/dist/cli/deploy-status-adapter-shared.d.ts +0 -57
  95. package/dist/cli/deploy-status-adapter-shared.d.ts.map +0 -1
  96. package/dist/cli/deploy-status-adapter-shared.js +0 -62
  97. package/dist/cli/deploy-status-adapter-shared.js.map +0 -1
  98. package/dist/cli/deploy-status-adapter.d.ts +0 -49
  99. package/dist/cli/deploy-status-adapter.d.ts.map +0 -1
  100. package/dist/cli/deploy-status-adapter.js +0 -87
  101. package/dist/cli/deploy-status-adapter.js.map +0 -1
  102. package/dist/cli/deploy-status-refs.d.ts +0 -70
  103. package/dist/cli/deploy-status-refs.d.ts.map +0 -1
  104. package/dist/cli/deploy-status-refs.js +0 -195
  105. package/dist/cli/deploy-status-refs.js.map +0 -1
  106. package/dist/cli/deploy-status-sync-cmd.d.ts +0 -23
  107. package/dist/cli/deploy-status-sync-cmd.d.ts.map +0 -1
  108. package/dist/cli/deploy-status-sync-cmd.js +0 -75
  109. package/dist/cli/deploy-status-sync-cmd.js.map +0 -1
  110. package/dist/cli/deploy-status-sync-engine.d.ts +0 -49
  111. package/dist/cli/deploy-status-sync-engine.d.ts.map +0 -1
  112. package/dist/cli/deploy-status-sync-engine.js +0 -214
  113. package/dist/cli/deploy-status-sync-engine.js.map +0 -1
  114. package/dist/cli/deploy-status-sync-exec.d.ts +0 -73
  115. package/dist/cli/deploy-status-sync-exec.d.ts.map +0 -1
  116. package/dist/cli/deploy-status-sync-exec.js +0 -95
  117. package/dist/cli/deploy-status-sync-exec.js.map +0 -1
  118. package/dist/cli/kane-commands.d.ts +0 -21
  119. package/dist/cli/kane-commands.d.ts.map +0 -1
  120. package/dist/cli/kane-commands.js +0 -44
  121. package/dist/cli/kane-commands.js.map +0 -1
  122. package/dist/core/config-field-validation.d.ts +0 -19
  123. package/dist/core/config-field-validation.d.ts.map +0 -1
  124. package/dist/core/config-field-validation.js +0 -69
  125. package/dist/core/config-field-validation.js.map +0 -1
  126. package/dist/core/deploy-status-sync.d.ts +0 -103
  127. package/dist/core/deploy-status-sync.d.ts.map +0 -1
  128. package/dist/core/deploy-status-sync.js +0 -339
  129. package/dist/core/deploy-status-sync.js.map +0 -1
  130. package/dist/core/deploy-status-transition.d.ts +0 -97
  131. package/dist/core/deploy-status-transition.d.ts.map +0 -1
  132. package/dist/core/deploy-status-transition.js +0 -134
  133. package/dist/core/deploy-status-transition.js.map +0 -1
@@ -1,134 +0,0 @@
1
- /**
2
- * Pure transition planner for deploy-status-sync (DSS-2).
3
- *
4
- * Given the resolved deploy ladder, a target environment, and the fetched
5
- * tracker item states, decide — with zero IO — what should happen to each
6
- * item: promote to the rung's done status (closing natively only at the
7
- * universe's terminal env), skip items at-or-beyond the rung (never moving
8
- * anything backward), skip containers per `leaf-only-lifecycle`, and turn an
9
- * unconfigured environment into an explanatory no-op naming the exact
10
- * missing config key. All status vocabulary is config-sourced via the DSS-1
11
- * resolver's ladder; this module never invents status names.
12
- * @module core/deploy-status-transition
13
- */
14
- import { doneMapPath, } from "./deploy-status-sync.js";
15
- /** Marker prefixing every managed comment the engine writes. */
16
- export const DEPLOY_STATUS_SYNC_MARKER = "[lisa-deploy-status-sync]";
17
- const PROD_SPELLINGS = new Set(["prod", "production"]);
18
- /**
19
- * Find the ladder rung for an environment, honoring the sole
20
- * `prod` ↔ `production` alias (a ladder built from `branches.prod` may be
21
- * addressed as `production` and vice versa).
22
- * @param ladder - Resolved deploy ladder
23
- * @param env - Requested environment name
24
- * @returns The matching rung, or undefined when unconfigured
25
- */
26
- function findRung(ladder, env) {
27
- const exact = ladder.rungs.find(rung => rung.env === env);
28
- if (exact !== undefined || !PROD_SPELLINGS.has(env))
29
- return exact;
30
- return ladder.rungs.find(rung => PROD_SPELLINGS.has(rung.env));
31
- }
32
- /**
33
- * Build the deterministic promotion comment body. No timestamps — a re-run
34
- * of the same event must produce a byte-identical body so the managed
35
- * comment upsert resolves to `unchanged` with zero edit calls.
36
- * @param input - Planner input (env, branch, head)
37
- * @param rung - Target rung
38
- * @param close - Whether terminal closure applies
39
- * @returns Marker-prefixed comment body
40
- */
41
- function promotionBody(input, rung, close) {
42
- const closure = close
43
- ? "\nTerminal environment reached; item closed natively (leaf-only-lifecycle)."
44
- : "";
45
- return `${DEPLOY_STATUS_SYNC_MARKER}\nDeploy status sync: "${input.env}" deploy of branch "${input.branch}" (head ${input.headSha}) → "${rung.doneStatus}".${closure}`;
46
- }
47
- /** Deterministic rollup body for skipped containers (env-independent). */
48
- const CONTAINER_ROLLUP_BODY = `${DEPLOY_STATUS_SYNC_MARKER}\nRollup: container skipped per leaf-only-lifecycle — containers are never transitioned by deploy events; leaf items advance individually.`;
49
- /**
50
- * Whether an item is a container (epic-typed or has open children), per the
51
- * assertLeaf semantics of the work-item contract.
52
- * @param item - Fetched item state
53
- * @returns True when the item must not be transitioned
54
- */
55
- function isContainer(item) {
56
- const normalizedType = (item.type ?? "")
57
- .replace(/^type:/i, "")
58
- .trim()
59
- .toLowerCase();
60
- return normalizedType === "epic" || item.openChildren > 0;
61
- }
62
- /**
63
- * Plan the action for one item against the target rung.
64
- * @param item - Fetched item state
65
- * @param input - Planner input
66
- * @param rung - Target rung
67
- * @param close - Whether terminal closure applies at this rung
68
- * @param doneStatuses - Ladder done statuses, lowest rung first
69
- * @returns The planned action
70
- */
71
- function planItem(item, input, rung, close, doneStatuses) {
72
- if (isContainer(item)) {
73
- return {
74
- kind: "skip-container",
75
- ref: item.ref,
76
- reason: `container (type "${item.type ?? "unknown"}", ${String(item.openChildren)} open children) skipped per leaf-only-lifecycle`,
77
- commentBody: CONTAINER_ROLLUP_BODY,
78
- };
79
- }
80
- const currentIndex = item.currentStatus === undefined
81
- ? -1
82
- : doneStatuses.indexOf(item.currentStatus);
83
- if (item.closed) {
84
- if (currentIndex === -1) {
85
- return {
86
- kind: "skip-unrecognized-status",
87
- ref: item.ref,
88
- reason: `closed at status "${item.currentStatus ?? "(none)"}", which is outside the configured ${doneMapPath(input.tracker)} vocabulary; not moving (config-bound vocabulary)`,
89
- };
90
- }
91
- return {
92
- kind: "skip-at-or-beyond",
93
- ref: item.ref,
94
- reason: `already closed at "${item.currentStatus ?? ""}"`,
95
- };
96
- }
97
- const targetIndex = doneStatuses.indexOf(rung.doneStatus);
98
- if (currentIndex >= targetIndex) {
99
- return {
100
- kind: "skip-at-or-beyond",
101
- ref: item.ref,
102
- reason: `current status "${item.currentStatus ?? ""}" is at or beyond "${rung.doneStatus}"`,
103
- };
104
- }
105
- return {
106
- kind: "promote",
107
- ref: item.ref,
108
- doneStatus: rung.doneStatus,
109
- close,
110
- commentBody: promotionBody(input, rung, close),
111
- };
112
- }
113
- /**
114
- * Plan all transitions for a deploy event. Pure — performs no IO; callers
115
- * fetch item states through an adapter and execute the returned actions.
116
- * @param input - Ladder, env, tracker, range context, and item states
117
- * @returns Explanatory no-op or per-item action plan
118
- */
119
- export function planTransitions(input) {
120
- const rung = findRung(input.ladder, input.env);
121
- if (rung === undefined) {
122
- return {
123
- kind: "no-op",
124
- env: input.env,
125
- reason: `no-op: environment "${input.env}" has no configured done status — .lisa.config.json is missing ${doneMapPath(input.tracker)}.${input.env}. No transitions attempted.`,
126
- };
127
- }
128
- const close = input.ladder.terminalEnv !== undefined &&
129
- rung.env === input.ladder.terminalEnv;
130
- const doneStatuses = input.ladder.rungs.map(entry => entry.doneStatus);
131
- const actions = input.items.map(item => planItem(item, input, rung, close, doneStatuses));
132
- return { kind: "plan", env: input.env, rung, actions };
133
- }
134
- //# sourceMappingURL=deploy-status-transition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-status-transition.js","sourceRoot":"","sources":["../../src/core/deploy-status-transition.ts"],"names":[],"mappings":"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"}