@opentabs-dev/mcp-server 0.0.62 → 0.0.64
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/browser-tools/extension-get-logs.d.ts +1 -1
- package/dist/browser-tools/get-console-logs.d.ts +1 -1
- package/dist/config.d.ts +3 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -63
- package/dist/config.js.map +1 -1
- package/dist/dev-proxy.js +19 -7
- package/dist/dev-proxy.js.map +1 -1
- package/dist/extension-handlers.d.ts +9 -2
- package/dist/extension-handlers.d.ts.map +1 -1
- package/dist/extension-handlers.js +52 -6
- package/dist/extension-handlers.js.map +1 -1
- package/dist/extension-protocol.d.ts.map +1 -1
- package/dist/extension-protocol.js +6 -1
- package/dist/extension-protocol.js.map +1 -1
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +56 -0
- package/dist/http-routes.js.map +1 -1
- package/dist/mcp-prompts.d.ts +44 -0
- package/dist/mcp-prompts.d.ts.map +1 -0
- package/dist/mcp-prompts.js +412 -0
- package/dist/mcp-prompts.js.map +1 -0
- package/dist/mcp-setup.d.ts +3 -0
- package/dist/mcp-setup.d.ts.map +1 -1
- package/dist/mcp-setup.js +165 -2
- package/dist/mcp-setup.js.map +1 -1
- package/dist/mcp-tool-dispatch.d.ts +14 -1
- package/dist/mcp-tool-dispatch.d.ts.map +1 -1
- package/dist/mcp-tool-dispatch.js +243 -4
- package/dist/mcp-tool-dispatch.js.map +1 -1
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +39 -5
- package/dist/reload.js.map +1 -1
- package/dist/skip-permissions.d.ts +5 -12
- package/dist/skip-permissions.d.ts.map +1 -1
- package/dist/skip-permissions.js +7 -17
- package/dist/skip-permissions.js.map +1 -1
- package/dist/state.d.ts +29 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +56 -7
- package/dist/state.js.map +1 -1
- package/package.json +1 -1
package/dist/skip-permissions.js
CHANGED
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Permission bypass detection — determined once at startup.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* is available to approve tool calls.
|
|
9
|
-
*
|
|
10
|
-
* The old names (--dangerously-skip-confirmation / OPENTABS_SKIP_CONFIRMATION)
|
|
11
|
-
* are accepted for backward compatibility.
|
|
12
|
-
*
|
|
13
|
-
* The config.json `skipPermissions` field is checked separately at reload
|
|
14
|
-
* time and combined with this flag in state.skipPermissions.
|
|
4
|
+
* Set OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS=1 to bypass approval prompts
|
|
5
|
+
* for tools in 'ask' mode (converts them to 'auto'). Tools set to 'off'
|
|
6
|
+
* remain disabled. Intended for CI/testing environments where no human is
|
|
7
|
+
* available to approve tool calls.
|
|
15
8
|
*/
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
process.env.OPENTABS_SKIP_CONFIRMATION === '1';
|
|
20
|
-
/** Whether the CLI flag or env var requests permission bypass */
|
|
21
|
-
export const isCliSkipPermissions = () => cliSkipPermissions;
|
|
9
|
+
const skipPermissions = process.env.OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS === '1';
|
|
10
|
+
/** Whether the env var requests permission bypass */
|
|
11
|
+
export const isCliSkipPermissions = () => skipPermissions;
|
|
22
12
|
//# sourceMappingURL=skip-permissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-permissions.js","sourceRoot":"","sources":["../src/skip-permissions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"skip-permissions.js","sourceRoot":"","sources":["../src/skip-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,GAAG,CAAC;AAElF,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAY,EAAE,CAAC,eAAe,CAAC"}
|
package/dist/state.d.ts
CHANGED
|
@@ -187,6 +187,15 @@ export declare const MAX_AUDIT_ENTRIES = 500;
|
|
|
187
187
|
/** Append an entry to the audit log, trimming oldest entries beyond MAX_AUDIT_ENTRIES.
|
|
188
188
|
* Also persists the entry to ~/.opentabs/audit.log as NDJSON (fire-and-forget). */
|
|
189
189
|
export declare const appendAuditEntry: (state: ServerState, entry: AuditEntry) => void;
|
|
190
|
+
/** Review token issued by plugin_inspect, consumed by plugin_mark_reviewed */
|
|
191
|
+
export interface ReviewToken {
|
|
192
|
+
plugin: string;
|
|
193
|
+
version: string;
|
|
194
|
+
createdAt: number;
|
|
195
|
+
used: boolean;
|
|
196
|
+
}
|
|
197
|
+
/** Time-to-live for review tokens (10 minutes) */
|
|
198
|
+
export declare const REVIEW_TOKEN_TTL_MS: number;
|
|
190
199
|
/** Server state singleton — shared across hot reloads via globalThis */
|
|
191
200
|
export interface ServerState {
|
|
192
201
|
/**
|
|
@@ -233,7 +242,7 @@ export interface ServerState {
|
|
|
233
242
|
}>;
|
|
234
243
|
/** Circular buffer of recent tool invocations for diagnostics and monitoring */
|
|
235
244
|
auditLog: AuditEntry[];
|
|
236
|
-
/** Whether
|
|
245
|
+
/** Whether approval prompts for ask-mode tools are bypassed (off tools remain disabled) */
|
|
237
246
|
skipPermissions: boolean;
|
|
238
247
|
/** Per-plugin permission configuration from config.json */
|
|
239
248
|
pluginPermissions: Record<string, PluginPermissionConfig>;
|
|
@@ -247,6 +256,8 @@ export interface ServerState {
|
|
|
247
256
|
adaptersDirReady: boolean;
|
|
248
257
|
/** Set of tab IDs that currently have active network capture (browser_enable_network_capture called, not yet disabled) */
|
|
249
258
|
activeNetworkCaptures: Set<number>;
|
|
259
|
+
/** In-memory review tokens: token string → ReviewToken. Lost on restart (intentional). */
|
|
260
|
+
reviewTokens: Map<string, ReviewToken>;
|
|
250
261
|
}
|
|
251
262
|
/** Increment when changing the type of an existing ServerState field */
|
|
252
263
|
export declare const STATE_SCHEMA_VERSION = 5;
|
|
@@ -262,7 +273,23 @@ export declare const createState: () => ServerState;
|
|
|
262
273
|
export declare const getNextRequestId: () => string;
|
|
263
274
|
/** Get the prefixed tool name: plugin_tool */
|
|
264
275
|
export declare const prefixedToolName: (plugin: string, tool: string) => string;
|
|
276
|
+
/** Resolve the configured permission for a tool (ignoring skipPermissions).
|
|
277
|
+
* Resolution order: per-tool override → plugin default → 'off'.
|
|
278
|
+
* Used by the side panel to display what the user actually configured. */
|
|
279
|
+
export declare const getConfiguredToolPermission: (state: ServerState, pluginName: string, toolName: string) => ToolPermission;
|
|
265
280
|
/** Resolve the effective permission for a tool.
|
|
266
|
-
* Resolution order:
|
|
281
|
+
* Resolution order: per-tool override → plugin default → 'off', then skipPermissions converts 'ask' to 'auto'. */
|
|
267
282
|
export declare const getToolPermission: (state: ServerState, pluginName: string, toolName: string) => ToolPermission;
|
|
283
|
+
/**
|
|
284
|
+
* Generate a review token for a plugin+version pair.
|
|
285
|
+
* Lazily cleans up expired tokens before creating a new one.
|
|
286
|
+
*/
|
|
287
|
+
export declare const generateReviewToken: (state: ServerState, plugin: string, version: string) => string;
|
|
288
|
+
/**
|
|
289
|
+
* Validate a review token without consuming it.
|
|
290
|
+
* Returns true only if: token exists, plugin matches, version matches, not used, not expired.
|
|
291
|
+
*/
|
|
292
|
+
export declare const validateReviewToken: (state: ServerState, token: string, plugin: string, version: string) => boolean;
|
|
293
|
+
/** Mark a review token as used so it cannot be reused. */
|
|
294
|
+
export declare const consumeReviewToken: (state: ServerState, token: string) => void;
|
|
268
295
|
//# sourceMappingURL=state.d.ts.map
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,QAAQ,EACR,cAAc,EACd,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAoBxE,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB;iGAC6F;IAC7F,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,gHAAgH;IAChH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,kFAAkF;IAClF,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IACnD;;wFAEoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,uFAAuF;IACvF,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,wEAAwE;IACxE,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IACxD,mGAAmG;IACnG,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAED,iHAAiH;AACjH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,qGAAqG;IACrG,MAAM,EAAE,YAAY,CAAC;IACrB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,wGAAwG;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACvC,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,MAAM,CAAC;CAChC;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1D,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;oFACoF;AACpF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,OAAO,UAAU,KAAG,IAOxE,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,EAAE,cAAc,CAAC;IACzB,2CAA2C;IAC3C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mDAAmD;IACnD,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,yDAAyD;IACzD,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oGAAoG;IACpG,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,uFAAuF;IACvF,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,2FAA2F;IAC3F,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,gEAAgE;IAChE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,yEAAyE;IACzE,YAAY,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IACpD,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,eAAe,EAAE,aAAa,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,gFAAgF;IAChF,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/state.js
CHANGED
|
@@ -49,6 +49,8 @@ export const appendAuditEntry = (state, entry) => {
|
|
|
49
49
|
// Fire-and-forget disk write — errors are logged internally, never block dispatch
|
|
50
50
|
void appendAuditEntryToDisk(entry);
|
|
51
51
|
};
|
|
52
|
+
/** Time-to-live for review tokens (10 minutes) */
|
|
53
|
+
export const REVIEW_TOKEN_TTL_MS = 10 * 60 * 1000;
|
|
52
54
|
/** Increment when changing the type of an existing ServerState field */
|
|
53
55
|
export const STATE_SCHEMA_VERSION = 5;
|
|
54
56
|
/** Frozen empty registry for initializing ServerState */
|
|
@@ -91,26 +93,73 @@ export const createState = () => ({
|
|
|
91
93
|
startedAt: Date.now(),
|
|
92
94
|
discoveryErrors: [],
|
|
93
95
|
auditLog: [],
|
|
94
|
-
skipPermissions:
|
|
96
|
+
skipPermissions: process.env.OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS === '1',
|
|
95
97
|
pluginPermissions: {},
|
|
96
98
|
pendingConfirmations: new Map(),
|
|
97
99
|
pendingExtensionReload: false,
|
|
98
100
|
endpointCallTimestamps: new Map(),
|
|
99
101
|
adaptersDirReady: false,
|
|
100
102
|
activeNetworkCaptures: new Set(),
|
|
103
|
+
reviewTokens: new Map(),
|
|
101
104
|
});
|
|
102
105
|
/** Generate a cryptographically random JSON-RPC request ID */
|
|
103
106
|
export const getNextRequestId = () => crypto.randomUUID();
|
|
104
107
|
/** Get the prefixed tool name: plugin_tool */
|
|
105
108
|
export const prefixedToolName = (plugin, tool) => `${plugin}_${tool}`;
|
|
109
|
+
/** Resolve the configured permission for a tool (ignoring skipPermissions).
|
|
110
|
+
* Resolution order: per-tool override → plugin default → 'off'.
|
|
111
|
+
* Used by the side panel to display what the user actually configured. */
|
|
112
|
+
export const getConfiguredToolPermission = (state, pluginName, toolName) => {
|
|
113
|
+
const pluginConfig = state.pluginPermissions[pluginName];
|
|
114
|
+
return pluginConfig ? (pluginConfig.tools?.[toolName] ?? pluginConfig.permission ?? 'off') : 'off';
|
|
115
|
+
};
|
|
106
116
|
/** Resolve the effective permission for a tool.
|
|
107
|
-
* Resolution order:
|
|
117
|
+
* Resolution order: per-tool override → plugin default → 'off', then skipPermissions converts 'ask' to 'auto'. */
|
|
108
118
|
export const getToolPermission = (state, pluginName, toolName) => {
|
|
109
|
-
|
|
119
|
+
const resolved = getConfiguredToolPermission(state, pluginName, toolName);
|
|
120
|
+
if (state.skipPermissions && resolved === 'ask')
|
|
110
121
|
return 'auto';
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
122
|
+
return resolved;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Generate a review token for a plugin+version pair.
|
|
126
|
+
* Lazily cleans up expired tokens before creating a new one.
|
|
127
|
+
*/
|
|
128
|
+
export const generateReviewToken = (state, plugin, version) => {
|
|
129
|
+
const now = Date.now();
|
|
130
|
+
// Lazily clean up expired tokens
|
|
131
|
+
for (const [key, token] of state.reviewTokens) {
|
|
132
|
+
if (now - token.createdAt > REVIEW_TOKEN_TTL_MS) {
|
|
133
|
+
state.reviewTokens.delete(key);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const tokenId = crypto.randomUUID();
|
|
137
|
+
state.reviewTokens.set(tokenId, { plugin, version, createdAt: now, used: false });
|
|
138
|
+
return tokenId;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Validate a review token without consuming it.
|
|
142
|
+
* Returns true only if: token exists, plugin matches, version matches, not used, not expired.
|
|
143
|
+
*/
|
|
144
|
+
export const validateReviewToken = (state, token, plugin, version) => {
|
|
145
|
+
const entry = state.reviewTokens.get(token);
|
|
146
|
+
if (!entry)
|
|
147
|
+
return false;
|
|
148
|
+
if (entry.plugin !== plugin)
|
|
149
|
+
return false;
|
|
150
|
+
if (entry.version !== version)
|
|
151
|
+
return false;
|
|
152
|
+
if (entry.used)
|
|
153
|
+
return false;
|
|
154
|
+
if (Date.now() - entry.createdAt > REVIEW_TOKEN_TTL_MS)
|
|
155
|
+
return false;
|
|
156
|
+
return true;
|
|
157
|
+
};
|
|
158
|
+
/** Mark a review token as used so it cannot be reused. */
|
|
159
|
+
export const consumeReviewToken = (state, token) => {
|
|
160
|
+
const entry = state.reviewTokens.get(token);
|
|
161
|
+
if (entry) {
|
|
162
|
+
entry.used = true;
|
|
163
|
+
}
|
|
115
164
|
};
|
|
116
165
|
//# sourceMappingURL=state.js.map
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAO,GAAc,EAAqB,EAAE;IAC3E,MAAM,OAAO,GAAG,GAAU,EAAE;QAC1B,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE;QAChC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;QACnC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;QAClC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAsB,CAAC;AACjD,CAAC,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AA+K/C,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;oFACoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAkB,EAAE,KAAiB,EAAQ,EAAE;IAC9E,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAC9C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,kFAAkF;IAClF,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|