@sigma-auth/better-auth-plugin 0.0.41 → 0.0.42

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.
@@ -1,6 +1,9 @@
1
1
  import type { BetterFetchOption } from "@better-fetch/fetch";
2
2
  import type { ConnectedWallet, NFTListResponse, NFTOwnershipResponse, OAuthCallbackResult, SubscriptionStatus, SubscriptionTier } from "../types/index.js";
3
+ import { type SigmaSigner } from "./local-signer.js";
3
4
  export type { BAPProfile, ConnectedWallet, NFT, NFTListResponse, NFTOwnershipResponse, OAuthCallbackError, OAuthCallbackResult, SigmaJWTPayload, SigmaUserInfo, SubscriptionStatus, SubscriptionTier, WalletNFTs, } from "../types/index.js";
5
+ export { LocalServerSigner, type SigmaSigner } from "./local-signer.js";
6
+ export { SigmaIframeSigner } from "./signer.js";
4
7
  /**
5
8
  * Options for Sigma sign-in (OAuth redirect mode)
6
9
  * When authToken is NOT provided, clientId is REQUIRED for OAuth flow
@@ -34,6 +37,33 @@ export interface SigmaSignInOptions {
34
37
  */
35
38
  fetchOptions?: BetterFetchOption;
36
39
  }
40
+ /**
41
+ * Options for the Sigma client plugin
42
+ */
43
+ export interface SigmaClientOptions {
44
+ /**
45
+ * Prefer local TokenPass server over cloud iframe signer.
46
+ * If true, the client will probe for a local server first
47
+ * and only fall back to cloud if unavailable.
48
+ * Default: false
49
+ */
50
+ preferLocal?: boolean;
51
+ /**
52
+ * Local server URL (default: http://localhost:21000)
53
+ * Can also be set via NEXT_PUBLIC_TOKENPASS_URL env var
54
+ */
55
+ localServerUrl?: string;
56
+ /**
57
+ * Timeout for local server requests in milliseconds (default: 5000)
58
+ */
59
+ localServerTimeout?: number;
60
+ /**
61
+ * Callback when server type is detected
62
+ * @param url - The server URL being used
63
+ * @param isLocal - True if using local server, false if cloud
64
+ */
65
+ onServerDetected?: (url: string, isLocal: boolean) => void;
66
+ }
37
67
  /**
38
68
  * Sigma Auth client plugin for Better Auth
39
69
  * Provides browser-side OAuth flow with PKCE
@@ -67,7 +97,7 @@ export interface SigmaSignInOptions {
67
97
  *
68
98
  * export const authClient = createAuthClient({
69
99
  * baseURL: "https://auth.sigmaidentity.com",
70
- * plugins: [sigmaClient()],
100
+ * plugins: [sigmaClient({ preferLocal: true })],
71
101
  * });
72
102
  *
73
103
  * // Sign in with Sigma
@@ -77,7 +107,7 @@ export interface SigmaSignInOptions {
77
107
  * });
78
108
  * ```
79
109
  */
