@nordsym/apiclaw 1.5.18 → 1.5.19

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 (66) hide show
  1. package/convex/http.js.map +1 -1
  2. package/convex/http.ts +315 -0
  3. package/dist/credentials.d.ts.map +1 -1
  4. package/dist/credentials.js +123 -0
  5. package/dist/credentials.js.map +1 -1
  6. package/package.json +2 -2
  7. package/src/credentials.ts +131 -0
  8. package/convex/adminActivate.d.ts +0 -3
  9. package/convex/adminActivate.js +0 -47
  10. package/convex/adminStats.d.ts +0 -3
  11. package/convex/adminStats.js +0 -42
  12. package/convex/agents.d.ts +0 -54
  13. package/convex/agents.js +0 -499
  14. package/convex/analytics.d.ts +0 -5
  15. package/convex/analytics.js +0 -166
  16. package/convex/billing.d.ts +0 -88
  17. package/convex/billing.js +0 -655
  18. package/convex/capabilities.d.ts +0 -9
  19. package/convex/capabilities.js +0 -145
  20. package/convex/chains.d.ts +0 -67
  21. package/convex/chains.js +0 -1042
  22. package/convex/credits.d.ts +0 -25
  23. package/convex/credits.js +0 -186
  24. package/convex/crons.d.ts +0 -3
  25. package/convex/crons.js +0 -17
  26. package/convex/directCall.d.ts +0 -72
  27. package/convex/directCall.js +0 -627
  28. package/convex/earnProgress.d.ts +0 -58
  29. package/convex/earnProgress.js +0 -649
  30. package/convex/email.d.ts +0 -14
  31. package/convex/email.js +0 -300
  32. package/convex/feedback.d.ts +0 -7
  33. package/convex/feedback.js +0 -227
  34. package/convex/http.d.ts +0 -3
  35. package/convex/http.js +0 -1106
  36. package/convex/http.ts.bak +0 -934
  37. package/convex/logs.d.ts +0 -38
  38. package/convex/logs.js +0 -487
  39. package/convex/mou.d.ts +0 -6
  40. package/convex/mou.js +0 -82
  41. package/convex/providerKeys.d.ts +0 -31
  42. package/convex/providerKeys.js +0 -257
  43. package/convex/providers.d.ts +0 -29
  44. package/convex/providers.js +0 -756
  45. package/convex/purchases.d.ts +0 -7
  46. package/convex/purchases.js +0 -157
  47. package/convex/ratelimit.d.ts +0 -4
  48. package/convex/ratelimit.js +0 -91
  49. package/convex/searchLogs.d.ts +0 -4
  50. package/convex/searchLogs.js +0 -129
  51. package/convex/spendAlerts.d.ts +0 -36
  52. package/convex/spendAlerts.js +0 -380
  53. package/convex/stripeActions.d.ts +0 -19
  54. package/convex/stripeActions.js +0 -411
  55. package/convex/teams.d.ts +0 -21
  56. package/convex/teams.js +0 -215
  57. package/convex/telemetry.d.ts +0 -4
  58. package/convex/telemetry.js +0 -74
  59. package/convex/usage.d.ts +0 -27
  60. package/convex/usage.js +0 -229
  61. package/convex/waitlist.d.ts +0 -4
  62. package/convex/waitlist.js +0 -49
  63. package/convex/webhooks.d.ts +0 -12
  64. package/convex/webhooks.js +0 -410
  65. package/convex/workspaces.d.ts +0 -29
  66. package/convex/workspaces.js +0 -880
@@ -1,25 +0,0 @@
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
package/convex/credits.js DELETED
@@ -1,186 +0,0 @@
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
package/convex/crons.d.ts DELETED
@@ -1,3 +0,0 @@
1
- declare const crons: import("convex/server").Crons;
2
- export default crons;
3
- //# sourceMappingURL=crons.d.ts.map
package/convex/crons.js DELETED
@@ -1,17 +0,0 @@
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
@@ -1,72 +0,0 @@
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