@nordsym/apiclaw 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 (79) hide show
  1. package/.github/ISSUE_TEMPLATE/add-api.yml +123 -0
  2. package/BRIEFING.md +30 -0
  3. package/CONCEPT.md +494 -0
  4. package/README.md +272 -0
  5. package/backend/convex/README.md +90 -0
  6. package/backend/convex/_generated/api.d.ts +55 -0
  7. package/backend/convex/_generated/api.js +23 -0
  8. package/backend/convex/_generated/dataModel.d.ts +60 -0
  9. package/backend/convex/_generated/server.d.ts +143 -0
  10. package/backend/convex/_generated/server.js +93 -0
  11. package/backend/convex/apiKeys.ts +75 -0
  12. package/backend/convex/purchases.ts +74 -0
  13. package/backend/convex/schema.ts +45 -0
  14. package/backend/convex/transactions.ts +57 -0
  15. package/backend/convex/tsconfig.json +25 -0
  16. package/backend/convex/users.ts +94 -0
  17. package/backend/package-lock.json +521 -0
  18. package/backend/package.json +15 -0
  19. package/dist/credits.d.ts +54 -0
  20. package/dist/credits.d.ts.map +1 -0
  21. package/dist/credits.js +209 -0
  22. package/dist/credits.js.map +1 -0
  23. package/dist/discovery.d.ts +37 -0
  24. package/dist/discovery.d.ts.map +1 -0
  25. package/dist/discovery.js +109 -0
  26. package/dist/discovery.js.map +1 -0
  27. package/dist/index.d.ts +13 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +355 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/registry/apis.json +20894 -0
  32. package/dist/registry/parse_apis.py +146 -0
  33. package/dist/revenuecat.d.ts +61 -0
  34. package/dist/revenuecat.d.ts.map +1 -0
  35. package/dist/revenuecat.js +166 -0
  36. package/dist/revenuecat.js.map +1 -0
  37. package/dist/test.d.ts +6 -0
  38. package/dist/test.d.ts.map +1 -0
  39. package/dist/test.js +81 -0
  40. package/dist/test.js.map +1 -0
  41. package/dist/types.d.ts +96 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +3 -0
  44. package/dist/types.js.map +1 -0
  45. package/dist/webhooks/revenuecat.d.ts +48 -0
  46. package/dist/webhooks/revenuecat.d.ts.map +1 -0
  47. package/dist/webhooks/revenuecat.js +119 -0
  48. package/dist/webhooks/revenuecat.js.map +1 -0
  49. package/docs/revenuecat-setup.md +89 -0
  50. package/landing/next-env.d.ts +5 -0
  51. package/landing/next.config.mjs +6 -0
  52. package/landing/package-lock.json +1666 -0
  53. package/landing/package.json +27 -0
  54. package/landing/postcss.config.js +6 -0
  55. package/landing/src/app/api/keys/route.ts +71 -0
  56. package/landing/src/app/api/log/route.ts +37 -0
  57. package/landing/src/app/api/stats/route.ts +37 -0
  58. package/landing/src/app/globals.css +261 -0
  59. package/landing/src/app/layout.tsx +37 -0
  60. package/landing/src/app/page.tsx +753 -0
  61. package/landing/src/app/page.tsx.bak +567 -0
  62. package/landing/src/components/AddKeyModal.tsx +159 -0
  63. package/landing/tailwind.config.ts +34 -0
  64. package/landing/tsconfig.json +20 -0
  65. package/newsletter-template.html +71 -0
  66. package/outreach/OUTREACH-SYSTEM.md +211 -0
  67. package/outreach/email-template.html +179 -0
  68. package/outreach/targets.md +133 -0
  69. package/package.json +39 -0
  70. package/src/credits.ts +261 -0
  71. package/src/discovery.ts +147 -0
  72. package/src/index.ts +396 -0
  73. package/src/registry/apis.json +20894 -0
  74. package/src/registry/parse_apis.py +146 -0
  75. package/src/revenuecat.ts +239 -0
  76. package/src/test.ts +97 -0
  77. package/src/types.ts +110 -0
  78. package/src/webhooks/revenuecat.ts +187 -0
  79. package/tsconfig.json +20 -0
