@codyswann/lisa 2.189.2 → 2.189.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-skill-sources.d.ts +14 -0
- package/dist/core/lisa-skill-sources.d.ts.map +1 -1
- package/dist/core/lisa-skill-sources.js +20 -3
- package/dist/core/lisa-skill-sources.js.map +1 -1
- package/dist/opencode/command-installer.d.ts +4 -5
- package/dist/opencode/command-installer.d.ts.map +1 -1
- package/dist/opencode/command-installer.js +26 -19
- package/dist/opencode/command-installer.js.map +1 -1
- package/package.json +2 -2
- 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
- package/typescript/package-lisa/package.lisa.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/** Prefix applied to Lisa command-as-skill names (e.g. `lisa-git-commit`). */
|
|
2
2
|
export declare const LISA_COMMAND_SKILL_PREFIX = "lisa-";
|
|
3
|
+
/** Prefix applied to Lisa command display names (e.g. `lisa:git:commit`). */
|
|
4
|
+
export declare const LISA_COMMAND_DISPLAY_PREFIX = "lisa:";
|
|
3
5
|
/**
|
|
4
6
|
* Suffixes that mark a plugin directory as a per-harness fanout VARIANT rather
|
|
5
7
|
* than a canonical source. Lisa generates `<plugin>-agy`, `<plugin>-copilot`,
|
|
@@ -79,6 +81,18 @@ export declare function discoverBundledSkills(lisaDir: string, denylistedSkills:
|
|
|
79
81
|
* @returns De-duplicated command-derived skill sources, sorted by skill name.
|
|
80
82
|
*/
|
|
81
83
|
export declare function discoverLisaCommands(lisaDir: string, pluginFilter?: PluginFilter): Promise<readonly LisaCommandSource[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Convert command path segments into the cross-runtime skill alias.
|
|
86
|
+
* @param segments - Command path without the `.md` extension.
|
|
87
|
+
* @returns Hyphenated skill name, e.g. `["git", "commit"]` → `lisa-git-commit`.
|
|
88
|
+
*/
|
|
89
|
+
export declare function commandSegmentsToLisaSkillName(segments: readonly string[]): string;
|
|
90
|
+
/**
|
|
91
|
+
* Convert command path segments into the user-facing slash-command name.
|
|
92
|
+
* @param segments - Command path without the `.md` extension.
|
|
93
|
+
* @returns Colon-scoped command name, e.g. `["git", "commit"]` → `lisa:git:commit`.
|
|
94
|
+
*/
|
|
95
|
+
export declare function commandSegmentsToLisaDisplayName(segments: readonly string[]): string;
|
|
82
96
|
/**
|
|
83
97
|
* Recursively list all file paths under `root` as relative paths. Pure
|
|
84
98
|
* recursion (no mutable accumulator) so the result is referentially clean.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-skill-sources.d.ts","sourceRoot":"","sources":["../../src/core/lisa-skill-sources.ts"],"names":[],"mappings":"AAsBA,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,UAAU,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,0CAIlC,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;AAE3D,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAmB9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAoBxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAgBvC;
|
|
1
|
+
{"version":3,"file":"lisa-skill-sources.d.ts","sourceRoot":"","sources":["../../src/core/lisa-skill-sources.ts"],"names":[],"mappings":"AAsBA,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,UAAU,CAAC;AAEjD,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,0CAIlC,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;AAE3D,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAmB9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAoBxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAgBvC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,CAER;AAyFD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAE5B"}
|
|
@@ -21,6 +21,8 @@ import { readFile, readdir, stat } from "node:fs/promises";
|
|
|
21
21
|
import * as path from "node:path";
|
|
22
22
|
/** Prefix applied to Lisa command-as-skill names (e.g. `lisa-git-commit`). */
|
|
23
23
|
export const LISA_COMMAND_SKILL_PREFIX = "lisa-";
|
|
24
|
+
/** Prefix applied to Lisa command display names (e.g. `lisa:git:commit`). */
|
|
25
|
+
export const LISA_COMMAND_DISPLAY_PREFIX = "lisa:";
|
|
24
26
|
/**
|
|
25
27
|
* Suffixes that mark a plugin directory as a per-harness fanout VARIANT rather
|
|
26
28
|
* than a canonical source. Lisa generates `<plugin>-agy`, `<plugin>-copilot`,
|
|
@@ -122,6 +124,22 @@ export async function discoverLisaCommands(lisaDir, pluginFilter) {
|
|
|
122
124
|
const deduped = Array.from(new Map(flat.map(source => [source.skillName, source])).values());
|
|
123
125
|
return Object.freeze([...deduped].sort((a, b) => a.skillName.localeCompare(b.skillName)));
|
|
124
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Convert command path segments into the cross-runtime skill alias.
|
|
129
|
+
* @param segments - Command path without the `.md` extension.
|
|
130
|
+
* @returns Hyphenated skill name, e.g. `["git", "commit"]` → `lisa-git-commit`.
|
|
131
|
+
*/
|
|
132
|
+
export function commandSegmentsToLisaSkillName(segments) {
|
|
133
|
+
return `${LISA_COMMAND_SKILL_PREFIX}${segments.join("-")}`;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Convert command path segments into the user-facing slash-command name.
|
|
137
|
+
* @param segments - Command path without the `.md` extension.
|
|
138
|
+
* @returns Colon-scoped command name, e.g. `["git", "commit"]` → `lisa:git:commit`.
|
|
139
|
+
*/
|
|
140
|
+
export function commandSegmentsToLisaDisplayName(segments) {
|
|
141
|
+
return `${LISA_COMMAND_DISPLAY_PREFIX}${segments.join(":")}`;
|
|
142
|
+
}
|
|
125
143
|
/**
|
|
126
144
|
* List the plugin directory names under `plugins/`, base-first then the rest
|
|
127
145
|
* alphabetically, skipping the `src/` build-input tree.
|
|
@@ -184,11 +202,10 @@ async function discoverCommandsInPlugin(pluginsDir, pluginName) {
|
|
|
184
202
|
.map(relFile => {
|
|
185
203
|
// commands/git/commit.md → ["git", "commit"]
|
|
186
204
|
const segments = relFile.replace(/\.md$/, "").split(path.sep);
|
|
187
|
-
const skillName = `${LISA_COMMAND_SKILL_PREFIX}${segments.join("-")}`;
|
|
188
205
|
return {
|
|
189
|
-
skillName,
|
|
206
|
+
skillName: commandSegmentsToLisaSkillName(segments),
|
|
190
207
|
sourcePath: path.join(commandsRoot, relFile),
|
|
191
|
-
displayName:
|
|
208
|
+
displayName: commandSegmentsToLisaDisplayName(segments),
|
|
192
209
|
};
|
|
193
210
|
});
|
|
194
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-skill-sources.js","sourceRoot":"","sources":["../../src/core/lisa-skill-sources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lisa-skill-sources.js","sourceRoot":"","sources":["../../src/core/lisa-skill-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,13 @@ export { type LisaCommandSource, discoverLisaCommands, } from "../core/lisa-skil
|
|
|
3
3
|
/** Subdirectory inside `.opencode/` where Lisa-owned commands live */
|
|
4
4
|
export declare const LISA_COMMANDS_SUBDIR = "commands";
|
|
5
5
|
/**
|
|
6
|
-
* Filename prefix marking a command file as Lisa-owned.
|
|
7
|
-
*
|
|
8
|
-
* basename of every file Lisa writes and scopes stale cleanup safely.
|
|
6
|
+
* Filename prefix marking a command file as Lisa-owned. Native OpenCode command
|
|
7
|
+
* names use Lisa's user-facing slash-command namespace (`/lisa:*`).
|
|
9
8
|
*/
|
|
10
|
-
export declare const LISA_COMMAND_FILE_PREFIX = "lisa
|
|
9
|
+
export declare const LISA_COMMAND_FILE_PREFIX = "lisa:";
|
|
11
10
|
/** Result of installing one command */
|
|
12
11
|
export interface InstalledCommand {
|
|
13
|
-
/** Command name (the `lisa
|
|
12
|
+
/** Command name (the `lisa:` prefixed, colon-scoped display name) */
|
|
14
13
|
readonly name: string;
|
|
15
14
|
/** Path written, relative to the destination project's `.opencode/` directory */
|
|
16
15
|
readonly relativePath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-installer.d.ts","sourceRoot":"","sources":["../../src/opencode/command-installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-installer.d.ts","sourceRoot":"","sources":["../../src/opencode/command-installer.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,KAAK,iBAAiB,EACtB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAA8B,CAAC;AAKpE,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,SAAS,MAAM,EAAE,GACtC,OAAO,CAAC,oBAAoB,CAAC,CA0B/B;AA8DD;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,SAAS,MAAM,EAAE,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
|
|
@@ -7,34 +7,37 @@
|
|
|
7
7
|
* `discoverLisaCommands` walker (identical discovery to the skills path).
|
|
8
8
|
* 2. Transform the command Markdown → OpenCode command Markdown (frontmatter
|
|
9
9
|
* `description`; body preserves `$ARGUMENTS` for native substitution).
|
|
10
|
-
* 3. Write the result to `.opencode/commands/<lisa
|
|
11
|
-
* filename is the shared
|
|
12
|
-
* `lisa
|
|
10
|
+
* 3. Write the result to `.opencode/commands/<lisa:name>.md`, where the
|
|
11
|
+
* filename is the shared colon-scoped display name (e.g.
|
|
12
|
+
* `lisa:git:commit`), so the command surfaces as `/lisa:git:commit`.
|
|
13
13
|
*
|
|
14
14
|
* This is ADDITIVE and native-fidelity: Lisa commands already work on OpenCode
|
|
15
|
-
* as
|
|
16
|
-
* through OpenCode's first-class command surface with native
|
|
15
|
+
* as `$lisa-` prefixed skills, so the lower-priority value here is exposing
|
|
16
|
+
* them through OpenCode's first-class `/lisa:*` command surface with native
|
|
17
|
+
* argument handling.
|
|
17
18
|
*
|
|
18
|
-
* The `lisa
|
|
19
|
-
*
|
|
20
|
-
* `lisa-`
|
|
19
|
+
* The `lisa:` filename prefix is the ownership boundary — host-authored commands
|
|
20
|
+
* (any file NOT starting with `lisa:`) are never touched. Stale cleanup also
|
|
21
|
+
* recognizes legacy `lisa-` files because older Lisa releases wrote those names
|
|
22
|
+
* into persisted manifests.
|
|
21
23
|
* @module opencode/command-installer
|
|
22
24
|
*/
|
|
23
25
|
import * as fse from "fs-extra";
|
|
24
26
|
import { readFile, unlink, writeFile } from "node:fs/promises";
|
|
25
27
|
import * as path from "node:path";
|
|
26
|
-
import { discoverLisaCommands, isHarnessVariantPlugin, } from "../core/lisa-skill-sources.js";
|
|
28
|
+
import { LISA_COMMAND_DISPLAY_PREFIX, discoverLisaCommands, isHarnessVariantPlugin, } from "../core/lisa-skill-sources.js";
|
|
27
29
|
import { transformCommandToOpencode } from "./command-transformer.js";
|
|
28
30
|
import { OPENCODE_CONFIG_DIR } from "./manifest.js";
|
|
29
31
|
export { discoverLisaCommands, } from "../core/lisa-skill-sources.js";
|
|
30
32
|
/** Subdirectory inside `.opencode/` where Lisa-owned commands live */
|
|
31
33
|
export const LISA_COMMANDS_SUBDIR = "commands";
|
|
32
34
|
/**
|
|
33
|
-
* Filename prefix marking a command file as Lisa-owned.
|
|
34
|
-
*
|
|
35
|
-
* basename of every file Lisa writes and scopes stale cleanup safely.
|
|
35
|
+
* Filename prefix marking a command file as Lisa-owned. Native OpenCode command
|
|
36
|
+
* names use Lisa's user-facing slash-command namespace (`/lisa:*`).
|
|
36
37
|
*/
|
|
37
|
-
export const LISA_COMMAND_FILE_PREFIX =
|
|
38
|
+
export const LISA_COMMAND_FILE_PREFIX = LISA_COMMAND_DISPLAY_PREFIX;
|
|
39
|
+
/** Legacy filename prefix used before OpenCode native commands matched `/lisa:*`. */
|
|
40
|
+
const LEGACY_LISA_COMMAND_FILE_PREFIX = "lisa-";
|
|
38
41
|
/**
|
|
39
42
|
* Install all discovered commands into `<destDir>/.opencode/commands/`.
|
|
40
43
|
* @param sources - Command sources from discoverLisaCommands
|
|
@@ -64,17 +67,17 @@ export async function installCommands(sources, destDir, previousManagedFiles) {
|
|
|
64
67
|
async function installSingleCommand(source, commandsDir) {
|
|
65
68
|
const sourceContent = await readFile(source.sourcePath, "utf8");
|
|
66
69
|
const markdown = transformCommandToOpencode(sourceContent, source.displayName);
|
|
67
|
-
const filename = `${source.
|
|
70
|
+
const filename = `${source.displayName}.md`;
|
|
68
71
|
await writeFile(path.join(commandsDir, filename), markdown, "utf8");
|
|
69
72
|
return {
|
|
70
|
-
name: source.
|
|
73
|
+
name: source.displayName,
|
|
71
74
|
relativePath: path.join(LISA_COMMANDS_SUBDIR, filename),
|
|
72
75
|
};
|
|
73
76
|
}
|
|
74
77
|
/**
|
|
75
78
|
* Delete files that were Lisa-managed last run but aren't shipped this run.
|
|
76
|
-
* Only deletes files inside `.opencode/commands/` whose basename carries
|
|
77
|
-
*
|
|
79
|
+
* Only deletes files inside `.opencode/commands/` whose basename carries a Lisa
|
|
80
|
+
* prefix, so host-authored commands are never removed.
|
|
78
81
|
* @param previousManagedFiles - Files Lisa managed on the previous run
|
|
79
82
|
* (relative to `.opencode/`)
|
|
80
83
|
* @param currentManagedFiles - Files Lisa is shipping this run (relative
|
|
@@ -84,8 +87,12 @@ async function installSingleCommand(source, commandsDir) {
|
|
|
84
87
|
*/
|
|
85
88
|
async function deleteStaleCommands(previousManagedFiles, currentManagedFiles, destDir) {
|
|
86
89
|
const currentSet = new Set(currentManagedFiles);
|
|
87
|
-
const
|
|
88
|
-
|
|
90
|
+
const lisaCommandPrefixes = [
|
|
91
|
+
`${LISA_COMMANDS_SUBDIR}${path.sep}${LISA_COMMAND_FILE_PREFIX}`,
|
|
92
|
+
`${LISA_COMMANDS_SUBDIR}${path.sep}${LEGACY_LISA_COMMAND_FILE_PREFIX}`,
|
|
93
|
+
];
|
|
94
|
+
const stale = previousManagedFiles.filter(file => !currentSet.has(file) &&
|
|
95
|
+
lisaCommandPrefixes.some(prefix => file.startsWith(prefix)));
|
|
89
96
|
await Promise.all(stale.map(async (file) => {
|
|
90
97
|
const absPath = path.join(destDir, OPENCODE_CONFIG_DIR, file);
|
|
91
98
|
if (await fse.pathExists(absPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-installer.js","sourceRoot":"","sources":["../../src/opencode/command-installer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command-installer.js","sourceRoot":"","sources":["../../src/opencode/command-installer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"knip:fix": "knip --fix",
|
|
19
19
|
"sg:scan": "ast-grep scan",
|
|
20
20
|
"build:plugins": "bash scripts/build-plugins.sh",
|
|
21
|
-
"prepare": "node -e \"if (process.env.INIT_CWD
|
|
21
|
+
"prepare": "node -e \"if (process.env.INIT_CWD?.includes('.serverless')) process.exit(0); process.exit(1);\" || husky install || true",
|
|
22
22
|
"start": "node dist/index.js",
|
|
23
23
|
"dev": "tsx src/index.ts",
|
|
24
24
|
"test:watch": "vitest",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"ws": ">=8.20.1"
|
|
95
95
|
},
|
|
96
96
|
"name": "@codyswann/lisa",
|
|
97
|
-
"version": "2.189.
|
|
97
|
+
"version": "2.189.4",
|
|
98
98
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
99
99
|
"main": "dist/index.js",
|
|
100
100
|
"exports": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"knip:check": "knip",
|
|
17
17
|
"knip:fix": "knip --fix",
|
|
18
18
|
"sg:scan": "ast-grep scan",
|
|
19
|
-
"prepare": "node -e \"if (process.env.INIT_CWD
|
|
19
|
+
"prepare": "node -e \"if (process.env.INIT_CWD?.includes('.serverless')) process.exit(0); process.exit(1);\" || husky install || true"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"eslint-plugin-oxlint": "^1.62.0",
|