@fentz26/envcp 1.1.0 → 1.2.0-exp.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 +59 -422
- package/VERSION +1 -0
- package/dist/adapters/base.d.ts +13 -0
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js +153 -9
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js +7 -4
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/openai.d.ts.map +1 -1
- package/dist/adapters/openai.js +9 -6
- package/dist/adapters/openai.js.map +1 -1
- package/dist/adapters/rest.d.ts +2 -0
- package/dist/adapters/rest.d.ts.map +1 -1
- package/dist/adapters/rest.js +72 -4
- package/dist/adapters/rest.js.map +1 -1
- package/dist/cli/index.js +519 -103
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config-guard.d.ts.map +1 -1
- package/dist/config/config-guard.js +3 -2
- package/dist/config/config-guard.js.map +1 -1
- package/dist/config/config-hmac.d.ts +5 -0
- package/dist/config/config-hmac.d.ts.map +1 -0
- package/dist/config/config-hmac.js +29 -0
- package/dist/config/config-hmac.js.map +1 -0
- package/dist/config/manager.d.ts +14 -0
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +72 -13
- package/dist/config/manager.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/server/unified.d.ts +4 -1
- package/dist/server/unified.d.ts.map +1 -1
- package/dist/server/unified.js +102 -33
- package/dist/server/unified.js.map +1 -1
- package/dist/service/config.d.ts +21 -0
- package/dist/service/config.d.ts.map +1 -0
- package/dist/service/config.js +94 -0
- package/dist/service/config.js.map +1 -0
- package/dist/service/generators.d.ts +14 -0
- package/dist/service/generators.d.ts.map +1 -0
- package/dist/service/generators.js +92 -0
- package/dist/service/generators.js.map +1 -0
- package/dist/service/index.d.ts +23 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +215 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/platform.d.ts +5 -0
- package/dist/service/platform.d.ts.map +1 -0
- package/dist/service/platform.js +25 -0
- package/dist/service/platform.js.map +1 -0
- package/dist/storage/index.d.ts +39 -10
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +318 -31
- package/dist/storage/index.js.map +1 -1
- package/dist/types.d.ts +545 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +74 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/crypto.d.ts +9 -0
- package/dist/utils/crypto.d.ts.map +1 -1
- package/dist/utils/crypto.js +88 -19
- package/dist/utils/crypto.js.map +1 -1
- package/dist/utils/hsm.d.ts +82 -0
- package/dist/utils/hsm.d.ts.map +1 -0
- package/dist/utils/hsm.js +344 -0
- package/dist/utils/hsm.js.map +1 -0
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +14 -4
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/keychain.d.ts.map +1 -1
- package/dist/utils/keychain.js +0 -8
- package/dist/utils/keychain.js.map +1 -1
- package/dist/utils/lock.d.ts +1 -1
- package/dist/utils/lock.d.ts.map +1 -1
- package/dist/utils/lock.js +4 -2
- package/dist/utils/lock.js.map +1 -1
- package/dist/utils/lockout.d.ts +56 -0
- package/dist/utils/lockout.d.ts.map +1 -0
- package/dist/utils/lockout.js +209 -0
- package/dist/utils/lockout.js.map +1 -0
- package/dist/utils/prompt.d.ts +13 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +124 -0
- package/dist/utils/prompt.js.map +1 -0
- package/dist/utils/secure-memory.d.ts +20 -0
- package/dist/utils/secure-memory.d.ts.map +1 -0
- package/dist/utils/secure-memory.js +122 -0
- package/dist/utils/secure-memory.js.map +1 -0
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +14 -4
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/update-checker.d.ts +1 -1
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/utils/update-checker.js +7 -5
- package/dist/utils/update-checker.js.map +1 -1
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/package.json +18 -9
- package/scripts/sync-version.js +88 -0
- package/scripts/install.sh +0 -54
|
@@ -31,10 +31,12 @@ export function compareVersions(a, b) {
|
|
|
31
31
|
return 0;
|
|
32
32
|
}
|
|
33
33
|
export function parseRelease(data) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
34
|
+
const obj = data;
|
|
35
|
+
const tag = (typeof obj.tag_name === 'string' ? obj.tag_name : '').replace(/^v/, '');
|
|
36
|
+
const body = typeof obj.body === 'string' ? obj.body : '';
|
|
36
37
|
const critical = /\[critical\]|severity:\s*critical|🚨/i.test(body);
|
|
37
|
-
|
|
38
|
+
const url = typeof obj.html_url === 'string' ? obj.html_url : '';
|
|
39
|
+
return { tag, critical, body, url };
|
|
38
40
|
}
|
|
39
41
|
export function extractAdvisory(body, url) {
|
|
40
42
|
const advMatch = body.match(/advisory[_\s-]?id:\s*(\S+)/i) ||
|
|
@@ -72,7 +74,7 @@ export function writeCache(projectPath, data) {
|
|
|
72
74
|
if (!fs.existsSync(cacheDir)) {
|
|
73
75
|
fs.mkdirSync(cacheDir, { recursive: true });
|
|
74
76
|
}
|
|
75
|
-
fs.writeFileSync(cachePath, JSON.stringify(data, null, 2), 'utf8');
|
|
77
|
+
fs.writeFileSync(cachePath, JSON.stringify(data, null, 2), { encoding: 'utf8', mode: 0o600 });
|
|
76
78
|
}
|
|
77
79
|
catch { /* ignore */ }
|
|
78
80
|
}
|
|
@@ -193,7 +195,7 @@ export async function logUpdateCheck(projectPath, info) {
|
|
|
193
195
|
}
|
|
194
196
|
const logPath = path.join(logDir, 'audit.log');
|
|
195
197
|
const line = `${new Date().toISOString()} UPDATE_CHECK current=${info.current} latest=${info.latest} available=${info.updateAvailable}\n`;
|
|
196
|
-
fs.appendFileSync(logPath, line, 'utf8');
|
|
198
|
+
fs.appendFileSync(logPath, line, { encoding: 'utf8', mode: 0o600 });
|
|
197
199
|
}
|
|
198
200
|
catch { /* ignore */ }
|
|
199
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAG9D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAEpF;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBhG;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQhF;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,CAiCrI;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,EAAE,MAAsE,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import { join, dirname } from 'path';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = dirname(__filename);
|
|
6
|
+
// VERSION file lives at the package root (one level up from dist/)
|
|
7
|
+
export const VERSION = readFileSync(join(__dirname, '..', 'VERSION'), 'utf8').trim();
|
|
8
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAW,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fentz26/envcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-exp.1",
|
|
4
4
|
"mcpName": "dev.fentz.envcp/envcp",
|
|
5
5
|
"description": "MCP server for secure environment variable management - Keep your secrets safe from AI agents",
|
|
6
|
-
"homepage": "https://envcp.
|
|
6
|
+
"homepage": "https://envcp.org",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/fentz26/EnvCP.git"
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
"build": "tsc",
|
|
22
22
|
"start": "node dist/index.js",
|
|
23
23
|
"dev": "ts-node src/index.ts",
|
|
24
|
-
"test": "NODE_OPTIONS='--experimental-vm-modules' jest"
|
|
24
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules' jest",
|
|
25
|
+
"sync-version": "node scripts/sync-version.js",
|
|
26
|
+
"lint": "eslint src/"
|
|
25
27
|
},
|
|
26
28
|
"keywords": [
|
|
27
29
|
"mcp",
|
|
@@ -39,25 +41,32 @@
|
|
|
39
41
|
"argon2": "^0.44.0",
|
|
40
42
|
"chalk": "^4.1.2",
|
|
41
43
|
"commander": "^11.1.0",
|
|
42
|
-
"inquirer": "^8.2.6",
|
|
43
44
|
"js-yaml": "^4.1.0",
|
|
45
|
+
"pkcs11js": "^2.1.6",
|
|
46
|
+
"sodium-native": "^5.1.0",
|
|
44
47
|
"zod": "^3.22.4"
|
|
45
48
|
},
|
|
46
49
|
"devDependencies": {
|
|
47
|
-
"@types/argon2": "^0.
|
|
48
|
-
"@types/inquirer": "^9.0.7",
|
|
50
|
+
"@types/argon2": "^0.15.4",
|
|
49
51
|
"@types/jest": "^30.0.0",
|
|
50
52
|
"@types/js-yaml": "^4.0.9",
|
|
51
|
-
"@types/node": "^
|
|
53
|
+
"@types/node": "^25.6.0",
|
|
54
|
+
"@types/sodium-native": "^2.3.9",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^8.58.1",
|
|
56
|
+
"@typescript-eslint/parser": "^8.58.1",
|
|
57
|
+
"eslint": "^10.2.0",
|
|
58
|
+
"eslint-plugin-security": "^4.0.0",
|
|
52
59
|
"jest": "^30.3.0",
|
|
60
|
+
"jest-junit": "^16.0.0",
|
|
53
61
|
"ts-jest": "^29.4.9",
|
|
54
|
-
"typescript": "^
|
|
62
|
+
"typescript": "^6.0.3"
|
|
55
63
|
},
|
|
56
64
|
"files": [
|
|
57
65
|
"dist",
|
|
58
66
|
"scripts",
|
|
59
67
|
"README.md",
|
|
60
|
-
"LICENSE"
|
|
68
|
+
"LICENSE",
|
|
69
|
+
"VERSION"
|
|
61
70
|
],
|
|
62
71
|
"engines": {
|
|
63
72
|
"node": ">=18.0.0"
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* sync-version.js
|
|
4
|
+
*
|
|
5
|
+
* Reads VERSION from the repo root and propagates it to:
|
|
6
|
+
* - package.json
|
|
7
|
+
* - plugins/envcp/.claude-plugin/plugin.json
|
|
8
|
+
* - .claude-plugin/marketplace.json
|
|
9
|
+
* - crates/envcp-core/Cargo.toml
|
|
10
|
+
* - crates/envcp-node/Cargo.toml
|
|
11
|
+
* - crates/envcp-node/package.json
|
|
12
|
+
* - crates/envcp-python/Cargo.toml
|
|
13
|
+
* - crates/envcp-python/pyproject.toml
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* node scripts/sync-version.js
|
|
17
|
+
* npm run sync-version
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { readFileSync, writeFileSync } from 'fs';
|
|
21
|
+
import { join, dirname } from 'path';
|
|
22
|
+
import { fileURLToPath } from 'url';
|
|
23
|
+
|
|
24
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
25
|
+
const root = join(__dirname, '..');
|
|
26
|
+
|
|
27
|
+
const version = readFileSync(join(root, 'VERSION'), 'utf8').trim();
|
|
28
|
+
|
|
29
|
+
if (!/^\d+\.\d+\.\d+/.test(version)) {
|
|
30
|
+
console.error(`Invalid version in VERSION file: "${version}"`);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function syncJson(filePath, updater) {
|
|
35
|
+
const data = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
36
|
+
updater(data);
|
|
37
|
+
writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
|
|
38
|
+
console.log(`✓ ${filePath.replace(root + '/', '')} → ${version}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// package.json
|
|
42
|
+
syncJson(join(root, 'package.json'), (pkg) => {
|
|
43
|
+
pkg.version = version;
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// plugins/envcp/.claude-plugin/plugin.json
|
|
47
|
+
syncJson(join(root, 'plugins/envcp/.claude-plugin/plugin.json'), (plugin) => {
|
|
48
|
+
plugin.version = version;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// .claude-plugin/marketplace.json
|
|
52
|
+
syncJson(join(root, '.claude-plugin/marketplace.json'), (mkt) => {
|
|
53
|
+
mkt.version = version;
|
|
54
|
+
if (Array.isArray(mkt.plugins)) {
|
|
55
|
+
mkt.plugins = mkt.plugins.map((p) => ({ ...p, version }));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Cargo.toml files — replace the first `version = "..."` line only (package version)
|
|
60
|
+
function syncCargoToml(relPath) {
|
|
61
|
+
const p = join(root, relPath);
|
|
62
|
+
const content = readFileSync(p, 'utf8');
|
|
63
|
+
const updated = content.replace(/^version = ".*"/m, `version = "${version}"`);
|
|
64
|
+
writeFileSync(p, updated);
|
|
65
|
+
console.log(`✓ ${relPath} → ${version}`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
syncCargoToml('crates/envcp-core/Cargo.toml');
|
|
69
|
+
syncCargoToml('crates/envcp-node/Cargo.toml');
|
|
70
|
+
syncCargoToml('crates/envcp-python/Cargo.toml');
|
|
71
|
+
|
|
72
|
+
// crates/envcp-node/package.json
|
|
73
|
+
syncJson(join(root, 'crates/envcp-node/package.json'), (pkg) => {
|
|
74
|
+
pkg.version = version;
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// crates/envcp-python/pyproject.toml — sync [project].version
|
|
78
|
+
const pyprojectPath = join(root, 'crates/envcp-python/pyproject.toml');
|
|
79
|
+
const pyprojectContent = readFileSync(pyprojectPath, 'utf8');
|
|
80
|
+
const updatedPyproject = pyprojectContent.replace(
|
|
81
|
+
/^version = ".*"/m,
|
|
82
|
+
`version = "${version}"`,
|
|
83
|
+
);
|
|
84
|
+
writeFileSync(pyprojectPath, updatedPyproject);
|
|
85
|
+
console.log(`✓ crates/envcp-python/pyproject.toml → ${version}`);
|
|
86
|
+
|
|
87
|
+
console.log(`\nVersion synced: ${version}`);
|
|
88
|
+
console.log('Run `npm install` to update package-lock.json.');
|
package/scripts/install.sh
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
set -e
|
|
4
|
-
|
|
5
|
-
RED='\033[0;31m'
|
|
6
|
-
GREEN='\033[0;32m'
|
|
7
|
-
BLUE='\033[0;34m'
|
|
8
|
-
BOLD='\033[1m'
|
|
9
|
-
NC='\033[0m'
|
|
10
|
-
|
|
11
|
-
echo -e "${BOLD}${BLUE}"
|
|
12
|
-
cat << "EOF"
|
|
13
|
-
███████╗███╗ ██╗██╗ ██╗ ██████╗██████╗
|
|
14
|
-
██╔════╝████╗ ██║██║ ██║██╔════╝██╔══██╗
|
|
15
|
-
█████╗ ██╔██╗ ██║██║ ██║██║ ██████╔╝
|
|
16
|
-
██╔══╝ ██║╚██╗██║╚██╗ ██╔╝██║ ██╔═══╝
|
|
17
|
-
███████╗██║ ╚████║ ╚████╔╝ ╚██████╗██║
|
|
18
|
-
╚══════╝╚═╝ ╚═══╝ ╚═══╝ ╚═════╝╚═╝
|
|
19
|
-
EOF
|
|
20
|
-
echo -e "${NC}"
|
|
21
|
-
|
|
22
|
-
echo -e "${BLUE}Installing EnvCP...${NC}"
|
|
23
|
-
echo ""
|
|
24
|
-
|
|
25
|
-
if ! command -v npm &> /dev/null; then
|
|
26
|
-
echo -e "${RED}Error: npm is not installed.${NC}"
|
|
27
|
-
echo "Please install Node.js first: https://nodejs.org/"
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
NODE_VERSION=$(node -e "console.log(process.version.slice(1).split('.')[0])")
|
|
32
|
-
if [ "$NODE_VERSION" -lt 18 ]; then
|
|
33
|
-
echo -e "${RED}Error: Node.js 18 or higher is required (you have $NODE_VERSION).${NC}"
|
|
34
|
-
exit 1
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
echo -e "${BLUE}Installing @fentz26/envcp globally...${NC}"
|
|
38
|
-
|
|
39
|
-
if npm install -g @fentz26/envcp; then
|
|
40
|
-
echo ""
|
|
41
|
-
echo -e "${GREEN}${BOLD}Successfully installed EnvCP!${NC}"
|
|
42
|
-
echo ""
|
|
43
|
-
echo -e "${BOLD}Get started:${NC}"
|
|
44
|
-
echo " envcp init # Initialize configuration"
|
|
45
|
-
echo " envcp add KEY # Add a secret"
|
|
46
|
-
echo " envcp --help # See all commands"
|
|
47
|
-
echo ""
|
|
48
|
-
echo -e "${BOLD}Docs:${NC} https://envcp.fentz.dev"
|
|
49
|
-
else
|
|
50
|
-
echo ""
|
|
51
|
-
echo -e "${RED}Installation failed. Try with sudo:${NC}"
|
|
52
|
-
echo " curl -fsSL https://raw.githubusercontent.com/fentz26/EnvCP/main/scripts/install.sh | sudo bash"
|
|
53
|
-
exit 1
|
|
54
|
-
fi
|