@nordsym/apiclaw 1.7.3 → 1.7.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.
Files changed (219) hide show
  1. package/convex/_generated/api.d.ts +115 -0
  2. package/convex/_generated/api.js +23 -0
  3. package/convex/_generated/dataModel.d.ts +60 -0
  4. package/convex/_generated/server.d.ts +143 -0
  5. package/convex/_generated/server.js +93 -0
  6. package/convex/adminActivate.d.ts +3 -0
  7. package/convex/adminActivate.d.ts.map +1 -0
  8. package/convex/adminActivate.js +47 -0
  9. package/convex/adminActivate.js.map +1 -0
  10. package/convex/adminActivate.ts +54 -0
  11. package/convex/adminStats.d.ts +3 -0
  12. package/convex/adminStats.d.ts.map +1 -0
  13. package/convex/adminStats.js +42 -0
  14. package/convex/adminStats.js.map +1 -0
  15. package/convex/adminStats.ts +44 -0
  16. package/convex/agents.d.ts +76 -0
  17. package/convex/agents.d.ts.map +1 -0
  18. package/convex/agents.js +699 -0
  19. package/convex/agents.js.map +1 -0
  20. package/convex/agents.ts +814 -0
  21. package/convex/analytics.d.ts +5 -0
  22. package/convex/analytics.d.ts.map +1 -0
  23. package/convex/analytics.js +166 -0
  24. package/convex/analytics.js.map +1 -0
  25. package/convex/analytics.ts +186 -0
  26. package/convex/billing.d.ts +88 -0
  27. package/convex/billing.d.ts.map +1 -0
  28. package/convex/billing.js +655 -0
  29. package/convex/billing.js.map +1 -0
  30. package/convex/billing.ts +791 -0
  31. package/convex/capabilities.d.ts +9 -0
  32. package/convex/capabilities.d.ts.map +1 -0
  33. package/convex/capabilities.js +145 -0
  34. package/convex/capabilities.js.map +1 -0
  35. package/convex/capabilities.ts +157 -0
  36. package/convex/chains.d.ts +68 -0
  37. package/convex/chains.d.ts.map +1 -0
  38. package/convex/chains.js +1105 -0
  39. package/convex/chains.js.map +1 -0
  40. package/convex/chains.ts +1318 -0
  41. package/convex/credits.d.ts +25 -0
  42. package/convex/credits.d.ts.map +1 -0
  43. package/convex/credits.js +186 -0
  44. package/convex/credits.js.map +1 -0
  45. package/convex/credits.ts +211 -0
  46. package/convex/crons.d.ts +3 -0
  47. package/convex/crons.d.ts.map +1 -0
  48. package/convex/crons.js +17 -0
  49. package/convex/crons.js.map +1 -0
  50. package/convex/crons.ts +28 -0
  51. package/convex/directCall.d.ts +72 -0
  52. package/convex/directCall.d.ts.map +1 -0
  53. package/convex/directCall.js +627 -0
  54. package/convex/directCall.js.map +1 -0
  55. package/convex/directCall.ts +678 -0
  56. package/convex/earnProgress.d.ts +58 -0
  57. package/convex/earnProgress.d.ts.map +1 -0
  58. package/convex/earnProgress.js +649 -0
  59. package/convex/earnProgress.js.map +1 -0
  60. package/convex/earnProgress.ts +753 -0
  61. package/convex/email.d.ts +14 -0
  62. package/convex/email.d.ts.map +1 -0
  63. package/convex/email.js +300 -0
  64. package/convex/email.js.map +1 -0
  65. package/convex/email.ts +329 -0
  66. package/convex/feedback.d.ts +7 -0
  67. package/convex/feedback.d.ts.map +1 -0
  68. package/convex/feedback.js +227 -0
  69. package/convex/feedback.js.map +1 -0
  70. package/convex/feedback.ts +265 -0
  71. package/convex/http.d.ts +3 -0
  72. package/convex/http.d.ts.map +1 -0
  73. package/convex/http.js +1405 -0
  74. package/convex/http.js.map +1 -0
  75. package/convex/http.ts +1577 -0
  76. package/convex/inbound.d.ts +2 -0
  77. package/convex/inbound.d.ts.map +1 -0
  78. package/convex/inbound.js +32 -0
  79. package/convex/inbound.js.map +1 -0
  80. package/convex/inbound.ts +32 -0
  81. package/convex/logs.d.ts +48 -0
  82. package/convex/logs.d.ts.map +1 -0
  83. package/convex/logs.js +592 -0
  84. package/convex/logs.js.map +1 -0
  85. package/convex/logs.ts +662 -0
  86. package/convex/mou.d.ts +6 -0
  87. package/convex/mou.d.ts.map +1 -0
  88. package/convex/mou.js +82 -0
  89. package/convex/mou.js.map +1 -0
  90. package/convex/mou.ts +91 -0
  91. package/convex/providerKeys.d.ts +31 -0
  92. package/convex/providerKeys.d.ts.map +1 -0
  93. package/convex/providerKeys.js +257 -0
  94. package/convex/providerKeys.js.map +1 -0
  95. package/convex/providerKeys.ts +289 -0
  96. package/convex/providers.d.ts +32 -0
  97. package/convex/providers.d.ts.map +1 -0
  98. package/convex/providers.js +814 -0
  99. package/convex/providers.js.map +1 -0
  100. package/convex/providers.ts +909 -0
  101. package/convex/purchases.d.ts +7 -0
  102. package/convex/purchases.d.ts.map +1 -0
  103. package/convex/purchases.js +157 -0
  104. package/convex/purchases.js.map +1 -0
  105. package/convex/purchases.ts +183 -0
  106. package/convex/ratelimit.d.ts +4 -0
  107. package/convex/ratelimit.d.ts.map +1 -0
  108. package/convex/ratelimit.js +91 -0
  109. package/convex/ratelimit.js.map +1 -0
  110. package/convex/ratelimit.ts +104 -0
  111. package/convex/schema.ts +805 -0
  112. package/convex/searchLogs.d.ts +4 -0
  113. package/convex/searchLogs.d.ts.map +1 -0
  114. package/convex/searchLogs.js +129 -0
  115. package/convex/searchLogs.js.map +1 -0
  116. package/convex/searchLogs.ts +146 -0
  117. package/convex/seedAPILayerAPIs.d.ts +7 -0
  118. package/convex/seedAPILayerAPIs.d.ts.map +1 -0
  119. package/convex/seedAPILayerAPIs.js +177 -0
  120. package/convex/seedAPILayerAPIs.js.map +1 -0
  121. package/convex/seedAPILayerAPIs.ts +191 -0
  122. package/convex/seedDirectCallConfigs.d.ts +2 -0
  123. package/convex/seedDirectCallConfigs.d.ts.map +1 -0
  124. package/convex/seedDirectCallConfigs.js +324 -0
  125. package/convex/seedDirectCallConfigs.js.map +1 -0
  126. package/convex/seedDirectCallConfigs.ts +336 -0
  127. package/convex/seedPratham.d.ts +6 -0
  128. package/convex/seedPratham.d.ts.map +1 -0
  129. package/convex/seedPratham.js +150 -0
  130. package/convex/seedPratham.js.map +1 -0
  131. package/convex/seedPratham.ts +161 -0
  132. package/convex/spendAlerts.d.ts +36 -0
  133. package/convex/spendAlerts.d.ts.map +1 -0
  134. package/convex/spendAlerts.js +380 -0
  135. package/convex/spendAlerts.js.map +1 -0
  136. package/convex/spendAlerts.ts +442 -0
  137. package/convex/stripeActions.d.ts +19 -0
  138. package/convex/stripeActions.d.ts.map +1 -0
  139. package/convex/stripeActions.js +411 -0
  140. package/convex/stripeActions.js.map +1 -0
  141. package/convex/stripeActions.ts +512 -0
  142. package/convex/teams.d.ts +21 -0
  143. package/convex/teams.d.ts.map +1 -0
  144. package/convex/teams.js +215 -0
  145. package/convex/teams.js.map +1 -0
  146. package/convex/teams.ts +243 -0
  147. package/convex/telemetry.d.ts +4 -0
  148. package/convex/telemetry.d.ts.map +1 -0
  149. package/convex/telemetry.js +74 -0
  150. package/convex/telemetry.js.map +1 -0
  151. package/convex/telemetry.ts +81 -0
  152. package/convex/tsconfig.json +25 -0
  153. package/convex/updateAPIStatus.d.ts +6 -0
  154. package/convex/updateAPIStatus.d.ts.map +1 -0
  155. package/convex/updateAPIStatus.js +40 -0
  156. package/convex/updateAPIStatus.js.map +1 -0
  157. package/convex/updateAPIStatus.ts +45 -0
  158. package/convex/usage.d.ts +27 -0
  159. package/convex/usage.d.ts.map +1 -0
  160. package/convex/usage.js +229 -0
  161. package/convex/usage.js.map +1 -0
  162. package/convex/usage.ts +260 -0
  163. package/convex/waitlist.d.ts +4 -0
  164. package/convex/waitlist.d.ts.map +1 -0
  165. package/convex/waitlist.js +49 -0
  166. package/convex/waitlist.js.map +1 -0
  167. package/convex/waitlist.ts +55 -0
  168. package/convex/webhooks.d.ts +12 -0
  169. package/convex/webhooks.d.ts.map +1 -0
  170. package/convex/webhooks.js +410 -0
  171. package/convex/webhooks.js.map +1 -0
  172. package/convex/webhooks.ts +494 -0
  173. package/convex/workspaces.d.ts +31 -0
  174. package/convex/workspaces.d.ts.map +1 -0
  175. package/convex/workspaces.js +975 -0
  176. package/convex/workspaces.js.map +1 -0
  177. package/convex/workspaces.ts +1130 -0
  178. package/dist/bin.js +0 -0
  179. package/dist/index.js +9 -0
  180. package/dist/index.js.map +1 -1
  181. package/package.json +1 -1
  182. package/src/index.ts +10 -0
  183. package/dist/chain-types.d.ts +0 -187
  184. package/dist/chain-types.d.ts.map +0 -1
  185. package/dist/chain-types.js +0 -33
  186. package/dist/chain-types.js.map +0 -1
  187. package/dist/registry/apis.json.bak +0 -248811
  188. package/dist/src/bin.js +0 -17
  189. package/dist/src/capability-router.js +0 -240
  190. package/dist/src/chainExecutor.js +0 -451
  191. package/dist/src/chainResolver.js +0 -518
  192. package/dist/src/cli/commands/doctor.js +0 -324
  193. package/dist/src/cli/commands/mcp-install.js +0 -255
  194. package/dist/src/cli/commands/restore.js +0 -259
  195. package/dist/src/cli/commands/setup.js +0 -205
  196. package/dist/src/cli/commands/uninstall.js +0 -188
  197. package/dist/src/cli/index.js +0 -111
  198. package/dist/src/cli.js +0 -302
  199. package/dist/src/confirmation.js +0 -240
  200. package/dist/src/credentials.js +0 -357
  201. package/dist/src/credits.js +0 -260
  202. package/dist/src/crypto.js +0 -66
  203. package/dist/src/discovery.js +0 -504
  204. package/dist/src/enterprise/env.js +0 -123
  205. package/dist/src/enterprise/script-generator.js +0 -460
  206. package/dist/src/execute-dynamic.js +0 -473
  207. package/dist/src/execute.js +0 -1727
  208. package/dist/src/index.js +0 -2062
  209. package/dist/src/metered.js +0 -80
  210. package/dist/src/open-apis.js +0 -276
  211. package/dist/src/proxy.js +0 -28
  212. package/dist/src/session.js +0 -86
  213. package/dist/src/stripe.js +0 -407
  214. package/dist/src/telemetry.js +0 -49
  215. package/dist/src/types.js +0 -2
  216. package/dist/src/utils/backup.js +0 -181
  217. package/dist/src/utils/config.js +0 -220
  218. package/dist/src/utils/os.js +0 -105
  219. package/dist/src/utils/paths.js +0 -159
