@alfe.ai/integrations 0.0.21 → 0.0.22
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/index.d.ts +3 -0
- package/dist/index.js +20 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -380,6 +380,8 @@ interface RuntimeApplier {
|
|
|
380
380
|
applySkill(name: string, srcPath: string): Promise<void>;
|
|
381
381
|
/** Install a skill from ClawHub registry */
|
|
382
382
|
applyClawHubSkill(slug: string): Promise<void>;
|
|
383
|
+
/** Remove a ClawHub-installed skill from this runtime */
|
|
384
|
+
removeClawHubSkill(slug: string): Promise<void>;
|
|
383
385
|
/** Remove a skill directory from this runtime */
|
|
384
386
|
removeSkill(name: string): Promise<void>;
|
|
385
387
|
/** Deep-merge config into the runtime's agent configuration */
|
|
@@ -715,6 +717,7 @@ declare class OpenClawApplier implements RuntimeApplier {
|
|
|
715
717
|
removePlugin(pkg: string): Promise<void>;
|
|
716
718
|
applySkill(name: string, srcPath: string): Promise<void>;
|
|
717
719
|
applyClawHubSkill(slug: string): Promise<void>;
|
|
720
|
+
removeClawHubSkill(slug: string): Promise<void>;
|
|
718
721
|
removeSkill(name: string): Promise<void>;
|
|
719
722
|
/**
|
|
720
723
|
* Apply integration config to the OpenClaw runtime via `openclaw config set`.
|
package/dist/index.js
CHANGED
|
@@ -1112,7 +1112,8 @@ var IntegrationManager = class {
|
|
|
1112
1112
|
for (const skill of entries.skills) {
|
|
1113
1113
|
this.log.info(`Removing skill ${skill.name} from ${runtimeName}`);
|
|
1114
1114
|
try {
|
|
1115
|
-
await applier.
|
|
1115
|
+
if (skill.sourcePath.startsWith("clawhub:")) await applier.removeClawHubSkill(skill.name);
|
|
1116
|
+
else await applier.removeSkill(skill.name);
|
|
1116
1117
|
} catch (err) {
|
|
1117
1118
|
this.log.warn(`Failed to remove skill ${skill.name} from ${runtimeName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
1118
1119
|
}
|
|
@@ -1506,15 +1507,30 @@ var OpenClawApplier = class {
|
|
|
1506
1507
|
async applyClawHubSkill(slug) {
|
|
1507
1508
|
log.info({ slug }, "Installing skill from ClawHub");
|
|
1508
1509
|
try {
|
|
1509
|
-
await execFileAsync("
|
|
1510
|
+
await execFileAsync("openclaw", [
|
|
1511
|
+
"skills",
|
|
1512
|
+
"install",
|
|
1513
|
+
slug
|
|
1514
|
+
], { timeout: 6e4 });
|
|
1510
1515
|
log.info({ slug }, "ClawHub skill installed");
|
|
1511
1516
|
} catch (err) {
|
|
1512
1517
|
const msg = err instanceof Error ? err.message : String(err);
|
|
1513
|
-
log.
|
|
1518
|
+
log.error({
|
|
1514
1519
|
slug,
|
|
1515
1520
|
err: msg
|
|
1516
|
-
}, "ClawHub skill install failed
|
|
1521
|
+
}, "ClawHub skill install failed");
|
|
1522
|
+
}
|
|
1523
|
+
}
|
|
1524
|
+
removeClawHubSkill(slug) {
|
|
1525
|
+
const workspaceSkillsDir = join(this.workspace, "skills", slug);
|
|
1526
|
+
if (existsSync(workspaceSkillsDir)) {
|
|
1527
|
+
rmSync(workspaceSkillsDir, {
|
|
1528
|
+
recursive: true,
|
|
1529
|
+
force: true
|
|
1530
|
+
});
|
|
1531
|
+
log.info({ slug }, "ClawHub skill removed");
|
|
1517
1532
|
}
|
|
1533
|
+
return Promise.resolve();
|
|
1518
1534
|
}
|
|
1519
1535
|
removeSkill(name) {
|
|
1520
1536
|
const skillPath = join(this.skillsDir, name);
|
package/package.json
CHANGED