@codyswann/lisa 2.217.4 → 2.217.6

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 (79) hide show
  1. package/dist/sync/config-sync.d.ts +1 -3
  2. package/dist/sync/config-sync.d.ts.map +1 -1
  3. package/dist/sync/config-sync.js +36 -44
  4. package/dist/sync/config-sync.js.map +1 -1
  5. package/dist/sync/legacy-aliases.d.ts +27 -0
  6. package/dist/sync/legacy-aliases.d.ts.map +1 -0
  7. package/dist/sync/legacy-aliases.js +53 -0
  8. package/dist/sync/legacy-aliases.js.map +1 -0
  9. package/dist/sync/legacy-monitor-thresholds.d.ts +42 -0
  10. package/dist/sync/legacy-monitor-thresholds.d.ts.map +1 -0
  11. package/dist/sync/legacy-monitor-thresholds.js +93 -0
  12. package/dist/sync/legacy-monitor-thresholds.js.map +1 -0
  13. package/dist/sync/registry.d.ts +6 -0
  14. package/dist/sync/registry.d.ts.map +1 -1
  15. package/dist/sync/registry.js +11 -4
  16. package/dist/sync/registry.js.map +1 -1
  17. package/dist/sync/sync-population.d.ts +28 -0
  18. package/dist/sync/sync-population.d.ts.map +1 -0
  19. package/dist/sync/sync-population.js +46 -0
  20. package/dist/sync/sync-population.js.map +1 -0
  21. package/package.json +1 -1
  22. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  24. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/SKILL.md +5 -1
  25. package/plugins/lisa/skills/lisa-monitor/SKILL.md +5 -1
  26. package/plugins/lisa-agy/plugin.json +1 -1
  27. package/plugins/lisa-agy/skills/lisa-monitor/SKILL.md +5 -1
  28. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  31. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-copilot/skills/lisa-monitor/SKILL.md +5 -1
  35. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-cursor/skills/lisa-monitor/SKILL.md +5 -1
  37. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  39. package/plugins/lisa-expo-agy/plugin.json +1 -1
  40. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  50. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  55. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  59. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  60. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  64. package/plugins/lisa-rails-agy/plugin.json +1 -1
  65. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  69. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  70. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  74. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  75. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  77. package/plugins/src/base/skills/lisa-monitor/SKILL.md +5 -1
  78. package/ui/README.md +5 -3
  79. package/ui/index.html +1 -1
@@ -1,7 +1,5 @@
1
- /** Key holding sync provenance metadata inside `.lisa.config.json`. */
2
- export declare const SYNC_METADATA_KEY = "_lisaSync";
3
1
  /** What sync did (or would do, in dry-run) for one setting. */
4
- export type SyncActionKind = "absorbed-artifact" | "populated-default" | "filled-missing" | "default-evolved" | "artifact-synced" | "unchanged";
2
+ export type SyncActionKind = "absorbed-artifact" | "populated-default" | "filled-missing" | "default-evolved" | "artifact-synced";
5
3
  /** One reportable sync action. */
