@heemankv/sigints-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +206 -0
  2. package/dist/backend.d.ts +319 -0
  3. package/dist/backend.d.ts.map +1 -0
  4. package/dist/backend.js +306 -0
  5. package/dist/backend.js.map +1 -0
  6. package/dist/crypto.d.ts +16 -0
  7. package/dist/crypto.d.ts.map +1 -0
  8. package/dist/crypto.js +61 -0
  9. package/dist/crypto.js.map +1 -0
  10. package/dist/index.d.ts +134 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +361 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/jetstream.d.ts +22 -0
  15. package/dist/jetstream.d.ts.map +1 -0
  16. package/dist/jetstream.js +113 -0
  17. package/dist/jetstream.js.map +1 -0
  18. package/dist/jetstream.proto +101 -0
  19. package/dist/publish.d.ts +32 -0
  20. package/dist/publish.d.ts.map +1 -0
  21. package/dist/publish.js +139 -0
  22. package/dist/publish.js.map +1 -0
  23. package/dist/solana/constants.d.ts +3 -0
  24. package/dist/solana/constants.d.ts.map +1 -0
  25. package/dist/solana/constants.js +8 -0
  26. package/dist/solana/constants.js.map +1 -0
  27. package/dist/solana/index.d.ts +7 -0
  28. package/dist/solana/index.d.ts.map +1 -0
  29. package/dist/solana/index.js +6 -0
  30. package/dist/solana/index.js.map +1 -0
  31. package/dist/solana/recordSignal.d.ts +23 -0
  32. package/dist/solana/recordSignal.d.ts.map +1 -0
  33. package/dist/solana/recordSignal.js +21 -0
  34. package/dist/solana/recordSignal.js.map +1 -0
  35. package/dist/solana/shared.d.ts +5 -0
  36. package/dist/solana/shared.d.ts.map +1 -0
  37. package/dist/solana/shared.js +27 -0
  38. package/dist/solana/shared.js.map +1 -0
  39. package/dist/solana/streamRegistry.d.ts +41 -0
  40. package/dist/solana/streamRegistry.d.ts.map +1 -0
  41. package/dist/solana/streamRegistry.js +103 -0
  42. package/dist/solana/streamRegistry.js.map +1 -0
  43. package/dist/solana/subscription.d.ts +77 -0
  44. package/dist/solana/subscription.d.ts.map +1 -0
  45. package/dist/solana/subscription.js +237 -0
  46. package/dist/solana/subscription.js.map +1 -0
  47. package/dist/solana/tiers.d.ts +9 -0
  48. package/dist/solana/tiers.d.ts.map +1 -0
  49. package/dist/solana/tiers.js +13 -0
  50. package/dist/solana/tiers.js.map +1 -0
  51. package/dist/tradeIntent.d.ts +21 -0
  52. package/dist/tradeIntent.d.ts.map +1 -0
  53. package/dist/tradeIntent.js +95 -0
  54. package/dist/tradeIntent.js.map +1 -0
  55. package/dist/transactions.d.ts +89 -0
  56. package/dist/transactions.d.ts.map +1 -0
  57. package/dist/transactions.js +118 -0
  58. package/dist/transactions.js.map +1 -0
  59. package/package.json +32 -0
