opencode-polkit 0.1.5 → 0.2.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 +11 -7
- package/dist/index.d.ts +11 -3
- package/dist/index.js +93 -64
- package/dist/index.js.map +1 -1
- package/index.js +6 -0
- package/package.json +15 -9
- package/dist/index.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -9,29 +9,33 @@ Like CachyOS Hello, the plugin does not check for a polkit agent up front:
|
|
|
9
9
|
the request to whatever agent is currently registered. Without an agent,
|
|
10
10
|
`pkexec` fails fast with `Error creating textual authentication agent`
|
|
11
11
|
(no TTY); the plugin reports that as a clear denial. A hang (dialog never
|
|
12
|
-
appears) is bounded by the
|
|
13
|
-
configurable
|
|
12
|
+
appears) is bounded by the shell tool's own timeout (default 2 min,
|
|
13
|
+
configurable per call) and left untranslated — it cannot be told
|
|
14
14
|
apart from a long-running command.
|
|
15
15
|
|
|
16
|
+
Requires OpenCode >= 2.0 (the plugin uses the `@opencode/plugin` v2 API and
|
|
17
|
+
is skipped by older versions).
|
|
18
|
+
|
|
16
19
|
## Install
|
|
17
20
|
|
|
18
21
|
```sh
|
|
19
|
-
opencode plugin opencode-polkit
|
|
22
|
+
opencode plugin add opencode-polkit
|
|
20
23
|
```
|
|
21
24
|
|
|
22
25
|
Or add to `opencode.json` / `~/.config/opencode/opencode.jsonc`:
|
|
23
26
|
|
|
24
27
|
```json
|
|
25
28
|
{
|
|
26
|
-
"
|
|
29
|
+
"plugins": ["opencode-polkit"]
|
|
27
30
|
}
|
|
28
31
|
```
|
|
29
32
|
|
|
30
|
-
For local development,
|
|
33
|
+
For local development, build once (`npm run build` — the local entrypoint
|
|
34
|
+
re-exports `dist/`) and point opencode at the project directory instead:
|
|
31
35
|
|
|
32
36
|
```json
|
|
33
37
|
{
|
|
34
|
-
"
|
|
38
|
+
"plugins": ["/path/to/opencode-polkit"]
|
|
35
39
|
}
|
|
36
40
|
```
|
|
37
41
|
|
|
@@ -65,7 +69,7 @@ command is remembered so a retry is rejected without prompting again
|
|
|
65
69
|
(cleared when opencode restarts): `Not authorized`, `Error executing
|
|
66
70
|
command as another user`, `Error creating textual authentication agent`
|
|
67
71
|
(no polkit agent + no TTY). A hang (dialog never appears) is bounded by
|
|
68
|
-
the
|
|
72
|
+
the shell tool's own timeout (default 2 min, configurable per call)
|
|
69
73
|
and is left untranslated — it cannot be told apart from a long-running
|
|
70
74
|
command.
|
|
71
75
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import type { Plugin } from "@opencode
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { Plugin } from "@opencode/plugin";
|
|
2
|
+
/**
|
|
3
|
+
* OpenCode 2.0 requires a default export shaped `{ id, setup }` (the loader
|
|
4
|
+
* rejects anything else). Deliberately a plain object with type-only imports:
|
|
5
|
+
* the built plugin has zero runtime dependencies.
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: {
|
|
8
|
+
id: string;
|
|
9
|
+
setup: (ctx: Plugin.Context) => Promise<void>;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -234,72 +234,101 @@ function detectLocale() {
|
|
|
234
234
|
return "en";
|
|
235
235
|
}
|
|
236
236
|
const MSG = translations[detectLocale()] ?? translations.en;
|
|
237
|
-
|
|
237
|
+
/** The command string of a shell tool call, or "" for anything else. */
|
|
238
|
+
function shellCommand(input) {
|
|
239
|
+
if (typeof input !== "object" || input === null)
|
|
240
|
+
return "";
|
|
241
|
+
const command = input.command;
|
|
242
|
+
return typeof command === "string" ? command : "";
|
|
243
|
+
}
|
|
244
|
+
/** Plain text of a tool result, whether content is a string or Content[]. */
|
|
245
|
+
function resultText(result) {
|
|
246
|
+
const content = result.content;
|
|
247
|
+
if (typeof content === "string")
|
|
248
|
+
return content;
|
|
249
|
+
if (!Array.isArray(content))
|
|
250
|
+
return "";
|
|
251
|
+
return content
|
|
252
|
+
.map((part) => typeof part === "object" && part !== null && "type" in part && part.type === "text" && "text" in part
|
|
253
|
+
? String(part.text)
|
|
254
|
+
: "")
|
|
255
|
+
.join("\n");
|
|
256
|
+
}
|
|
257
|
+
const setup = async (ctx) => {
|
|
238
258
|
const deniedCommands = new Set();
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
// Already pkexec (leading or mid-command): pass through untouched.
|
|
263
|
-
if (hits.every((h) => h.kw === "pkexec"))
|
|
264
|
-
return;
|
|
265
|
-
// Rewrite every in-command sudo/doas to pkexec (back to front so
|
|
266
|
-
// indices stay valid): `cat x | sudo tee y` -> `cat x | pkexec tee y`.
|
|
267
|
-
// No other rewriting: the command keeps its exact shape so the agent
|
|
268
|
-
// sees only the minimal change (sudo -> pkexec).
|
|
269
|
-
let rewritten = command;
|
|
270
|
-
for (const h of [...hits].reverse()) {
|
|
271
|
-
if (h.kw === "sudo" || h.kw === "doas") {
|
|
272
|
-
rewritten =
|
|
273
|
-
rewritten.slice(0, h.index) + "pkexec" + rewritten.slice(h.index + h.kw.length);
|
|
274
|
-
}
|
|
259
|
+
await ctx.tool.hook("execute.before", (event) => {
|
|
260
|
+
if (event.tool !== "shell")
|
|
261
|
+
return;
|
|
262
|
+
// Mutating the input object in place rewrites the executed command;
|
|
263
|
+
// core uses `event.input` after every hook has run.
|
|
264
|
+
const args = event.input;
|
|
265
|
+
const command = shellCommand(args);
|
|
266
|
+
const hits = scanPrivileged(command);
|
|
267
|
+
if (hits.length === 0)
|
|
268
|
+
return;
|
|
269
|
+
if (deniedCommands.has(command)) {
|
|
270
|
+
throw new Error(MSG.polkitDenied);
|
|
271
|
+
}
|
|
272
|
+
if (hits.some((h) => h.kw === "sudoedit" || h.kw === "visudo")) {
|
|
273
|
+
throw new Error(MSG.blocked);
|
|
274
|
+
}
|
|
275
|
+
// Rewrite would produce `pkexec <bad option>`: fail with a clear
|
|
276
|
+
// message instead of a confusing `Cannot run program` error.
|
|
277
|
+
for (const h of hits) {
|
|
278
|
+
if (h.kw === "sudo" || h.kw === "doas" || h.kw === "pkexec") {
|
|
279
|
+
const bad = findBadOption(command, h);
|
|
280
|
+
if (bad)
|
|
281
|
+
throw new Error(MSG.badOption.replace("{opt}", bad));
|
|
275
282
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
for (const h of [...scanPrivileged(original)].reverse()) {
|
|
289
|
-
if (h.kw === "pkexec") {
|
|
290
|
-
original = original.slice(0, h.index) + "sudo" + original.slice(h.index + 6);
|
|
291
|
-
}
|
|
283
|
+
}
|
|
284
|
+
// Already pkexec (leading or mid-command): pass through untouched.
|
|
285
|
+
if (hits.every((h) => h.kw === "pkexec"))
|
|
286
|
+
return;
|
|
287
|
+
// Rewrite every in-command sudo/doas to pkexec (back to front so
|
|
288
|
+
// indices stay valid): `cat x | sudo tee y` -> `cat x | pkexec tee y`.
|
|
289
|
+
// No other rewriting: the command keeps its exact shape so the agent
|
|
290
|
+
// sees only the minimal change (sudo -> pkexec).
|
|
291
|
+
let rewritten = command;
|
|
292
|
+
for (const h of [...hits].reverse()) {
|
|
293
|
+
if (h.kw === "sudo" || h.kw === "doas") {
|
|
294
|
+
rewritten = rewritten.slice(0, h.index) + "pkexec" + rewritten.slice(h.index + h.kw.length);
|
|
292
295
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
296
|
+
}
|
|
297
|
+
;
|
|
298
|
+
args.command = rewritten;
|
|
299
|
+
});
|
|
300
|
+
await ctx.tool.hook("execute.after", (event) => {
|
|
301
|
+
if (event.tool !== "shell")
|
|
302
|
+
return;
|
|
303
|
+
// `event.input` is the (possibly rewritten) command the shell ran:
|
|
304
|
+
// map pkexec back to sudo to reconstruct the original for the deny list.
|
|
305
|
+
const command = shellCommand(event.input);
|
|
306
|
+
const hits = scanPrivileged(command);
|
|
307
|
+
if (hits.length === 0)
|
|
308
|
+
return;
|
|
309
|
+
let original = command;
|
|
310
|
+
for (const h of [...hits].reverse()) {
|
|
311
|
+
if (h.kw === "pkexec") {
|
|
312
|
+
original = original.slice(0, h.index) + "sudo" + original.slice(h.index + 6);
|
|
302
313
|
}
|
|
303
|
-
}
|
|
304
|
-
|
|
314
|
+
}
|
|
315
|
+
const text = event.status === "completed" ? resultText(event.result) : event.status === "error" ? event.error.message : "";
|
|
316
|
+
// Only unambiguous authentication failures are reported and deny
|
|
317
|
+
// listed. A hang (dialog never appears) is bounded by the shell tool's
|
|
318
|
+
// own timeout (default 2 min) and is NOT translated here: it cannot
|
|
319
|
+
// be told apart from a long-running command.
|
|
320
|
+
if (/\bNot authorized\b/.test(text) ||
|
|
321
|
+
/\bError executing command as another user\b/.test(text) ||
|
|
322
|
+
/\bError creating textual authentication agent\b/.test(text)) {
|
|
323
|
+
deniedCommands.add(original);
|
|
324
|
+
throw new Error(MSG.polkitDenied);
|
|
325
|
+
}
|
|
326
|
+
});
|
|
305
327
|
};
|
|
328
|
+
/**
|
|
329
|
+
* OpenCode 2.0 requires a default export shaped `{ id, setup }` (the loader
|
|
330
|
+
* rejects anything else). Deliberately a plain object with type-only imports:
|
|
331
|
+
* the built plugin has zero runtime dependencies.
|
|
332
|
+
*/
|
|
333
|
+
export default { id: "opencode-polkit", setup };
|
|
334
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,8DAA8D,CAAA;AAE5E,MAAM,aAAa,GAAG;IACpB,mCAAmC;IACnC,qCAAqC;IACrC,sBAAsB;IACtB,aAAa;IACb,aAAa;IACb,kBAAkB;CACnB,CAAA;AASD,MAAM,YAAY,GAA6B;IAC7C,EAAE,EAAE;QACF,OAAO,EAAE,gDAAgD;QACzD,QAAQ,EAAE,qEAAqE;QAC/E,cAAc,EAAE,8CAA8C;QAC9D,YAAY,EAAE,sCAAsC;KACrD;IACD,EAAE,EAAE;QACF,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,yCAAyC;QACnD,cAAc,EAAE,8BAA8B;QAC9C,YAAY,EAAE,iBAAiB;KAChC;IACD,EAAE,EAAE;QACF,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,wDAAwD;QAClE,cAAc,EAAE,uCAAuC;QACvD,YAAY,EAAE,2BAA2B;KAC1C;IACD,EAAE,EAAE;QACF,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,wDAAwD;QAClE,cAAc,EAAE,uCAAuC;QACvD,YAAY,EAAE,4BAA4B;KAC3C;IACD,EAAE,EAAE;QACF,OAAO,EAAE,8CAA8C;QACvD,QAAQ,EAAE,kFAAkF;QAC5F,cAAc,EAAE,mDAAmD;QACnE,YAAY,EAAE,iDAAiD;KAChE;IACD,EAAE,EAAE;QACF,OAAO,EAAE,0DAA0D;QACnE,QAAQ,EAAE,qEAAqE;QAC/E,cAAc,EAAE,kDAAkD;QAClE,YAAY,EAAE,mDAAmD;KAClE;IACD,EAAE,EAAE;QACF,OAAO,EAAE,6DAA6D;QACtE,QAAQ,EAAE,sFAAsF;QAChG,cAAc,EAAE,mDAAmD;QACnE,YAAY,EAAE,8CAA8C;KAC7D;IACD,EAAE,EAAE;QACF,OAAO,EAAE,0DAA0D;QACnE,QAAQ,EAAE,0FAA0F;QACpG,cAAc,EAAE,qDAAqD;QACrE,YAAY,EAAE,yCAAyC;KACxD;IACD,EAAE,EAAE;QACF,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,6FAA6F;QACvG,cAAc,EAAE,8CAA8C;QAC9D,YAAY,EAAE,+CAA+C;KAC9D;IACD,EAAE,EAAE;QACF,OAAO,EAAE,sDAAsD;QAC/D,QAAQ,EAAE,uFAAuF;QACjG,cAAc,EAAE,mDAAmD;QACnE,YAAY,EAAE,2DAA2D;KAC1E;IACD,EAAE,EAAE;QACF,OAAO,EAAE,mDAAmD;QAC5D,QAAQ,EAAE,yFAAyF;QACnG,cAAc,EAAE,+CAA+C;QAC/D,YAAY,EAAE,8CAA8C;KAC7D;CACF,CAAA;AAED,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAA;IAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAC9D,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAClF,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,GAAG,GAAa,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,CAAA;AAErE,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACvD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACrF,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE;YAC5D,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAW,KAAK,EAAE,MAAmB,EAAE,EAAE;IAChE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IAExC,OAAO;QACL,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YACrD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAM;YACrC,MAAM,OAAO,GAAW,UAAU,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;YACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAM;YAEhC,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBACnD,OAAM;YACR,CAAC;YAED,IAAI,4CAA4C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC9B,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CACvC,sCAAsC,EACtC,QAAQ,CACT,CAAA;QACH,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YACpD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAM;YACrC,MAAM,OAAO,GAAW,SAAS,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;YACrD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAM;YAEhC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CACrC,iCAAiC,EACjC,MAAM,CACP,CAAA;YAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5C,6CAA6C,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;gBACnC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Local-directory entrypoint for OpenCode 2.0: the loader resolves a plugin
|
|
2
|
+
// directory by looking for `server`/`index` at its root (package.json "main"
|
|
3
|
+
// and "exports" are only consulted for npm package names). npm installs reach
|
|
4
|
+
// the real build through package.json "exports"; this shim covers
|
|
5
|
+
// `"plugins": ["/path/to/opencode-polkit"]`.
|
|
6
|
+
export { default } from "./dist/index.js"
|
package/package.json
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-polkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Redirect sudo/doas to pkexec in OpenCode — uses system polkit agent for native auth dialogs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
15
|
"dist",
|
|
16
|
+
"index.js",
|
|
16
17
|
"README.md",
|
|
17
18
|
"LICENSE"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
|
-
"build": "
|
|
21
|
-
"check": "
|
|
21
|
+
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json",
|
|
22
|
+
"check": "tsc -p tsconfig.json --noEmit"
|
|
22
23
|
},
|
|
23
24
|
"engines": {
|
|
24
|
-
"opencode": ">=
|
|
25
|
+
"opencode": ">=2.0.0"
|
|
25
26
|
},
|
|
26
27
|
"peerDependencies": {
|
|
27
|
-
"@opencode
|
|
28
|
+
"@opencode/plugin": ">=2.0.0"
|
|
29
|
+
},
|
|
30
|
+
"peerDependenciesMeta": {
|
|
31
|
+
"@opencode/plugin": {
|
|
32
|
+
"optional": true
|
|
33
|
+
}
|
|
28
34
|
},
|
|
29
35
|
"devDependencies": {
|
|
30
|
-
"@opencode
|
|
31
|
-
"
|
|
36
|
+
"@opencode/plugin": "^2.0.12",
|
|
37
|
+
"@types/node": "^24.0.0",
|
|
32
38
|
"typescript": "^5.5.0"
|
|
33
39
|
},
|
|
34
40
|
"keywords": ["opencode-plugin", "sudo", "pkexec", "polkit", "security"],
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AA2H9D,eAAO,MAAM,YAAY,EAAE,MAgD1B,CAAA"}
|