80
- export declare const sigmaClient: () => {
110
+ export declare const sigmaClient: (options?: SigmaClientOptions) => {
81
111
  id: "sigma";
82
112
  getActions: ($fetch: import("@better-fetch/fetch").BetterFetch, $store: import("better-auth").ClientStore) => {
83
113
  subscription: {
@@ -268,6 +298,25 @@ export declare const sigmaClient: () => {
268
298
  * Call this on logout
269
299
  */
270
300
  clearIdentity: () => void;
301
+ /**
302
+ * Detect which server to use (local vs cloud)
303
+ * Call this to explicitly probe for local server
304
+ * @returns Promise resolving to { url: string, isLocal: boolean }
305
+ */
306
+ detectServer: () => Promise<{
307
+ url: string;
308
+ isLocal: boolean;
309
+ }>;
310
+ /**
311
+ * Get the current signer type being used
312
+ * @returns 'local' | 'iframe' | null
313
+ */
314
+ getSignerType: () => "local" | "iframe" | null;
315
+ /**
316
+ * Get the underlying signer instance
317
+ * Useful for advanced usage
318
+ */
319
+ getSigner: () => Promise<SigmaSigner>;
271
320
  /**
272
321
  * Check if the signer is ready for signing
273
322
  * @returns true if identity is set and signer is initialized
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
+ import { LocalServerSigner, } from "./local-signer.js";
1
2
  import { SigmaIframeSigner } from "./signer.js";
3
+ // Re-export signer types and classes
4
+ export { LocalServerSigner } from "./local-signer.js";
5
+ export { SigmaIframeSigner } from "./signer.js";
2
6
  // Module-level state for signer (singleton per page)
3
7
  let signer = null;
8
+ let signerType = null;
4
9
  let storedBapId = null;
5
10
  // Storage key for persisting bapId
6
11
  const BAP_ID_STORAGE_KEY = "sigma_bap_id";
@@ -14,15 +19,54 @@ const getSigmaUrl = () => {
14
19
  }
15
20
  return "https://auth.sigmaidentity.com";
16
21
  };
22
+ /**
23
+ * Get the local server URL from environment or default
24
+ */
25
+ const getLocalServerUrl = () => {
26
+ if (typeof process !== "undefined" && process.env.NEXT_PUBLIC_TOKENPASS_URL) {
27
+ return process.env.NEXT_PUBLIC_TOKENPASS_URL;
28
+ }
29
+ return "http://localhost:21000";
30
+ };
31
+ // Module-level options for server detection
32
+ let preferLocalServer = false;
33
+ let localServerOptions = {};
34
+ let serverDetectedCallback;
17
35
  /**
18
36
  * Initialize or get the signer instance (lazy singleton)
37
+ * Will prefer local server if configured and available
19
38
  */
20
39
  const getOrCreateSigner = async () => {
21
- if (!signer) {
22
- signer = new SigmaIframeSigner(getSigmaUrl());
40
+ if (signer?.isReady()) {
41
+ return signer;
42
+ }
43
+ // If we prefer local and haven't tried yet, check for local server
44
+ if (preferLocalServer && signerType !== "iframe") {
45
+ const localSigner = new LocalServerSigner({
46
+ baseUrl: localServerOptions.baseUrl || getLocalServerUrl(),
47
+ timeout: localServerOptions.timeout,
48
+ });
49
+ if (await localSigner.probe()) {
50
+ // Local server is available
51
+ signer = localSigner;
52
+ signerType = "local";
53
+ serverDetectedCallback?.(localSigner.getBaseUrl(), true);
54
+ // Try to authenticate with current host
55
+ const host = typeof window !== "undefined" ? window.location.host : "localhost";
56
+ await localSigner.authenticate(host);
57
+ return signer;
58
+ }
23
59
  }
24
- if (!signer.isReady()) {
25
- await signer.init();
60
+ // Fall back to iframe signer (cloud)
61
+ if (!signer || signerType !== "iframe") {
62
+ const iframeSigner = new SigmaIframeSigner(getSigmaUrl());
63
+ signer = iframeSigner;
64
+ signerType = "iframe";
65
+ serverDetectedCallback?.(getSigmaUrl(), false);
66
+ }
67
+ const iframeSigner = signer;
68
+ if (!iframeSigner.isReady()) {
69
+ await iframeSigner.init();
26
70
  }
27
71
  return signer;
28
72
  };
@@ -91,7 +135,7 @@ const generateCodeChallenge = async (verifier) => {
91
135
  *
92
136
  * export const authClient = createAuthClient({
93
137
  * baseURL: "https://auth.sigmaidentity.com",
94
- * plugins: [sigmaClient()],
138
+ * plugins: [sigmaClient({ preferLocal: true })],
95
139
  * });
96
140
  *
97
141
  * // Sign in with Sigma
@@ -101,7 +145,14 @@ const generateCodeChallenge = async (verifier) => {
101
145
  * });
102
146
  * ```
103
147
  */
104
- export const sigmaClient = () => {
148
+ export const sigmaClient = (options = {}) => {
149
+ // Configure module-level options for signer detection
150
+ preferLocalServer = options.preferLocal ?? false;
151
+ localServerOptions = {
152
+ baseUrl: options.localServerUrl,
153
+ timeout: options.localServerTimeout,
154
+ };
155
+ serverDetectedCallback = options.onServerDetected;
105
156
  return {
106
157
  id: "sigma",
107
158
  getActions: ($fetch, $store) => {
@@ -625,7 +676,37 @@ export const sigmaClient = () => {
625
676
  if (signer) {
626
677
  signer.destroy();
627
678
  signer = null;
679
+ signerType = null;
680
+ }
681
+ },
682
+ /**
683
+ * Detect which server to use (local vs cloud)
684
+ * Call this to explicitly probe for local server
685
+ * @returns Promise resolving to { url: string, isLocal: boolean }
686
+ */
687
+ detectServer: async () => {
688
+ const localSigner = new LocalServerSigner({
689
+ baseUrl: localServerOptions.baseUrl || getLocalServerUrl(),
690
+ timeout: localServerOptions.timeout,
691
+ });
692
+ if (await localSigner.probe()) {
693
+ return { url: localSigner.getBaseUrl(), isLocal: true };
628
694
  }
695
+ return { url: getSigmaUrl(), isLocal: false };
696
+ },
697
+ /**
698
+ * Get the current signer type being used
699
+ * @returns 'local' | 'iframe' | null
700
+ */
701
+ getSignerType: () => {
702
+ return signerType;
703
+ },
704
+ /**
705
+ * Get the underlying signer instance
706
+ * Useful for advanced usage
707
+ */
708
+ getSigner: async () => {
709
+ return getOrCreateSigner();
629
710
  },
630
711
  /**
631
712
  * Check if the signer is ready for signing
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Local Server Signer
3
+ *
4
+ * Provides signing and encryption via HTTP calls to a local TokenPass server.
5
+ * This is an alternative to SigmaIframeSigner for users who run TokenPass locally.
6
+ *
7
+ * Features:
8
+ * - Probes for local server availability
9
+ * - Authenticates with the local server to get access tokens
10
+ * - Signs requests using bitcoin-auth format
11
+ * - Supports AIP signing for OP_RETURN data
12
+ * - Supports Type42 encryption/decryption
13
+ */
14
+ /**
15
+ * Interface for the Sigma signer implementations
16
+ */
17
+ export interface SigmaSigner {
18
+ sign(path: string, body?: string, signatureType?: "bsm" | "brc77"): Promise<string>;
19
+ signAIP(hexArray: string[]): Promise<string[]>;
20
+ encrypt(data: string, friendBapId: string, theirPublicKey?: string): Promise<string>;
21
+ decrypt(ciphertext: string, friendBapId: string, theirPublicKey?: string): Promise<string>;
22
+ getFriendPublicKey(friendBapId: string): Promise<string>;
23
+ isReady(): boolean;
24
+ setIdentity(bapId: string): void;
25
+ getIdentity(): string | null;
26
+ destroy(): void;
27
+ }
28
+ export interface LocalServerSignerOptions {
29
+ /** Base URL of the local TokenPass server (default: http://localhost:21000) */
30
+ baseUrl?: string;
31
+ /** Request timeout in milliseconds (default: 5000) */
32
+ timeout?: number;
33
+ }
34
+ export interface LocalServerStatus {
35
+ created: boolean;
36
+ unlocked: boolean;
37
+ bapId?: string;
38
+ address?: string;
39
+ }
40
+ /**
41
+ * LocalServerSigner - HTTP-based signer for local TokenPass server
42
+ *
43
+ * This signer communicates with a locally-running TokenPass server
44
+ * via HTTP instead of using an iframe. This provides a better UX for
45
+ * users who prefer to run their own identity server.
46
+ */
47
+ export declare class LocalServerSigner implements SigmaSigner {
48
+ private baseUrl;
49
+ private timeout;
50
+ private accessToken;
51
+ private currentBapId;
52
+ constructor(options?: LocalServerSignerOptions);
53
+ /**
54
+ * Check if the local TokenPass server is running and accessible
55
+ */
56
+ probe(): Promise<boolean>;
57
+ /**
58
+ * Get the status of the local TokenPass server
59
+ */
60
+ getStatus(): Promise<LocalServerStatus | null>;
61
+ /**
62
+ * Authenticate with the local server to get an access token
63
+ */
64
+ authenticate(host: string, scopes?: string[], expiry?: string): Promise<boolean>;
65
+ /**
66
+ * Check if the signer is ready (has an access token)
67
+ */
68
+ isReady(): boolean;
69
+ /**
70
+ * Set the identity (BAP ID) for signing
71
+ */
72
+ setIdentity(bapId: string): void;
73
+ /**
74
+ * Get the current identity
75
+ */
76
+ getIdentity(): string | null;
77
+ /**
78
+ * Sign a request using the local TokenPass server
79
+ * Returns a bitcoin-auth format token: pubkey|scheme|timestamp|path|signature
80
+ */
81
+ sign(path: string, body?: string, signatureType?: "bsm" | "brc77"): Promise<string>;
82
+ /**
83
+ * Sign OP_RETURN data with AIP for Bitcoin transactions
84
+ */
85
+ signAIP(hexArray: string[]): Promise<string[]>;
86
+ /**
87
+ * Encrypt data for a specific friend using Type42 key derivation
88
+ */
89
+ encrypt(data: string, friendBapId: string, theirPublicKey?: string): Promise<string>;
90
+ /**
91
+ * Decrypt data from a specific friend using Type42 key derivation
92
+ */
93
+ decrypt(ciphertext: string, friendBapId: string, theirPublicKey?: string): Promise<string>;
94
+ /**
95
+ * Get the derived public key for a specific friend
96
+ */
97
+ getFriendPublicKey(friendBapId: string): Promise<string>;
98
+ /**
99
+ * Get the base URL of this signer
100
+ */
101
+ getBaseUrl(): string;
102
+ /**
103
+ * Cleanup - nothing to do for HTTP client
104
+ */
105
+ destroy(): void;
106
+ }
107
+ //# sourceMappingURL=local-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-signer.d.ts","sourceRoot":"","sources":["../../src/client/local-signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,CACH,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,OAAO,CACN,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,CACN,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,IAAI,OAAO,CAAC;IACnB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACxC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;gBAE/B,OAAO,GAAE,wBAA6B;IAKlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAmBpD;;OAEG;IACG,YAAY,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,EAAmC,EACjD,MAAM,SAAO,GACX,OAAO,CAAC,OAAO,CAAC;IAwBnB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;;OAGG;IACG,IAAI,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,GAAE,KAAK,GAAG,OAAiB,GACtC,OAAO,CAAC,MAAM,CAAC;IAsClB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkCpD;;OAEG;IACG,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAsClB;;OAEG;IACG,OAAO,CACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAsClB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC9D;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;CAIf"}
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Local Server Signer
3
+ *
4
+ * Provides signing and encryption via HTTP calls to a local TokenPass server.
5
+ * This is an alternative to SigmaIframeSigner for users who run TokenPass locally.
6
+ *
7
+ * Features:
8
+ * - Probes for local server availability
9
+ * - Authenticates with the local server to get access tokens
10
+ * - Signs requests using bitcoin-auth format
11
+ * - Supports AIP signing for OP_RETURN data
12
+ * - Supports Type42 encryption/decryption
13
+ */
14
+ /**
15
+ * LocalServerSigner - HTTP-based signer for local TokenPass server
16
+ *
17
+ * This signer communicates with a locally-running TokenPass server
18
+ * via HTTP instead of using an iframe. This provides a better UX for
19
+ * users who prefer to run their own identity server.
20
+ */
21
+ export class LocalServerSigner {
22
+ baseUrl;
23
+ timeout;
24
+ accessToken = null;
25
+ currentBapId = null;
26
+ constructor(options = {}) {
27
+ this.baseUrl = options.baseUrl || "http://localhost:21000";
28
+ this.timeout = options.timeout || 5000;
29
+ }
30
+ /**
31
+ * Check if the local TokenPass server is running and accessible
32
+ */
33
+ async probe() {
34
+ try {
35
+ const controller = new AbortController();
36
+ const timeoutId = setTimeout(() => controller.abort(), 500);
37
+ const res = await fetch(`${this.baseUrl}/api/status`, {
38
+ signal: controller.signal,
39
+ });
40
+ clearTimeout(timeoutId);
41
+ return res.ok;
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ /**
48
+ * Get the status of the local TokenPass server
49
+ */
50
+ async getStatus() {
51
+ try {
52
+ const controller = new AbortController();
53
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
54
+ const res = await fetch(`${this.baseUrl}/api/status`, {
55
+ signal: controller.signal,
56
+ });
57
+ clearTimeout(timeoutId);
58
+ if (!res.ok)
59
+ return null;
60
+ return (await res.json());
61
+ }
62
+ catch {
63
+ return null;
64
+ }
65
+ }
66
+ /**
67
+ * Authenticate with the local server to get an access token
68
+ */
69
+ async authenticate(host, scopes = ["sign", "encrypt", "decrypt"], expiry = "1h") {
70
+ try {
71
+ const controller = new AbortController();
72
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
73
+ const res = await fetch(`${this.baseUrl}/api/auth`, {
74
+ method: "POST",
75
+ headers: { "Content-Type": "application/json" },
76
+ body: JSON.stringify({ host, scopes, expiry }),
77
+ signal: controller.signal,
78
+ });
79
+ clearTimeout(timeoutId);
80
+ if (!res.ok)
81
+ return false;
82
+ const data = (await res.json());
83
+ this.accessToken = data.accessToken;
84
+ return true;
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ }
90
+ /**
91
+ * Check if the signer is ready (has an access token)
92
+ */
93
+ isReady() {
94
+ return this.accessToken !== null;
95
+ }
96
+ /**
97
+ * Set the identity (BAP ID) for signing
98
+ */
99
+ setIdentity(bapId) {
100
+ this.currentBapId = bapId;
101
+ }
102
+ /**
103
+ * Get the current identity
104
+ */
105
+ getIdentity() {
106
+ return this.currentBapId;
107
+ }
108
+ /**
109
+ * Sign a request using the local TokenPass server
110
+ * Returns a bitcoin-auth format token: pubkey|scheme|timestamp|path|signature
111
+ */
112
+ async sign(path, body, signatureType = "brc77") {
113
+ if (!this.accessToken) {
114
+ throw new Error("Not authenticated. Call authenticate() first.");
115
+ }
116
+ const controller = new AbortController();
117
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
118
+ try {
119
+ const res = await fetch(`${this.baseUrl}/api/sign`, {
120
+ method: "POST",
121
+ headers: {
122
+ "Content-Type": "application/json",
123
+ Authorization: `Bearer ${this.accessToken}`,
124
+ },
125
+ body: JSON.stringify({
126
+ path,
127
+ body,
128
+ signatureType,
129
+ }),
130
+ signal: controller.signal,
131
+ });
132
+ clearTimeout(timeoutId);
133
+ if (!res.ok) {
134
+ const error = await res.text();
135
+ throw new Error(`Sign request failed: ${error}`);
136
+ }
137
+ const data = (await res.json());
138
+ return data.token;
139
+ }
140
+ catch (err) {
141
+ clearTimeout(timeoutId);
142
+ throw err;
143
+ }
144
+ }
145
+ /**
146
+ * Sign OP_RETURN data with AIP for Bitcoin transactions
147
+ */
148
+ async signAIP(hexArray) {
149
+ if (!this.accessToken) {
150
+ throw new Error("Not authenticated. Call authenticate() first.");
151
+ }
152
+ const controller = new AbortController();
153
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
154
+ try {
155
+ const res = await fetch(`${this.baseUrl}/api/sign-aip`, {
156
+ method: "POST",
157
+ headers: {
158
+ "Content-Type": "application/json",
159
+ Authorization: `Bearer ${this.accessToken}`,
160
+ },
161
+ body: JSON.stringify({ data: hexArray }),
162
+ signal: controller.signal,
163
+ });
164
+ clearTimeout(timeoutId);
165
+ if (!res.ok) {
166
+ const error = await res.text();
167
+ throw new Error(`AIP sign request failed: ${error}`);
168
+ }
169
+ const data = (await res.json());
170
+ return data.signedOps;
171
+ }
172
+ catch (err) {
173
+ clearTimeout(timeoutId);
174
+ throw err;
175
+ }
176
+ }
177
+ /**
178
+ * Encrypt data for a specific friend using Type42 key derivation
179
+ */
180
+ async encrypt(data, friendBapId, theirPublicKey) {
181
+ if (!this.accessToken) {
182
+ throw new Error("Not authenticated. Call authenticate() first.");
183
+ }
184
+ const controller = new AbortController();
185
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
186
+ try {
187
+ const res = await fetch(`${this.baseUrl}/api/encrypt`, {
188
+ method: "POST",
189
+ headers: {
190
+ "Content-Type": "application/json",
191
+ Authorization: `Bearer ${this.accessToken}`,
192
+ },
193
+ body: JSON.stringify({
194
+ data,
195
+ friendBapId,
196
+ theirPublicKey,
197
+ }),
198
+ signal: controller.signal,
199
+ });
200
+ clearTimeout(timeoutId);
201
+ if (!res.ok) {
202
+ const error = await res.text();
203
+ throw new Error(`Encrypt request failed: ${error}`);
204
+ }
205
+ const result = (await res.json());
206
+ return result.ciphertext;
207
+ }
208
+ catch (err) {
209
+ clearTimeout(timeoutId);
210
+ throw err;
211
+ }
212
+ }
213
+ /**
214
+ * Decrypt data from a specific friend using Type42 key derivation
215
+ */
216
+ async decrypt(ciphertext, friendBapId, theirPublicKey) {
217
+ if (!this.accessToken) {
218
+ throw new Error("Not authenticated. Call authenticate() first.");
219
+ }
220
+ const controller = new AbortController();
221
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
222
+ try {
223
+ const res = await fetch(`${this.baseUrl}/api/decrypt`, {
224
+ method: "POST",
225
+ headers: {
226
+ "Content-Type": "application/json",
227
+ Authorization: `Bearer ${this.accessToken}`,
228
+ },
229
+ body: JSON.stringify({
230
+ ciphertext,
231
+ friendBapId,
232
+ theirPublicKey,
233
+ }),
234
+ signal: controller.signal,
235
+ });
236
+ clearTimeout(timeoutId);
237
+ if (!res.ok) {
238
+ const error = await res.text();
239
+ throw new Error(`Decrypt request failed: ${error}`);
240
+ }
241
+ const result = (await res.json());
242
+ return result.data;
243
+ }
244
+ catch (err) {
245
+ clearTimeout(timeoutId);
246
+ throw err;
247
+ }
248
+ }
249
+ /**
250
+ * Get the derived public key for a specific friend
251
+ */
252
+ async getFriendPublicKey(friendBapId) {
253
+ if (!this.accessToken) {
254
+ throw new Error("Not authenticated. Call authenticate() first.");
255
+ }
256
+ const controller = new AbortController();
257
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
258
+ try {
259
+ const res = await fetch(`${this.baseUrl}/api/friend-pubkey`, {
260
+ method: "POST",
261
+ headers: {
262
+ "Content-Type": "application/json",
263
+ Authorization: `Bearer ${this.accessToken}`,
264
+ },
265
+ body: JSON.stringify({ friendBapId }),
266
+ signal: controller.signal,
267
+ });
268
+ clearTimeout(timeoutId);
269
+ if (!res.ok) {
270
+ const error = await res.text();
271
+ throw new Error(`Get friend public key failed: ${error}`);
272
+ }
273
+ const result = (await res.json());
274
+ return result.publicKey;
275
+ }
276
+ catch (err) {
277
+ clearTimeout(timeoutId);
278
+ throw err;
279
+ }
280
+ }
281
+ /**
282
+ * Get the base URL of this signer
283
+ */
284
+ getBaseUrl() {
285
+ return this.baseUrl;
286
+ }
287
+ /**
288
+ * Cleanup - nothing to do for HTTP client
289
+ */
290
+ destroy() {
291
+ this.accessToken = null;
292
+ this.currentBapId = null;
293
+ }
294
+ }
295
+ //# sourceMappingURL=local-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-signer.js","sourceRoot":"","sources":["../../src/client/local-signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Local Signer Server Helpers
3
+ *
4
+ * Utilities for building a local sigma-auth server that LocalServerSigner can connect to.
5
+ * Use these to create consistent API responses and validate access tokens.
6
+ */
7
+ import { type AuthToken, parseAuthToken, verifyAuthToken } from "bitcoin-auth";
8
+ /**
9
+ * Access token validation options
10
+ */
11
+ export interface ValidateAccessTokenOptions {
12
+ /** The access token from Authorization header */
13
+ accessToken: string;
14
+ /** Function to look up token state from database */
15
+ findState: (accessToken: string) => Promise<{
16
+ accessToken: string;
17
+ expireTime?: number;
18
+ host?: string;
19
+ scopes?: string[];
20
+ } | null>;
21
+ /** Required scopes (optional) */
22
+ requiredScopes?: string[];
23
+ }
24
+ /**
25
+ * Access token validation result
26
+ */
27
+ export interface AccessTokenValidation {
28
+ valid: boolean;
29
+ error?: string;
30
+ code?: number;
31
+ host?: string;
32
+ scopes?: string[];
33
+ }
34
+ /**
35
+ * Validate an access token from Authorization header
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { validateAccessToken, extractAccessToken } from "@sigma-auth/better-auth-plugin/server/local";
40
+ *
41
+ * const authHeader = request.headers.get("authorization");
42
+ * const accessToken = extractAccessToken(authHeader);
43
+ *
44
+ * const validation = await validateAccessToken({
45
+ * accessToken,
46
+ * findState: (token) => db.states.findOne({ accessToken: token }),
47
+ * });
48
+ *
49
+ * if (!validation.valid) {
50
+ * return Response.json({ error: validation.error, success: false }, { status: 401 });
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function validateAccessToken(options: ValidateAccessTokenOptions): Promise<AccessTokenValidation>;
55
+ /**
56
+ * Extract access token from Authorization header
57
+ * Supports both "Bearer <token>" and raw token formats
58
+ */
59
+ export declare function extractAccessToken(authHeader: string | null): string | null;
60
+ /**
61
+ * Standard error response format for local signer API
62
+ */
63
+ export interface LocalSignerError {
64
+ error: string;
65
+ code?: number;
66
+ success: false;
67
+ }
68
+ /**
69
+ * Create a standard error response
70
+ */
71
+ export declare function createErrorResponse(error: string, code?: number): LocalSignerError;
72
+ /**
73
+ * Response types for local signer endpoints
74
+ */
75
+ export interface SignResponse {
76
+ token: string;
77
+ success: true;
78
+ }
79
+ export interface AIPSignResponse {
80
+ signedOps: string[];
81
+ success: true;
82
+ }
83
+ export interface EncryptResponse {
84
+ ciphertext: string;
85
+ success: true;
86
+ }
87
+ export interface DecryptResponse {
88
+ data: string;
89
+ success: true;
90
+ }
91
+ export interface FriendPubkeyResponse {
92
+ publicKey: string;
93
+ success: true;
94
+ }
95
+ export interface AuthResponse {
96
+ accessToken: string;
97
+ expireTime: number;
98
+ host: string;
99
+ success: true;
100
+ }
101
+ export interface StatusResponse {
102
+ unlocked: boolean;
103
+ success: true;
104
+ }
105
+ export { verifyAuthToken, parseAuthToken, type AuthToken };
106
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/server/local.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IACV,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAoDhC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACX,gBAAgB,CAMlB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;CACd;AAGD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Local Signer Server Helpers
3
+ *
4
+ * Utilities for building a local sigma-auth server that LocalServerSigner can connect to.
5
+ * Use these to create consistent API responses and validate access tokens.
6
+ */
7
+ import { parseAuthToken, verifyAuthToken } from "bitcoin-auth";
8
+ /**
9
+ * Validate an access token from Authorization header
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { validateAccessToken, extractAccessToken } from "@sigma-auth/better-auth-plugin/server/local";
14
+ *
15
+ * const authHeader = request.headers.get("authorization");
16
+ * const accessToken = extractAccessToken(authHeader);
17
+ *
18
+ * const validation = await validateAccessToken({
19
+ * accessToken,
20
+ * findState: (token) => db.states.findOne({ accessToken: token }),
21
+ * });
22
+ *
23
+ * if (!validation.valid) {
24
+ * return Response.json({ error: validation.error, success: false }, { status: 401 });
25
+ * }
26
+ * ```
27
+ */
28
+ export async function validateAccessToken(options) {
29
+ const { accessToken, findState, requiredScopes } = options;
30
+ if (!accessToken) {
31
+ return {
32
+ valid: false,
33
+ error: "Please provide an access token in the Authorization header.",
34
+ code: 2,
35
+ };
36
+ }
37
+ const state = await findState(accessToken);
38
+ if (!state?.accessToken || state.accessToken !== accessToken) {
39
+ return {
40
+ valid: false,
41
+ error: "Invalid access token.",
42
+ code: 3,
43
+ };
44
+ }
45
+ // Check expiration (0 means never expires)
46
+ if (state.expireTime &&
47
+ state.expireTime !== 0 &&
48
+ state.expireTime < Date.now()) {
49
+ return {
50
+ valid: false,
51
+ error: "Access token has expired.",
52
+ code: 5,
53
+ };
54
+ }
55
+ // Check required scopes
56
+ if (requiredScopes?.length) {
57
+ const hasAllScopes = requiredScopes.every((scope) => state.scopes?.includes(scope));
58
+ if (!hasAllScopes) {
59
+ return {
60
+ valid: false,
61
+ error: `Missing required scopes: ${requiredScopes.join(", ")}`,
62
+ code: 6,
63
+ };
64
+ }
65
+ }
66
+ return {
67
+ valid: true,
68
+ host: state.host,
69
+ scopes: state.scopes,
70
+ };
71
+ }
72
+ /**
73
+ * Extract access token from Authorization header
74
+ * Supports both "Bearer <token>" and raw token formats
75
+ */
76
+ export function extractAccessToken(authHeader) {
77
+ if (!authHeader)
78
+ return null;
79
+ return authHeader.replace(/^Bearer\s+/i, "").trim() || null;
80
+ }
81
+ /**
82
+ * Create a standard error response
83
+ */
84
+ export function createErrorResponse(error, code) {
85
+ return {
86
+ error,
87
+ code,
88
+ success: false,
89
+ };
90
+ }
91
+ // Re-export bitcoin-auth functions for convenience
92
+ export { verifyAuthToken, parseAuthToken };
93
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/server/local.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAkB,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AA8B/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAAmC;IAEnC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE3D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,6DAA6D;YACpE,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QAC9D,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IACC,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,UAAU,KAAK,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAC5B,CAAC;QACF,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,2BAA2B;YAClC,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC7B,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,4BAA4B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9D,IAAI,EAAE,CAAC;aACP,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO;QACN,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAyB;IAC3D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAC7D,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAa,EACb,IAAa;IAEb,OAAO;QACN,KAAK;QACL,IAAI;QACJ,OAAO,EAAE,KAAK;KACd,CAAC;AACH,CAAC;AA0CD,mDAAmD;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigma-auth/better-auth-plugin",
3
- "version": "0.0.41",
3
+ "version": "0.0.42",
4
4
  "description": "Better Auth plugins for Sigma Identity - client, server, and provider integrations",
5
5
  "type": "module",
6
6
  "main": "./dist/types/index.js",
@@ -14,10 +14,18 @@
14
14
  "types": "./dist/client/index.d.ts",
15
15
  "import": "./dist/client/index.js"
16
16
  },
17
+ "./client/local": {
18
+ "types": "./dist/client/local-signer.d.ts",
19
+ "import": "./dist/client/local-signer.js"
20
+ },
17
21
  "./server": {
18
22
  "types": "./dist/server/index.d.ts",
19
23
  "import": "./dist/server/index.js"
20
24
  },
25
+ "./server/local": {
26
+ "types": "./dist/server/local.d.ts",
27
+ "import": "./dist/server/local.js"
28
+ },
21
29
  "./next": {
22
30
  "types": "./dist/next/index.d.ts",
23
31
  "import": "./dist/next/index.js"