agents-pkg 0.6.1 → 0.8.0
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/README.md +16 -20
- package/dist/add-plugin.d.ts +2 -2
- package/dist/add-plugin.d.ts.map +1 -1
- package/dist/add-plugin.js +36 -11
- package/dist/add-plugin.js.map +1 -1
- package/dist/del-marketplace.d.ts +1 -1
- package/dist/del-marketplace.d.ts.map +1 -1
- package/dist/del-marketplace.js +15 -27
- package/dist/del-marketplace.js.map +1 -1
- package/dist/del-plugin.d.ts +0 -1
- package/dist/del-plugin.d.ts.map +1 -1
- package/dist/del-plugin.js +8 -26
- package/dist/del-plugin.js.map +1 -1
- package/dist/lib/plugin-local.d.ts +10 -0
- package/dist/lib/plugin-local.d.ts.map +1 -0
- package/dist/lib/plugin-local.js +27 -0
- package/dist/lib/plugin-local.js.map +1 -0
- package/dist/lib/source-dir.d.ts +8 -0
- package/dist/lib/source-dir.d.ts.map +1 -1
- package/dist/lib/source-dir.js +58 -74
- package/dist/lib/source-dir.js.map +1 -1
- package/dist/lib/source-parser.d.ts +37 -0
- package/dist/lib/source-parser.d.ts.map +1 -0
- package/dist/lib/source-parser.js +214 -0
- package/dist/lib/source-parser.js.map +1 -0
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/uninstall-plugin.d.ts +14 -0
- package/dist/lib/uninstall-plugin.d.ts.map +1 -0
- package/dist/lib/uninstall-plugin.js +33 -0
- package/dist/lib/uninstall-plugin.js.map +1 -0
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +31 -44
- package/dist/update.js.map +1 -1
- package/package.json +1 -1
package/dist/update.js
CHANGED
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { rm } from 'fs/promises';
|
|
5
5
|
import { resolveSourceToDir } from './lib/source-dir.js';
|
|
6
|
-
import { readMarketplaceManifest, getMarketplaceStorePath,
|
|
7
|
-
import {
|
|
8
|
-
import { removeCopiedAgentsForPlugin } from './lib/agents-copy.js';
|
|
9
|
-
import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir, getCursorRulesDir, getCursorMcpPath } from './lib/paths.js';
|
|
10
|
-
import { removeHookEntries } from './lib/hooks.js';
|
|
6
|
+
import { readMarketplaceManifest, getMarketplaceStorePath, getPluginVersionFromSource, } from './lib/marketplace.js';
|
|
7
|
+
import { getCursorMcpPath } from './lib/paths.js';
|
|
11
8
|
import { renameMcpKeys } from './lib/mcp.js';
|
|
12
9
|
import { installMarketplaceFromDir } from './add-plugin.js';
|
|
10
|
+
import { uninstallPluginFromCursor } from './lib/uninstall-plugin.js';
|
|
13
11
|
import { readLock, writeLock } from './lib/lock.js';
|
|
14
12
|
async function applyMcpKeyRenamesForMarketplace(marketplaceName, entry, cursorMcpPath) {
|
|
15
13
|
if (!entry.pluginMcpKeys)
|
|
@@ -37,10 +35,6 @@ export async function runUpdate() {
|
|
|
37
35
|
if (!entry || typeof entry.source !== 'string')
|
|
38
36
|
continue;
|
|
39
37
|
const global = entry.global !== false;
|
|
40
|
-
const cursorAgentsDir = getCursorAgentsDir(global, cwd);
|
|
41
|
-
const cursorCommandsDir = getCursorCommandsDir(global, cwd);
|
|
42
|
-
const cursorSkillsDir = getCursorSkillsDir(global, cwd);
|
|
43
|
-
const cursorRulesDir = getCursorRulesDir(global, cwd);
|
|
44
38
|
const { path: sourceDir, cleanup } = await resolveSourceToDir(entry.source).catch(() => ({
|
|
45
39
|
path: '',
|
|
46
40
|
cleanup: undefined,
|
|
@@ -50,25 +44,25 @@ export async function runUpdate() {
|
|
|
50
44
|
try {
|
|
51
45
|
const manifest = await readMarketplaceManifest(sourceDir);
|
|
52
46
|
const newVersion = manifest.metadata?.version ?? '0.0.0';
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
if (!global) {
|
|
48
|
+
const cursorMcpPath = getCursorMcpPath(global, cwd);
|
|
49
|
+
await applyMcpKeyRenamesForMarketplace(name, entry, cursorMcpPath);
|
|
50
|
+
}
|
|
55
51
|
if (newVersion !== entry.version) {
|
|
56
52
|
console.log(`Updating marketplace ${name} (${entry.version} -> ${newVersion})...`);
|
|
57
|
-
const storeRoot = getMarketplaceStorePath(name);
|
|
58
53
|
for (const pluginName of entry.pluginNames ?? []) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
await uninstallPluginFromCursor({
|
|
55
|
+
marketplaceName: name,
|
|
56
|
+
pluginName,
|
|
57
|
+
global,
|
|
58
|
+
cwd,
|
|
59
|
+
pluginHooks: entry.pluginHooks?.[pluginName],
|
|
60
|
+
});
|
|
62
61
|
}
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
await
|
|
62
|
+
if (!global) {
|
|
63
|
+
const storeRoot = getMarketplaceStorePath(name);
|
|
64
|
+
await rm(storeRoot, { recursive: true, force: true }).catch(() => { });
|
|
66
65
|
}
|
|
67
|
-
await removeSymlinksInDirPointingUnder(cursorAgentsDir, storeRoot);
|
|
68
|
-
await removeSymlinksInDirPointingUnder(cursorCommandsDir, storeRoot);
|
|
69
|
-
await removeSymlinksInDirPointingUnder(cursorSkillsDir, storeRoot);
|
|
70
|
-
await removeSymlinksInDirPointingUnder(cursorRulesDir, storeRoot);
|
|
71
|
-
await rm(storeRoot, { recursive: true, force: true }).catch(() => { });
|
|
72
66
|
const manifestPluginNames = new Set(manifest.plugins.map((p) => p.name));
|
|
73
67
|
const previousPlugins = (entry.pluginNames ?? []).filter((n) => manifestPluginNames.has(n));
|
|
74
68
|
const { installed, pluginHooks, pluginMcpKeys } = await installMarketplaceFromDir(manifest, sourceDir, {
|
|
@@ -93,7 +87,6 @@ export async function runUpdate() {
|
|
|
93
87
|
}
|
|
94
88
|
else {
|
|
95
89
|
if (!entry.pluginVersions) {
|
|
96
|
-
// Backfill from source so future updates can do per-plugin version diff
|
|
97
90
|
entry.pluginVersions = {};
|
|
98
91
|
for (const pluginName of entry.pluginNames ?? []) {
|
|
99
92
|
const plugin = manifest.plugins.find((p) => p.name === pluginName);
|
|
@@ -107,16 +100,13 @@ export async function runUpdate() {
|
|
|
107
100
|
for (const pluginName of [...(entry.pluginNames ?? [])]) {
|
|
108
101
|
if (manifestPluginNames.has(pluginName))
|
|
109
102
|
continue;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
await removeSymlinksInDirPointingUnder(cursorSkillsDir, pluginStorePath);
|
|
118
|
-
await removeSymlinksInDirPointingUnder(cursorRulesDir, pluginStorePath);
|
|
119
|
-
await rm(pluginStorePath, { recursive: true, force: true }).catch(() => { });
|
|
103
|
+
await uninstallPluginFromCursor({
|
|
104
|
+
marketplaceName: name,
|
|
105
|
+
pluginName,
|
|
106
|
+
global,
|
|
107
|
+
cwd,
|
|
108
|
+
pluginHooks: entry.pluginHooks?.[pluginName],
|
|
109
|
+
});
|
|
120
110
|
entry.pluginNames = entry.pluginNames.filter((n) => n !== pluginName);
|
|
121
111
|
if (entry.pluginHooks)
|
|
122
112
|
delete entry.pluginHooks[pluginName];
|
|
@@ -142,16 +132,13 @@ export async function runUpdate() {
|
|
|
142
132
|
const curVer = entry.pluginVersions?.[pluginName];
|
|
143
133
|
if (newVer === curVer)
|
|
144
134
|
continue;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
await removeSymlinksInDirPointingUnder(cursorSkillsDir, pluginStorePath);
|
|
153
|
-
await removeSymlinksInDirPointingUnder(cursorRulesDir, pluginStorePath);
|
|
154
|
-
await rm(pluginStorePath, { recursive: true, force: true }).catch(() => { });
|
|
135
|
+
await uninstallPluginFromCursor({
|
|
136
|
+
marketplaceName: name,
|
|
137
|
+
pluginName,
|
|
138
|
+
global,
|
|
139
|
+
cwd,
|
|
140
|
+
pluginHooks: entry.pluginHooks?.[pluginName],
|
|
141
|
+
});
|
|
155
142
|
const { installed, pluginHooks, pluginMcpKeys: pluginMcpKeysReturned } = await installMarketplaceFromDir(manifest, sourceDir, {
|
|
156
143
|
pluginNames: [pluginName],
|
|
157
144
|
global,
|
package/dist/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
|