@codyswann/lisa 4.3.3 → 4.3.4
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.
- package/dist/core/lisa-owned-templates.d.ts +25 -0
- package/dist/core/lisa-owned-templates.d.ts.map +1 -1
- package/dist/core/lisa-owned-templates.js +39 -0
- package/dist/core/lisa-owned-templates.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +3 -0
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/strategies/copy-overwrite.d.ts.map +1 -1
- package/dist/strategies/copy-overwrite.js +29 -1
- package/dist/strategies/copy-overwrite.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
|
@@ -65,4 +65,29 @@
|
|
|
65
65
|
* @returns True when Lisa owns the file outright and may refresh it unprompted
|
|
66
66
|
*/
|
|
67
67
|
export declare function isLisaOwnedTemplate(relativePath: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Whether a template declares, in its own text, that Lisa replaces it wholesale
|
|
70
|
+
* on every run.
|
|
71
|
+
*
|
|
72
|
+
* This is the third population, and it exists because owned/not-owned is not a
|
|
73
|
+
* fine enough cut. `eslint.config.ts` is not Lisa-owned by
|
|
74
|
+
* {@link isLisaOwnedTemplate} — no `lisa-` segment, not under `scripts/` — and
|
|
75
|
+
* it is nonetheless replaced every run by design, with its header saying so and
|
|
76
|
+
* pointing at `eslint.config.local.ts` for customisation.
|
|
77
|
+
*
|
|
78
|
+
* Before this predicate existed that contract was honoured only by accident: a
|
|
79
|
+
* non-owned file fell through to the prompt branch, and under `--yes` the
|
|
80
|
+
* prompter said yes. The same fall-through discarded curated `knip.json` and
|
|
81
|
+
* `tsconfig.json` content, which is the defect. Separating the two populations
|
|
82
|
+
* by the declaration the template already carries fixes the second without
|
|
83
|
+
* freezing the first — freezing it would be #2374's undeliverable-fix incident
|
|
84
|
+
* returning through the door opened to fix this.
|
|
85
|
+
*
|
|
86
|
+
* Read from the PACKAGED source rather than the installed copy. The declaration
|
|
87
|
+
* is Lisa's statement about its own file, so a host cannot opt out by deleting
|
|
88
|
+
* the sentence; `.lisaignore` is the sanctioned way to hold your own version.
|
|
89
|
+
* @param templateContents - Contents of the packaged template file
|
|
90
|
+
* @returns True when the template declares it is replaced on every run
|
|
91
|
+
*/
|
|
92
|
+
export declare function declaresReplacedEveryRun(templateContents: string): boolean;
|
|
68
93
|
//# sourceMappingURL=lisa-owned-templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-templates.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAQH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAQjE"}
|
|
1
|
+
{"version":3,"file":"lisa-owned-templates.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAQH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAQjE;AAeD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAE1E"}
|
|
@@ -75,4 +75,43 @@ export function isLisaOwnedTemplate(relativePath) {
|
|
|
75
75
|
.split("/")
|
|
76
76
|
.some(segment => segment.startsWith(LISA_NAMESPACE_PREFIX)));
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* The sentence a template uses to declare that Lisa replaces it on every run.
|
|
80
|
+
*
|
|
81
|
+
* Authored in the template itself, which is what makes it trustworthy: the file
|
|
82
|
+
* that says it is replaced is the file being replaced, so the declaration
|
|
83
|
+
* cannot drift away from the thing it describes the way an external roster can.
|
|
84
|
+
* 42 shipped templates carry it — `eslint.config.ts`, `vitest.config.ts`,
|
|
85
|
+
* `jest.config.ts`, `sgconfig.yml`, `lefthook.yml`, the ast-grep rule files —
|
|
86
|
+
* and each pairs it with the customisation surface a host is meant to use
|
|
87
|
+
* instead (`eslint.config.local.ts`, `*.thresholds.json`).
|
|
88
|
+
*/
|
|
89
|
+
const REPLACED_EVERY_RUN_MARKER = "IS replaced on each";
|
|
90
|
+
/**
|
|
91
|
+
* Whether a template declares, in its own text, that Lisa replaces it wholesale
|
|
92
|
+
* on every run.
|
|
93
|
+
*
|
|
94
|
+
* This is the third population, and it exists because owned/not-owned is not a
|
|
95
|
+
* fine enough cut. `eslint.config.ts` is not Lisa-owned by
|
|
96
|
+
* {@link isLisaOwnedTemplate} — no `lisa-` segment, not under `scripts/` — and
|
|
97
|
+
* it is nonetheless replaced every run by design, with its header saying so and
|
|
98
|
+
* pointing at `eslint.config.local.ts` for customisation.
|
|
99
|
+
*
|
|
100
|
+
* Before this predicate existed that contract was honoured only by accident: a
|
|
101
|
+
* non-owned file fell through to the prompt branch, and under `--yes` the
|
|
102
|
+
* prompter said yes. The same fall-through discarded curated `knip.json` and
|
|
103
|
+
* `tsconfig.json` content, which is the defect. Separating the two populations
|
|
104
|
+
* by the declaration the template already carries fixes the second without
|
|
105
|
+
* freezing the first — freezing it would be #2374's undeliverable-fix incident
|
|
106
|
+
* returning through the door opened to fix this.
|
|
107
|
+
*
|
|
108
|
+
* Read from the PACKAGED source rather than the installed copy. The declaration
|
|
109
|
+
* is Lisa's statement about its own file, so a host cannot opt out by deleting
|
|
110
|
+
* the sentence; `.lisaignore` is the sanctioned way to hold your own version.
|
|
111
|
+
* @param templateContents - Contents of the packaged template file
|
|
112
|
+
* @returns True when the template declares it is replaced on every run
|
|
113
|
+
*/
|
|
114
|
+
export function declaresReplacedEveryRun(templateContents) {
|
|
115
|
+
return templateContents.includes(REPLACED_EVERY_RUN_MARKER);
|
|
116
|
+
}
|
|
78
117
|
//# sourceMappingURL=lisa-owned-templates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-templates.js","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACvC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"lisa-owned-templates.js","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACvC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAC/D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAs4EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAs4EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAgjPjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -8010,6 +8010,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8010
8010
|
"tests/unit/core/learnings-writer.test.ts": true,
|
|
8011
8011
|
"tests/unit/core/lisa-owned-enforcement-scripts.test.ts": true,
|
|
8012
8012
|
"tests/unit/core/lisa-owned-provenance.test.ts": true,
|
|
8013
|
+
"tests/unit/core/lisa-owned-templates-classification.test.ts": true,
|
|
8013
8014
|
"tests/unit/core/lisa-owned-templates.test.ts": true,
|
|
8014
8015
|
"tests/unit/core/lisa-plugin-selection.test.ts": true,
|
|
8015
8016
|
"tests/unit/core/lisa-skill-sources.test.ts": true,
|
|
@@ -8022,6 +8023,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8022
8023
|
"tests/unit/core/self-apply.test.ts": true,
|
|
8023
8024
|
"tests/unit/core/skill-frontmatter-contract.test.ts": true,
|
|
8024
8025
|
"tests/unit/core/sonar-integration.test.ts": true,
|
|
8026
|
+
"tests/unit/core/update-skill-apply-mode.test.ts": true,
|
|
8025
8027
|
"tests/unit/core/upstream-attribution-body-hardening.test.ts": true,
|
|
8026
8028
|
"tests/unit/core/upstream-attribution-body.test.ts": true,
|
|
8027
8029
|
"tests/unit/core/upstream-attribution-file-safety.test.ts": true,
|
|
@@ -8411,6 +8413,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8411
8413
|
"tests/unit/strategies/copy-overwrite-prompted-downgrade.test.ts": true,
|
|
8412
8414
|
"tests/unit/strategies/copy-overwrite-refresh-templates.test.ts": true,
|
|
8413
8415
|
"tests/unit/strategies/copy-overwrite-unattended-consent.test.ts": true,
|
|
8416
|
+
"tests/unit/strategies/copy-overwrite-yes-preserves-curated.test.ts": true,
|
|
8414
8417
|
"tests/unit/strategies/copy-overwrite.test.ts": true,
|
|
8415
8418
|
"tests/unit/strategies/create-only.test.ts": true,
|
|
8416
8419
|
"tests/unit/strategies/credential-substrate-precedence.test.ts": true,
|