@neus/sdk 1.1.4 → 1.1.5
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 -10
- package/cjs/client.cjs +5 -5
- package/cjs/index.cjs +5 -5
- package/cli/neus.mjs +76 -27
- package/client.js +5 -5
- package/package.json +1 -1
- package/types.d.ts +1011 -1011
- package/widgets/verify-gate/dist/ProofBadge.js +1 -1
- package/widgets/verify-gate/dist/VerifyGate.js +1 -1
package/types.d.ts
CHANGED
|
@@ -1,1005 +1,1005 @@
|
|
|
1
|
-
declare module '@neus/sdk' {
|
|
2
|
-
export interface Eip1193Provider {
|
|
3
|
-
request(args: { method: string; params?: unknown[] | Record<string, unknown> }): Promise<unknown>;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export type WalletLike = Eip1193Provider | { address?: string } | { getAddress?: () => Promise<string> } | { signMessage?: (message: string) => Promise<string> };
|
|
7
|
-
|
|
8
|
-
export class NeusClient {
|
|
9
|
-
constructor(config?: NeusClientConfig);
|
|
10
|
-
|
|
11
|
-
verifyFromApp(params: VerifyFromAppParams): Promise<VerificationResult>;
|
|
12
|
-
|
|
13
|
-
verify(params: VerifyParams): Promise<VerificationResult>;
|
|
14
|
-
|
|
15
|
-
getProof(qHash: string): Promise<StatusResult>;
|
|
16
|
-
|
|
17
|
-
getPrivateProof(qHash: string, wallet?: WalletLike | GatePrivateAuth): Promise<StatusResult>;
|
|
18
|
-
|
|
19
|
-
isHealthy(): Promise<boolean>;
|
|
20
|
-
|
|
21
|
-
getVerifiers(): Promise<string[]>;
|
|
22
|
-
|
|
23
|
-
getVerifierCatalog(): Promise<VerifierCatalog>;
|
|
24
|
-
|
|
25
|
-
createWalletLinkData(params: {
|
|
26
|
-
primaryWalletAddress: string;
|
|
27
|
-
secondaryWalletAddress: string;
|
|
28
|
-
wallet?: WalletLike;
|
|
29
|
-
chain?: string;
|
|
30
|
-
signedTimestamp?: number;
|
|
31
|
-
relationshipType?: 'primary' | 'personal' | 'org' | 'affiliate' | 'agent' | 'linked';
|
|
32
|
-
label?: string;
|
|
33
|
-
}): Promise<WalletLinkData>;
|
|
34
|
-
|
|
35
|
-
pollProofStatus(qHash: string, options?: PollOptions): Promise<StatusResult>;
|
|
36
|
-
|
|
37
|
-
revokeOwnProof(qHash: string, wallet?: { address: string }): Promise<boolean>;
|
|
38
|
-
|
|
39
|
-
getProofsByWallet(walletAddress: string, options?: GetProofsOptions): Promise<ProofsResult>;
|
|
40
|
-
|
|
41
|
-
getPrivateProofsByWallet(walletAddress: string, options?: GetProofsOptions, wallet?: WalletLike): Promise<ProofsResult>;
|
|
42
|
-
|
|
43
|
-
gateCheck(params: GateCheckApiParams): Promise<GateCheckApiResponse>;
|
|
44
|
-
|
|
45
|
-
createGatePrivateAuth(params: {
|
|
46
|
-
address: string;
|
|
47
|
-
wallet?: WalletLike;
|
|
48
|
-
chain?: string;
|
|
49
|
-
signatureMethod?: string;
|
|
50
|
-
}): Promise<GatePrivateAuth>;
|
|
51
|
-
|
|
52
|
-
checkGate(params: CheckGateParams): Promise<CheckGateResult>;
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export type PrivacyLevel = 'public' | 'private';
|
|
57
|
-
|
|
58
|
-
export interface NeusClientConfig {
|
|
59
|
-
apiUrl?: string;
|
|
1
|
+
declare module '@neus/sdk' {
|
|
2
|
+
export interface Eip1193Provider {
|
|
3
|
+
request(args: { method: string; params?: unknown[] | Record<string, unknown> }): Promise<unknown>;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export type WalletLike = Eip1193Provider | { address?: string } | { getAddress?: () => Promise<string> } | { signMessage?: (message: string) => Promise<string> };
|
|
7
|
+
|
|
8
|
+
export class NeusClient {
|
|
9
|
+
constructor(config?: NeusClientConfig);
|
|
10
|
+
|
|
11
|
+
verifyFromApp(params: VerifyFromAppParams): Promise<VerificationResult>;
|
|
12
|
+
|
|
13
|
+
verify(params: VerifyParams): Promise<VerificationResult>;
|
|
14
|
+
|
|
15
|
+
getProof(qHash: string): Promise<StatusResult>;
|
|
16
|
+
|
|
17
|
+
getPrivateProof(qHash: string, wallet?: WalletLike | GatePrivateAuth): Promise<StatusResult>;
|
|
18
|
+
|
|
19
|
+
isHealthy(): Promise<boolean>;
|
|
20
|
+
|
|
21
|
+
getVerifiers(): Promise<string[]>;
|
|
22
|
+
|
|
23
|
+
getVerifierCatalog(): Promise<VerifierCatalog>;
|
|
24
|
+
|
|
25
|
+
createWalletLinkData(params: {
|
|
26
|
+
primaryWalletAddress: string;
|
|
27
|
+
secondaryWalletAddress: string;
|
|
28
|
+
wallet?: WalletLike;
|
|
29
|
+
chain?: string;
|
|
30
|
+
signedTimestamp?: number;
|
|
31
|
+
relationshipType?: 'primary' | 'personal' | 'org' | 'affiliate' | 'agent' | 'linked';
|
|
32
|
+
label?: string;
|
|
33
|
+
}): Promise<WalletLinkData>;
|
|
34
|
+
|
|
35
|
+
pollProofStatus(qHash: string, options?: PollOptions): Promise<StatusResult>;
|
|
36
|
+
|
|
37
|
+
revokeOwnProof(qHash: string, wallet?: { address: string }): Promise<boolean>;
|
|
38
|
+
|
|
39
|
+
getProofsByWallet(walletAddress: string, options?: GetProofsOptions): Promise<ProofsResult>;
|
|
40
|
+
|
|
41
|
+
getPrivateProofsByWallet(walletAddress: string, options?: GetProofsOptions, wallet?: WalletLike): Promise<ProofsResult>;
|
|
42
|
+
|
|
43
|
+
gateCheck(params: GateCheckApiParams): Promise<GateCheckApiResponse>;
|
|
44
|
+
|
|
45
|
+
createGatePrivateAuth(params: {
|
|
46
|
+
address: string;
|
|
47
|
+
wallet?: WalletLike;
|
|
48
|
+
chain?: string;
|
|
49
|
+
signatureMethod?: string;
|
|
50
|
+
}): Promise<GatePrivateAuth>;
|
|
51
|
+
|
|
52
|
+
checkGate(params: CheckGateParams): Promise<CheckGateResult>;
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type PrivacyLevel = 'public' | 'private';
|
|
57
|
+
|
|
58
|
+
export interface NeusClientConfig {
|
|
59
|
+
apiUrl?: string;
|
|
60
60
|
/** Optional server profile key; MCP/CI only. Not required for VerifyGate or gateCheck. */
|
|
61
|
-
apiKey?: string;
|
|
62
|
-
/** Public app attribution id (non-secret). */
|
|
63
|
-
appId?: string;
|
|
61
|
+
apiKey?: string;
|
|
62
|
+
/** Public app attribution id (non-secret). */
|
|
63
|
+
appId?: string;
|
|
64
64
|
/** Advanced server/app sponsor wallet. Published gate checkout resolves billing from gateId. */
|
|
65
|
-
billingWallet?: string;
|
|
66
|
-
/** Alias for billingWallet. */
|
|
67
|
-
sponsorOrgWallet?: string;
|
|
68
|
-
orgWallet?: string;
|
|
69
|
-
/** Site origin used when issuing billing authorization (defaults to browser origin). */
|
|
70
|
-
appOrigin?: string;
|
|
65
|
+
billingWallet?: string;
|
|
66
|
+
/** Alias for billingWallet. */
|
|
67
|
+
sponsorOrgWallet?: string;
|
|
68
|
+
orgWallet?: string;
|
|
69
|
+
/** Site origin used when issuing billing authorization (defaults to browser origin). */
|
|
70
|
+
appOrigin?: string;
|
|
71
71
|
/** Advanced server path only; not required for published gate checkout. */
|
|
72
|
-
appLinkQHash?: string;
|
|
73
|
-
paymentSignature?: string;
|
|
74
|
-
extraHeaders?: Record<string, string>;
|
|
75
|
-
timeout?: number;
|
|
76
|
-
hubChainId?: number;
|
|
77
|
-
enableLogging?: boolean;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface FetchSponsorGrantParams {
|
|
81
|
-
apiUrl?: string;
|
|
82
|
-
appId: string;
|
|
83
|
-
orgWallet: string;
|
|
84
|
-
verifierIds?: string[];
|
|
85
|
-
targetChains?: number[];
|
|
86
|
-
origin?: string;
|
|
87
|
-
expiresInSeconds?: number;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export interface FetchSponsorGrantResult {
|
|
91
|
-
sponsorGrant: string;
|
|
92
|
-
exp?: number;
|
|
93
|
-
orgWallet: string;
|
|
94
|
-
appId: string;
|
|
95
|
-
maxCredits?: number;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export function fetchSponsorGrant(params: FetchSponsorGrantParams): Promise<FetchSponsorGrantResult>;
|
|
99
|
-
|
|
100
|
-
export interface VerificationOptions {
|
|
101
|
-
privacyLevel?: PrivacyLevel;
|
|
102
|
-
enableIpfs?: boolean;
|
|
103
|
-
storeOriginalContent?: boolean;
|
|
104
|
-
targetChains?: number[];
|
|
105
|
-
publicDisplay?: boolean;
|
|
106
|
-
meta?: Record<string, any>;
|
|
107
|
-
verifierOptions?: Record<string, any>;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface VerifierCatalogMetadataEntry {
|
|
111
|
-
category?: string;
|
|
112
|
-
description?: string;
|
|
113
|
-
accessLevel?: 'public' | 'pro' | 'custom' | 'admin' | string;
|
|
114
|
-
flowType?: 'instant' | 'interactive' | 'external_lookup' | string;
|
|
115
|
-
expiryType?: 'permanent' | 'point_in_time' | 'expiring' | string;
|
|
116
|
-
allowsDelegatedSubject?: boolean;
|
|
117
|
-
compatibleWith?: string[];
|
|
118
|
-
conflictsWith?: string[];
|
|
119
|
-
supportsDirectApi?: boolean;
|
|
120
|
-
supportsHostedVerify?: boolean;
|
|
121
|
-
dataSchema?: Record<string, any>;
|
|
122
|
-
requiredFields?: string[];
|
|
123
|
-
optionalFields?: string[];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export interface VerifierCatalog {
|
|
127
|
-
data: string[];
|
|
128
|
-
metadata: Record<string, VerifierCatalogMetadataEntry>;
|
|
129
|
-
meta?: Record<string, any>;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export interface VerifyFromAppParams {
|
|
133
|
-
user: {
|
|
134
|
-
walletAddress?: string;
|
|
135
|
-
address?: string;
|
|
136
|
-
identity?: string;
|
|
137
|
-
};
|
|
138
|
-
verifier?: VerifierId;
|
|
139
|
-
content?: string | Record<string, any>;
|
|
140
|
-
data?: VerificationData;
|
|
141
|
-
options?: VerifyOptions;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export interface VerifyParams {
|
|
145
|
-
verifier?: VerifierId;
|
|
146
|
-
content?: string;
|
|
147
|
-
data?: VerificationData;
|
|
148
|
-
options?: VerifyOptions;
|
|
149
|
-
|
|
150
|
-
verifierIds?: VerifierId[];
|
|
151
|
-
walletAddress?: string;
|
|
152
|
-
signature?: string;
|
|
153
|
-
signedTimestamp?: number;
|
|
154
|
-
chainId?: number;
|
|
155
|
-
chain?: string;
|
|
156
|
-
signatureMethod?: string;
|
|
157
|
-
delegationQHash?: string;
|
|
158
|
-
wallet?: WalletLike;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
export interface ProofResult {
|
|
162
|
-
qHash: string;
|
|
163
|
-
status: string;
|
|
164
|
-
walletAddress?: string;
|
|
165
|
-
proofUrl?: string;
|
|
166
|
-
crossChain?: boolean;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export interface VerificationResult {
|
|
170
|
-
qHash: string;
|
|
171
|
-
status: VerificationStatus;
|
|
172
|
-
success: boolean;
|
|
173
|
-
data?: VerificationData;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
export interface StatusResult {
|
|
177
|
-
qHash?: string;
|
|
178
|
-
proofUrl?: string | null;
|
|
179
|
-
success: boolean;
|
|
180
|
-
status: VerificationStatus;
|
|
181
|
-
data?: {
|
|
182
|
-
qHash?: string;
|
|
183
|
-
status: string;
|
|
184
|
-
walletAddress: string;
|
|
185
|
-
verifierIds?: string[];
|
|
186
|
-
targetChains?: number[];
|
|
187
|
-
verifiedVerifiers?: Array<{
|
|
188
|
-
verifierId: string;
|
|
189
|
-
verified: boolean;
|
|
190
|
-
data: any;
|
|
191
|
-
status: string;
|
|
192
|
-
zkInfo?: {
|
|
193
|
-
zkStatus: string;
|
|
194
|
-
};
|
|
195
|
-
}>;
|
|
196
|
-
crosschain?: {
|
|
197
|
-
status: string;
|
|
198
|
-
hubTxHash?: string;
|
|
199
|
-
initiated?: number;
|
|
200
|
-
completed?: number;
|
|
201
|
-
totalChains?: number;
|
|
202
|
-
finalized?: number;
|
|
203
|
-
relayResults?: Record<string, {
|
|
204
|
-
success: boolean;
|
|
205
|
-
transactionHash?: string;
|
|
206
|
-
completedAt?: number;
|
|
207
|
-
chainId: number;
|
|
208
|
-
status: string;
|
|
209
|
-
gasUsed?: string;
|
|
210
|
-
blockNumber?: string;
|
|
211
|
-
voucherId?: string;
|
|
212
|
-
}>;
|
|
213
|
-
createdVouchers?: string[];
|
|
214
|
-
};
|
|
215
|
-
hubTransaction?: {
|
|
216
|
-
txHash: string;
|
|
217
|
-
timestamp: number;
|
|
218
|
-
chainId: number;
|
|
219
|
-
status: string;
|
|
220
|
-
};
|
|
221
|
-
ipfs?: {
|
|
222
|
-
cid: string;
|
|
223
|
-
gateway: string;
|
|
224
|
-
createdAt: number;
|
|
225
|
-
size: number;
|
|
226
|
-
};
|
|
227
|
-
options?: {
|
|
228
|
-
enableIpfs?: boolean;
|
|
229
|
-
publicDisplay?: boolean;
|
|
230
|
-
storeOriginalContent?: boolean;
|
|
231
|
-
verifierOptions?: object;
|
|
232
|
-
privacyLevel?: 'private' | 'public';
|
|
233
|
-
meta?: object;
|
|
234
|
-
};
|
|
235
|
-
meta?: {
|
|
236
|
-
privacyLevel: 'private' | 'public';
|
|
237
|
-
publiclyAccessible: boolean;
|
|
238
|
-
};
|
|
239
|
-
createdAt?: number;
|
|
240
|
-
completedAt?: number;
|
|
241
|
-
lastUpdated?: number;
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
export interface PollOptions {
|
|
246
|
-
interval?: number;
|
|
247
|
-
timeout?: number;
|
|
248
|
-
onProgress?: (status: any) => void;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
export interface ValidationResult {
|
|
252
|
-
valid: boolean;
|
|
253
|
-
error?: string;
|
|
254
|
-
missing?: string[];
|
|
255
|
-
warnings?: string[];
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
export type CoreVerifierId =
|
|
259
|
-
| 'ownership-basic'
|
|
260
|
-
| 'ownership-social' // Hosted OAuth social ownership
|
|
261
|
-
| 'ownership-pseudonym' // Pseudonymous identity verification
|
|
262
|
-
| 'ownership-org-oauth' // Hosted OAuth organization ownership
|
|
263
|
-
| 'nft-ownership'
|
|
264
|
-
| 'token-holding'
|
|
265
|
-
| 'ownership-dns-txt'
|
|
266
|
-
| 'wallet-link'
|
|
267
|
-
| 'contract-ownership'
|
|
268
|
-
| 'wallet-risk' // Wallet risk assessment
|
|
269
|
-
| 'proof-of-human' // Hosted ZK personhood verification
|
|
270
|
-
| 'agent-identity'
|
|
271
|
-
| 'agent-delegation'
|
|
272
|
-
| 'ai-content-moderation'
|
|
273
|
-
| string; // Allow custom verifier IDs
|
|
274
|
-
|
|
275
|
-
export type VerifierId = CoreVerifierId;
|
|
276
|
-
|
|
277
|
-
export type VerificationStatus =
|
|
278
|
-
| 'processing_verifiers'
|
|
279
|
-
| 'processing_zk_proofs'
|
|
280
|
-
| 'verified'
|
|
281
|
-
| 'verified_no_verifiers'
|
|
282
|
-
| 'verified_crosschain_initiated'
|
|
283
|
-
| 'verified_crosschain_propagating'
|
|
284
|
-
| 'verified_crosschain_propagated'
|
|
285
|
-
| 'partially_verified'
|
|
286
|
-
| 'verified_propagation_failed'
|
|
287
|
-
| 'rejected'
|
|
288
|
-
| 'rejected_verifier_failure'
|
|
289
|
-
| 'rejected_zk_initiation_failure'
|
|
290
|
-
| 'error_processing_exception'
|
|
291
|
-
| 'error_initialization'
|
|
292
|
-
| 'error_storage_unavailable'
|
|
293
|
-
| 'error_storage_query'
|
|
294
|
-
| 'not_found';
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
export function constructVerificationMessage(params: {
|
|
298
|
-
walletAddress: string;
|
|
299
|
-
signedTimestamp: number;
|
|
300
|
-
data: any;
|
|
301
|
-
verifierIds: VerifierId[];
|
|
302
|
-
chainId?: number;
|
|
303
|
-
chain?: string;
|
|
304
|
-
}): string;
|
|
305
|
-
|
|
306
|
-
export const PORTABLE_PROOF_SIGNER_HEADER: string;
|
|
307
|
-
|
|
308
|
-
export function validateWalletAddress(address: string): boolean;
|
|
309
|
-
|
|
310
|
-
export function validateUniversalAddress(address: string, chain?: string): boolean;
|
|
311
|
-
|
|
312
|
-
export function validateTimestamp(timestamp: number, maxAgeMs?: number): boolean;
|
|
313
|
-
|
|
314
|
-
export function validateQHash(qHash: string): boolean;
|
|
315
|
-
|
|
316
|
-
export function normalizeAddress(address: string): string;
|
|
317
|
-
|
|
318
|
-
export function resolveDID(
|
|
319
|
-
params: {
|
|
320
|
-
walletAddress?: string;
|
|
321
|
-
chainId?: number;
|
|
322
|
-
chain?: string;
|
|
323
|
-
},
|
|
324
|
-
options?: {
|
|
325
|
-
endpoint?: string;
|
|
326
|
-
apiUrl?: string;
|
|
327
|
-
credentials?: 'omit' | 'same-origin' | 'include';
|
|
328
|
-
headers?: Record<string, string>;
|
|
329
|
-
}
|
|
330
|
-
): Promise<{
|
|
331
|
-
did: string;
|
|
332
|
-
data: unknown;
|
|
333
|
-
raw: unknown;
|
|
334
|
-
}>;
|
|
335
|
-
|
|
336
|
-
export function standardizeVerificationRequest(
|
|
337
|
-
params: Record<string, any>,
|
|
338
|
-
options?: {
|
|
339
|
-
endpoint?: string;
|
|
340
|
-
apiUrl?: string;
|
|
341
|
-
credentials?: 'omit' | 'same-origin' | 'include';
|
|
342
|
-
headers?: Record<string, string>;
|
|
343
|
-
}
|
|
344
|
-
): Promise<any>;
|
|
345
|
-
|
|
346
|
-
export function resolveZkPassportConfig(overrides?: Record<string, any>): {
|
|
347
|
-
provider: string;
|
|
348
|
-
scope: string;
|
|
349
|
-
checkSanctions: boolean;
|
|
350
|
-
requireFaceMatch: boolean;
|
|
351
|
-
faceMatchMode: string;
|
|
352
|
-
[key: string]: any;
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
export function toHexUtf8(message: string): string;
|
|
356
|
-
|
|
357
|
-
export function signMessage(params: {
|
|
358
|
-
provider?: any;
|
|
359
|
-
message: string;
|
|
360
|
-
walletAddress?: string;
|
|
361
|
-
chain?: string;
|
|
362
|
-
}): Promise<string>;
|
|
363
|
-
|
|
364
|
-
export function validateVerifierPayload(verifierId: string, data: any): ValidationResult;
|
|
365
|
-
|
|
366
|
-
export function buildVerificationRequest(params: {
|
|
367
|
-
verifierIds: string[];
|
|
368
|
-
data: any;
|
|
369
|
-
walletAddress: string;
|
|
370
|
-
chainId?: number;
|
|
371
|
-
chain?: string;
|
|
372
|
-
options?: any;
|
|
373
|
-
signedTimestamp?: number;
|
|
374
|
-
}): { message: string; request: { verifierIds: string[]; data: any; walletAddress: string; signedTimestamp: number; chainId?: number; chain?: string; options?: any } };
|
|
375
|
-
|
|
376
|
-
export function isTerminalStatus(status: VerificationStatus): boolean;
|
|
377
|
-
|
|
378
|
-
export function isSuccessStatus(status: VerificationStatus): boolean;
|
|
379
|
-
|
|
380
|
-
export function isFailureStatus(status: VerificationStatus): boolean;
|
|
381
|
-
|
|
382
|
-
export function formatVerificationStatus(status: VerificationStatus): {
|
|
383
|
-
label: string;
|
|
384
|
-
description: string;
|
|
385
|
-
color: string;
|
|
386
|
-
category: string;
|
|
387
|
-
};
|
|
388
|
-
|
|
389
|
-
export class StatusPoller {
|
|
390
|
-
constructor(client: NeusClient, qHash: string, options?: { interval?: number; maxAttempts?: number; exponentialBackoff?: boolean; maxInterval?: number });
|
|
391
|
-
poll(): Promise<StatusResult>;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
export function formatTimestamp(timestamp: number): string;
|
|
395
|
-
|
|
396
|
-
export function isSupportedChain(chainId: number): boolean;
|
|
397
|
-
|
|
398
|
-
export function delay(ms: number): Promise<void>;
|
|
399
|
-
|
|
400
|
-
export function withRetry<T>(fn: () => Promise<T>, options?: {
|
|
401
|
-
maxAttempts?: number;
|
|
402
|
-
baseDelay?: number;
|
|
403
|
-
maxDelay?: number;
|
|
404
|
-
backoffFactor?: number;
|
|
405
|
-
}): Promise<T>;
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
export function toAgentDelegationMaxSpend(
|
|
409
|
-
humanAmount: string | number,
|
|
410
|
-
decimals: number
|
|
411
|
-
): string;
|
|
412
|
-
|
|
413
|
-
export const DEFAULT_HOSTED_VERIFY_URL: string;
|
|
414
|
-
|
|
415
|
-
export function getHostedCheckoutUrl(opts?: {
|
|
416
|
-
gateId?: string;
|
|
417
|
-
returnUrl?: string;
|
|
418
|
-
verifiers?: string[];
|
|
419
|
-
preset?: string;
|
|
420
|
-
mode?: string;
|
|
421
|
-
intent?: string;
|
|
422
|
-
origin?: string;
|
|
423
|
-
oauthProvider?: string;
|
|
424
|
-
baseUrl?: string;
|
|
425
|
-
}): string;
|
|
426
|
-
|
|
427
|
-
export type NeusPublicGateCharge = {
|
|
428
|
-
enabled: boolean;
|
|
429
|
-
scheme: string;
|
|
430
|
-
label: string;
|
|
431
|
-
amountUsd: number;
|
|
432
|
-
methods: string[];
|
|
433
|
-
appliesTo: string;
|
|
434
|
-
executionOrder?: string;
|
|
435
|
-
recipient?: string;
|
|
436
|
-
};
|
|
437
|
-
|
|
438
|
-
export const NEUS_CONSTANTS: {
|
|
439
|
-
HUB_CHAIN_ID: number;
|
|
440
|
-
TESTNET_CHAINS: number[];
|
|
441
|
-
API_BASE_URL: string;
|
|
442
|
-
API_VERSION: string;
|
|
443
|
-
SIGNATURE_MAX_AGE_MS: number;
|
|
444
|
-
REQUEST_TIMEOUT_MS: number;
|
|
445
|
-
DEFAULT_VERIFIERS: VerifierId[];
|
|
446
|
-
};
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
export class SDKError extends Error {
|
|
450
|
-
code: string;
|
|
451
|
-
details: any;
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
export class ApiError extends SDKError {
|
|
455
|
-
statusCode: number;
|
|
456
|
-
response: any;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
export class ValidationError extends SDKError {
|
|
460
|
-
field?: string;
|
|
461
|
-
value?: any;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
export class NetworkError extends SDKError {
|
|
465
|
-
originalError?: Error;
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
export class ConfigurationError extends SDKError {
|
|
469
|
-
configKey?: string;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
export class VerificationError extends SDKError {
|
|
473
|
-
verifierId?: string;
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
export class AuthenticationError extends SDKError {}
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
export interface GetProofsOptions {
|
|
480
|
-
limit?: number;
|
|
481
|
-
offset?: number;
|
|
482
|
-
cursor?: string;
|
|
483
|
-
chain?: string;
|
|
484
|
-
signatureMethod?: string;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
export interface ProofsResult {
|
|
488
|
-
success: boolean;
|
|
489
|
-
proofs: any[];
|
|
490
|
-
totalCount: number;
|
|
491
|
-
hasMore: boolean;
|
|
492
|
-
nextOffset?: number | null;
|
|
493
|
-
/** Keyset continuation when the API returns cursor paging (preferred over deep offsets). */
|
|
494
|
-
nextCursor?: string | null;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
export interface GateRequirement {
|
|
498
|
-
verifierId: CoreVerifierId;
|
|
499
|
-
maxAgeMs?: number;
|
|
500
|
-
optional?: boolean;
|
|
501
|
-
minCount?: number;
|
|
502
|
-
match?: Record<string, any>;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
export interface CheckGateParams {
|
|
506
|
-
walletAddress: string;
|
|
507
|
-
requirements: GateRequirement[];
|
|
508
|
-
proofs?: any[];
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
export interface CheckGateResult {
|
|
512
|
-
satisfied: boolean;
|
|
513
|
-
missing: GateRequirement[];
|
|
514
|
-
existing: Record<string, any>;
|
|
515
|
-
allProofs: any[];
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
export interface GateCheckApiParams {
|
|
519
|
-
address: string;
|
|
520
|
-
/** Published gate handle; resolves checks server-side (preferred public path). */
|
|
521
|
-
gateId?: string;
|
|
522
|
-
verifierIds?: string[] | string;
|
|
523
|
-
requireAll?: boolean;
|
|
524
|
-
minCount?: number;
|
|
525
|
-
sinceDays?: number;
|
|
526
|
-
since?: number;
|
|
527
|
-
limit?: number;
|
|
528
|
-
includePrivate?: boolean;
|
|
529
|
-
includeQHashes?: boolean;
|
|
530
|
-
wallet?: WalletLike;
|
|
531
|
-
chain?: string;
|
|
532
|
-
signatureMethod?: string;
|
|
533
|
-
privateAuth?: GatePrivateAuth;
|
|
534
|
-
|
|
535
|
-
referenceType?: string;
|
|
536
|
-
referenceId?: string;
|
|
537
|
-
tag?: string;
|
|
538
|
-
tags?: string[] | string;
|
|
539
|
-
contentType?: string;
|
|
540
|
-
content?: string;
|
|
541
|
-
contentHash?: string;
|
|
542
|
-
|
|
543
|
-
contractAddress?: string;
|
|
544
|
-
tokenId?: string;
|
|
545
|
-
chainId?: number;
|
|
546
|
-
domain?: string;
|
|
547
|
-
minBalance?: string;
|
|
548
|
-
|
|
549
|
-
provider?: string;
|
|
550
|
-
handle?: string;
|
|
551
|
-
namespace?: string;
|
|
552
|
-
ownerAddress?: string;
|
|
553
|
-
riskLevel?: string;
|
|
554
|
-
sanctioned?: boolean;
|
|
555
|
-
poisoned?: boolean;
|
|
556
|
-
primaryWalletAddress?: string;
|
|
557
|
-
secondaryWalletAddress?: string;
|
|
558
|
-
verificationMethod?: string;
|
|
559
|
-
/** Personhood ID for proof-of-human sybil resistance matching (0x-prefixed 64-hex-char SHA-256 digest) */
|
|
560
|
-
neusPersonhoodId?: string;
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
export interface GatePrivateAuth {
|
|
564
|
-
walletAddress: string;
|
|
565
|
-
signature: string;
|
|
566
|
-
signedTimestamp: number;
|
|
567
|
-
chain?: string;
|
|
568
|
-
signatureMethod?: string;
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
export interface GateCheckApiResponse {
|
|
572
|
-
success: boolean;
|
|
573
|
-
data?: {
|
|
574
|
-
eligible: boolean;
|
|
575
|
-
matchedCount?: number;
|
|
576
|
-
matchedQHashes?: string[];
|
|
577
|
-
matchedTags?: string[];
|
|
578
|
-
projections?: Array<Record<string, any>> | null;
|
|
579
|
-
criteria?: Record<string, any>;
|
|
580
|
-
};
|
|
581
|
-
error?: any;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
export interface ApiResponse<T = any> {
|
|
586
|
-
success: boolean;
|
|
587
|
-
data?: T;
|
|
588
|
-
error?: any;
|
|
589
|
-
status?: string;
|
|
590
|
-
timestamp?: number;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
export const HOUR: number;
|
|
595
|
-
export const DAY: number;
|
|
596
|
-
export const WEEK: number;
|
|
597
|
-
export const MONTH: number;
|
|
598
|
-
export const YEAR: number;
|
|
599
|
-
|
|
600
|
-
export const GATE_NFT_HOLDER: GateRequirement[];
|
|
601
|
-
export const GATE_TOKEN_HOLDER: GateRequirement[];
|
|
602
|
-
export const GATE_CONTRACT_ADMIN: GateRequirement[];
|
|
603
|
-
export const GATE_DOMAIN_OWNER: GateRequirement[];
|
|
604
|
-
export const GATE_LINKED_WALLETS: GateRequirement[];
|
|
605
|
-
export const GATE_AGENT_IDENTITY: GateRequirement[];
|
|
606
|
-
export const GATE_AGENT_DELEGATION: GateRequirement[];
|
|
607
|
-
export const GATE_CONTENT_MODERATION: GateRequirement[];
|
|
608
|
-
export const GATE_WALLET_RISK: GateRequirement[];
|
|
609
|
-
export const GATE_PSEUDONYM: GateRequirement[];
|
|
610
|
-
|
|
611
|
-
export function createGate(
|
|
612
|
-
requirements: Array<CoreVerifierId | GateRequirement>
|
|
613
|
-
): GateRequirement[];
|
|
614
|
-
|
|
615
|
-
export function combineGates(
|
|
616
|
-
...gates: GateRequirement[][]
|
|
617
|
-
): GateRequirement[];
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
type OwnershipBasicData = {
|
|
621
|
-
owner: string;
|
|
622
|
-
content?: string;
|
|
623
|
-
contentHash?: string;
|
|
624
|
-
contentType?: string;
|
|
625
|
-
reference?: {
|
|
626
|
-
type:
|
|
627
|
-
| 'ipfs'
|
|
628
|
-
| 'ipfs-hash'
|
|
629
|
-
| 'url'
|
|
630
|
-
| 'license-nft'
|
|
631
|
-
| 'contract'
|
|
632
|
-
| 'qhash'
|
|
633
|
-
| 'ethereum-tx'
|
|
634
|
-
| 'on-chain-tx'
|
|
635
|
-
| 'tx'
|
|
636
|
-
| 'file'
|
|
637
|
-
| 'doc'
|
|
638
|
-
| 'media'
|
|
639
|
-
| 'username-claim'
|
|
640
|
-
| 'job'
|
|
641
|
-
| 'job-status'
|
|
642
|
-
| 'other';
|
|
643
|
-
id?: string;
|
|
644
|
-
title?: string;
|
|
645
|
-
description?: string;
|
|
646
|
-
mime?: string;
|
|
647
|
-
name?: string;
|
|
648
|
-
size?: number;
|
|
649
|
-
};
|
|
650
|
-
provenance?: {
|
|
651
|
-
declaredKind?: 'human' | 'ai' | 'mixed' | 'unknown';
|
|
652
|
-
aiContext?: {
|
|
653
|
-
generatorType?: 'local' | 'saas' | 'agent';
|
|
654
|
-
provider?: string;
|
|
655
|
-
model?: string;
|
|
656
|
-
runId?: string;
|
|
657
|
-
};
|
|
658
|
-
};
|
|
659
|
-
[key: string]: any;
|
|
660
|
-
};
|
|
661
|
-
|
|
662
|
-
type OwnershipPseudonymData = {
|
|
663
|
-
pseudonymId: string;
|
|
664
|
-
namespace?: string;
|
|
665
|
-
displayName?: string;
|
|
666
|
-
metadata?: Record<string, any>;
|
|
667
|
-
[key: string]: any;
|
|
668
|
-
};
|
|
669
|
-
|
|
670
|
-
type OwnershipDnsTxtData = {
|
|
671
|
-
domain: string;
|
|
672
|
-
walletAddress?: string;
|
|
673
|
-
[key: string]: any;
|
|
674
|
-
};
|
|
675
|
-
|
|
676
|
-
type ContractOwnershipData = {
|
|
677
|
-
contractAddress: string;
|
|
678
|
-
chainId: number;
|
|
679
|
-
walletAddress?: string;
|
|
680
|
-
method?: 'owner' | 'admin' | 'accessControl';
|
|
681
|
-
[key: string]: any;
|
|
682
|
-
};
|
|
683
|
-
|
|
684
|
-
type NftOwnershipData = {
|
|
685
|
-
ownerAddress?: string;
|
|
686
|
-
contractAddress: string;
|
|
687
|
-
tokenId: string;
|
|
688
|
-
tokenType?: 'erc721' | 'erc1155';
|
|
689
|
-
chainId?: number;
|
|
690
|
-
chain?: string;
|
|
691
|
-
blockNumber?: number;
|
|
692
|
-
[key: string]: any;
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
type TokenHoldingData = {
|
|
696
|
-
ownerAddress?: string;
|
|
697
|
-
contractAddress: string;
|
|
698
|
-
minBalance: string;
|
|
699
|
-
chainId?: number;
|
|
700
|
-
chain?: string;
|
|
701
|
-
blockNumber?: number;
|
|
702
|
-
[key: string]: any;
|
|
703
|
-
};
|
|
704
|
-
|
|
705
|
-
type WalletRiskData = {
|
|
706
|
-
walletAddress: string;
|
|
707
|
-
provider?: string;
|
|
708
|
-
chainId?: number;
|
|
709
|
-
chain?: string;
|
|
710
|
-
[key: string]: any;
|
|
711
|
-
};
|
|
712
|
-
|
|
713
|
-
type WalletLinkData = {
|
|
714
|
-
primaryWalletAddress?: string;
|
|
715
|
-
secondaryWalletAddress?: string;
|
|
716
|
-
primaryAccountId?: string;
|
|
717
|
-
secondaryAccountId?: string;
|
|
718
|
-
primaryChainRef?: string;
|
|
719
|
-
secondaryChainRef?: string;
|
|
720
|
-
signature: string;
|
|
721
|
-
chain?: string;
|
|
722
|
-
signatureMethod: string;
|
|
723
|
-
signedTimestamp: number;
|
|
724
|
-
relationshipType?: 'primary' | 'personal' | 'org' | 'affiliate' | 'agent' | 'linked';
|
|
725
|
-
label?: string;
|
|
726
|
-
[key: string]: any;
|
|
727
|
-
};
|
|
728
|
-
|
|
729
|
-
type AiContentModerationData = {
|
|
730
|
-
content: string;
|
|
731
|
-
contentType:
|
|
732
|
-
| 'image/jpeg'
|
|
733
|
-
| 'image/png'
|
|
734
|
-
| 'image/webp'
|
|
735
|
-
| 'image/gif'
|
|
736
|
-
| 'text/plain'
|
|
737
|
-
| 'text/markdown'
|
|
738
|
-
| 'text/x-markdown'
|
|
739
|
-
| 'application/json'
|
|
740
|
-
| 'application/xml';
|
|
741
|
-
provider?: 'google-vision' | 'google-perspective';
|
|
742
|
-
[key: string]: any;
|
|
743
|
-
};
|
|
744
|
-
|
|
745
|
-
type AgentSkillRef = {
|
|
746
|
-
id: string;
|
|
747
|
-
label?: string;
|
|
748
|
-
version?: string;
|
|
749
|
-
provider?: string;
|
|
750
|
-
kind?: 'native' | 'integration' | 'plugin' | 'mcp' | 'toolkit';
|
|
751
|
-
configId?: string;
|
|
752
|
-
enabled?: boolean;
|
|
753
|
-
};
|
|
754
|
-
|
|
755
|
-
type AgentIdentityData = {
|
|
756
|
-
agentId: string;
|
|
757
|
-
agentWallet: string;
|
|
758
|
-
agentChainRef: string;
|
|
759
|
-
agentAccountId?: string;
|
|
760
|
-
agentLabel?: string;
|
|
761
|
-
agentType?: 'ai' | 'bot' | 'service' | 'automation' | 'agent';
|
|
762
|
-
avatar?: string;
|
|
763
|
-
description?: string;
|
|
764
|
-
defaultRuntime?: {
|
|
765
|
-
provider?: string;
|
|
766
|
-
model?: string;
|
|
767
|
-
mode?: string;
|
|
768
|
-
};
|
|
769
|
-
capabilities?: Record<string, boolean>;
|
|
770
|
-
instructions?: string;
|
|
771
|
-
skills?: AgentSkillRef[];
|
|
772
|
-
services?: Array<{
|
|
773
|
-
name: string;
|
|
774
|
-
endpoint: string;
|
|
775
|
-
version?: string;
|
|
776
|
-
}>;
|
|
777
|
-
};
|
|
778
|
-
|
|
779
|
-
type AgentDelegationData = {
|
|
780
|
-
controllerWallet: string;
|
|
781
|
-
controllerChainRef: string;
|
|
782
|
-
agentWallet: string;
|
|
783
|
-
agentChainRef: string;
|
|
784
|
-
controllerAccountId?: string;
|
|
785
|
-
agentAccountId?: string;
|
|
786
|
-
agentId?: string;
|
|
787
|
-
scope?: string;
|
|
788
|
-
permissions?: string[];
|
|
789
|
-
maxSpend?: string;
|
|
790
|
-
allowedPaymentTypes?: string[];
|
|
791
|
-
receiptDisclosure?: 'none' | 'summary' | 'full';
|
|
792
|
-
expiresAt?: number;
|
|
793
|
-
instructions?: string;
|
|
794
|
-
skills?: AgentSkillRef[];
|
|
795
|
-
model?: string;
|
|
796
|
-
provider?: string;
|
|
797
|
-
runtimePolicy?: {
|
|
798
|
-
allowedProviders?: string[];
|
|
799
|
-
allowedModelClasses?: string[];
|
|
800
|
-
requiresHumanApproval?: boolean;
|
|
801
|
-
secretsExposedToReceipt?: boolean;
|
|
802
|
-
};
|
|
803
|
-
allowedActions?: string[];
|
|
804
|
-
deniedActions?: string[];
|
|
805
|
-
approvalPolicy?: {
|
|
806
|
-
humanApprovalRequiredForNewClaims?: boolean;
|
|
807
|
-
preApprovedContentOnly?: boolean;
|
|
808
|
-
};
|
|
809
|
-
};
|
|
810
|
-
|
|
811
|
-
type CoreVerificationData =
|
|
812
|
-
| OwnershipBasicData
|
|
813
|
-
| OwnershipPseudonymData
|
|
814
|
-
| OwnershipDnsTxtData
|
|
815
|
-
| ContractOwnershipData
|
|
816
|
-
| NftOwnershipData
|
|
817
|
-
| TokenHoldingData
|
|
818
|
-
| WalletRiskData
|
|
819
|
-
| WalletLinkData
|
|
820
|
-
| AiContentModerationData
|
|
821
|
-
| AgentIdentityData
|
|
822
|
-
| AgentDelegationData;
|
|
823
|
-
|
|
824
|
-
type VerificationData =
|
|
825
|
-
| CoreVerificationData
|
|
826
|
-
| Record<string, CoreVerificationData>
|
|
827
|
-
| Record<string, any>;
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
interface VerifyOptions {
|
|
832
|
-
targetChains?: number[];
|
|
833
|
-
enableIpfs?: boolean;
|
|
834
|
-
privacyLevel?: 'private' | 'public';
|
|
835
|
-
publicDisplay?: boolean;
|
|
836
|
-
storeOriginalContent?: boolean;
|
|
837
|
-
meta?: {
|
|
838
|
-
title?: string;
|
|
839
|
-
description?: string;
|
|
840
|
-
displayName?: string;
|
|
841
|
-
contentText?: string;
|
|
842
|
-
contentType?: string;
|
|
843
|
-
contentDescription?: string;
|
|
844
|
-
license?: string;
|
|
845
|
-
publicContentLicense?: string;
|
|
846
|
-
publicContentDisclaimer?: string;
|
|
847
|
-
legal?: string;
|
|
848
|
-
source?: string;
|
|
849
|
-
campaign?: string;
|
|
850
|
-
tags?: string[];
|
|
851
|
-
category?: string;
|
|
852
|
-
};
|
|
853
|
-
reference?: {
|
|
854
|
-
type:
|
|
855
|
-
| 'ipfs'
|
|
856
|
-
| 'ipfs-hash'
|
|
857
|
-
| 'url'
|
|
858
|
-
| 'license-nft'
|
|
859
|
-
| 'contract'
|
|
860
|
-
| 'qhash'
|
|
861
|
-
| 'ethereum-tx'
|
|
862
|
-
| 'on-chain-tx'
|
|
863
|
-
| 'tx'
|
|
864
|
-
| 'file'
|
|
865
|
-
| 'doc'
|
|
866
|
-
| 'media'
|
|
867
|
-
| 'username-claim'
|
|
868
|
-
| 'job'
|
|
869
|
-
| 'job-status'
|
|
870
|
-
| 'other';
|
|
871
|
-
id?: string;
|
|
872
|
-
title?: string;
|
|
873
|
-
description?: string;
|
|
874
|
-
mime?: string;
|
|
875
|
-
name?: string;
|
|
876
|
-
size?: number;
|
|
877
|
-
};
|
|
878
|
-
verifierOptions?: Record<string, any>;
|
|
879
|
-
identity?: { pseudonym?: string; socials?: Record<string, string> };
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
declare module '@neus/sdk/widgets' {
|
|
886
|
-
export interface VerifyGateProps {
|
|
887
|
-
/** Published gate checkout handle (default integration path). */
|
|
888
|
-
gateId?: string;
|
|
889
|
-
requiredVerifiers?: string[];
|
|
890
|
-
onVerified?: (result: {
|
|
891
|
-
qHash: string;
|
|
892
|
-
qHashes?: string[];
|
|
893
|
-
address?: string;
|
|
894
|
-
txHash?: string | null;
|
|
895
|
-
verifierIds: string[];
|
|
896
|
-
verifiedVerifiers?: any[];
|
|
897
|
-
proofUrl?: string | null;
|
|
898
|
-
existing?: boolean;
|
|
899
|
-
eligible?: boolean;
|
|
900
|
-
mode?: 'create' | 'access';
|
|
901
|
-
data?: any;
|
|
902
|
-
results?: Array<{
|
|
903
|
-
verifierId: string;
|
|
904
|
-
qHash: string;
|
|
905
|
-
address?: string;
|
|
906
|
-
txHash?: string | null;
|
|
907
|
-
verifiedVerifiers?: any[];
|
|
908
|
-
proofUrl?: string | null;
|
|
909
|
-
}>;
|
|
910
|
-
proofsByVerifierId?: Record<string, any>;
|
|
911
|
-
}) => void;
|
|
912
|
-
apiUrl?: string;
|
|
913
|
-
appId?: string;
|
|
914
|
-
paymentSignature?: string;
|
|
915
|
-
extraHeaders?: Record<string, string>;
|
|
916
|
-
hostedCheckoutUrl?: string;
|
|
917
|
-
oauthProvider?: string;
|
|
918
|
-
style?: Record<string, any>;
|
|
919
|
-
children?: any;
|
|
920
|
-
strategy?: 'reuse-or-create' | 'reuse' | 'fresh';
|
|
921
|
-
checkExisting?: boolean;
|
|
922
|
-
allowPrivateReuse?: boolean;
|
|
923
|
-
showBrand?: boolean;
|
|
924
|
-
disabled?: boolean;
|
|
925
|
-
buttonText?: string;
|
|
926
|
-
mode?: 'create' | 'access';
|
|
927
|
-
qHash?: string | null;
|
|
928
|
-
wallet?: WalletLike | any;
|
|
929
|
-
chain?: string;
|
|
930
|
-
signatureMethod?: string;
|
|
931
|
-
onStateChange?: (state: string) => void;
|
|
932
|
-
onError?: (error: Error) => void;
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
export function VerifyGate(props: VerifyGateProps): any;
|
|
936
|
-
|
|
937
|
-
export interface ProofBadgeProps {
|
|
938
|
-
qHash?: string;
|
|
939
|
-
proofUrlPattern?: string;
|
|
940
|
-
size?: 'sm' | 'md';
|
|
941
|
-
uiLinkBase?: string;
|
|
942
|
-
apiUrl?: string;
|
|
943
|
-
proof?: any;
|
|
944
|
-
showChains?: boolean;
|
|
945
|
-
showLabel?: boolean;
|
|
946
|
-
logoUrl?: string;
|
|
947
|
-
onClick?: (data: { qHash: string; status: string; chainCount?: number }) => void;
|
|
948
|
-
className?: string;
|
|
949
|
-
}
|
|
950
|
-
|
|
951
|
-
export function ProofBadge(props: ProofBadgeProps): any;
|
|
952
|
-
|
|
953
|
-
export interface SimpleProofBadgeProps {
|
|
954
|
-
qHash?: string;
|
|
955
|
-
proofUrlPattern?: string;
|
|
956
|
-
uiLinkBase?: string;
|
|
957
|
-
apiUrl?: string;
|
|
958
|
-
size?: 'sm' | 'md';
|
|
959
|
-
label?: string;
|
|
960
|
-
logoUrl?: string;
|
|
961
|
-
proof?: any;
|
|
962
|
-
onClick?: (data: { qHash: string; status: string }) => void;
|
|
963
|
-
className?: string;
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
export function SimpleProofBadge(props: SimpleProofBadgeProps): any;
|
|
967
|
-
|
|
968
|
-
export interface NeusPillLinkProps {
|
|
969
|
-
qHash?: string;
|
|
970
|
-
proofUrlPattern?: string;
|
|
971
|
-
uiLinkBase?: string;
|
|
972
|
-
label?: string;
|
|
973
|
-
size?: 'sm' | 'md';
|
|
974
|
-
logoUrl?: string;
|
|
975
|
-
onClick?: (data: { qHash?: string }) => void;
|
|
976
|
-
className?: string;
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
export function NeusPillLink(props: NeusPillLinkProps): any;
|
|
980
|
-
|
|
981
|
-
export interface VerifiedIconProps {
|
|
982
|
-
qHash?: string;
|
|
983
|
-
proofUrlPattern?: string;
|
|
984
|
-
uiLinkBase?: string;
|
|
985
|
-
size?: number;
|
|
986
|
-
logoUrl?: string;
|
|
987
|
-
tooltip?: string;
|
|
988
|
-
onClick?: (data: { qHash?: string }) => void;
|
|
989
|
-
className?: string;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
export function VerifiedIcon(props: VerifiedIconProps): any;
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
declare module '@neus/sdk/widgets/verify-gate' {
|
|
996
|
-
export * from '@neus/sdk/widgets';
|
|
997
|
-
}
|
|
998
|
-
|
|
999
|
-
declare module '@neus/sdk/client' {
|
|
1000
|
-
export { NeusClient } from '@neus/sdk';
|
|
1001
|
-
}
|
|
1002
|
-
|
|
72
|
+
appLinkQHash?: string;
|
|
73
|
+
paymentSignature?: string;
|
|
74
|
+
extraHeaders?: Record<string, string>;
|
|
75
|
+
timeout?: number;
|
|
76
|
+
hubChainId?: number;
|
|
77
|
+
enableLogging?: boolean;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface FetchSponsorGrantParams {
|
|
81
|
+
apiUrl?: string;
|
|
82
|
+
appId: string;
|
|
83
|
+
orgWallet: string;
|
|
84
|
+
verifierIds?: string[];
|
|
85
|
+
targetChains?: number[];
|
|
86
|
+
origin?: string;
|
|
87
|
+
expiresInSeconds?: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface FetchSponsorGrantResult {
|
|
91
|
+
sponsorGrant: string;
|
|
92
|
+
exp?: number;
|
|
93
|
+
orgWallet: string;
|
|
94
|
+
appId: string;
|
|
95
|
+
maxCredits?: number;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function fetchSponsorGrant(params: FetchSponsorGrantParams): Promise<FetchSponsorGrantResult>;
|
|
99
|
+
|
|
100
|
+
export interface VerificationOptions {
|
|
101
|
+
privacyLevel?: PrivacyLevel;
|
|
102
|
+
enableIpfs?: boolean;
|
|
103
|
+
storeOriginalContent?: boolean;
|
|
104
|
+
targetChains?: number[];
|
|
105
|
+
publicDisplay?: boolean;
|
|
106
|
+
meta?: Record<string, any>;
|
|
107
|
+
verifierOptions?: Record<string, any>;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface VerifierCatalogMetadataEntry {
|
|
111
|
+
category?: string;
|
|
112
|
+
description?: string;
|
|
113
|
+
accessLevel?: 'public' | 'pro' | 'custom' | 'admin' | string;
|
|
114
|
+
flowType?: 'instant' | 'interactive' | 'external_lookup' | string;
|
|
115
|
+
expiryType?: 'permanent' | 'point_in_time' | 'expiring' | string;
|
|
116
|
+
allowsDelegatedSubject?: boolean;
|
|
117
|
+
compatibleWith?: string[];
|
|
118
|
+
conflictsWith?: string[];
|
|
119
|
+
supportsDirectApi?: boolean;
|
|
120
|
+
supportsHostedVerify?: boolean;
|
|
121
|
+
dataSchema?: Record<string, any>;
|
|
122
|
+
requiredFields?: string[];
|
|
123
|
+
optionalFields?: string[];
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface VerifierCatalog {
|
|
127
|
+
data: string[];
|
|
128
|
+
metadata: Record<string, VerifierCatalogMetadataEntry>;
|
|
129
|
+
meta?: Record<string, any>;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export interface VerifyFromAppParams {
|
|
133
|
+
user: {
|
|
134
|
+
walletAddress?: string;
|
|
135
|
+
address?: string;
|
|
136
|
+
identity?: string;
|
|
137
|
+
};
|
|
138
|
+
verifier?: VerifierId;
|
|
139
|
+
content?: string | Record<string, any>;
|
|
140
|
+
data?: VerificationData;
|
|
141
|
+
options?: VerifyOptions;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface VerifyParams {
|
|
145
|
+
verifier?: VerifierId;
|
|
146
|
+
content?: string;
|
|
147
|
+
data?: VerificationData;
|
|
148
|
+
options?: VerifyOptions;
|
|
149
|
+
|
|
150
|
+
verifierIds?: VerifierId[];
|
|
151
|
+
walletAddress?: string;
|
|
152
|
+
signature?: string;
|
|
153
|
+
signedTimestamp?: number;
|
|
154
|
+
chainId?: number;
|
|
155
|
+
chain?: string;
|
|
156
|
+
signatureMethod?: string;
|
|
157
|
+
delegationQHash?: string;
|
|
158
|
+
wallet?: WalletLike;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export interface ProofResult {
|
|
162
|
+
qHash: string;
|
|
163
|
+
status: string;
|
|
164
|
+
walletAddress?: string;
|
|
165
|
+
proofUrl?: string;
|
|
166
|
+
crossChain?: boolean;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface VerificationResult {
|
|
170
|
+
qHash: string;
|
|
171
|
+
status: VerificationStatus;
|
|
172
|
+
success: boolean;
|
|
173
|
+
data?: VerificationData;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface StatusResult {
|
|
177
|
+
qHash?: string;
|
|
178
|
+
proofUrl?: string | null;
|
|
179
|
+
success: boolean;
|
|
180
|
+
status: VerificationStatus;
|
|
181
|
+
data?: {
|
|
182
|
+
qHash?: string;
|
|
183
|
+
status: string;
|
|
184
|
+
walletAddress: string;
|
|
185
|
+
verifierIds?: string[];
|
|
186
|
+
targetChains?: number[];
|
|
187
|
+
verifiedVerifiers?: Array<{
|
|
188
|
+
verifierId: string;
|
|
189
|
+
verified: boolean;
|
|
190
|
+
data: any;
|
|
191
|
+
status: string;
|
|
192
|
+
zkInfo?: {
|
|
193
|
+
zkStatus: string;
|
|
194
|
+
};
|
|
195
|
+
}>;
|
|
196
|
+
crosschain?: {
|
|
197
|
+
status: string;
|
|
198
|
+
hubTxHash?: string;
|
|
199
|
+
initiated?: number;
|
|
200
|
+
completed?: number;
|
|
201
|
+
totalChains?: number;
|
|
202
|
+
finalized?: number;
|
|
203
|
+
relayResults?: Record<string, {
|
|
204
|
+
success: boolean;
|
|
205
|
+
transactionHash?: string;
|
|
206
|
+
completedAt?: number;
|
|
207
|
+
chainId: number;
|
|
208
|
+
status: string;
|
|
209
|
+
gasUsed?: string;
|
|
210
|
+
blockNumber?: string;
|
|
211
|
+
voucherId?: string;
|
|
212
|
+
}>;
|
|
213
|
+
createdVouchers?: string[];
|
|
214
|
+
};
|
|
215
|
+
hubTransaction?: {
|
|
216
|
+
txHash: string;
|
|
217
|
+
timestamp: number;
|
|
218
|
+
chainId: number;
|
|
219
|
+
status: string;
|
|
220
|
+
};
|
|
221
|
+
ipfs?: {
|
|
222
|
+
cid: string;
|
|
223
|
+
gateway: string;
|
|
224
|
+
createdAt: number;
|
|
225
|
+
size: number;
|
|
226
|
+
};
|
|
227
|
+
options?: {
|
|
228
|
+
enableIpfs?: boolean;
|
|
229
|
+
publicDisplay?: boolean;
|
|
230
|
+
storeOriginalContent?: boolean;
|
|
231
|
+
verifierOptions?: object;
|
|
232
|
+
privacyLevel?: 'private' | 'public';
|
|
233
|
+
meta?: object;
|
|
234
|
+
};
|
|
235
|
+
meta?: {
|
|
236
|
+
privacyLevel: 'private' | 'public';
|
|
237
|
+
publiclyAccessible: boolean;
|
|
238
|
+
};
|
|
239
|
+
createdAt?: number;
|
|
240
|
+
completedAt?: number;
|
|
241
|
+
lastUpdated?: number;
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export interface PollOptions {
|
|
246
|
+
interval?: number;
|
|
247
|
+
timeout?: number;
|
|
248
|
+
onProgress?: (status: any) => void;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface ValidationResult {
|
|
252
|
+
valid: boolean;
|
|
253
|
+
error?: string;
|
|
254
|
+
missing?: string[];
|
|
255
|
+
warnings?: string[];
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export type CoreVerifierId =
|
|
259
|
+
| 'ownership-basic'
|
|
260
|
+
| 'ownership-social' // Hosted OAuth social ownership
|
|
261
|
+
| 'ownership-pseudonym' // Pseudonymous identity verification
|
|
262
|
+
| 'ownership-org-oauth' // Hosted OAuth organization ownership
|
|
263
|
+
| 'nft-ownership'
|
|
264
|
+
| 'token-holding'
|
|
265
|
+
| 'ownership-dns-txt'
|
|
266
|
+
| 'wallet-link'
|
|
267
|
+
| 'contract-ownership'
|
|
268
|
+
| 'wallet-risk' // Wallet risk assessment
|
|
269
|
+
| 'proof-of-human' // Hosted ZK personhood verification
|
|
270
|
+
| 'agent-identity'
|
|
271
|
+
| 'agent-delegation'
|
|
272
|
+
| 'ai-content-moderation'
|
|
273
|
+
| string; // Allow custom verifier IDs
|
|
274
|
+
|
|
275
|
+
export type VerifierId = CoreVerifierId;
|
|
276
|
+
|
|
277
|
+
export type VerificationStatus =
|
|
278
|
+
| 'processing_verifiers'
|
|
279
|
+
| 'processing_zk_proofs'
|
|
280
|
+
| 'verified'
|
|
281
|
+
| 'verified_no_verifiers'
|
|
282
|
+
| 'verified_crosschain_initiated'
|
|
283
|
+
| 'verified_crosschain_propagating'
|
|
284
|
+
| 'verified_crosschain_propagated'
|
|
285
|
+
| 'partially_verified'
|
|
286
|
+
| 'verified_propagation_failed'
|
|
287
|
+
| 'rejected'
|
|
288
|
+
| 'rejected_verifier_failure'
|
|
289
|
+
| 'rejected_zk_initiation_failure'
|
|
290
|
+
| 'error_processing_exception'
|
|
291
|
+
| 'error_initialization'
|
|
292
|
+
| 'error_storage_unavailable'
|
|
293
|
+
| 'error_storage_query'
|
|
294
|
+
| 'not_found';
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
export function constructVerificationMessage(params: {
|
|
298
|
+
walletAddress: string;
|
|
299
|
+
signedTimestamp: number;
|
|
300
|
+
data: any;
|
|
301
|
+
verifierIds: VerifierId[];
|
|
302
|
+
chainId?: number;
|
|
303
|
+
chain?: string;
|
|
304
|
+
}): string;
|
|
305
|
+
|
|
306
|
+
export const PORTABLE_PROOF_SIGNER_HEADER: string;
|
|
307
|
+
|
|
308
|
+
export function validateWalletAddress(address: string): boolean;
|
|
309
|
+
|
|
310
|
+
export function validateUniversalAddress(address: string, chain?: string): boolean;
|
|
311
|
+
|
|
312
|
+
export function validateTimestamp(timestamp: number, maxAgeMs?: number): boolean;
|
|
313
|
+
|
|
314
|
+
export function validateQHash(qHash: string): boolean;
|
|
315
|
+
|
|
316
|
+
export function normalizeAddress(address: string): string;
|
|
317
|
+
|
|
318
|
+
export function resolveDID(
|
|
319
|
+
params: {
|
|
320
|
+
walletAddress?: string;
|
|
321
|
+
chainId?: number;
|
|
322
|
+
chain?: string;
|
|
323
|
+
},
|
|
324
|
+
options?: {
|
|
325
|
+
endpoint?: string;
|
|
326
|
+
apiUrl?: string;
|
|
327
|
+
credentials?: 'omit' | 'same-origin' | 'include';
|
|
328
|
+
headers?: Record<string, string>;
|
|
329
|
+
}
|
|
330
|
+
): Promise<{
|
|
331
|
+
did: string;
|
|
332
|
+
data: unknown;
|
|
333
|
+
raw: unknown;
|
|
334
|
+
}>;
|
|
335
|
+
|
|
336
|
+
export function standardizeVerificationRequest(
|
|
337
|
+
params: Record<string, any>,
|
|
338
|
+
options?: {
|
|
339
|
+
endpoint?: string;
|
|
340
|
+
apiUrl?: string;
|
|
341
|
+
credentials?: 'omit' | 'same-origin' | 'include';
|
|
342
|
+
headers?: Record<string, string>;
|
|
343
|
+
}
|
|
344
|
+
): Promise<any>;
|
|
345
|
+
|
|
346
|
+
export function resolveZkPassportConfig(overrides?: Record<string, any>): {
|
|
347
|
+
provider: string;
|
|
348
|
+
scope: string;
|
|
349
|
+
checkSanctions: boolean;
|
|
350
|
+
requireFaceMatch: boolean;
|
|
351
|
+
faceMatchMode: string;
|
|
352
|
+
[key: string]: any;
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
export function toHexUtf8(message: string): string;
|
|
356
|
+
|
|
357
|
+
export function signMessage(params: {
|
|
358
|
+
provider?: any;
|
|
359
|
+
message: string;
|
|
360
|
+
walletAddress?: string;
|
|
361
|
+
chain?: string;
|
|
362
|
+
}): Promise<string>;
|
|
363
|
+
|
|
364
|
+
export function validateVerifierPayload(verifierId: string, data: any): ValidationResult;
|
|
365
|
+
|
|
366
|
+
export function buildVerificationRequest(params: {
|
|
367
|
+
verifierIds: string[];
|
|
368
|
+
data: any;
|
|
369
|
+
walletAddress: string;
|
|
370
|
+
chainId?: number;
|
|
371
|
+
chain?: string;
|
|
372
|
+
options?: any;
|
|
373
|
+
signedTimestamp?: number;
|
|
374
|
+
}): { message: string; request: { verifierIds: string[]; data: any; walletAddress: string; signedTimestamp: number; chainId?: number; chain?: string; options?: any } };
|
|
375
|
+
|
|
376
|
+
export function isTerminalStatus(status: VerificationStatus): boolean;
|
|
377
|
+
|
|
378
|
+
export function isSuccessStatus(status: VerificationStatus): boolean;
|
|
379
|
+
|
|
380
|
+
export function isFailureStatus(status: VerificationStatus): boolean;
|
|
381
|
+
|
|
382
|
+
export function formatVerificationStatus(status: VerificationStatus): {
|
|
383
|
+
label: string;
|
|
384
|
+
description: string;
|
|
385
|
+
color: string;
|
|
386
|
+
category: string;
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
export class StatusPoller {
|
|
390
|
+
constructor(client: NeusClient, qHash: string, options?: { interval?: number; maxAttempts?: number; exponentialBackoff?: boolean; maxInterval?: number });
|
|
391
|
+
poll(): Promise<StatusResult>;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
export function formatTimestamp(timestamp: number): string;
|
|
395
|
+
|
|
396
|
+
export function isSupportedChain(chainId: number): boolean;
|
|
397
|
+
|
|
398
|
+
export function delay(ms: number): Promise<void>;
|
|
399
|
+
|
|
400
|
+
export function withRetry<T>(fn: () => Promise<T>, options?: {
|
|
401
|
+
maxAttempts?: number;
|
|
402
|
+
baseDelay?: number;
|
|
403
|
+
maxDelay?: number;
|
|
404
|
+
backoffFactor?: number;
|
|
405
|
+
}): Promise<T>;
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
export function toAgentDelegationMaxSpend(
|
|
409
|
+
humanAmount: string | number,
|
|
410
|
+
decimals: number
|
|
411
|
+
): string;
|
|
412
|
+
|
|
413
|
+
export const DEFAULT_HOSTED_VERIFY_URL: string;
|
|
414
|
+
|
|
415
|
+
export function getHostedCheckoutUrl(opts?: {
|
|
416
|
+
gateId?: string;
|
|
417
|
+
returnUrl?: string;
|
|
418
|
+
verifiers?: string[];
|
|
419
|
+
preset?: string;
|
|
420
|
+
mode?: string;
|
|
421
|
+
intent?: string;
|
|
422
|
+
origin?: string;
|
|
423
|
+
oauthProvider?: string;
|
|
424
|
+
baseUrl?: string;
|
|
425
|
+
}): string;
|
|
426
|
+
|
|
427
|
+
export type NeusPublicGateCharge = {
|
|
428
|
+
enabled: boolean;
|
|
429
|
+
scheme: string;
|
|
430
|
+
label: string;
|
|
431
|
+
amountUsd: number;
|
|
432
|
+
methods: string[];
|
|
433
|
+
appliesTo: string;
|
|
434
|
+
executionOrder?: string;
|
|
435
|
+
recipient?: string;
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
export const NEUS_CONSTANTS: {
|
|
439
|
+
HUB_CHAIN_ID: number;
|
|
440
|
+
TESTNET_CHAINS: number[];
|
|
441
|
+
API_BASE_URL: string;
|
|
442
|
+
API_VERSION: string;
|
|
443
|
+
SIGNATURE_MAX_AGE_MS: number;
|
|
444
|
+
REQUEST_TIMEOUT_MS: number;
|
|
445
|
+
DEFAULT_VERIFIERS: VerifierId[];
|
|
446
|
+
};
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
export class SDKError extends Error {
|
|
450
|
+
code: string;
|
|
451
|
+
details: any;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
export class ApiError extends SDKError {
|
|
455
|
+
statusCode: number;
|
|
456
|
+
response: any;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
export class ValidationError extends SDKError {
|
|
460
|
+
field?: string;
|
|
461
|
+
value?: any;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
export class NetworkError extends SDKError {
|
|
465
|
+
originalError?: Error;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
export class ConfigurationError extends SDKError {
|
|
469
|
+
configKey?: string;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
export class VerificationError extends SDKError {
|
|
473
|
+
verifierId?: string;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
export class AuthenticationError extends SDKError {}
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
export interface GetProofsOptions {
|
|
480
|
+
limit?: number;
|
|
481
|
+
offset?: number;
|
|
482
|
+
cursor?: string;
|
|
483
|
+
chain?: string;
|
|
484
|
+
signatureMethod?: string;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
export interface ProofsResult {
|
|
488
|
+
success: boolean;
|
|
489
|
+
proofs: any[];
|
|
490
|
+
totalCount: number;
|
|
491
|
+
hasMore: boolean;
|
|
492
|
+
nextOffset?: number | null;
|
|
493
|
+
/** Keyset continuation when the API returns cursor paging (preferred over deep offsets). */
|
|
494
|
+
nextCursor?: string | null;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
export interface GateRequirement {
|
|
498
|
+
verifierId: CoreVerifierId;
|
|
499
|
+
maxAgeMs?: number;
|
|
500
|
+
optional?: boolean;
|
|
501
|
+
minCount?: number;
|
|
502
|
+
match?: Record<string, any>;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
export interface CheckGateParams {
|
|
506
|
+
walletAddress: string;
|
|
507
|
+
requirements: GateRequirement[];
|
|
508
|
+
proofs?: any[];
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
export interface CheckGateResult {
|
|
512
|
+
satisfied: boolean;
|
|
513
|
+
missing: GateRequirement[];
|
|
514
|
+
existing: Record<string, any>;
|
|
515
|
+
allProofs: any[];
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
export interface GateCheckApiParams {
|
|
519
|
+
address: string;
|
|
520
|
+
/** Published gate handle; resolves checks server-side (preferred public path). */
|
|
521
|
+
gateId?: string;
|
|
522
|
+
verifierIds?: string[] | string;
|
|
523
|
+
requireAll?: boolean;
|
|
524
|
+
minCount?: number;
|
|
525
|
+
sinceDays?: number;
|
|
526
|
+
since?: number;
|
|
527
|
+
limit?: number;
|
|
528
|
+
includePrivate?: boolean;
|
|
529
|
+
includeQHashes?: boolean;
|
|
530
|
+
wallet?: WalletLike;
|
|
531
|
+
chain?: string;
|
|
532
|
+
signatureMethod?: string;
|
|
533
|
+
privateAuth?: GatePrivateAuth;
|
|
534
|
+
|
|
535
|
+
referenceType?: string;
|
|
536
|
+
referenceId?: string;
|
|
537
|
+
tag?: string;
|
|
538
|
+
tags?: string[] | string;
|
|
539
|
+
contentType?: string;
|
|
540
|
+
content?: string;
|
|
541
|
+
contentHash?: string;
|
|
542
|
+
|
|
543
|
+
contractAddress?: string;
|
|
544
|
+
tokenId?: string;
|
|
545
|
+
chainId?: number;
|
|
546
|
+
domain?: string;
|
|
547
|
+
minBalance?: string;
|
|
548
|
+
|
|
549
|
+
provider?: string;
|
|
550
|
+
handle?: string;
|
|
551
|
+
namespace?: string;
|
|
552
|
+
ownerAddress?: string;
|
|
553
|
+
riskLevel?: string;
|
|
554
|
+
sanctioned?: boolean;
|
|
555
|
+
poisoned?: boolean;
|
|
556
|
+
primaryWalletAddress?: string;
|
|
557
|
+
secondaryWalletAddress?: string;
|
|
558
|
+
verificationMethod?: string;
|
|
559
|
+
/** Personhood ID for proof-of-human sybil resistance matching (0x-prefixed 64-hex-char SHA-256 digest) */
|
|
560
|
+
neusPersonhoodId?: string;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
export interface GatePrivateAuth {
|
|
564
|
+
walletAddress: string;
|
|
565
|
+
signature: string;
|
|
566
|
+
signedTimestamp: number;
|
|
567
|
+
chain?: string;
|
|
568
|
+
signatureMethod?: string;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
export interface GateCheckApiResponse {
|
|
572
|
+
success: boolean;
|
|
573
|
+
data?: {
|
|
574
|
+
eligible: boolean;
|
|
575
|
+
matchedCount?: number;
|
|
576
|
+
matchedQHashes?: string[];
|
|
577
|
+
matchedTags?: string[];
|
|
578
|
+
projections?: Array<Record<string, any>> | null;
|
|
579
|
+
criteria?: Record<string, any>;
|
|
580
|
+
};
|
|
581
|
+
error?: any;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
export interface ApiResponse<T = any> {
|
|
586
|
+
success: boolean;
|
|
587
|
+
data?: T;
|
|
588
|
+
error?: any;
|
|
589
|
+
status?: string;
|
|
590
|
+
timestamp?: number;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
export const HOUR: number;
|
|
595
|
+
export const DAY: number;
|
|
596
|
+
export const WEEK: number;
|
|
597
|
+
export const MONTH: number;
|
|
598
|
+
export const YEAR: number;
|
|
599
|
+
|
|
600
|
+
export const GATE_NFT_HOLDER: GateRequirement[];
|
|
601
|
+
export const GATE_TOKEN_HOLDER: GateRequirement[];
|
|
602
|
+
export const GATE_CONTRACT_ADMIN: GateRequirement[];
|
|
603
|
+
export const GATE_DOMAIN_OWNER: GateRequirement[];
|
|
604
|
+
export const GATE_LINKED_WALLETS: GateRequirement[];
|
|
605
|
+
export const GATE_AGENT_IDENTITY: GateRequirement[];
|
|
606
|
+
export const GATE_AGENT_DELEGATION: GateRequirement[];
|
|
607
|
+
export const GATE_CONTENT_MODERATION: GateRequirement[];
|
|
608
|
+
export const GATE_WALLET_RISK: GateRequirement[];
|
|
609
|
+
export const GATE_PSEUDONYM: GateRequirement[];
|
|
610
|
+
|
|
611
|
+
export function createGate(
|
|
612
|
+
requirements: Array<CoreVerifierId | GateRequirement>
|
|
613
|
+
): GateRequirement[];
|
|
614
|
+
|
|
615
|
+
export function combineGates(
|
|
616
|
+
...gates: GateRequirement[][]
|
|
617
|
+
): GateRequirement[];
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
type OwnershipBasicData = {
|
|
621
|
+
owner: string;
|
|
622
|
+
content?: string;
|
|
623
|
+
contentHash?: string;
|
|
624
|
+
contentType?: string;
|
|
625
|
+
reference?: {
|
|
626
|
+
type:
|
|
627
|
+
| 'ipfs'
|
|
628
|
+
| 'ipfs-hash'
|
|
629
|
+
| 'url'
|
|
630
|
+
| 'license-nft'
|
|
631
|
+
| 'contract'
|
|
632
|
+
| 'qhash'
|
|
633
|
+
| 'ethereum-tx'
|
|
634
|
+
| 'on-chain-tx'
|
|
635
|
+
| 'tx'
|
|
636
|
+
| 'file'
|
|
637
|
+
| 'doc'
|
|
638
|
+
| 'media'
|
|
639
|
+
| 'username-claim'
|
|
640
|
+
| 'job'
|
|
641
|
+
| 'job-status'
|
|
642
|
+
| 'other';
|
|
643
|
+
id?: string;
|
|
644
|
+
title?: string;
|
|
645
|
+
description?: string;
|
|
646
|
+
mime?: string;
|
|
647
|
+
name?: string;
|
|
648
|
+
size?: number;
|
|
649
|
+
};
|
|
650
|
+
provenance?: {
|
|
651
|
+
declaredKind?: 'human' | 'ai' | 'mixed' | 'unknown';
|
|
652
|
+
aiContext?: {
|
|
653
|
+
generatorType?: 'local' | 'saas' | 'agent';
|
|
654
|
+
provider?: string;
|
|
655
|
+
model?: string;
|
|
656
|
+
runId?: string;
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
[key: string]: any;
|
|
660
|
+
};
|
|
661
|
+
|
|
662
|
+
type OwnershipPseudonymData = {
|
|
663
|
+
pseudonymId: string;
|
|
664
|
+
namespace?: string;
|
|
665
|
+
displayName?: string;
|
|
666
|
+
metadata?: Record<string, any>;
|
|
667
|
+
[key: string]: any;
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
type OwnershipDnsTxtData = {
|
|
671
|
+
domain: string;
|
|
672
|
+
walletAddress?: string;
|
|
673
|
+
[key: string]: any;
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
type ContractOwnershipData = {
|
|
677
|
+
contractAddress: string;
|
|
678
|
+
chainId: number;
|
|
679
|
+
walletAddress?: string;
|
|
680
|
+
method?: 'owner' | 'admin' | 'accessControl';
|
|
681
|
+
[key: string]: any;
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
type NftOwnershipData = {
|
|
685
|
+
ownerAddress?: string;
|
|
686
|
+
contractAddress: string;
|
|
687
|
+
tokenId: string;
|
|
688
|
+
tokenType?: 'erc721' | 'erc1155';
|
|
689
|
+
chainId?: number;
|
|
690
|
+
chain?: string;
|
|
691
|
+
blockNumber?: number;
|
|
692
|
+
[key: string]: any;
|
|
693
|
+
};
|
|
694
|
+
|
|
695
|
+
type TokenHoldingData = {
|
|
696
|
+
ownerAddress?: string;
|
|
697
|
+
contractAddress: string;
|
|
698
|
+
minBalance: string;
|
|
699
|
+
chainId?: number;
|
|
700
|
+
chain?: string;
|
|
701
|
+
blockNumber?: number;
|
|
702
|
+
[key: string]: any;
|
|
703
|
+
};
|
|
704
|
+
|
|
705
|
+
type WalletRiskData = {
|
|
706
|
+
walletAddress: string;
|
|
707
|
+
provider?: string;
|
|
708
|
+
chainId?: number;
|
|
709
|
+
chain?: string;
|
|
710
|
+
[key: string]: any;
|
|
711
|
+
};
|
|
712
|
+
|
|
713
|
+
type WalletLinkData = {
|
|
714
|
+
primaryWalletAddress?: string;
|
|
715
|
+
secondaryWalletAddress?: string;
|
|
716
|
+
primaryAccountId?: string;
|
|
717
|
+
secondaryAccountId?: string;
|
|
718
|
+
primaryChainRef?: string;
|
|
719
|
+
secondaryChainRef?: string;
|
|
720
|
+
signature: string;
|
|
721
|
+
chain?: string;
|
|
722
|
+
signatureMethod: string;
|
|
723
|
+
signedTimestamp: number;
|
|
724
|
+
relationshipType?: 'primary' | 'personal' | 'org' | 'affiliate' | 'agent' | 'linked';
|
|
725
|
+
label?: string;
|
|
726
|
+
[key: string]: any;
|
|
727
|
+
};
|
|
728
|
+
|
|
729
|
+
type AiContentModerationData = {
|
|
730
|
+
content: string;
|
|
731
|
+
contentType:
|
|
732
|
+
| 'image/jpeg'
|
|
733
|
+
| 'image/png'
|
|
734
|
+
| 'image/webp'
|
|
735
|
+
| 'image/gif'
|
|
736
|
+
| 'text/plain'
|
|
737
|
+
| 'text/markdown'
|
|
738
|
+
| 'text/x-markdown'
|
|
739
|
+
| 'application/json'
|
|
740
|
+
| 'application/xml';
|
|
741
|
+
provider?: 'google-vision' | 'google-perspective';
|
|
742
|
+
[key: string]: any;
|
|
743
|
+
};
|
|
744
|
+
|
|
745
|
+
type AgentSkillRef = {
|
|
746
|
+
id: string;
|
|
747
|
+
label?: string;
|
|
748
|
+
version?: string;
|
|
749
|
+
provider?: string;
|
|
750
|
+
kind?: 'native' | 'integration' | 'plugin' | 'mcp' | 'toolkit';
|
|
751
|
+
configId?: string;
|
|
752
|
+
enabled?: boolean;
|
|
753
|
+
};
|
|
754
|
+
|
|
755
|
+
type AgentIdentityData = {
|
|
756
|
+
agentId: string;
|
|
757
|
+
agentWallet: string;
|
|
758
|
+
agentChainRef: string;
|
|
759
|
+
agentAccountId?: string;
|
|
760
|
+
agentLabel?: string;
|
|
761
|
+
agentType?: 'ai' | 'bot' | 'service' | 'automation' | 'agent';
|
|
762
|
+
avatar?: string;
|
|
763
|
+
description?: string;
|
|
764
|
+
defaultRuntime?: {
|
|
765
|
+
provider?: string;
|
|
766
|
+
model?: string;
|
|
767
|
+
mode?: string;
|
|
768
|
+
};
|
|
769
|
+
capabilities?: Record<string, boolean>;
|
|
770
|
+
instructions?: string;
|
|
771
|
+
skills?: AgentSkillRef[];
|
|
772
|
+
services?: Array<{
|
|
773
|
+
name: string;
|
|
774
|
+
endpoint: string;
|
|
775
|
+
version?: string;
|
|
776
|
+
}>;
|
|
777
|
+
};
|
|
778
|
+
|
|
779
|
+
type AgentDelegationData = {
|
|
780
|
+
controllerWallet: string;
|
|
781
|
+
controllerChainRef: string;
|
|
782
|
+
agentWallet: string;
|
|
783
|
+
agentChainRef: string;
|
|
784
|
+
controllerAccountId?: string;
|
|
785
|
+
agentAccountId?: string;
|
|
786
|
+
agentId?: string;
|
|
787
|
+
scope?: string;
|
|
788
|
+
permissions?: string[];
|
|
789
|
+
maxSpend?: string;
|
|
790
|
+
allowedPaymentTypes?: string[];
|
|
791
|
+
receiptDisclosure?: 'none' | 'summary' | 'full';
|
|
792
|
+
expiresAt?: number;
|
|
793
|
+
instructions?: string;
|
|
794
|
+
skills?: AgentSkillRef[];
|
|
795
|
+
model?: string;
|
|
796
|
+
provider?: string;
|
|
797
|
+
runtimePolicy?: {
|
|
798
|
+
allowedProviders?: string[];
|
|
799
|
+
allowedModelClasses?: string[];
|
|
800
|
+
requiresHumanApproval?: boolean;
|
|
801
|
+
secretsExposedToReceipt?: boolean;
|
|
802
|
+
};
|
|
803
|
+
allowedActions?: string[];
|
|
804
|
+
deniedActions?: string[];
|
|
805
|
+
approvalPolicy?: {
|
|
806
|
+
humanApprovalRequiredForNewClaims?: boolean;
|
|
807
|
+
preApprovedContentOnly?: boolean;
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
|
|
811
|
+
type CoreVerificationData =
|
|
812
|
+
| OwnershipBasicData
|
|
813
|
+
| OwnershipPseudonymData
|
|
814
|
+
| OwnershipDnsTxtData
|
|
815
|
+
| ContractOwnershipData
|
|
816
|
+
| NftOwnershipData
|
|
817
|
+
| TokenHoldingData
|
|
818
|
+
| WalletRiskData
|
|
819
|
+
| WalletLinkData
|
|
820
|
+
| AiContentModerationData
|
|
821
|
+
| AgentIdentityData
|
|
822
|
+
| AgentDelegationData;
|
|
823
|
+
|
|
824
|
+
type VerificationData =
|
|
825
|
+
| CoreVerificationData
|
|
826
|
+
| Record<string, CoreVerificationData>
|
|
827
|
+
| Record<string, any>;
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
interface VerifyOptions {
|
|
832
|
+
targetChains?: number[];
|
|
833
|
+
enableIpfs?: boolean;
|
|
834
|
+
privacyLevel?: 'private' | 'public';
|
|
835
|
+
publicDisplay?: boolean;
|
|
836
|
+
storeOriginalContent?: boolean;
|
|
837
|
+
meta?: {
|
|
838
|
+
title?: string;
|
|
839
|
+
description?: string;
|
|
840
|
+
displayName?: string;
|
|
841
|
+
contentText?: string;
|
|
842
|
+
contentType?: string;
|
|
843
|
+
contentDescription?: string;
|
|
844
|
+
license?: string;
|
|
845
|
+
publicContentLicense?: string;
|
|
846
|
+
publicContentDisclaimer?: string;
|
|
847
|
+
legal?: string;
|
|
848
|
+
source?: string;
|
|
849
|
+
campaign?: string;
|
|
850
|
+
tags?: string[];
|
|
851
|
+
category?: string;
|
|
852
|
+
};
|
|
853
|
+
reference?: {
|
|
854
|
+
type:
|
|
855
|
+
| 'ipfs'
|
|
856
|
+
| 'ipfs-hash'
|
|
857
|
+
| 'url'
|
|
858
|
+
| 'license-nft'
|
|
859
|
+
| 'contract'
|
|
860
|
+
| 'qhash'
|
|
861
|
+
| 'ethereum-tx'
|
|
862
|
+
| 'on-chain-tx'
|
|
863
|
+
| 'tx'
|
|
864
|
+
| 'file'
|
|
865
|
+
| 'doc'
|
|
866
|
+
| 'media'
|
|
867
|
+
| 'username-claim'
|
|
868
|
+
| 'job'
|
|
869
|
+
| 'job-status'
|
|
870
|
+
| 'other';
|
|
871
|
+
id?: string;
|
|
872
|
+
title?: string;
|
|
873
|
+
description?: string;
|
|
874
|
+
mime?: string;
|
|
875
|
+
name?: string;
|
|
876
|
+
size?: number;
|
|
877
|
+
};
|
|
878
|
+
verifierOptions?: Record<string, any>;
|
|
879
|
+
identity?: { pseudonym?: string; socials?: Record<string, string> };
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
declare module '@neus/sdk/widgets' {
|
|
886
|
+
export interface VerifyGateProps {
|
|
887
|
+
/** Published gate checkout handle (default integration path). */
|
|
888
|
+
gateId?: string;
|
|
889
|
+
requiredVerifiers?: string[];
|
|
890
|
+
onVerified?: (result: {
|
|
891
|
+
qHash: string;
|
|
892
|
+
qHashes?: string[];
|
|
893
|
+
address?: string;
|
|
894
|
+
txHash?: string | null;
|
|
895
|
+
verifierIds: string[];
|
|
896
|
+
verifiedVerifiers?: any[];
|
|
897
|
+
proofUrl?: string | null;
|
|
898
|
+
existing?: boolean;
|
|
899
|
+
eligible?: boolean;
|
|
900
|
+
mode?: 'create' | 'access';
|
|
901
|
+
data?: any;
|
|
902
|
+
results?: Array<{
|
|
903
|
+
verifierId: string;
|
|
904
|
+
qHash: string;
|
|
905
|
+
address?: string;
|
|
906
|
+
txHash?: string | null;
|
|
907
|
+
verifiedVerifiers?: any[];
|
|
908
|
+
proofUrl?: string | null;
|
|
909
|
+
}>;
|
|
910
|
+
proofsByVerifierId?: Record<string, any>;
|
|
911
|
+
}) => void;
|
|
912
|
+
apiUrl?: string;
|
|
913
|
+
appId?: string;
|
|
914
|
+
paymentSignature?: string;
|
|
915
|
+
extraHeaders?: Record<string, string>;
|
|
916
|
+
hostedCheckoutUrl?: string;
|
|
917
|
+
oauthProvider?: string;
|
|
918
|
+
style?: Record<string, any>;
|
|
919
|
+
children?: any;
|
|
920
|
+
strategy?: 'reuse-or-create' | 'reuse' | 'fresh';
|
|
921
|
+
checkExisting?: boolean;
|
|
922
|
+
allowPrivateReuse?: boolean;
|
|
923
|
+
showBrand?: boolean;
|
|
924
|
+
disabled?: boolean;
|
|
925
|
+
buttonText?: string;
|
|
926
|
+
mode?: 'create' | 'access';
|
|
927
|
+
qHash?: string | null;
|
|
928
|
+
wallet?: WalletLike | any;
|
|
929
|
+
chain?: string;
|
|
930
|
+
signatureMethod?: string;
|
|
931
|
+
onStateChange?: (state: string) => void;
|
|
932
|
+
onError?: (error: Error) => void;
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
export function VerifyGate(props: VerifyGateProps): any;
|
|
936
|
+
|
|
937
|
+
export interface ProofBadgeProps {
|
|
938
|
+
qHash?: string;
|
|
939
|
+
proofUrlPattern?: string;
|
|
940
|
+
size?: 'sm' | 'md';
|
|
941
|
+
uiLinkBase?: string;
|
|
942
|
+
apiUrl?: string;
|
|
943
|
+
proof?: any;
|
|
944
|
+
showChains?: boolean;
|
|
945
|
+
showLabel?: boolean;
|
|
946
|
+
logoUrl?: string;
|
|
947
|
+
onClick?: (data: { qHash: string; status: string; chainCount?: number }) => void;
|
|
948
|
+
className?: string;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
export function ProofBadge(props: ProofBadgeProps): any;
|
|
952
|
+
|
|
953
|
+
export interface SimpleProofBadgeProps {
|
|
954
|
+
qHash?: string;
|
|
955
|
+
proofUrlPattern?: string;
|
|
956
|
+
uiLinkBase?: string;
|
|
957
|
+
apiUrl?: string;
|
|
958
|
+
size?: 'sm' | 'md';
|
|
959
|
+
label?: string;
|
|
960
|
+
logoUrl?: string;
|
|
961
|
+
proof?: any;
|
|
962
|
+
onClick?: (data: { qHash: string; status: string }) => void;
|
|
963
|
+
className?: string;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
export function SimpleProofBadge(props: SimpleProofBadgeProps): any;
|
|
967
|
+
|
|
968
|
+
export interface NeusPillLinkProps {
|
|
969
|
+
qHash?: string;
|
|
970
|
+
proofUrlPattern?: string;
|
|
971
|
+
uiLinkBase?: string;
|
|
972
|
+
label?: string;
|
|
973
|
+
size?: 'sm' | 'md';
|
|
974
|
+
logoUrl?: string;
|
|
975
|
+
onClick?: (data: { qHash?: string }) => void;
|
|
976
|
+
className?: string;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
export function NeusPillLink(props: NeusPillLinkProps): any;
|
|
980
|
+
|
|
981
|
+
export interface VerifiedIconProps {
|
|
982
|
+
qHash?: string;
|
|
983
|
+
proofUrlPattern?: string;
|
|
984
|
+
uiLinkBase?: string;
|
|
985
|
+
size?: number;
|
|
986
|
+
logoUrl?: string;
|
|
987
|
+
tooltip?: string;
|
|
988
|
+
onClick?: (data: { qHash?: string }) => void;
|
|
989
|
+
className?: string;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
export function VerifiedIcon(props: VerifiedIconProps): any;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
declare module '@neus/sdk/widgets/verify-gate' {
|
|
996
|
+
export * from '@neus/sdk/widgets';
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
declare module '@neus/sdk/client' {
|
|
1000
|
+
export { NeusClient } from '@neus/sdk';
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
1003
|
declare module '@neus/sdk/mcp-hosts' {
|
|
1004
1004
|
export type McpInstallClient = 'claude' | 'codex' | 'cursor' | 'vscode';
|
|
1005
1005
|
export type McpInstallHost = 'cursor' | 'claude' | 'codex';
|
|
@@ -1011,18 +1011,18 @@ declare module '@neus/sdk/mcp-hosts' {
|
|
|
1011
1011
|
export const NEUS_MCP_SETUP_DOCS_URL: string;
|
|
1012
1012
|
export const MCP_INSTALL_CLIENTS: McpInstallClient[];
|
|
1013
1013
|
export const MCP_INSTALL_HOSTS: McpInstallHost[];
|
|
1014
|
-
export const IDE_HOST_LABELS: Record<McpInstallHost, string>;
|
|
1015
|
-
export const IDE_HOST_BRAND_LOGOS: Record<McpInstallHost, string>;
|
|
1016
|
-
|
|
1017
|
-
export function buildNeusMcpHttpConfig(accessKey?: string | null): {
|
|
1018
|
-
type: 'http';
|
|
1019
|
-
url: string;
|
|
1020
|
-
headers?: { Authorization: string };
|
|
1021
|
-
};
|
|
1022
|
-
|
|
1023
|
-
export function buildCursorMcpInstallUrl(accessKey?: string | null): string;
|
|
1024
|
-
export function buildVsCodeMcpInstallUrl(accessKey?: string | null): string;
|
|
1025
|
-
export function buildAuthCommandForClient(client: McpInstallClient): string;
|
|
1014
|
+
export const IDE_HOST_LABELS: Record<McpInstallHost, string>;
|
|
1015
|
+
export const IDE_HOST_BRAND_LOGOS: Record<McpInstallHost, string>;
|
|
1016
|
+
|
|
1017
|
+
export function buildNeusMcpHttpConfig(accessKey?: string | null): {
|
|
1018
|
+
type: 'http';
|
|
1019
|
+
url: string;
|
|
1020
|
+
headers?: { Authorization: string };
|
|
1021
|
+
};
|
|
1022
|
+
|
|
1023
|
+
export function buildCursorMcpInstallUrl(accessKey?: string | null): string;
|
|
1024
|
+
export function buildVsCodeMcpInstallUrl(accessKey?: string | null): string;
|
|
1025
|
+
export function buildAuthCommandForClient(client: McpInstallClient): string;
|
|
1026
1026
|
export function buildSetupCommandForClient(client: McpInstallClient, accessKey?: string | null): string;
|
|
1027
1027
|
export function buildSetupCommandForHost(host: McpInstallHost, accessKey?: string | null): string;
|
|
1028
1028
|
export function supportsMcpInstallDeeplink(host: McpInstallHost): boolean;
|