@@ -0,0 +1,521 @@
1
+ {
2
+ "name": "backend",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "backend",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "convex": "^1.31.7"
13
+ }
14
+ },
15
+ "node_modules/@esbuild/aix-ppc64": {
16
+ "version": "0.27.0",
17
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.0.tgz",
18
+ "integrity": "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==",
19
+ "cpu": [
20
+ "ppc64"
21
+ ],
22
+ "license": "MIT",
23
+ "optional": true,
24
+ "os": [
25
+ "aix"
26
+ ],
27
+ "engines": {
28
+ "node": ">=18"
29
+ }
30
+ },
31
+ "node_modules/@esbuild/android-arm": {
32
+ "version": "0.27.0",
33
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.0.tgz",
34
+ "integrity": "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==",
35
+ "cpu": [
36
+ "arm"
37
+ ],
38
+ "license": "MIT",
39
+ "optional": true,
40
+ "os": [
41
+ "android"
42
+ ],
43
+ "engines": {
44
+ "node": ">=18"
45
+ }
46
+ },
47
+ "node_modules/@esbuild/android-arm64": {
48
+ "version": "0.27.0",
49
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.0.tgz",
50
+ "integrity": "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==",
51
+ "cpu": [
52
+ "arm64"
53
+ ],
54
+ "license": "MIT",
55
+ "optional": true,
56
+ "os": [
57
+ "android"
58
+ ],
59
+ "engines": {
60
+ "node": ">=18"
61
+ }
62
+ },
63
+ "node_modules/@esbuild/android-x64": {
64
+ "version": "0.27.0",
65
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.0.tgz",
66
+ "integrity": "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==",
67
+ "cpu": [
68
+ "x64"
69
+ ],
70
+ "license": "MIT",
71
+ "optional": true,
72
+ "os": [
73
+ "android"
74
+ ],
75
+ "engines": {
76
+ "node": ">=18"
77
+ }
78
+ },
79
+ "node_modules/@esbuild/darwin-arm64": {
80
+ "version": "0.27.0",
81
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.0.tgz",
82
+ "integrity": "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==",
83
+ "cpu": [
84
+ "arm64"
85
+ ],
86
+ "license": "MIT",
87
+ "optional": true,
88
+ "os": [
89
+ "darwin"
90
+ ],
91
+ "engines": {
92
+ "node": ">=18"
93
+ }
94
+ },
95
+ "node_modules/@esbuild/darwin-x64": {
96
+ "version": "0.27.0",
97
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.0.tgz",
98
+ "integrity": "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==",
99
+ "cpu": [
100
+ "x64"
101
+ ],
102
+ "license": "MIT",
103
+ "optional": true,
104
+ "os": [
105
+ "darwin"
106
+ ],
107
+ "engines": {
108
+ "node": ">=18"
109
+ }
110
+ },
111
+ "node_modules/@esbuild/freebsd-arm64": {
112
+ "version": "0.27.0",
113
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.0.tgz",
114
+ "integrity": "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==",
115
+ "cpu": [
116
+ "arm64"
117
+ ],
118
+ "license": "MIT",
119
+ "optional": true,
120
+ "os": [
121
+ "freebsd"
122
+ ],
123
+ "engines": {
124
+ "node": ">=18"
125
+ }
126
+ },
127
+ "node_modules/@esbuild/freebsd-x64": {
128
+ "version": "0.27.0",
129
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.0.tgz",
130
+ "integrity": "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==",
131
+ "cpu": [
132
+ "x64"
133
+ ],
134
+ "license": "MIT",
135
+ "optional": true,
136
+ "os": [
137
+ "freebsd"
138
+ ],
139
+ "engines": {
140
+ "node": ">=18"
141
+ }
142
+ },
143
+ "node_modules/@esbuild/linux-arm": {
144
+ "version": "0.27.0",
145
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.0.tgz",
146
+ "integrity": "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==",
147
+ "cpu": [
148
+ "arm"
149
+ ],
150
+ "license": "MIT",
151
+ "optional": true,
152
+ "os": [
153
+ "linux"
154
+ ],
155
+ "engines": {
156
+ "node": ">=18"
157
+ }
158
+ },
159
+ "node_modules/@esbuild/linux-arm64": {
160
+ "version": "0.27.0",
161
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.0.tgz",
162
+ "integrity": "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==",
163
+ "cpu": [
164
+ "arm64"
165
+ ],
166
+ "license": "MIT",
167
+ "optional": true,
168
+ "os": [
169
+ "linux"
170
+ ],
171
+ "engines": {
172
+ "node": ">=18"
173
+ }
174
+ },
175
+ "node_modules/@esbuild/linux-ia32": {
176
+ "version": "0.27.0",
177
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.0.tgz",
178
+ "integrity": "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==",
179
+ "cpu": [
180
+ "ia32"
181
+ ],
182
+ "license": "MIT",
183
+ "optional": true,
184
+ "os": [
185
+ "linux"
186
+ ],
187
+ "engines": {
188
+ "node": ">=18"
189
+ }
190
+ },
191
+ "node_modules/@esbuild/linux-loong64": {
192
+ "version": "0.27.0",
193
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.0.tgz",
194
+ "integrity": "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==",
195
+ "cpu": [
196
+ "loong64"
197
+ ],
198
+ "license": "MIT",
199
+ "optional": true,
200
+ "os": [
201
+ "linux"
202
+ ],
203
+ "engines": {
204
+ "node": ">=18"
205
+ }
206
+ },
207
+ "node_modules/@esbuild/linux-mips64el": {
208
+ "version": "0.27.0",
209
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.0.tgz",
210
+ "integrity": "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==",
211
+ "cpu": [
212
+ "mips64el"
213
+ ],
214
+ "license": "MIT",
215
+ "optional": true,
216
+ "os": [
217
+ "linux"
218
+ ],
219
+ "engines": {
220
+ "node": ">=18"
221
+ }
222
+ },
223
+ "node_modules/@esbuild/linux-ppc64": {
224
+ "version": "0.27.0",
225
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.0.tgz",
226
+ "integrity": "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==",
227
+ "cpu": [
228
+ "ppc64"
229
+ ],
230
+ "license": "MIT",
231
+ "optional": true,
232
+ "os": [
233
+ "linux"
234
+ ],
235
+ "engines": {
236
+ "node": ">=18"
237
+ }
238
+ },
239
+ "node_modules/@esbuild/linux-riscv64": {
240
+ "version": "0.27.0",
241
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.0.tgz",
242
+ "integrity": "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==",
243
+ "cpu": [
244
+ "riscv64"
245
+ ],
246
+ "license": "MIT",
247
+ "optional": true,
248
+ "os": [
249
+ "linux"
250
+ ],
251
+ "engines": {
252
+ "node": ">=18"
253
+ }
254
+ },
255
+ "node_modules/@esbuild/linux-s390x": {
256
+ "version": "0.27.0",
257
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.0.tgz",
258
+ "integrity": "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==",
259
+ "cpu": [
260
+ "s390x"
261
+ ],
262
+ "license": "MIT",
263
+ "optional": true,
264
+ "os": [
265
+ "linux"
266
+ ],
267
+ "engines": {
268
+ "node": ">=18"
269
+ }
270
+ },
271
+ "node_modules/@esbuild/linux-x64": {
272
+ "version": "0.27.0",
273
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.0.tgz",
274
+ "integrity": "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==",
275
+ "cpu": [
276
+ "x64"
277
+ ],
278
+ "license": "MIT",
279
+ "optional": true,
280
+ "os": [
281
+ "linux"
282
+ ],
283
+ "engines": {
284
+ "node": ">=18"
285
+ }
286
+ },
287
+ "node_modules/@esbuild/netbsd-arm64": {
288
+ "version": "0.27.0",
289
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.0.tgz",
290
+ "integrity": "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==",
291
+ "cpu": [
292
+ "arm64"
293
+ ],
294
+ "license": "MIT",
295
+ "optional": true,
296
+ "os": [
297
+ "netbsd"
298
+ ],
299
+ "engines": {
300
+ "node": ">=18"
301
+ }
302
+ },
303
+ "node_modules/@esbuild/netbsd-x64": {
304
+ "version": "0.27.0",
305
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.0.tgz",
306
+ "integrity": "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==",
307
+ "cpu": [
308
+ "x64"
309
+ ],
310
+ "license": "MIT",
311
+ "optional": true,
312
+ "os": [
313
+ "netbsd"
314
+ ],
315
+ "engines": {
316
+ "node": ">=18"
317
+ }
318
+ },
319
+ "node_modules/@esbuild/openbsd-arm64": {
320
+ "version": "0.27.0",
321
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.0.tgz",
322
+ "integrity": "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==",
323
+ "cpu": [
324
+ "arm64"
325
+ ],
326
+ "license": "MIT",
327
+ "optional": true,
328
+ "os": [
329
+ "openbsd"
330
+ ],
331
+ "engines": {
332
+ "node": ">=18"
333
+ }
334
+ },
335
+ "node_modules/@esbuild/openbsd-x64": {
336
+ "version": "0.27.0",
337
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.0.tgz",
338
+ "integrity": "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==",
339
+ "cpu": [
340
+ "x64"
341
+ ],
342
+ "license": "MIT",
343
+ "optional": true,
344
+ "os": [
345
+ "openbsd"
346
+ ],
347
+ "engines": {
348
+ "node": ">=18"
349
+ }
350
+ },
351
+ "node_modules/@esbuild/openharmony-arm64": {
352
+ "version": "0.27.0",
353
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.0.tgz",
354
+ "integrity": "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==",
355
+ "cpu": [
356
+ "arm64"
357
+ ],
358
+ "license": "MIT",
359
+ "optional": true,
360
+ "os": [
361
+ "openharmony"
362
+ ],
363
+ "engines": {
364
+ "node": ">=18"
365
+ }
366
+ },
367
+ "node_modules/@esbuild/sunos-x64": {
368
+ "version": "0.27.0",
369
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.0.tgz",
370
+ "integrity": "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==",
371
+ "cpu": [
372
+ "x64"
373
+ ],
374
+ "license": "MIT",
375
+ "optional": true,
376
+ "os": [
377
+ "sunos"
378
+ ],
379
+ "engines": {
380
+ "node": ">=18"
381
+ }
382
+ },
383
+ "node_modules/@esbuild/win32-arm64": {
384
+ "version": "0.27.0",
385
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.0.tgz",
386
+ "integrity": "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==",
387
+ "cpu": [
388
+ "arm64"
389
+ ],
390
+ "license": "MIT",
391
+ "optional": true,
392
+ "os": [
393
+ "win32"
394
+ ],
395
+ "engines": {
396
+ "node": ">=18"
397
+ }
398
+ },
399
+ "node_modules/@esbuild/win32-ia32": {
400
+ "version": "0.27.0",
401
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.0.tgz",
402
+ "integrity": "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==",
403
+ "cpu": [
404
+ "ia32"
405
+ ],
406
+ "license": "MIT",
407
+ "optional": true,
408
+ "os": [
409
+ "win32"
410
+ ],
411
+ "engines": {
412
+ "node": ">=18"
413
+ }
414
+ },
415
+ "node_modules/@esbuild/win32-x64": {
416
+ "version": "0.27.0",
417
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.0.tgz",
418
+ "integrity": "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==",
419
+ "cpu": [
420
+ "x64"
421
+ ],
422
+ "license": "MIT",
423
+ "optional": true,
424
+ "os": [
425
+ "win32"
426
+ ],
427
+ "engines": {
428
+ "node": ">=18"
429
+ }
430
+ },
431
+ "node_modules/convex": {
432
+ "version": "1.31.7",
433
+ "resolved": "https://registry.npmjs.org/convex/-/convex-1.31.7.tgz",
434
+ "integrity": "sha512-PtNMe1mAIOvA8Yz100QTOaIdgt2rIuWqencVXrb4McdhxBHZ8IJ1eXTnrgCC9HydyilGT1pOn+KNqT14mqn9fQ==",
435
+ "license": "Apache-2.0",
436
+ "dependencies": {
437
+ "esbuild": "0.27.0",
438
+ "prettier": "^3.0.0"
439
+ },
440
+ "bin": {
441
+ "convex": "bin/main.js"
442
+ },
443
+ "engines": {
444
+ "node": ">=18.0.0",
445
+ "npm": ">=7.0.0"
446
+ },
447
+ "peerDependencies": {
448
+ "@auth0/auth0-react": "^2.0.1",
449
+ "@clerk/clerk-react": "^4.12.8 || ^5.0.0",
450
+ "react": "^18.0.0 || ^19.0.0-0 || ^19.0.0"
451
+ },
452
+ "peerDependenciesMeta": {
453
+ "@auth0/auth0-react": {
454
+ "optional": true
455
+ },
456
+ "@clerk/clerk-react": {
457
+ "optional": true
458
+ },
459
+ "react": {
460
+ "optional": true
461
+ }
462
+ }
463
+ },
464
+ "node_modules/esbuild": {
465
+ "version": "0.27.0",
466
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.0.tgz",
467
+ "integrity": "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==",
468
+ "hasInstallScript": true,
469
+ "license": "MIT",
470
+ "bin": {
471
+ "esbuild": "bin/esbuild"
472
+ },
473
+ "engines": {
474
+ "node": ">=18"
475
+ },
476
+ "optionalDependencies": {
477
+ "@esbuild/aix-ppc64": "0.27.0",
478
+ "@esbuild/android-arm": "0.27.0",
479
+ "@esbuild/android-arm64": "0.27.0",
480
+ "@esbuild/android-x64": "0.27.0",
481
+ "@esbuild/darwin-arm64": "0.27.0",
482
+ "@esbuild/darwin-x64": "0.27.0",
483
+ "@esbuild/freebsd-arm64": "0.27.0",
484
+ "@esbuild/freebsd-x64": "0.27.0",
485
+ "@esbuild/linux-arm": "0.27.0",
486
+ "@esbuild/linux-arm64": "0.27.0",
487
+ "@esbuild/linux-ia32": "0.27.0",
488
+ "@esbuild/linux-loong64": "0.27.0",
489
+ "@esbuild/linux-mips64el": "0.27.0",
490
+ "@esbuild/linux-ppc64": "0.27.0",
491
+ "@esbuild/linux-riscv64": "0.27.0",
492
+ "@esbuild/linux-s390x": "0.27.0",
493
+ "@esbuild/linux-x64": "0.27.0",
494
+ "@esbuild/netbsd-arm64": "0.27.0",
495
+ "@esbuild/netbsd-x64": "0.27.0",
496
+ "@esbuild/openbsd-arm64": "0.27.0",
497
+ "@esbuild/openbsd-x64": "0.27.0",
498
+ "@esbuild/openharmony-arm64": "0.27.0",
499
+ "@esbuild/sunos-x64": "0.27.0",
500
+ "@esbuild/win32-arm64": "0.27.0",
501
+ "@esbuild/win32-ia32": "0.27.0",
502
+ "@esbuild/win32-x64": "0.27.0"
503
+ }
504
+ },
505
+ "node_modules/prettier": {
506
+ "version": "3.8.1",
507
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
508
+ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
509
+ "license": "MIT",
510
+ "bin": {
511
+ "prettier": "bin/prettier.cjs"
512
+ },
513
+ "engines": {
514
+ "node": ">=14"
515
+ },
516
+ "funding": {
517
+ "url": "https://github.com/prettier/prettier?sponsor=1"
518
+ }
519
+ }
520
+ }
521
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "backend",
3
+ "version": "1.0.0",
4
+ "main": "index.js",
5
+ "scripts": {
6
+ "test": "echo \"Error: no test specified\" && exit 1"
7
+ },
8
+ "keywords": [],
9
+ "author": "",
10
+ "license": "ISC",
11
+ "description": "",
12
+ "dependencies": {
13
+ "convex": "^1.31.7"
14
+ }
15
+ }
@@ -0,0 +1,54 @@
1
+ import { AgentCredits, Purchase, UsageRecord, TransactionFee } from './types.js';
2
+ /**
3
+ * Get or create agent credits account
4
+ */
5
+ export declare function getAgentCredits(agentId: string): AgentCredits;
6
+ /**
7
+ * Add credits to an agent's account
8
+ */
9
+ export declare function addCredits(agentId: string, amountUsd: number): AgentCredits;
10
+ /**
11
+ * Purchase API access
12
+ * Returns credentials if successful
13
+ */
14
+ export declare function purchaseAPIAccess(agentId: string, providerId: string, amountUsd: number): {
15
+ success: boolean;
16
+ purchase?: Purchase;
17
+ error?: string;
18
+ };
19
+ /**
20
+ * Get all purchases for an agent
21
+ */
22
+ export declare function getAgentPurchases(agentId: string): Purchase[];
23
+ /**
24
+ * Get usage for a purchase
25
+ */
26
+ export declare function getUsage(purchaseId: string): UsageRecord | null;
27
+ /**
28
+ * Record usage (call this when API is used)
29
+ */
30
+ export declare function recordUsage(purchaseId: string, unitsUsed: number, costUsd: number): UsageRecord | null;
31
+ /**
32
+ * Get full balance summary for an agent
33
+ */
34
+ export declare function getBalanceSummary(agentId: string): {
35
+ credits: AgentCredits;
36
+ active_purchases: Purchase[];
37
+ total_spent_usd: number;
38
+ };
39
+ /**
40
+ * Calculate transaction fee based on user's subscription
41
+ * Pro users: 2% fee
42
+ * Free users: 5% fee
43
+ */
44
+ export declare function calculateTransactionFee(userId: string, amountUsd: number): Promise<TransactionFee>;
45
+ /**
46
+ * Purchase API access with subscription-aware fees
47
+ */
48
+ export declare function purchaseAPIAccessWithFees(agentId: string, userId: string, providerId: string, amountUsd: number): Promise<{
49
+ success: boolean;
50
+ purchase?: Purchase;
51
+ fee?: TransactionFee;
52
+ error?: string;
53
+ }>;
54
+ //# sourceMappingURL=credits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.d.ts","sourceRoot":"","sources":["../src/credits.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAkB,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkCjG;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAW7D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAK3E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiD3D;AAkBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgBtG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAClD,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB,CAWA;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CAgCD"}