package/README.md ADDED
@@ -0,0 +1,206 @@
1
+ # sigints.club SDK
2
+
3
+ A TypeScript SDK for building on sigints.club. It covers:
4
+ - Solana on-chain transactions and instruction builders
5
+ - Backend API helpers
6
+ - Signal encryption/decryption
7
+ - Real-time listening (WebSocket or OrbitFlare Jetstream)
8
+ - Trade intent parsing utilities
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ npm install @heemankv/sigints-sdk
14
+ ```
15
+
16
+ ## Quick Start (Backend-Backed Client)
17
+
18
+ ```ts
19
+ import { SigintsClient } from "@heemankv/sigints-sdk";
20
+
21
+ const client = await SigintsClient.fromBackend("https://your-backend");
22
+
23
+ const stop = await client.listenForSignals({
24
+ streamPubkey: "YOUR_STREAM_PDA",
25
+ streamId: "stream-btc",
26
+ onSignal: (signal) => {
27
+ console.log("Signal:", signal.plaintext);
28
+ },
29
+ });
30
+ ```
31
+
32
+ ## Configuration
33
+
34
+ ### StreamSdkConfig
35
+
36
+ ```ts
37
+ import { SigintsClient } from "@heemankv/sigints-sdk";
38
+
39
+ const client = new SigintsClient({
40
+ rpcUrl: "https://api.devnet.solana.com",
41
+ backendUrl: "https://your-backend",
42
+ programId: "SUBSCRIPTION_PROGRAM_ID",
43
+ streamRegistryProgramId: "STREAM_REGISTRY_PROGRAM_ID",
44
+ });
45
+ ```
46
+
47
+ ### OrbitFlare (RPC + Jetstream)
48
+
49
+ ```ts
50
+ import { SigintsClient } from "@heemankv/sigints-sdk";
51
+
52
+ const client = new SigintsClient({
53
+ rpcUrl: "https://api.devnet.solana.com",
54
+ backendUrl: "https://your-backend",
55
+ programId: "SUBSCRIPTION_PROGRAM_ID",
56
+ streamRegistryProgramId: "STREAM_REGISTRY_PROGRAM_ID",
57
+ orbitflare: {
58
+ rpcUrl: "https://your-orbitflare-devnet-rpc",
59
+ jetstreamEndpoint: "https://your-jetstream-endpoint",
60
+ apiKey: "ORBITFLARE_KEY",
61
+ apiKeyHeader: "X-ORBIT-KEY",
62
+ },
63
+ });
64
+ ```
65
+
66
+ Behavior:
67
+ - If `orbitflare.rpcUrl` is provided, it overrides the RPC URL for all on-chain reads/writes.
68
+ - If `orbitflare.jetstreamEndpoint` is provided, `listenForSignals()` uses Jetstream.
69
+ - If Jetstream fails to connect, the SDK falls back to WebSocket subscriptions.
70
+ - If neither is configured, the SDK behaves as it does today.
71
+
72
+ Note: Jetstream is Node-only (not supported in browser runtimes).
73
+
74
+ ## SigintsClient API
75
+
76
+ ### Subscription + Keys
77
+ - `registerSubscription(streamId, subscriberWallet)`
78
+ - `registerEncryptionKey(streamId, publicKeyDerBase64, subscriberWallet)`
79
+ - `syncWalletKey(wallet, streamId, encPubKeyDerBase64?)`
80
+
81
+ ### Streams
82
+ - `fetchStream(streamId)`
83
+
84
+ ### Signals
85
+ - `fetchLatestSignal(streamId)`
86
+ - `fetchSignalByHash(signalHash)`
87
+ - `fetchCiphertext(pointer)`
88
+ - `fetchPublic(pointer)`
89
+ - `fetchKeyboxEntry(pointer, encPubKeyDerBase64)`
90
+ - `decryptSignal(metadata, keys)`
91
+
92
+ ### Real-Time Listening
93
+ - `listenForSignals(options)`
94
+
95
+ Options:
96
+ - `streamPubkey`
97
+ - `streamId`
98
+ - `subscriberKeys` (for private streams)
99
+ - `onSignal`
100
+ - `onError`
101
+ - `maxAgeMs`
102
+ - `includeBlockTime`
103
+ - `transport` (`auto` | `jetstream` | `websocket`)
104
+
105
+ ### Signal Publish
106
+ - `prepareSignal(input)`
107
+ - `buildRecordSignalInstruction(params)`
108
+ - `buildRecordSignalDelegatedInstruction(params)`
109
+
110
+ ## Backend Client Helpers
111
+
112
+ The SDK also exports a backend client for direct REST calls.
113
+
114
+ ### Core Client
115
+ - `createBackendClient(backendUrl)`
116
+
117
+ ### Stream Discovery
118
+ - `fetchStream(streamId)`
119
+ - `fetchStreams(includeTiers?)`
120
+ - `fetchStreamSubscribers(streamId)`
121
+
122
+ ### Subscriptions
123
+ - `registerSubscription({ streamId, subscriberWallet })`
124
+ - `fetchOnchainSubscriptions(subscriber, opts?)`
125
+
126
+ ### Signals
127
+ - `fetchSignals(streamId)`
128
+ - `fetchSignalEvents({ streamId, limit, after })`
129
+ - `fetchLatestSignal(streamId)`
130
+ - `fetchSignalByHash(signalHash)`
131
+ - `prepareSignal({ streamId, tierId, plaintext, visibility? })`
132
+
133
+ ### Payloads
134
+ - `fetchCiphertext(sha)`
135
+ - `fetchPublicPayload(sha, auth)`
136
+ - `fetchKeyboxEntry(sha, params)`
137
+
138
+ ### Social Feed
139
+ - `fetchFeed(type?)`
140
+ - `fetchFollowingFeed(wallet, type?)`
141
+ - `fetchTrendingFeed(limit?)`
142
+ - `fetchPost(contentId)`
143
+ - `createIntent({ wallet, content, topic?, tags? })`
144
+ - `createSlashReport({ wallet, content, streamId?, makerWallet?, challengeTx? })`
145
+ - `addLike(wallet, contentId)`
146
+ - `removeLike(wallet, contentId)`
147
+ - `fetchLikeCount(contentId)`
148
+ - `fetchComments(contentId, page?, pageSize?)`
149
+ - `addComment(wallet, contentId, comment)`
150
+ - `deleteComment(wallet, commentId)`
151
+ - `followProfile(wallet, targetProfileId)`
152
+ - `deletePost(wallet, contentId)`
153
+
154
+ ### Agents
155
+ - `searchAgents(params)`
156
+ - `fetchAgents(params)`
157
+ - `createAgent(payload)`
158
+ - `createAgentSubscription(payload)`
159
+ - `fetchAgentSubscriptions(params)`
160
+ - `deleteAgentSubscription(payload)`
161
+
162
+ ### Auth / Profiles
163
+ - `fetchUserProfile(wallet)`
164
+ - `loginUser(params)`
165
+
166
+ ### Test Utilities
167
+ - `getTestWallet(walletName?)`
168
+ - `testWalletSend({ transactionBase64, skipPreflight? }, walletName?)`
169
+ - `testWalletSignMessage({ messageBase64 }, walletName?)`
170
+
171
+ ## Solana Transaction Builders
172
+
173
+ These helpers return a `Transaction` plus a fresh blockhash.
174
+
175
+ - `buildCreateStreamTransaction`
176
+ - `buildUpsertTiersTransaction`
177
+ - `buildSubscribeTransaction`
178
+ - `buildRegisterSubscriptionKeyTransaction`
179
+ - `buildRecordSignalTransaction`
180
+ - `buildRecordSignalDelegatedTransaction`
181
+ - `buildGrantPublisherTransaction`
182
+ - `buildRevokePublisherTransaction`
183
+
184
+ ## Trade Intent Utilities
185
+
186
+ Parse the strict trade template and build a Blink URL.
187
+
188
+ ```ts
189
+ import { parseTradeIntent, buildTradeActionUrl, buildTradeBlinkUrl } from "@heemankv/sigints-sdk";
190
+
191
+ const intent = parseTradeIntent(
192
+ "TRADE: provider=Jupiter input=SOL amount=1.25 output=USDC slippageBps=50"
193
+ );
194
+
195
+ if (intent) {
196
+ const actionUrl = buildTradeActionUrl(intent, "https://your-backend");
197
+ const blinkUrl = buildTradeBlinkUrl(actionUrl, "https://your-app");
198
+ console.log(blinkUrl);
199
+ }
200
+ ```
201
+
202
+ ## Notes
203
+
204
+ - Public signals still require an active subscription NFT to fetch payloads.
205
+ - Private signals require a registered key and keybox entry.
206
+ - Jetstream is only used for listening; all reads/writes still use RPC.
@@ -0,0 +1,319 @@
1
+ import type { PrepareSignalInput, PrepareSignalResponse } from "./publish";
2
+ export type SubscribeResponse = {
3
+ subscriberId: string | null;
4
+ public?: boolean;
5
+ bypass?: boolean;
6
+ needsKey?: boolean;
7
+ };
8
+ export type SyncWalletKeyResponse = {
9
+ subscriberId: string;
10
+ wallet?: string;
11
+ streamId?: string;
12
+ publicKey?: string;
13
+ bypass?: boolean;
14
+ };
15
+ export type LoginUserResponse = {
16
+ user: {
17
+ wallet: string;
18
+ displayName?: string;
19
+ bio?: string;
20
+ tapestryProfileId?: string;
21
+ };
22
+ };
23
+ export type SolanaConfigResponse = {
24
+ subscriptionProgramId: string;
25
+ streamRegistryProgramId: string;
26
+ rpcUrl: string;
27
+ };
28
+ export type BlinkLinkResponse = {
29
+ streamUrl: string;
30
+ actionUrl: string;
31
+ blinkUrl: string;
32
+ directBlinkUrl: string;
33
+ };
34
+ export declare function getJson<T>(backendUrl: string, path: string): Promise<T>;
35
+ export declare function postJson<T>(backendUrl: string, path: string, body: unknown): Promise<T>;
36
+ export declare function patchJson<T>(backendUrl: string, path: string, body: unknown): Promise<T>;
37
+ export declare function deleteJson<T>(backendUrl: string, path: string, body: unknown): Promise<T>;
38
+ export declare function registerSubscription(backendUrl: string, input: {
39
+ streamId: string;
40
+ subscriberWallet: string;
41
+ }): Promise<SubscribeResponse>;
42
+ export declare function fetchSolanaConfig(backendUrl: string): Promise<SolanaConfigResponse>;
43
+ export declare function syncWalletKey(backendUrl: string, input: {
44
+ wallet: string;
45
+ streamId: string;
46
+ encPubKeyDerBase64?: string;
47
+ }): Promise<SyncWalletKeyResponse>;
48
+ export declare function fetchStream<T = any>(backendUrl: string, streamId: string): Promise<T>;
49
+ export declare function fetchStreams<T = any>(backendUrl: string, includeTiers?: boolean): Promise<{
50
+ streams: T[];
51
+ }>;
52
+ export declare function fetchStreamSubscribers(backendUrl: string, streamId: string): Promise<{
53
+ count: number;
54
+ }>;
55
+ export declare function fetchBlinkLink(backendUrl: string, streamId: string): Promise<BlinkLinkResponse>;
56
+ export declare function createStream<T = any>(backendUrl: string, payload: unknown): Promise<{
57
+ stream: T;
58
+ }>;
59
+ export declare function fetchOnchainSubscriptions<T = any>(backendUrl: string, subscriber: string, opts?: {
60
+ fresh?: boolean;
61
+ }): Promise<{
62
+ subscriptions: T[];
63
+ }>;
64
+ export declare function fetchSignals<T = any>(backendUrl: string, streamId: string): Promise<{
65
+ signals: T[];
66
+ }>;
67
+ export declare function fetchSignalEvents<T = any>(backendUrl: string, params: {
68
+ streamId?: string;
69
+ limit?: number;
70
+ after?: number;
71
+ }): Promise<{
72
+ events: T[];
73
+ }>;
74
+ export declare function fetchLatestSignal<T = any>(backendUrl: string, streamId: string): Promise<{
75
+ signal: T;
76
+ }>;
77
+ export declare function fetchSignalByHash<T = any>(backendUrl: string, signalHash: string): Promise<{
78
+ signal: T;
79
+ }>;
80
+ export declare function fetchCiphertext<T = any>(backendUrl: string, sha: string): Promise<{
81
+ payload: T;
82
+ }>;
83
+ export type PublicPayloadAuth = {
84
+ wallet: string;
85
+ signatureBase64: string;
86
+ } | {
87
+ agentId: string;
88
+ signatureBase64: string;
89
+ };
90
+ export type KeyboxEntryAuth = {
91
+ wallet: string;
92
+ signatureBase64: string;
93
+ encPubKeyDerBase64: string;
94
+ subscriberId?: string;
95
+ } | {
96
+ agentId: string;
97
+ signatureBase64: string;
98
+ encPubKeyDerBase64: string;
99
+ subscriberId?: string;
100
+ };
101
+ export declare function buildPublicPayloadMessage(sha: string): Uint8Array;
102
+ export declare function fetchPublicPayload<T = any>(backendUrl: string, sha: string, auth?: PublicPayloadAuth): Promise<{
103
+ payload: T;
104
+ }>;
105
+ export declare function fetchKeyboxEntry<T = any>(backendUrl: string, sha: string, params: KeyboxEntryAuth): Promise<{
106
+ entry: T;
107
+ }>;
108
+ export declare function fetchHealth(backendUrl: string): Promise<{
109
+ ok: boolean;
110
+ timestamp: number;
111
+ }>;
112
+ export declare function getTestWallet(backendUrl: string, walletName?: string): Promise<{
113
+ wallet: string;
114
+ }>;
115
+ export declare function testWalletSend(backendUrl: string, payload: {
116
+ transactionBase64: string;
117
+ skipPreflight?: boolean;
118
+ }, walletName?: string): Promise<{
119
+ signature: string;
120
+ }>;
121
+ export declare function testWalletSignMessage(backendUrl: string, payload: {
122
+ messageBase64: string;
123
+ }, walletName?: string): Promise<{
124
+ signatureBase64: string;
125
+ }>;
126
+ export declare function fetchFeed<T = any>(backendUrl: string, type?: "intent" | "slash"): Promise<T>;
127
+ export declare function fetchFollowingFeed<T = any>(backendUrl: string, wallet: string, type?: "intent" | "slash"): Promise<T>;
128
+ export declare function fetchTrendingFeed<T = any>(backendUrl: string, limit?: number): Promise<T>;
129
+ export declare function fetchPost<T = any>(backendUrl: string, contentId: string): Promise<T>;
130
+ export declare function createIntent(backendUrl: string, params: {
131
+ wallet: string;
132
+ content: string;
133
+ topic?: string;
134
+ tags?: string[];
135
+ }): Promise<void>;
136
+ export declare function createSlashReport(backendUrl: string, params: {
137
+ wallet: string;
138
+ content: string;
139
+ streamId?: string;
140
+ makerWallet?: string;
141
+ challengeTx?: string;
142
+ }): Promise<void>;
143
+ export declare function addLike(backendUrl: string, wallet: string, contentId: string): Promise<void>;
144
+ export declare function removeLike(backendUrl: string, wallet: string, contentId: string): Promise<void>;
145
+ export declare function fetchLikeCount(backendUrl: string, contentId: string): Promise<number>;
146
+ export declare function fetchFollowCounts(backendUrl: string, wallet: string): Promise<{
147
+ counts: {
148
+ followers: number;
149
+ following: number;
150
+ };
151
+ }>;
152
+ export declare function fetchFollowingIds(backendUrl: string, wallet: string): Promise<{
153
+ following: string[];
154
+ }>;
155
+ export declare function fetchComments<T = any>(backendUrl: string, contentId: string, page?: number, pageSize?: number): Promise<T>;
156
+ export declare function addComment(backendUrl: string, wallet: string, contentId: string, comment: string): Promise<void>;
157
+ export declare function deleteComment(backendUrl: string, wallet: string, commentId: string): Promise<void>;
158
+ export declare function followProfile(backendUrl: string, wallet: string, targetProfileId: string): Promise<void>;
159
+ export declare function deletePost(backendUrl: string, wallet: string, contentId: string): Promise<void>;
160
+ export declare function searchAgents<T = any>(backendUrl: string, query: string): Promise<T>;
161
+ export declare function fetchAgents<T = any>(backendUrl: string, params: {
162
+ owner?: string;
163
+ role?: string;
164
+ streamId?: string;
165
+ search?: string;
166
+ }): Promise<T>;
167
+ export declare function createAgent<T = any>(backendUrl: string, payload: unknown): Promise<T>;
168
+ export declare function createAgentSubscription<T = any>(backendUrl: string, payload: unknown): Promise<T>;
169
+ export declare function fetchAgentSubscriptions<T = any>(backendUrl: string, params: {
170
+ owner?: string;
171
+ agentId?: string;
172
+ streamId?: string;
173
+ }): Promise<T>;
174
+ export declare function deleteAgentSubscription<T = any>(backendUrl: string, id: string): Promise<T>;
175
+ export declare function fetchUserProfile<T = any>(backendUrl: string, wallet: string): Promise<T>;
176
+ export declare function updateUserProfile<T = any>(backendUrl: string, wallet: string, payload: {
177
+ displayName?: string;
178
+ bio?: string;
179
+ }): Promise<T>;
180
+ export declare function loginUser(backendUrl: string, wallet: string, opts?: {
181
+ displayName?: string;
182
+ bio?: string;
183
+ }): Promise<LoginUserResponse>;
184
+ export declare function prepareSignal(backendUrl: string, input: PrepareSignalInput): Promise<PrepareSignalResponse["metadata"]>;
185
+ export declare function createBackendClient(backendUrl: string): {
186
+ getJson: <T>(path: string) => Promise<T>;
187
+ postJson: <T>(path: string, body: unknown) => Promise<T>;
188
+ patchJson: <T>(path: string, body: unknown) => Promise<T>;
189
+ deleteJson: <T>(path: string, body: unknown) => Promise<T>;
190
+ registerSubscription: (input: {
191
+ streamId: string;
192
+ subscriberWallet: string;
193
+ }) => Promise<SubscribeResponse>;
194
+ fetchSolanaConfig: () => Promise<SolanaConfigResponse>;
195
+ syncWalletKey: (input: {
196
+ wallet: string;
197
+ streamId: string;
198
+ encPubKeyDerBase64?: string;
199
+ }) => Promise<SyncWalletKeyResponse>;
200
+ fetchStream: <T = any>(streamId: string) => Promise<T>;
201
+ fetchStreams: <T = any>(includeTiers?: boolean) => Promise<{
202
+ streams: T[];
203
+ }>;
204
+ fetchStreamSubscribers: (streamId: string) => Promise<{
205
+ count: number;
206
+ }>;
207
+ fetchBlinkLink: (streamId: string) => Promise<BlinkLinkResponse>;
208
+ createStream: <T = any>(payload: unknown) => Promise<{
209
+ stream: T;
210
+ }>;
211
+ fetchOnchainSubscriptions: <T = any>(subscriber: string, opts?: {
212
+ fresh?: boolean;
213
+ }) => Promise<{
214
+ subscriptions: T[];
215
+ }>;
216
+ fetchSignals: <T = any>(streamId: string) => Promise<{
217
+ signals: T[];
218
+ }>;
219
+ fetchSignalEvents: <T = any>(params: {
220
+ streamId?: string;
221
+ limit?: number;
222
+ after?: number;
223
+ }) => Promise<{
224
+ events: T[];
225
+ }>;
226
+ fetchLatestSignal: <T = any>(streamId: string) => Promise<{
227
+ signal: T;
228
+ }>;
229
+ fetchSignalByHash: <T = any>(signalHash: string) => Promise<{
230
+ signal: T;
231
+ }>;
232
+ fetchCiphertext: <T = any>(sha: string) => Promise<{
233
+ payload: T;
234
+ }>;
235
+ fetchPublicPayload: <T = any>(sha: string, auth?: PublicPayloadAuth) => Promise<{
236
+ payload: T;
237
+ }>;
238
+ fetchKeyboxEntry: <T = any>(sha: string, params: KeyboxEntryAuth) => Promise<{
239
+ entry: T;
240
+ }>;
241
+ fetchHealth: () => Promise<{
242
+ ok: boolean;
243
+ timestamp: number;
244
+ }>;
245
+ getTestWallet: (walletName?: string) => Promise<{
246
+ wallet: string;
247
+ }>;
248
+ testWalletSend: (payload: {
249
+ transactionBase64: string;
250
+ skipPreflight?: boolean;
251
+ }, walletName?: string) => Promise<{
252
+ signature: string;
253
+ }>;
254
+ testWalletSignMessage: (payload: {
255
+ messageBase64: string;
256
+ }, walletName?: string) => Promise<{
257
+ signatureBase64: string;
258
+ }>;
259
+ fetchFeed: <T = any>(type?: "intent" | "slash") => Promise<T>;
260
+ fetchFollowingFeed: <T = any>(wallet: string, type?: "intent" | "slash") => Promise<T>;
261
+ fetchTrendingFeed: <T = any>(limit?: number) => Promise<T>;
262
+ fetchPost: <T = any>(contentId: string) => Promise<T>;
263
+ prepareSignal: (input: PrepareSignalInput) => Promise<import(".").SignalMetadata>;
264
+ createIntent: (params: {
265
+ wallet: string;
266
+ content: string;
267
+ topic?: string;
268
+ tags?: string[];
269
+ }) => Promise<void>;
270
+ createSlashReport: (params: {
271
+ wallet: string;
272
+ content: string;
273
+ streamId?: string;
274
+ makerWallet?: string;
275
+ challengeTx?: string;
276
+ }) => Promise<void>;
277
+ addLike: (wallet: string, contentId: string) => Promise<void>;
278
+ removeLike: (wallet: string, contentId: string) => Promise<void>;
279
+ fetchLikeCount: (contentId: string) => Promise<number>;
280
+ fetchFollowCounts: (wallet: string) => Promise<{
281
+ counts: {
282
+ followers: number;
283
+ following: number;
284
+ };
285
+ }>;
286
+ fetchFollowingIds: (wallet: string) => Promise<{
287
+ following: string[];
288
+ }>;
289
+ fetchComments: <T = any>(contentId: string, page?: number, pageSize?: number) => Promise<T>;
290
+ addComment: (wallet: string, contentId: string, comment: string) => Promise<void>;
291
+ deleteComment: (wallet: string, commentId: string) => Promise<void>;
292
+ followProfile: (wallet: string, targetProfileId: string) => Promise<void>;
293
+ deletePost: (wallet: string, contentId: string) => Promise<void>;
294
+ searchAgents: <T = any>(query: string) => Promise<T>;
295
+ fetchAgents: <T = any>(params: {
296
+ owner?: string;
297
+ role?: string;
298
+ streamId?: string;
299
+ search?: string;
300
+ }) => Promise<T>;
301
+ createAgent: <T = any>(payload: unknown) => Promise<T>;
302
+ createAgentSubscription: <T = any>(payload: unknown) => Promise<T>;
303
+ fetchAgentSubscriptions: <T = any>(params: {
304
+ owner?: string;
305
+ agentId?: string;
306
+ streamId?: string;
307
+ }) => Promise<T>;
308
+ deleteAgentSubscription: <T = any>(id: string) => Promise<T>;
309
+ fetchUserProfile: <T = any>(wallet: string) => Promise<T>;
310
+ updateUserProfile: <T = any>(wallet: string, payload: {
311
+ displayName?: string;
312
+ bio?: string;
313
+ }) => Promise<T>;
314
+ loginUser: (wallet: string, opts?: {
315
+ displayName?: string;
316
+ bio?: string;
317
+ }) => Promise<LoginUserResponse>;
318
+ };
319
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}