multicorn-shield 1.9.5 → 1.11.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/CHANGELOG.md +29 -0
- package/README.md +87 -523
- package/dist/index.cjs +31 -20
- package/dist/index.d.cts +14 -6
- package/dist/index.d.ts +14 -6
- package/dist/index.js +12 -1
- package/dist/multicorn-proxy.js +1600 -160
- package/dist/multicorn-shield.js +1590 -163
- package/dist/proxy.cjs +2 -0
- package/dist/proxy.d.cts +3 -0
- package/dist/proxy.d.ts +3 -0
- package/dist/proxy.js +2 -0
- package/dist/shield-extension.js +3 -1
- package/package.json +42 -22
- package/plugins/cline/hooks/scripts/post-tool-use.cjs +0 -0
- package/plugins/cline/hooks/scripts/pre-tool-use.cjs +0 -0
package/dist/proxy.cjs
CHANGED
|
@@ -224,6 +224,7 @@ async function fetchGrantedScopes(agentId, apiKey, baseUrl) {
|
|
|
224
224
|
if (perm.revoked_at !== null) continue;
|
|
225
225
|
if (perm.read) scopes.push({ service: perm.service, permissionLevel: "read" });
|
|
226
226
|
if (perm.write) scopes.push({ service: perm.service, permissionLevel: "write" });
|
|
227
|
+
if (perm.delete === true) scopes.push({ service: perm.service, permissionLevel: "delete" });
|
|
227
228
|
if (perm.execute) scopes.push({ service: perm.service, permissionLevel: "execute" });
|
|
228
229
|
}
|
|
229
230
|
return scopes;
|
|
@@ -289,6 +290,7 @@ function isValidLogLevel(value) {
|
|
|
289
290
|
var PERMISSION_LEVELS = {
|
|
290
291
|
Read: "read",
|
|
291
292
|
Write: "write",
|
|
293
|
+
Delete: "delete",
|
|
292
294
|
Execute: "execute",
|
|
293
295
|
Publish: "publish",
|
|
294
296
|
Create: "create"
|
package/dist/proxy.d.cts
CHANGED
|
@@ -56,6 +56,8 @@ declare function extractActionFromToolName(toolName: string): string;
|
|
|
56
56
|
*
|
|
57
57
|
* - `read`: observe data without modification
|
|
58
58
|
* - `write`: create or modify data
|
|
59
|
+
* - `delete`: destroy data (kept distinct from `write` so saving a file never
|
|
60
|
+
* implies the right to delete one; used by the hosted workspace filesystem)
|
|
59
61
|
* - `execute`: trigger side-effects (e.g. send an email, make a payment)
|
|
60
62
|
* - `publish`: make existing content publicly accessible (e.g. deploy, publish, make live)
|
|
61
63
|
* - `create`: create new content that is immediately public (e.g. tweet, public commit, forum post)
|
|
@@ -63,6 +65,7 @@ declare function extractActionFromToolName(toolName: string): string;
|
|
|
63
65
|
declare const PERMISSION_LEVELS: {
|
|
64
66
|
readonly Read: "read";
|
|
65
67
|
readonly Write: "write";
|
|
68
|
+
readonly Delete: "delete";
|
|
66
69
|
readonly Execute: "execute";
|
|
67
70
|
readonly Publish: "publish";
|
|
68
71
|
readonly Create: "create";
|
package/dist/proxy.d.ts
CHANGED
|
@@ -56,6 +56,8 @@ declare function extractActionFromToolName(toolName: string): string;
|
|
|
56
56
|
*
|
|
57
57
|
* - `read`: observe data without modification
|
|
58
58
|
* - `write`: create or modify data
|
|
59
|
+
* - `delete`: destroy data (kept distinct from `write` so saving a file never
|
|
60
|
+
* implies the right to delete one; used by the hosted workspace filesystem)
|
|
59
61
|
* - `execute`: trigger side-effects (e.g. send an email, make a payment)
|
|
60
62
|
* - `publish`: make existing content publicly accessible (e.g. deploy, publish, make live)
|
|
61
63
|
* - `create`: create new content that is immediately public (e.g. tweet, public commit, forum post)
|
|
@@ -63,6 +65,7 @@ declare function extractActionFromToolName(toolName: string): string;
|
|
|
63
65
|
declare const PERMISSION_LEVELS: {
|
|
64
66
|
readonly Read: "read";
|
|
65
67
|
readonly Write: "write";
|
|
68
|
+
readonly Delete: "delete";
|
|
66
69
|
readonly Execute: "execute";
|
|
67
70
|
readonly Publish: "publish";
|
|
68
71
|
readonly Create: "create";
|
package/dist/proxy.js
CHANGED
|
@@ -222,6 +222,7 @@ async function fetchGrantedScopes(agentId, apiKey, baseUrl) {
|
|
|
222
222
|
if (perm.revoked_at !== null) continue;
|
|
223
223
|
if (perm.read) scopes.push({ service: perm.service, permissionLevel: "read" });
|
|
224
224
|
if (perm.write) scopes.push({ service: perm.service, permissionLevel: "write" });
|
|
225
|
+
if (perm.delete === true) scopes.push({ service: perm.service, permissionLevel: "delete" });
|
|
225
226
|
if (perm.execute) scopes.push({ service: perm.service, permissionLevel: "execute" });
|
|
226
227
|
}
|
|
227
228
|
return scopes;
|
|
@@ -287,6 +288,7 @@ function isValidLogLevel(value) {
|
|
|
287
288
|
var PERMISSION_LEVELS = {
|
|
288
289
|
Read: "read",
|
|
289
290
|
Write: "write",
|
|
291
|
+
Delete: "delete",
|
|
290
292
|
Execute: "execute",
|
|
291
293
|
Publish: "publish",
|
|
292
294
|
Create: "create"
|
package/dist/shield-extension.js
CHANGED
|
@@ -22214,6 +22214,7 @@ async function fetchGrantedScopes(agentId, apiKey, baseUrl) {
|
|
|
22214
22214
|
if (perm.revoked_at !== null) continue;
|
|
22215
22215
|
if (perm.read) scopes.push({ service: perm.service, permissionLevel: "read" });
|
|
22216
22216
|
if (perm.write) scopes.push({ service: perm.service, permissionLevel: "write" });
|
|
22217
|
+
if (perm.delete === true) scopes.push({ service: perm.service, permissionLevel: "delete" });
|
|
22217
22218
|
if (perm.execute) scopes.push({ service: perm.service, permissionLevel: "execute" });
|
|
22218
22219
|
}
|
|
22219
22220
|
return scopes;
|
|
@@ -22517,7 +22518,7 @@ async function writeExtensionBackup(claudeDesktopConfigPath, mcpServers) {
|
|
|
22517
22518
|
|
|
22518
22519
|
// package.json
|
|
22519
22520
|
var package_default = {
|
|
22520
|
-
version: "1.
|
|
22521
|
+
version: "1.11.0"};
|
|
22521
22522
|
|
|
22522
22523
|
// src/package-meta.ts
|
|
22523
22524
|
var PACKAGE_VERSION = package_default.version;
|
|
@@ -23087,6 +23088,7 @@ function resultSuggestsConsentNeeded(result) {
|
|
|
23087
23088
|
var PERMISSION_LEVELS = {
|
|
23088
23089
|
Read: "read",
|
|
23089
23090
|
Write: "write",
|
|
23091
|
+
Delete: "delete",
|
|
23090
23092
|
Execute: "execute",
|
|
23091
23093
|
Publish: "publish",
|
|
23092
23094
|
Create: "create"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "multicorn-shield",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"description": "The control layer for AI agents: permissions, consent, spending limits, and audit logging.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Multicorn AI Pty Ltd",
|
|
@@ -59,6 +59,28 @@
|
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=20"
|
|
61
61
|
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "tsup",
|
|
64
|
+
"dev": "tsup --watch",
|
|
65
|
+
"lint": "eslint . --no-warn-ignored && prettier --check .",
|
|
66
|
+
"lint:fix": "eslint --fix . --no-warn-ignored && prettier --write .",
|
|
67
|
+
"test": "vitest run",
|
|
68
|
+
"test:watch": "vitest",
|
|
69
|
+
"test:coverage": "vitest run --coverage",
|
|
70
|
+
"typecheck": "tsc --noEmit",
|
|
71
|
+
"docs": "typedoc",
|
|
72
|
+
"clean": "rm -rf dist coverage docs/api extension-pack",
|
|
73
|
+
"stage-extension-pack": "rm -rf extension-pack && mkdir -p extension-pack/server && cp manifest.json extension-pack/ && cp icon.png extension-pack/ && cp dist/shield-extension.js extension-pack/server/index.js",
|
|
74
|
+
"validate:extension": "pnpm run stage-extension-pack && mcpb validate extension-pack/manifest.json",
|
|
75
|
+
"build:extension": "tsup",
|
|
76
|
+
"pack:extension": "pnpm run build && pnpm run stage-extension-pack && mcpb validate extension-pack/manifest.json && mcpb pack extension-pack dist/multicorn-shield.mcpb",
|
|
77
|
+
"size": "size-limit",
|
|
78
|
+
"prepublishOnly": "pnpm run clean && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build",
|
|
79
|
+
"prepare": "husky || true",
|
|
80
|
+
"release:patch": "npm version patch && pnpm publish",
|
|
81
|
+
"release:minor": "npm version minor && pnpm publish",
|
|
82
|
+
"release:major": "npm version major && pnpm publish"
|
|
83
|
+
},
|
|
62
84
|
"lint-staged": {
|
|
63
85
|
"*.ts": [
|
|
64
86
|
"eslint --fix --no-warn-ignored",
|
|
@@ -69,8 +91,11 @@
|
|
|
69
91
|
]
|
|
70
92
|
},
|
|
71
93
|
"dependencies": {
|
|
94
|
+
"@lit/reactive-element": "^2.0.0",
|
|
72
95
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
96
|
+
"@modelcontextprotocol/server-filesystem": "^2026.1.14",
|
|
73
97
|
"lit": "^3.2.0",
|
|
98
|
+
"supergateway": "^3.4.3",
|
|
74
99
|
"yaml": "^2.8.2",
|
|
75
100
|
"zod": "^4.3.6"
|
|
76
101
|
},
|
|
@@ -131,30 +156,25 @@
|
|
|
131
156
|
],
|
|
132
157
|
"repository": {
|
|
133
158
|
"type": "git",
|
|
134
|
-
"url": "
|
|
159
|
+
"url": "https://github.com/Multicorn-AI/multicorn-shield"
|
|
135
160
|
},
|
|
136
161
|
"bugs": {
|
|
137
162
|
"url": "https://github.com/Multicorn-AI/multicorn-shield/issues"
|
|
138
163
|
},
|
|
139
164
|
"homepage": "https://multicorn.ai",
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
"pack:extension": "pnpm run build && pnpm run stage-extension-pack && mcpb validate extension-pack/manifest.json && mcpb pack extension-pack dist/multicorn-shield.mcpb",
|
|
155
|
-
"size": "size-limit",
|
|
156
|
-
"release:patch": "npm version patch && pnpm publish",
|
|
157
|
-
"release:minor": "npm version minor && pnpm publish",
|
|
158
|
-
"release:major": "npm version major && pnpm publish"
|
|
165
|
+
"pnpm": {
|
|
166
|
+
"overrides": {
|
|
167
|
+
"vite": ">=7.3.2",
|
|
168
|
+
"flatted": ">=3.4.2",
|
|
169
|
+
"minimatch": ">=10.2.3",
|
|
170
|
+
"rollup": ">=4.59.0",
|
|
171
|
+
"picomatch": ">=4.0.4",
|
|
172
|
+
"path-to-regexp": ">=8.4.0",
|
|
173
|
+
"express>path-to-regexp": ">=0.1.13",
|
|
174
|
+
"node-forge": ">=1.4.0",
|
|
175
|
+
"fast-uri": ">=3.1.2",
|
|
176
|
+
"hono": ">=4.12.25",
|
|
177
|
+
"ws": ">=8.21.0"
|
|
178
|
+
}
|
|
159
179
|
}
|
|
160
|
-
}
|
|
180
|
+
}
|
|
File without changes
|
|
File without changes
|