@executor-js/plugin-keychain 1.5.2 → 1.5.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.
@@ -0,0 +1,9 @@
1
+ declare const KeychainError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
2
+ readonly _tag: "KeychainError";
3
+ } & Readonly<A>;
4
+ export declare class KeychainError extends KeychainError_base<{
5
+ readonly message: string;
6
+ readonly cause?: unknown;
7
+ }> {
8
+ }
9
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Effect } from "effect";
2
+ import { type PluginCtx } from "@executor-js/sdk";
3
+ export { KeychainError } from "./errors";
4
+ export { makeKeychainProvider } from "./provider";
5
+ export { isSupportedPlatform, displayName } from "./keyring";
6
+ export interface KeychainPluginConfig {
7
+ /** Override the keychain service name (default: "executor") */
8
+ readonly serviceName?: string;
9
+ }
10
+ export type KeychainExtension = ReturnType<typeof makeKeychainExtension>;
11
+ declare const makeKeychainExtension: (_ctx: PluginCtx<unknown>, options: KeychainPluginConfig | undefined) => {
12
+ /** Human-readable name for the keychain on this platform */
13
+ displayName: string;
14
+ /** Whether the current platform supports system keychain */
15
+ isSupported: boolean;
16
+ /** Check if a secret exists in the system keychain. `id` is the opaque
17
+ * provider item id (the keychain account); v2 has no scope partitioning. */
18
+ has: (id: string) => Effect.Effect<boolean, never, never>;
19
+ };
20
+ export declare const keychainPlugin: import("@executor-js/sdk").ConfiguredPlugin<"keychain", {
21
+ /** Human-readable name for the keychain on this platform */
22
+ displayName: string;
23
+ /** Whether the current platform supports system keychain */
24
+ isSupported: boolean;
25
+ /** Check if a secret exists in the system keychain. `id` is the opaque
26
+ * provider item id (the keychain account); v2 has no scope partitioning. */
27
+ has: (id: string) => Effect.Effect<boolean, never, never>;
28
+ }, {}, KeychainPluginConfig, undefined, import("effect/Layer").Layer<unknown, never, never>, import("effect/unstable/httpapi/HttpApiGroup").Any>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Effect } from "effect";
2
+ import { KeychainError } from "./errors";
3
+ export declare const isSupportedPlatform: () => boolean;
4
+ export declare const displayName: () => "macOS Keychain" | "Windows Credential Manager" | "Desktop Keyring";
5
+ export declare const resolveServiceName: (explicit?: string) => string;
6
+ export declare const getPassword: (serviceName: string, account: string) => Effect.Effect<string | null, KeychainError>;
7
+ export declare const setPassword: (serviceName: string, account: string, value: string) => Effect.Effect<void, KeychainError>;
8
+ export declare const deletePassword: (serviceName: string, account: string) => Effect.Effect<boolean, KeychainError>;
@@ -0,0 +1,4 @@
1
+ import { type Plugin } from "@executor-js/sdk";
2
+ import { type KeychainExtension, type KeychainPluginConfig } from "./index";
3
+ export type { KeychainPluginConfig } from "./index";
4
+ export declare const keychainPlugin: (config?: KeychainPluginConfig) => Plugin<"keychain", KeychainExtension, Record<string, never>>;
@@ -0,0 +1,2 @@
1
+ import { type CredentialProvider } from "@executor-js/sdk";
2
+ export declare const makeKeychainProvider: (serviceName: string) => CredentialProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@executor-js/plugin-keychain",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/keychain",
5
5
  "bugs": {
6
6
  "url": "https://github.com/RhysSullivan/executor/issues"
@@ -40,18 +40,18 @@
40
40
  "typecheck:slow": "bunx tsc --noEmit -p tsconfig.json"
41
41
  },
42
42
  "dependencies": {
43
- "@executor-js/sdk": "1.5.2",
43
+ "@executor-js/sdk": "1.5.4",
44
44
  "@napi-rs/keyring": "^1.2.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@effect/vitest": "catalog:",
48
- "@types/node": "catalog:",
49
- "bun-types": "catalog:",
50
- "effect": "catalog:",
51
- "tsup": "catalog:",
52
- "vitest": "catalog:"
47
+ "@effect/vitest": "4.0.0-beta.59",
48
+ "@types/node": "^24.3.1",
49
+ "bun-types": "^1.2.22",
50
+ "effect": "4.0.0-beta.59",
51
+ "tsup": "^8.5.0",
52
+ "vitest": "^4.1.5"
53
53
  },
54
54
  "peerDependencies": {
55
- "effect": "catalog:"
55
+ "effect": "4.0.0-beta.59"
56
56
  }
57
57
  }