@@ -0,0 +1,25 @@
1
+ export declare const CREDIT_PACKAGES: {
2
+ readonly starter: {
3
+ readonly amountUsd: 10;
4
+ readonly credits: 100;
5
+ readonly bonus: 0;
6
+ };
7
+ readonly growth: {
8
+ readonly amountUsd: 50;
9
+ readonly credits: 550;
10
+ readonly bonus: 50;
11
+ };
12
+ readonly scale: {
13
+ readonly amountUsd: 100;
14
+ readonly credits: 1200;
15
+ readonly bonus: 200;
16
+ };
17
+ };
18
+ export declare const getOrCreateAgent: any;
19
+ export declare const getAgentCredits: any;
20
+ export declare const addCredits: any;
21
+ export declare const deductCredits: any;
22
+ export declare const recordTopup: any;
23
+ export declare const completeTopup: any;
24
+ export declare const getTopups: any;
25
+ //# sourceMappingURL=credits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.d.ts","sourceRoot":"","sources":["credits.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAIlB,CAAC;AAGX,eAAO,MAAM,gBAAgB,KAqB3B,CAAC;AAGH,eAAO,MAAM,eAAe,KAQ1B,CAAC;AAGH,eAAO,MAAM,UAAU,KA+BrB,CAAC;AAGH,eAAO,MAAM,aAAa,KA4BxB,CAAC;AAGH,eAAO,MAAM,WAAW,KAwBtB,CAAC;AAGH,eAAO,MAAM,aAAa,KA6DxB,CAAC;AAGH,eAAO,MAAM,SAAS,KAQpB,CAAC"}
@@ -0,0 +1,186 @@
1
+ import { v } from "convex/values";
2
+ import { mutation, query } from "./_generated/server";
3
+ // Credit packages
4
+ export const CREDIT_PACKAGES = {
5
+ starter: { amountUsd: 10, credits: 100, bonus: 0 },
6
+ growth: { amountUsd: 50, credits: 550, bonus: 50 }, // 10% bonus
7
+ scale: { amountUsd: 100, credits: 1200, bonus: 200 }, // 20% bonus
8
+ };
9
+ // Get or create agent credits account
10
+ export const getOrCreateAgent = mutation({
11
+ args: { agentId: v.string() },
12
+ handler: async (ctx, args) => {
13
+ const existing = await ctx.db
14
+ .query("agentCredits")
15
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
16
+ .first();
17
+ if (existing)
18
+ return existing;
19
+ const now = Date.now();
20
+ const id = await ctx.db.insert("agentCredits", {
21
+ agentId: args.agentId,
22
+ balanceUsd: 0,
23
+ currency: "USD",
24
+ createdAt: now,
25
+ updatedAt: now,
26
+ });
27
+ return await ctx.db.get(id);
28
+ },
29
+ });
30
+ // Get agent credits
31
+ export const getAgentCredits = query({
32
+ args: { agentId: v.string() },
33
+ handler: async (ctx, args) => {
34
+ return await ctx.db
35
+ .query("agentCredits")
36
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
37
+ .first();
38
+ },
39
+ });
40
+ // Add credits to agent account (called by webhook or admin)
41
+ export const addCredits = mutation({
42
+ args: {
43
+ agentId: v.string(),
44
+ amountUsd: v.number(),
45
+ source: v.optional(v.string()),
46
+ },
47
+ handler: async (ctx, args) => {
48
+ const credits = await ctx.db
49
+ .query("agentCredits")
50
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
51
+ .first();
52
+ const now = Date.now();
53
+ if (credits) {
54
+ await ctx.db.patch(credits._id, {
55
+ balanceUsd: credits.balanceUsd + args.amountUsd,
56
+ updatedAt: now,
57
+ });
58
+ return await ctx.db.get(credits._id);
59
+ }
60
+ else {
61
+ const id = await ctx.db.insert("agentCredits", {
62
+ agentId: args.agentId,
63
+ balanceUsd: args.amountUsd,
64
+ currency: "USD",
65
+ createdAt: now,
66
+ updatedAt: now,
67
+ });
68
+ return await ctx.db.get(id);
69
+ }
70
+ },
71
+ });
72
+ // Deduct credits (internal use)
73
+ export const deductCredits = mutation({
74
+ args: {
75
+ agentId: v.string(),
76
+ amountUsd: v.number(),
77
+ },
78
+ handler: async (ctx, args) => {
79
+ const credits = await ctx.db
80
+ .query("agentCredits")
81
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
82
+ .first();
83
+ if (!credits) {
84
+ throw new Error(`No credits account for agent: ${args.agentId}`);
85
+ }
86
+ if (credits.balanceUsd < args.amountUsd) {
87
+ throw new Error(`Insufficient balance: have $${credits.balanceUsd.toFixed(2)}, need $${args.amountUsd.toFixed(2)}`);
88
+ }
89
+ await ctx.db.patch(credits._id, {
90
+ balanceUsd: credits.balanceUsd - args.amountUsd,
91
+ updatedAt: Date.now(),
92
+ });
93
+ return await ctx.db.get(credits._id);
94
+ },
95
+ });
96
+ // Record credit top-up from Stripe
97
+ export const recordTopup = mutation({
98
+ args: {
99
+ agentId: v.string(),
100
+ stripeSessionId: v.optional(v.string()),
101
+ stripePaymentIntentId: v.optional(v.string()),
102
+ amountUsd: v.number(),
103
+ creditsGranted: v.number(),
104
+ packageType: v.string(),
105
+ status: v.string(),
106
+ },
107
+ handler: async (ctx, args) => {
108
+ const now = Date.now();
109
+ return await ctx.db.insert("creditTopups", {
110
+ agentId: args.agentId,
111
+ stripeSessionId: args.stripeSessionId,
112
+ stripePaymentIntentId: args.stripePaymentIntentId,
113
+ amountUsd: args.amountUsd,
114
+ creditsGranted: args.creditsGranted,
115
+ packageType: args.packageType,
116
+ status: args.status,
117
+ createdAt: now,
118
+ completedAt: args.status === "completed" ? now : undefined,
119
+ });
120
+ },
121
+ });
122
+ // Complete a pending top-up
123
+ export const completeTopup = mutation({
124
+ args: {
125
+ stripeSessionId: v.optional(v.string()),
126
+ stripePaymentIntentId: v.optional(v.string()),
127
+ },
128
+ handler: async (ctx, args) => {
129
+ let topup;
130
+ if (args.stripeSessionId) {
131
+ topup = await ctx.db
132
+ .query("creditTopups")
133
+ .withIndex("by_stripeSessionId", (q) => q.eq("stripeSessionId", args.stripeSessionId))
134
+ .first();
135
+ }
136
+ else if (args.stripePaymentIntentId) {
137
+ topup = await ctx.db
138
+ .query("creditTopups")
139
+ .withIndex("by_stripePaymentIntentId", (q) => q.eq("stripePaymentIntentId", args.stripePaymentIntentId))
140
+ .first();
141
+ }
142
+ if (!topup) {
143
+ throw new Error("Top-up not found");
144
+ }
145
+ if (topup.status === "completed") {
146
+ return topup; // Already completed, idempotent
147
+ }
148
+ // Update top-up status
149
+ await ctx.db.patch(topup._id, {
150
+ status: "completed",
151
+ completedAt: Date.now(),
152
+ });
153
+ // Add credits to agent
154
+ const credits = await ctx.db
155
+ .query("agentCredits")
156
+ .withIndex("by_agentId", (q) => q.eq("agentId", topup.agentId))
157
+ .first();
158
+ if (credits) {
159
+ await ctx.db.patch(credits._id, {
160
+ balanceUsd: credits.balanceUsd + topup.creditsGranted,
161
+ updatedAt: Date.now(),
162
+ });
163
+ }
164
+ else {
165
+ await ctx.db.insert("agentCredits", {
166
+ agentId: topup.agentId,
167
+ balanceUsd: topup.creditsGranted,
168
+ currency: "USD",
169
+ createdAt: Date.now(),
170
+ updatedAt: Date.now(),
171
+ });
172
+ }
173
+ return topup;
174
+ },
175
+ });
176
+ // Get all top-ups for an agent
177
+ export const getTopups = query({
178
+ args: { agentId: v.string() },
179
+ handler: async (ctx, args) => {
180
+ return await ctx.db
181
+ .query("creditTopups")
182
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
183
+ .collect();
184
+ },
185
+ });
186
+ //# sourceMappingURL=credits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.js","sourceRoot":"","sources":["credits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import { v } from "convex/values";
2
+ import { mutation, query } from "./_generated/server";
3
+
4
+ // Credit packages
5
+ export const CREDIT_PACKAGES = {
6
+ starter: { amountUsd: 10, credits: 100, bonus: 0 },
7
+ growth: { amountUsd: 50, credits: 550, bonus: 50 }, // 10% bonus
8
+ scale: { amountUsd: 100, credits: 1200, bonus: 200 }, // 20% bonus
9
+ } as const;
10
+
11
+ // Get or create agent credits account
12
+ export const getOrCreateAgent = mutation({
13
+ args: { agentId: v.string() },
14
+ handler: async (ctx, args) => {
15
+ const existing = await ctx.db
16
+ .query("agentCredits")
17
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
18
+ .first();
19
+
20
+ if (existing) return existing;
21
+
22
+ const now = Date.now();
23
+ const id = await ctx.db.insert("agentCredits", {
24
+ agentId: args.agentId,
25
+ balanceUsd: 0,
26
+ currency: "USD",
27
+ createdAt: now,
28
+ updatedAt: now,
29
+ });
30
+
31
+ return await ctx.db.get(id);
32
+ },
33
+ });
34
+
35
+ // Get agent credits
36
+ export const getAgentCredits = query({
37
+ args: { agentId: v.string() },
38
+ handler: async (ctx, args) => {
39
+ return await ctx.db
40
+ .query("agentCredits")
41
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
42
+ .first();
43
+ },
44
+ });
45
+
46
+ // Add credits to agent account (called by webhook or admin)
47
+ export const addCredits = mutation({
48
+ args: {
49
+ agentId: v.string(),
50
+ amountUsd: v.number(),
51
+ source: v.optional(v.string()),
52
+ },
53
+ handler: async (ctx, args) => {
54
+ const credits = await ctx.db
55
+ .query("agentCredits")
56
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
57
+ .first();
58
+
59
+ const now = Date.now();
60
+
61
+ if (credits) {
62
+ await ctx.db.patch(credits._id, {
63
+ balanceUsd: credits.balanceUsd + args.amountUsd,
64
+ updatedAt: now,
65
+ });
66
+ return await ctx.db.get(credits._id);
67
+ } else {
68
+ const id = await ctx.db.insert("agentCredits", {
69
+ agentId: args.agentId,
70
+ balanceUsd: args.amountUsd,
71
+ currency: "USD",
72
+ createdAt: now,
73
+ updatedAt: now,
74
+ });
75
+ return await ctx.db.get(id);
76
+ }
77
+ },
78
+ });
79
+
80
+ // Deduct credits (internal use)
81
+ export const deductCredits = mutation({
82
+ args: {
83
+ agentId: v.string(),
84
+ amountUsd: v.number(),
85
+ },
86
+ handler: async (ctx, args) => {
87
+ const credits = await ctx.db
88
+ .query("agentCredits")
89
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
90
+ .first();
91
+
92
+ if (!credits) {
93
+ throw new Error(`No credits account for agent: ${args.agentId}`);
94
+ }
95
+
96
+ if (credits.balanceUsd < args.amountUsd) {
97
+ throw new Error(
98
+ `Insufficient balance: have $${credits.balanceUsd.toFixed(2)}, need $${args.amountUsd.toFixed(2)}`
99
+ );
100
+ }
101
+
102
+ await ctx.db.patch(credits._id, {
103
+ balanceUsd: credits.balanceUsd - args.amountUsd,
104
+ updatedAt: Date.now(),
105
+ });
106
+
107
+ return await ctx.db.get(credits._id);
108
+ },
109
+ });
110
+
111
+ // Record credit top-up from Stripe
112
+ export const recordTopup = mutation({
113
+ args: {
114
+ agentId: v.string(),
115
+ stripeSessionId: v.optional(v.string()),
116
+ stripePaymentIntentId: v.optional(v.string()),
117
+ amountUsd: v.number(),
118
+ creditsGranted: v.number(),
119
+ packageType: v.string(),
120
+ status: v.string(),
121
+ },
122
+ handler: async (ctx, args) => {
123
+ const now = Date.now();
124
+ return await ctx.db.insert("creditTopups", {
125
+ agentId: args.agentId,
126
+ stripeSessionId: args.stripeSessionId,
127
+ stripePaymentIntentId: args.stripePaymentIntentId,
128
+ amountUsd: args.amountUsd,
129
+ creditsGranted: args.creditsGranted,
130
+ packageType: args.packageType,
131
+ status: args.status,
132
+ createdAt: now,
133
+ completedAt: args.status === "completed" ? now : undefined,
134
+ });
135
+ },
136
+ });
137
+
138
+ // Complete a pending top-up
139
+ export const completeTopup = mutation({
140
+ args: {
141
+ stripeSessionId: v.optional(v.string()),
142
+ stripePaymentIntentId: v.optional(v.string()),
143
+ },
144
+ handler: async (ctx, args) => {
145
+ let topup;
146
+
147
+ if (args.stripeSessionId) {
148
+ topup = await ctx.db
149
+ .query("creditTopups")
150
+ .withIndex("by_stripeSessionId", (q) =>
151
+ q.eq("stripeSessionId", args.stripeSessionId)
152
+ )
153
+ .first();
154
+ } else if (args.stripePaymentIntentId) {
155
+ topup = await ctx.db
156
+ .query("creditTopups")
157
+ .withIndex("by_stripePaymentIntentId", (q) =>
158
+ q.eq("stripePaymentIntentId", args.stripePaymentIntentId)
159
+ )
160
+ .first();
161
+ }
162
+
163
+ if (!topup) {
164
+ throw new Error("Top-up not found");
165
+ }
166
+
167
+ if (topup.status === "completed") {
168
+ return topup; // Already completed, idempotent
169
+ }
170
+
171
+ // Update top-up status
172
+ await ctx.db.patch(topup._id, {
173
+ status: "completed",
174
+ completedAt: Date.now(),
175
+ });
176
+
177
+ // Add credits to agent
178
+ const credits = await ctx.db
179
+ .query("agentCredits")
180
+ .withIndex("by_agentId", (q) => q.eq("agentId", topup.agentId))
181
+ .first();
182
+
183
+ if (credits) {
184
+ await ctx.db.patch(credits._id, {
185
+ balanceUsd: credits.balanceUsd + topup.creditsGranted,
186
+ updatedAt: Date.now(),
187
+ });
188
+ } else {
189
+ await ctx.db.insert("agentCredits", {
190
+ agentId: topup.agentId,
191
+ balanceUsd: topup.creditsGranted,
192
+ currency: "USD",
193
+ createdAt: Date.now(),
194
+ updatedAt: Date.now(),
195
+ });
196
+ }
197
+
198
+ return topup;
199
+ },
200
+ });
201
+
202
+ // Get all top-ups for an agent
203
+ export const getTopups = query({
204
+ args: { agentId: v.string() },
205
+ handler: async (ctx, args) => {
206
+ return await ctx.db
207
+ .query("creditTopups")
208
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
209
+ .collect();
210
+ },
211
+ });
@@ -0,0 +1,3 @@
1
+ declare const crons: import("convex/server").Crons;
2
+ export default crons;
3
+ //# sourceMappingURL=crons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["crons.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,+BAAa,CAAC;AAwBzB,eAAe,KAAK,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { cronJobs } from "convex/server";
2
+ import { internal } from "./_generated/api";
3
+ const crons = cronJobs();
4
+ /**
5
+ * Daily Usage Reporting to Stripe
6
+ * Runs at 00:05 UTC every day
7
+ * Reports metered usage for all active subscriptions
8
+ */
9
+ crons.daily("report-usage-to-stripe", { hourUTC: 0, minuteUTC: 5 }, internal.billing.reportAllUsageToStripe);
10
+ /**
11
+ * Monthly Spend Reset
12
+ * Runs at 00:01 UTC on the 1st of each month
13
+ * Resets monthlySpendCents and budgetAlertSentAt for all workspaces
14
+ */
15
+ crons.monthly("reset-monthly-spend", { day: 1, hourUTC: 0, minuteUTC: 1 }, internal.spendAlerts.resetMonthlySpend);
16
+ export default crons;
17
+ //# sourceMappingURL=crons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crons.js","sourceRoot":"","sources":["crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AAEzB;;;;GAIG;AACH,KAAK,CAAC,KAAK,CACT,wBAAwB,EACxB,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAC5B,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CACxC,CAAC;AAEF;;;;GAIG;AACH,KAAK,CAAC,OAAO,CACX,qBAAqB,EACrB,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EACpC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CACvC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { cronJobs } from "convex/server";
2
+ import { internal } from "./_generated/api";
3
+
4
+ const crons = cronJobs();
5
+
6
+ /**
7
+ * Daily Usage Reporting to Stripe
8
+ * Runs at 00:05 UTC every day
9
+ * Reports metered usage for all active subscriptions
10
+ */
11
+ crons.daily(
12
+ "report-usage-to-stripe",
13
+ { hourUTC: 0, minuteUTC: 5 },
14
+ internal.billing.reportAllUsageToStripe
15
+ );
16
+
17
+ /**
18
+ * Monthly Spend Reset
19
+ * Runs at 00:01 UTC on the 1st of each month
20
+ * Resets monthlySpendCents and budgetAlertSentAt for all workspaces
21
+ */
22
+ crons.monthly(
23
+ "reset-monthly-spend",
24
+ { day: 1, hourUTC: 0, minuteUTC: 1 },
25
+ internal.spendAlerts.resetMonthlySpend
26
+ );
27
+
28
+ export default crons;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Save/update provider's Direct Call configuration
3
+ */
4
+ export declare const saveDirectCallConfig: any;
5
+ /**
6
+ * Save Direct Call config with token auth (used by frontend)
7
+ */
8
+ export declare const saveConfig: any;
9
+ /**
10
+ * Create/update an action for a Direct Call config
11
+ */
12
+ export declare const saveAction: any;
13
+ /**
14
+ * Delete an action
15
+ */
16
+ export declare const deleteAction: any;
17
+ /**
18
+ * Publish Direct Call - set status to live
19
+ * Also marks apiListed earn progress for the provider's workspace
20
+ */
21
+ export declare const publishDirectCall: any;
22
+ /**
23
+ * Set Direct Call status (draft, testing, live)
24
+ */
25
+ export declare const setStatus: any;
26
+ /**
27
+ * Get Direct Call config by providerId
28
+ */
29
+ export declare const getDirectCallConfig: any;
30
+ /**
31
+ * Get Direct Call config by ID
32
+ */
33
+ export declare const getDirectCallConfigById: any;
34
+ /**
35
+ * Get Direct Call config by API ID
36
+ */
37
+ export declare const getDirectCallConfigByApiId: any;
38
+ /**
39
+ * Get all actions for a Direct Call config
40
+ */
41
+ export declare const getActions: any;
42
+ /**
43
+ * Get single action by directCallId + name
44
+ */
45
+ export declare const getActionByName: any;
46
+ /**
47
+ * Get action by ID
48
+ */
49
+ export declare const getActionById: any;
50
+ /**
51
+ * DEBUG: Get all Direct Call configs
52
+ */
53
+ export declare const getAllConfigs: any;
54
+ /**
55
+ * Get all live Direct Call configs (for public API discovery)
56
+ */
57
+ export declare const getLiveConfigs: any;
58
+ /**
59
+ * Get Direct Call config by API ID (for test console)
60
+ */
61
+ export declare const getConfig: any;
62
+ /**
63
+ * Get Direct Call config by API slug (for MCP/agent execution)
64
+ * Looks up API by name, then gets the Direct Call config
65
+ */
66
+ export declare const getByApiSlug: any;
67
+ /**
68
+ * Test an action by calling the actual provider API
69
+ * For V1: Provider passes their own test key
70
+ */
71
+ export declare const testAction: any;
72
+ //# sourceMappingURL=directCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directCall.d.ts","sourceRoot":"","sources":["directCall.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,oBAAoB,KAkD/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,KAkFrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,KAyDrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,KAQvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,KA8E5B,CAAC;AAgBH;;GAEG;AACH,eAAO,MAAM,SAAS,KAiBpB,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,mBAAmB,KAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,KAOlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,KAUrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,KAUrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,KAa1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,KAOxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,KAKxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,KAQzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,KAcpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,KAoCvB,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,UAAU,KAsJrB,CAAC"}