6
4
  export interface SyncAction {
7
5
  /** Config key the action applies to */
@@ -1 +1 @@
1
- {"version":3,"file":"config-sync.d.ts","sourceRoot":"","sources":["../../src/sync/config-sync.ts"],"names":[],"mappings":"AAkCA,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8BAA8B;AAC9B,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAsQD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAoCrB"}
1
+ {"version":3,"file":"config-sync.d.ts","sourceRoot":"","sources":["../../src/sync/config-sync.ts"],"names":[],"mappings":"AAqCA,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8BAA8B;AAC9B,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiQD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA0CrB"}
@@ -19,8 +19,9 @@ import * as path from "node:path";
19
19
  import { deepMerge, readJsonOrNull, writeJson } from "../utils/index.js";
20
20
  import { fillMissing, getAtPath, isJsonObject, jsonEquals, setAtPath, } from "./json-path.js";
21
21
  import { REQUIRED_KEYS, SYNC_REGISTRY, } from "./registry.js";
22
- /** Key holding sync provenance metadata inside `.lisa.config.json`. */
23
- export const SYNC_METADATA_KEY = "_lisaSync";
22
+ import { aliasCompatibleDefault, hasLegacyAlias } from "./legacy-aliases.js";
23
+ import { applyLegacyMonitorThresholdMigration } from "./legacy-monitor-thresholds.js";
24
+ import { recordedPopulation, recordPopulation } from "./sync-population.js";
24
25
  /**
25
26
  * Check whether a registry relevance condition matches the merged config.
26
27
  * @param merged - Merged (committed + local) config view
@@ -42,9 +43,8 @@ function conditionMatches(merged, condition) {
42
43
  * @returns True when the entry should be synced
43
44
  */
44
45
  function isRelevant(merged, relevantWhen) {
45
- if (relevantWhen === undefined) {
46
+ if (relevantWhen === undefined)
46
47
  return true;
47
- }
48
48
  return relevantWhen.some(condition => conditionMatches(merged, condition));
49
49
  }
50
50
  /**
@@ -61,33 +61,6 @@ async function readArtifactValue(destDir, entry) {
61
61
  }));
62
62
  return reads.find(value => value !== undefined);
63
63
  }
64
- /**
65
- * Read the recorded populated-default value for a key, if any. Provenance
66
- * keys are stored literally (dots included) inside `_lisaSync.populated`.
67
- * @param committed - Committed config object
68
- * @param key - Config key
69
- * @returns The value recorded at population time, or undefined
70
- */
71
- function recordedPopulation(committed, key) {
72
- const populated = getAtPath(committed, `${SYNC_METADATA_KEY}.populated`);
73
- return isJsonObject(populated) ? populated[key] : undefined;
74
- }
75
- /**
76
- * Record that a key was auto-populated with a default value, storing the key
77
- * literally (dots included) so later runs can detect default evolution.
78
- * @param committed - Committed config object
79
- * @param key - Config key
80
- * @param value - The default value written
81
- * @returns Updated committed config
82
- */
83
- function recordPopulation(committed, key, value) {
84
- const populated = getAtPath(committed, `${SYNC_METADATA_KEY}.populated`);
85
- const populatedObject = isJsonObject(populated) ? populated : {};
86
- return setAtPath(committed, `${SYNC_METADATA_KEY}.populated`, {
87
- ...populatedObject,
88
- [key]: value,
89
- });
90
- }
91
64
  /**
92
65
  * Build the next state with an updated committed config and appended action.
93
66
  * @param state - Current sync state
@@ -127,34 +100,53 @@ function populateMissing(state, entry, artifactValue) {
127
100
  * @param state - Current sync state
128
101
  * @param entry - Registry entry
129
102
  * @param merged - Merged config view (local overlay applied)
103
+ * @param local - Local config overlay
130
104
  * @param artifactValue - Value found in an existing artifact, if any
131
105
  * @returns Updated state
132
106
  */
133
- function populateEntry(state, entry, merged, artifactValue) {
134
- const configValue = getAtPath(merged, entry.key);
107
+ function populateEntry(state, entry, merged, local, artifactValue) {
108
+ const stateAfterMigration = applyLegacyMonitorThresholdMigration(state, entry.key);
109
+ const mergedAfterMigration = stateAfterMigration === state
110
+ ? merged
111
+ : deepMerge(stateAfterMigration.committed, local);
112
+ const configValue = getAtPath(mergedAfterMigration, entry.key);
135
113
  if (configValue === undefined) {
136
- return populateMissing(state, entry, artifactValue);
114
+ return populateMissing(stateAfterMigration, entry, artifactValue);
137
115
  }
138
- const recorded = recordedPopulation(state.committed, entry.key);
116
+ const committedValue = getAtPath(stateAfterMigration.committed, entry.key);
117
+ const localValue = getAtPath(local, entry.key);
118
+ const recorded = recordedPopulation(stateAfterMigration.committed, entry.key);
119
+ const evolutionValue = entry.legacyAliases === undefined ? configValue : committedValue;
139
120
  if (recorded !== undefined &&
140
- jsonEquals(configValue, recorded) &&
141
- !jsonEquals(configValue, entry.defaultValue)) {
142
- const committed = recordPopulation(setAtPath(state.committed, entry.key, entry.defaultValue), entry.key, entry.defaultValue);
143
- return withAction(state, committed, {
121
+ jsonEquals(evolutionValue, recorded) &&
122
+ !jsonEquals(evolutionValue, entry.defaultValue) &&
123
+ !hasLegacyAlias(localValue, entry.legacyAliases)) {
124
+ const committed = recordPopulation(setAtPath(stateAfterMigration.committed, entry.key, entry.defaultValue), entry.key, entry.defaultValue);
125
+ return withAction(stateAfterMigration, committed, {
144
126
  key: entry.key,
145
127
  kind: "default-evolved",
146
128
  detail: "value still matched the old default; updated to the new one",
147
129
  });
148
130
  }
149
- const filled = fillMissing(configValue, entry.defaultValue);
150
- if (!jsonEquals(filled, configValue)) {
151
- return withAction(state, setAtPath(state.committed, entry.key, filled), {
131
+ const hasEffectiveAlias = hasLegacyAlias(configValue, entry.legacyAliases);
132
+ if (hasEffectiveAlias && committedValue === undefined) {
133
+ return stateAfterMigration;
134
+ }
135
+ // Compatibility fills are based only on committed state. Each present alias
136
+ // prunes its own mapped current default while unrelated defaults still fill.
137
+ const fillSource = hasEffectiveAlias ? committedValue : configValue;
138
+ const fallback = hasEffectiveAlias
139
+ ? aliasCompatibleDefault(configValue, entry.defaultValue, entry.legacyAliases)
140
+ : entry.defaultValue;
141
+ const filled = fillMissing(fillSource, fallback);
142
+ if (!jsonEquals(filled, fillSource)) {
143
+ return withAction(stateAfterMigration, setAtPath(stateAfterMigration.committed, entry.key, filled), {
152
144
  key: entry.key,
153
145
  kind: "filled-missing",
154
146
  detail: "missing sub-keys filled with defaults",
155
147
  });
156
148
  }
157
- return state;
149
+ return stateAfterMigration;
158
150
  }
159
151
  /**
160
152
  * Queue artifact writes for one entry (sync direction: config wins). Only
@@ -244,7 +236,7 @@ export async function runConfigSync(destDir, options = {}) {
244
236
  return state;
245
237
  }
246
238
  const artifactValue = await readArtifactValue(destDir, entry);
247
- const populated = populateEntry(state, entry, merged, artifactValue);
239
+ const populated = populateEntry(state, entry, merged, local, artifactValue);
248
240
  return syncArtifacts(populated, entry, destDir, local);
249
241
  }, Promise.resolve(initial));
250
242
  const mergedFinal = deepMerge(finalState.committed, local);
@@ -1 +1 @@
1
- {"version":3,"file":"config-sync.js","sourceRoot":"","sources":["../../src/sync/config-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,GAGV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,aAAa,GAEd,MAAM,eAAe,CAAC;AAEvB,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AA4C7C;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAkB,EAAE,SAAiB;IAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CACjB,MAAkB,EAClB,YAA2C;IAE3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAAe,EACf,KAAoB;IAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,SAAqB,EACrB,GAAW;IAEX,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,SAAqB,EACrB,GAAW,EACX,KAAgB;IAEhB,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,EAAE;QAC5D,GAAG,eAAe;QAClB,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CACjB,KAAgB,EAChB,SAAqB,EACrB,MAAkB;IAElB,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,KAAgB,EAChB,KAAoB,EACpB,aAAoC;IAEpC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,OAAO,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;YACxE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,uBAAuB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,UAAU,EAAE;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAChC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,EACzD,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,OAAO,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE;QAClC,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,+CAA+C;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAgB,EAChB,KAAoB,EACpB,MAAkB,EAClB,aAAoC;IAEpC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,IACE,QAAQ,KAAK,SAAS;QACtB,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC;QACjC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,EAC5C,CAAC;QACD,MAAM,SAAS,GAAG,gBAAgB,CAChC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,EACzD,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,YAAY,CACnB,CAAC;QACF,OAAO,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE;YAClC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,6DAA6D;SACtE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;YACtE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,uCAAuC;SAChD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAgB,EAChB,KAAoB,EACpB,OAAe,EACf,KAAiB;IAEjB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAqB,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QACzE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,cAAc,CAAU,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;QACpE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;YAClE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;YACrB,GAAG,OAAO,CAAC,cAAc;YACzB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAU;SACjC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,OAAO;YACV,cAAc,EAAE,MAAM;YACtB,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB;oBACE,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,sBAAsB;iBAC9C;aACF;SACF,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAAkB;IAElB,OAAO,aAAa,CAAC,MAAM,CACzB,QAAQ,CAAC,EAAE,CACT,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC;QACzC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAChD,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,cAAc,CAAU,aAAa,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAU,SAAS,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,MAAM,OAAO,GAAc;QACzB,SAAS;QACT,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,IAAI,GAAG,EAAE;KAC1B,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAC3C,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAe,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACzB,CAAC;IAEF,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAe,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IACD,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,eAAe,EAAE,mBAAmB,CAAC,WAAW,CAAC;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;KAChC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CACzB,OAAe,EACf,iBAA6B,EAC7B,KAAgB;IAEhB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACjE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAC7C,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config-sync.js","sourceRoot":"","sources":["../../src/sync/config-sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Compatibility helpers for registry settings with deprecated relative paths.
3
+ * @module sync/legacy-aliases
4
+ */
5
+ import { type JsonValue } from "./json-path.js";
6
+ /** One deprecated relative path and the current path that replaces it. */
7
+ export interface LegacyAliasMapping {
8
+ readonly currentPath: string;
9
+ readonly legacyPath: string;
10
+ }
11
+ /**
12
+ * Whether a value contains any declared deprecated alias. Presence is checked
13
+ * against `undefined` so explicit `0` and `null` values remain human-owned.
14
+ * @param value - Setting value to inspect
15
+ * @param aliases - Relative-path alias mappings
16
+ * @returns True when at least one legacy path is present
17
+ */
18
+ export declare function hasLegacyAlias(value: JsonValue | undefined, aliases: readonly LegacyAliasMapping[] | undefined): boolean;
19
+ /**
20
+ * Remove only current defaults whose legacy counterpart is present.
21
+ * @param value - Effective entry value used to detect aliases
22
+ * @param defaultValue - Registry default to prune
23
+ * @param aliases - Relative-path alias mappings
24
+ * @returns Default value safe to fill beside the effective aliases
25
+ */
26
+ export declare function aliasCompatibleDefault(value: JsonValue, defaultValue: JsonValue, aliases: readonly LegacyAliasMapping[] | undefined): JsonValue;
27
+ //# sourceMappingURL=legacy-aliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-aliases.d.ts","sourceRoot":"","sources":["../../src/sync/legacy-aliases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzE,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,OAAO,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,GACjD,OAAO,CAKT;AA6BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,GACjD,SAAS,CAUX"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Compatibility helpers for registry settings with deprecated relative paths.
3
+ * @module sync/legacy-aliases
4
+ */
5
+ import { getAtPath, isJsonObject } from "./json-path.js";
6
+ /**
7
+ * Whether a value contains any declared deprecated alias. Presence is checked
8
+ * against `undefined` so explicit `0` and `null` values remain human-owned.
9
+ * @param value - Setting value to inspect
10
+ * @param aliases - Relative-path alias mappings
11
+ * @returns True when at least one legacy path is present
12
+ */
13
+ export function hasLegacyAlias(value, aliases) {
14
+ return (aliases?.some(alias => getAtPath(value, alias.legacyPath) !== undefined) ??
15
+ false);
16
+ }
17
+ /**
18
+ * Return a JSON value without one nested object path.
19
+ * @param value - Value to copy
20
+ * @param dotPath - Relative dot path to omit
21
+ * @returns Copied value with the addressed property omitted
22
+ */
23
+ function omitAtPath(value, dotPath) {
24
+ if (!isJsonObject(value)) {
25
+ return value;
26
+ }
27
+ const dotIndex = dotPath.indexOf(".");
28
+ const head = dotIndex === -1 ? dotPath : dotPath.slice(0, dotIndex);
29
+ if (dotIndex === -1) {
30
+ return Object.fromEntries(Object.entries(value).filter(([key]) => key !== head));
31
+ }
32
+ const child = value[head];
33
+ if (child === undefined) {
34
+ return value;
35
+ }
36
+ return {
37
+ ...value,
38
+ [head]: omitAtPath(child, dotPath.slice(dotIndex + 1)),
39
+ };
40
+ }
41
+ /**
42
+ * Remove only current defaults whose legacy counterpart is present.
43
+ * @param value - Effective entry value used to detect aliases
44
+ * @param defaultValue - Registry default to prune
45
+ * @param aliases - Relative-path alias mappings
46
+ * @returns Default value safe to fill beside the effective aliases
47
+ */
48
+ export function aliasCompatibleDefault(value, defaultValue, aliases) {
49
+ return (aliases?.reduce((fallback, alias) => getAtPath(value, alias.legacyPath) === undefined
50
+ ? fallback
51
+ : omitAtPath(fallback, alias.currentPath), defaultValue) ?? defaultValue);
52
+ }
53
+ //# sourceMappingURL=legacy-aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-aliases.js","sourceRoot":"","sources":["../../src/sync/legacy-aliases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAQzE;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA4B,EAC5B,OAAkD;IAElD,OAAO,CACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;QACxE,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAgB,EAAE,OAAe;IACnD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO;QACL,GAAG,KAAK;QACR,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAgB,EAChB,YAAuB,EACvB,OAAkD;IAElD,OAAO,CACL,OAAO,EAAE,MAAM,CACb,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS;QAC9C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,EAC7C,YAAY,CACb,IAAI,YAAY,CAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Compatibility helpers for migrating deprecated monitor threshold keys.
3
+ * @module sync/legacy-monitor-thresholds
4
+ */
5
+ import { type JsonObject } from "./json-path.js";
6
+ /** Result of applying legacy monitor-threshold migration to one config. */
7
+ export interface LegacyMonitorThresholdMigration {
8
+ /** Updated committed config object */
9
+ readonly committed: JsonObject;
10
+ /** Reportable migration actions */
11
+ readonly actions: readonly {
12
+ key: string;
13
+ detail: string;
14
+ }[];
15
+ }
16
+ /** Minimal sync-state shape needed to append migration actions. */
17
+ interface MigrationState {
18
+ /** Updated committed config object */
19
+ readonly committed: JsonObject;
20
+ /** Existing reportable sync actions */
21
+ readonly actions: readonly {
22
+ readonly key: string;
23
+ readonly kind: string;
24
+ readonly detail: string;
25
+ }[];
26
+ }
27
+ /**
28
+ * Move legacy monitor thresholds to provider-neutral keys when provenance
29
+ * proves Lisa populated the legacy value.
30
+ * @param committed - Committed config object
31
+ * @returns Updated config and migration actions
32
+ */
33
+ export declare function migrateLegacyMonitorThresholds(committed: JsonObject): LegacyMonitorThresholdMigration;
34
+ /**
35
+ * Append legacy monitor-threshold migration actions to a sync state.
36
+ * @param state - Sync state containing committed config and actions
37
+ * @param entryKey - Registry entry key currently being populated
38
+ * @returns Updated state with migration actions appended
39
+ */
40
+ export declare function applyLegacyMonitorThresholdMigration<T extends MigrationState>(state: T, entryKey: string): T;
41
+ export {};
42
+ //# sourceMappingURL=legacy-monitor-thresholds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-monitor-thresholds.d.ts","sourceRoot":"","sources":["../../src/sync/legacy-monitor-thresholds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAkBxB,2EAA2E;AAC3E,MAAM,WAAW,+BAA+B;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED,mEAAmE;AACnE,UAAU,cAAc;IACtB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL;AAuBD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,UAAU,GACpB,+BAA+B,CAyCjC;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,CAAC,SAAS,cAAc,EAC3E,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,MAAM,GACf,CAAC,CAmBH"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Compatibility helpers for migrating deprecated monitor threshold keys.
3
+ * @module sync/legacy-monitor-thresholds
4
+ */
5
+ import { getAtPath, isJsonObject, jsonEquals, setAtPath, } from "./json-path.js";
6
+ import { recordedPopulation, recordPopulation, removePopulation, } from "./sync-population.js";
7
+ const LEGACY_MONITOR_THRESHOLD_MIGRATIONS = [
8
+ {
9
+ legacyKey: "monitor.thresholds.sentryMinEvents24h",
10
+ currentKey: "monitor.thresholds.minEvents24h",
11
+ },
12
+ {
13
+ legacyKey: "monitor.thresholds.xrayFaultRatePct",
14
+ currentKey: "monitor.thresholds.faultRatePct",
15
+ },
16
+ ];
17
+ /**
18
+ * Return a copy of an object with one dot-path property removed.
19
+ * @param root - Object to copy
20
+ * @param dotPath - Dot-separated key path to remove
21
+ * @returns Updated object without the path
22
+ */
23
+ function removeAtPath(root, dotPath) {
24
+ const dotIndex = dotPath.indexOf(".");
25
+ const head = dotIndex === -1 ? dotPath : dotPath.slice(0, dotIndex);
26
+ const rest = dotIndex === -1 ? "" : dotPath.slice(dotIndex + 1);
27
+ if (rest === "") {
28
+ const { [head]: _removed, ...remaining } = root;
29
+ return remaining;
30
+ }
31
+ const child = root[head];
32
+ if (!isJsonObject(child)) {
33
+ return root;
34
+ }
35
+ return { ...root, [head]: removeAtPath(child, rest) };
36
+ }
37
+ /**
38
+ * Move legacy monitor thresholds to provider-neutral keys when provenance
39
+ * proves Lisa populated the legacy value.
40
+ * @param committed - Committed config object
41
+ * @returns Updated config and migration actions
42
+ */
43
+ export function migrateLegacyMonitorThresholds(committed) {
44
+ return LEGACY_MONITOR_THRESHOLD_MIGRATIONS.reduce((current, migration) => {
45
+ const legacyValue = getAtPath(current.committed, migration.legacyKey);
46
+ const currentValue = getAtPath(current.committed, migration.currentKey);
47
+ const recorded = recordedPopulation(current.committed, migration.legacyKey);
48
+ if (legacyValue === undefined ||
49
+ currentValue !== undefined ||
50
+ recorded === undefined ||
51
+ !jsonEquals(legacyValue, recorded)) {
52
+ return current;
53
+ }
54
+ const committed = recordPopulation(removePopulation(removeAtPath(setAtPath(current.committed, migration.currentKey, legacyValue), migration.legacyKey), migration.legacyKey), migration.currentKey, legacyValue);
55
+ return {
56
+ committed,
57
+ actions: [
58
+ ...current.actions,
59
+ {
60
+ key: migration.currentKey,
61
+ detail: `auto-populated legacy ${migration.legacyKey} migrated to provider-neutral key`,
62
+ },
63
+ ],
64
+ };
65
+ }, { committed, actions: [] });
66
+ }
67
+ /**
68
+ * Append legacy monitor-threshold migration actions to a sync state.
69
+ * @param state - Sync state containing committed config and actions
70
+ * @param entryKey - Registry entry key currently being populated
71
+ * @returns Updated state with migration actions appended
72
+ */
73
+ export function applyLegacyMonitorThresholdMigration(state, entryKey) {
74
+ if (entryKey !== "monitor") {
75
+ return state;
76
+ }
77
+ const migration = migrateLegacyMonitorThresholds(state.committed);
78
+ if (migration.actions.length === 0) {
79
+ return state;
80
+ }
81
+ return {
82
+ ...state,
83
+ committed: migration.committed,
84
+ actions: [
85
+ ...state.actions,
86
+ ...migration.actions.map(action => ({
87
+ ...action,
88
+ kind: "default-evolved",
89
+ })),
90
+ ],
91
+ };
92
+ }
93
+ //# sourceMappingURL=legacy-monitor-thresholds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-monitor-thresholds.js","sourceRoot":"","sources":["../../src/sync/legacy-monitor-thresholds.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  * @module sync/registry
12
12
  */
13
13
  import type { JsonValue } from "./json-path.js";
14
+ import type { LegacyAliasMapping } from "./legacy-aliases.js";
14
15
  /**
15
16
  * A project file that mirrors a synced setting. Artifact files are only ever
16
17
  * written when they already exist on disk — sync never scaffolds an artifact
@@ -28,6 +29,11 @@ export interface SyncedSetting {
28
29
  readonly key: string;
29
30
  /** Built-in default used when neither config nor artifact has a value */
30
31
  readonly defaultValue: JsonValue;
32
+ /**
33
+ * Internal relative-path mappings for deprecated keys that remain readable.
34
+ * Sync uses these to avoid filling a new default beside a human-owned alias.
35
+ */
36
+ readonly legacyAliases?: readonly LegacyAliasMapping[];
31
37
  /** Files that mirror this value (written from config on every sync) */
32
38
  readonly artifacts?: readonly ArtifactBinding[];
33
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/sync/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAoCD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,aAAa,EAgIjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA0C/C,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/sync/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvD,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAoCD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,aAAa,EAuIjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA0C/C,CAAC"}
@@ -89,10 +89,7 @@ export const SYNC_REGISTRY = [
89
89
  gapTiers: "core",
90
90
  backoffHours: 24,
91
91
  // Provider-neutral threshold names: the audit spans Sentry, CloudWatch,
92
- // X-Ray, and future providers, so no key is prefixed with a vendor. The
93
- // lisa-monitor skill still reads the legacy sentryMinEvents24h /
94
- // xrayFaultRatePct keys — renaming those (config-resolution.md + skill)
95
- // is a tracked follow-up; see ui/README.md.
92
+ // X-Ray, and future providers, so no key is prefixed with a vendor.
96
93
  thresholds: {
97
94
  minEvents24h: 1,
98
95
  errorRateSpikeMultiplier: 2,
@@ -100,6 +97,16 @@ export const SYNC_REGISTRY = [
100
97
  faultRatePct: 5,
101
98
  },
102
99
  },
100
+ legacyAliases: [
101
+ {
102
+ currentPath: "thresholds.minEvents24h",
103
+ legacyPath: "thresholds.sentryMinEvents24h",
104
+ },
105
+ {
106
+ currentPath: "thresholds.faultRatePct",
107
+ legacyPath: "thresholds.xrayFaultRatePct",
108
+ },
109
+ ],
103
110
  description: "Observability audit caps and alert thresholds",
104
111
  },
105
112
  {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/sync/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/sync/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Helpers for `_lisaSync.populated` provenance metadata.
3
+ * @module sync/sync-population
4
+ */
5
+ import { type JsonObject, type JsonValue } from "./json-path.js";
6
+ /**
7
+ * Read recorded sync provenance for one literal config key.
8
+ * @param committed - Committed config object
9
+ * @param key - Literal provenance key
10
+ * @returns Recorded value, when present
11
+ */
12
+ export declare function recordedPopulation(committed: JsonObject, key: string): JsonValue | undefined;
13
+ /**
14
+ * Record sync provenance for one literal config key.
15
+ * @param committed - Committed config object
16
+ * @param key - Literal provenance key
17
+ * @param value - Value to record
18
+ * @returns Updated committed config
19
+ */
20
+ export declare function recordPopulation(committed: JsonObject, key: string, value: JsonValue): JsonObject;
21
+ /**
22
+ * Remove one literal provenance key from `_lisaSync.populated`.
23
+ * @param committed - Committed config object
24
+ * @param key - Literal provenance key to remove
25
+ * @returns Updated committed config
26
+ */
27
+ export declare function removePopulation(committed: JsonObject, key: string): JsonObject;
28
+ //# sourceMappingURL=sync-population.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-population.d.ts","sourceRoot":"","sources":["../../src/sync/sync-population.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAIxB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,MAAM,GACV,SAAS,GAAG,SAAS,CAGvB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,GACf,UAAU,CAOZ;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,MAAM,GACV,UAAU,CAOZ"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Helpers for `_lisaSync.populated` provenance metadata.
3
+ * @module sync/sync-population
4
+ */
5
+ import { getAtPath, isJsonObject, setAtPath, } from "./json-path.js";
6
+ const SYNC_METADATA_KEY = "_lisaSync";
7
+ /**
8
+ * Read recorded sync provenance for one literal config key.
9
+ * @param committed - Committed config object
10
+ * @param key - Literal provenance key
11
+ * @returns Recorded value, when present
12
+ */
13
+ export function recordedPopulation(committed, key) {
14
+ const populated = getAtPath(committed, `${SYNC_METADATA_KEY}.populated`);
15
+ return isJsonObject(populated) ? populated[key] : undefined;
16
+ }
17
+ /**
18
+ * Record sync provenance for one literal config key.
19
+ * @param committed - Committed config object
20
+ * @param key - Literal provenance key
21
+ * @param value - Value to record
22
+ * @returns Updated committed config
23
+ */
24
+ export function recordPopulation(committed, key, value) {
25
+ const populated = getAtPath(committed, `${SYNC_METADATA_KEY}.populated`);
26
+ const populatedObject = isJsonObject(populated) ? populated : {};
27
+ return setAtPath(committed, `${SYNC_METADATA_KEY}.populated`, {
28
+ ...populatedObject,
29
+ [key]: value,
30
+ });
31
+ }
32
+ /**
33
+ * Remove one literal provenance key from `_lisaSync.populated`.
34
+ * @param committed - Committed config object
35
+ * @param key - Literal provenance key to remove
36
+ * @returns Updated committed config
37
+ */
38
+ export function removePopulation(committed, key) {
39
+ const populated = getAtPath(committed, `${SYNC_METADATA_KEY}.populated`);
40
+ if (!isJsonObject(populated) || !Object.hasOwn(populated, key)) {
41
+ return committed;
42
+ }
43
+ const { [key]: _removed, ...remaining } = populated;
44
+ return setAtPath(committed, `${SYNC_METADATA_KEY}.populated`, remaining);
45
+ }
46
+ //# sourceMappingURL=sync-population.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-population.js","sourceRoot":"","sources":["../../src/sync/sync-population.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAqB,EACrB,GAAW;IAEX,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAqB,EACrB,GAAW,EACX,KAAgB;IAEhB,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,EAAE;QAC5D,GAAG,eAAe;QAClB,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAqB,EACrB,GAAW;IAEX,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC;IACpD,OAAO,SAAS,CAAC,SAAS,EAAE,GAAG,iBAAiB,YAAY,EAAE,SAAS,CAAC,CAAC;AAC3E,CAAC"}
package/package.json CHANGED
@@ -95,7 +95,7 @@
95
95
  "ws": ">=8.20.1"
96
96
  },
97
97
  "name": "@codyswann/lisa",
98
- "version": "2.217.4",
98
+ "version": "2.217.6",
99
99
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
100
100
  "main": "dist/index.js",
101
101
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.217.4",
3
+ "version": "2.217.6",
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": "2.217.4",
3
+ "version": "2.217.6",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"