agents-pkg 0.2.1
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 +178 -0
- package/bin/agents-pkg.mjs +3 -0
- package/dist/add-plugin.d.ts +14 -0
- package/dist/add-plugin.d.ts.map +1 -0
- package/dist/add-plugin.js +171 -0
- package/dist/add-plugin.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +74 -0
- package/dist/cli.js.map +1 -0
- package/dist/del-plugin.d.ts +5 -0
- package/dist/del-plugin.d.ts.map +1 -0
- package/dist/del-plugin.js +38 -0
- package/dist/del-plugin.js.map +1 -0
- package/dist/lib/constants.d.ts +17 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +17 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/errors.d.ts +5 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +8 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/hooks.d.ts +28 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +85 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/lock.d.ts +19 -0
- package/dist/lib/lock.d.ts.map +1 -0
- package/dist/lib/lock.js +59 -0
- package/dist/lib/lock.js.map +1 -0
- package/dist/lib/marketplace.d.ts +33 -0
- package/dist/lib/marketplace.d.ts.map +1 -0
- package/dist/lib/marketplace.js +60 -0
- package/dist/lib/marketplace.js.map +1 -0
- package/dist/lib/paths.d.ts +14 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +38 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/source-dir.d.ts +15 -0
- package/dist/lib/source-dir.d.ts.map +1 -0
- package/dist/lib/source-dir.js +99 -0
- package/dist/lib/source-dir.js.map +1 -0
- package/dist/lib/symlink.d.ts +16 -0
- package/dist/lib/symlink.d.ts.map +1 -0
- package/dist/lib/symlink.js +68 -0
- package/dist/lib/symlink.js.map +1 -0
- package/dist/lib/types.d.ts +17 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +5 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/update.d.ts +5 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +60 -0
- package/dist/update.js.map +1 -0
- package/package.json +44 -0
package/dist/update.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agents-pkg update: for each installed marketplace, re-fetch source, read .cursor-plugin/marketplace.json, reinstall if version changed.
|
|
3
|
+
*/
|
|
4
|
+
import { rm } from 'fs/promises';
|
|
5
|
+
import { resolveSourceToDir } from './lib/source-dir.js';
|
|
6
|
+
import { readMarketplaceManifest, getMarketplaceStorePath } from './lib/marketplace.js';
|
|
7
|
+
import { removeSymlinksInDirPointingUnder } from './lib/symlink.js';
|
|
8
|
+
import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir } from './lib/paths.js';
|
|
9
|
+
import { installMarketplaceFromDir } from './add-plugin.js';
|
|
10
|
+
import { readLock, writeLock } from './lib/lock.js';
|
|
11
|
+
export async function runUpdate() {
|
|
12
|
+
const lock = await readLock();
|
|
13
|
+
const entries = Object.entries(lock.marketplaces ?? {});
|
|
14
|
+
if (entries.length === 0)
|
|
15
|
+
return;
|
|
16
|
+
const cwd = process.cwd();
|
|
17
|
+
const cursorAgentsDir = getCursorAgentsDir(false, cwd);
|
|
18
|
+
const cursorCommandsDir = getCursorCommandsDir(false, cwd);
|
|
19
|
+
const cursorSkillsDir = getCursorSkillsDir(true, cwd);
|
|
20
|
+
let updated = 0;
|
|
21
|
+
for (const [name, entry] of entries) {
|
|
22
|
+
if (!entry || typeof entry.source !== 'string')
|
|
23
|
+
continue;
|
|
24
|
+
const { path: sourceDir, cleanup } = await resolveSourceToDir(entry.source).catch(() => ({
|
|
25
|
+
path: '',
|
|
26
|
+
cleanup: undefined,
|
|
27
|
+
}));
|
|
28
|
+
if (!sourceDir)
|
|
29
|
+
continue;
|
|
30
|
+
try {
|
|
31
|
+
const manifest = await readMarketplaceManifest(sourceDir);
|
|
32
|
+
const newVersion = manifest.metadata?.version ?? '0.0.0';
|
|
33
|
+
if (newVersion === entry.version)
|
|
34
|
+
continue;
|
|
35
|
+
console.log(`Updating marketplace ${name} (${entry.version} -> ${newVersion})...`);
|
|
36
|
+
const storeRoot = getMarketplaceStorePath(name);
|
|
37
|
+
await removeSymlinksInDirPointingUnder(cursorAgentsDir, storeRoot);
|
|
38
|
+
await removeSymlinksInDirPointingUnder(cursorCommandsDir, storeRoot);
|
|
39
|
+
await removeSymlinksInDirPointingUnder(cursorSkillsDir, storeRoot);
|
|
40
|
+
await rm(storeRoot, { recursive: true, force: true }).catch(() => { });
|
|
41
|
+
const installed = await installMarketplaceFromDir(manifest, sourceDir);
|
|
42
|
+
entry.version = newVersion;
|
|
43
|
+
entry.pluginNames = installed;
|
|
44
|
+
entry.updatedAt = new Date().toISOString();
|
|
45
|
+
updated++;
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
console.error(`Failed to update ${name}:`, err instanceof Error ? err.message : String(err));
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
if (cleanup)
|
|
52
|
+
await cleanup();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (updated > 0) {
|
|
56
|
+
await writeLock(lock);
|
|
57
|
+
console.log(`Updated ${updated} marketplace(s).`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agents-pkg",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Wrapper around skills CLI for Cursor and Claude with agents and commands config",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/cli.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"agents-pkg": "./bin/agents-pkg.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"bin"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"dev": "node --import tsx src/cli.ts",
|
|
17
|
+
"start": "node bin/agents-pkg.mjs",
|
|
18
|
+
"pretest": "pnpm run build",
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"type-check": "tsc --noEmit"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"cursor",
|
|
24
|
+
"claude",
|
|
25
|
+
"skills",
|
|
26
|
+
"ai",
|
|
27
|
+
"agents"
|
|
28
|
+
],
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/tcarcao/agents-pkg"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/node": "^22.19.11",
|
|
40
|
+
"tsx": "^4.21.0",
|
|
41
|
+
"typescript": "^5.9.3",
|
|
42
|
+
"vitest": "^2.1.9"
|
|
43
|
+
}
|
|
44
|
+
}
|