@pinchpass/cli 1.0.1 → 1.0.4

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/index.js CHANGED
@@ -1,51 +1,49 @@
1
- import { tool } from "@opencode-ai/plugin/tool";
2
- export default async ({ $ }) => {
1
+ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
+ import { CLI_FRESH_WATCHDOG_DEFAULTS, CLI_RESUME_WATCHDOG_DEFAULTS, } from "openclaw/plugin-sdk/cli-backend";
3
+ const FRESH_WATCHDOG = {
4
+ ...CLI_FRESH_WATCHDOG_DEFAULTS,
5
+ timeout: 3_600_000,
6
+ maxMissedHeartbeats: 120,
7
+ };
8
+ const RESUME_WATCHDOG = {
9
+ ...CLI_RESUME_WATCHDOG_DEFAULTS,
10
+ timeout: 3_600_000,
11
+ maxMissedHeartbeats: 120,
12
+ };
13
+ function buildPinchpassBackend() {
3
14
  return {
4
- tool: {
5
- request_secret: tool({
6
- description: "Generate a one-time E2E-encrypted secret request link. " +
7
- "Use when you need to collect sensitive values (API keys, tokens, passwords) from the user. " +
8
- "The tool starts a local server, prints a link, and blocks until the user submits or the TTL expires. " +
9
- "On success the secret is saved to .env and the tool returns the result.",
10
- args: {
11
- names: tool.schema
12
- .array(tool.schema.string())
13
- .min(1)
14
- .describe("Secret name(s) to collect, e.g. ['GEMINI_API_KEY']"),
15
- tunnel: tool.schema
16
- .boolean()
17
- .optional()
18
- .describe("Create a public URL via bore.pub tunnel (default: false)"),
19
- note: tool.schema
20
- .string()
21
- .optional()
22
- .describe("Description shown on the form to help the user"),
23
- ttl: tool.schema
24
- .number()
25
- .optional()
26
- .describe("Minutes until the link expires (default: 30)"),
27
- },
28
- async execute(args) {
29
- const pieces = ["pinchpass", "request", ...args.names, "-json"];
30
- if (args.tunnel)
31
- pieces.push("-tunnel");
32
- if (args.note)
33
- pieces.push("-note", args.note);
34
- if (args.ttl)
35
- pieces.push("-ttl", String(args.ttl));
36
- try {
37
- const result = await $.raw(pieces);
38
- return result.stdout || result.text || String(result);
39
- }
40
- catch (err) {
41
- const msg = err instanceof Error ? err.message : String(err);
42
- const stderr = err && typeof err === "object" && "stderr" in err
43
- ? err.stderr
44
- : "";
45
- return `Failed: ${msg}${stderr ? "\n" + stderr : ""}`;
46
- }
15
+ id: "pinchpass",
16
+ liveTest: {
17
+ defaultModelRef: "pinchpass/request",
18
+ defaultImageProbe: false,
19
+ defaultMcpProbe: false,
20
+ docker: {
21
+ npmPackage: "@pinchpass/cli",
22
+ binaryName: "pinchpass",
23
+ },
24
+ },
25
+ config: {
26
+ command: "pinchpass",
27
+ args: ["request", "-json"],
28
+ output: "json",
29
+ input: "arg",
30
+ modelAliases: {
31
+ request: "pinchpass/request",
32
+ },
33
+ reliability: {
34
+ watchdog: {
35
+ fresh: FRESH_WATCHDOG,
36
+ resume: RESUME_WATCHDOG,
47
37
  },
48
- }),
38
+ },
49
39
  },
50
40
  };
51
- };
41
+ }
42
+ export default definePluginEntry({
43
+ id: "pinchpass",
44
+ name: "PinchPass",
45
+ description: "One-time E2E-encrypted secret request links",
46
+ register(api) {
47
+ api.registerCliBackend(buildPinchpassBackend());
48
+ },
49
+ });
@@ -0,0 +1,17 @@
1
+ {
2
+ "id": "pinchpass",
3
+ "name": "PinchPass",
4
+ "description": "One-time E2E-encrypted secret request links",
5
+ "cliBackends": ["pinchpass"],
6
+ "setup": {
7
+ "cliBackends": ["pinchpass"],
8
+ "requiresRuntime": false
9
+ },
10
+ "activation": {
11
+ "onStartup": false
12
+ },
13
+ "configSchema": {
14
+ "type": "object",
15
+ "additionalProperties": false
16
+ }
17
+ }
package/package.json CHANGED
@@ -1,27 +1,33 @@
1
1
  {
2
2
  "name": "@pinchpass/cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "One-time E2E-encrypted secret request links for OpenClaw agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "files": [
8
8
  "dist",
9
- "SKILL.md"
9
+ "SKILL.md",
10
+ "openclaw.plugin.json"
10
11
  ],
11
12
  "openclaw": {
12
- "extensions": [
13
- "./dist/index.js"
14
- ]
13
+ "extensions": ["./dist/index.js"],
14
+ "compat": {
15
+ "pluginApi": ">=2026.3.24-beta.2",
16
+ "minGatewayVersion": "2026.3.24-beta.2"
17
+ },
18
+ "build": {
19
+ "openclawVersion": "2026.3.24-beta.2",
20
+ "pluginSdkVersion": "2026.3.24-beta.2"
21
+ }
15
22
  },
16
23
  "scripts": {
17
24
  "build": "tsc",
18
25
  "prepublishOnly": "npm run build"
19
26
  },
20
27
  "dependencies": {
21
- "@opencode-ai/plugin": "^1.16.2"
28
+ "openclaw": "^2026.6.1"
22
29
  },
23
30
  "devDependencies": {
24
- "@types/node": "^25.9.2",
25
31
  "typescript": "^5.9.0"
26
32
  },
27
33
  "publishConfig": {
package/dist/index.d.ts DELETED
@@ -1,22 +0,0 @@
1
- declare const _default: ({ $ }: {
2
- $: any;
3
- }) => Promise<{
4
- tool: {
5
- request_secret: {
6
- description: string;
7
- args: {
8
- names: import("zod").ZodArray<import("zod").ZodString>;
9
- tunnel: import("zod").ZodOptional<import("zod").ZodBoolean>;
10
- note: import("zod").ZodOptional<import("zod").ZodString>;
11
- ttl: import("zod").ZodOptional<import("zod").ZodNumber>;
12
- };
13
- execute(args: {
14
- names: string[];
15
- tunnel?: boolean | undefined;
16
- note?: string | undefined;
17
- ttl?: number | undefined;
18
- }, context: import("@opencode-ai/plugin/tool").ToolContext): Promise<import("@opencode-ai/plugin/tool").ToolResult>;
19
- };
20
- };
21
- }>;
22
- export default _default;