@nordsym/apiclaw 1.7.9 → 1.7.11
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/convex/adminStats.ts +66 -1
- package/convex/providers.ts +35 -0
- package/package.json +1 -1
- package/src/index.ts +15 -2
- package/convex/adminActivate.d.ts +0 -3
- package/convex/adminActivate.d.ts.map +0 -1
- package/convex/adminActivate.js +0 -47
- package/convex/adminActivate.js.map +0 -1
- package/convex/adminStats.d.ts +0 -3
- package/convex/adminStats.d.ts.map +0 -1
- package/convex/adminStats.js +0 -42
- package/convex/adminStats.js.map +0 -1
- package/convex/agents.d.ts +0 -76
- package/convex/agents.d.ts.map +0 -1
- package/convex/agents.js +0 -699
- package/convex/agents.js.map +0 -1
- package/convex/analytics.d.ts +0 -5
- package/convex/analytics.d.ts.map +0 -1
- package/convex/analytics.js +0 -166
- package/convex/analytics.js.map +0 -1
- package/convex/billing.d.ts +0 -88
- package/convex/billing.d.ts.map +0 -1
- package/convex/billing.js +0 -655
- package/convex/billing.js.map +0 -1
- package/convex/capabilities.d.ts +0 -9
- package/convex/capabilities.d.ts.map +0 -1
- package/convex/capabilities.js +0 -145
- package/convex/capabilities.js.map +0 -1
- package/convex/chains.d.ts +0 -68
- package/convex/chains.d.ts.map +0 -1
- package/convex/chains.js +0 -1105
- package/convex/chains.js.map +0 -1
- package/convex/credits.d.ts +0 -25
- package/convex/credits.d.ts.map +0 -1
- package/convex/credits.js +0 -186
- package/convex/credits.js.map +0 -1
- package/convex/crons.d.ts +0 -3
- package/convex/crons.d.ts.map +0 -1
- package/convex/crons.js +0 -17
- package/convex/crons.js.map +0 -1
- package/convex/directCall.d.ts +0 -72
- package/convex/directCall.d.ts.map +0 -1
- package/convex/directCall.js +0 -627
- package/convex/directCall.js.map +0 -1
- package/convex/earnProgress.d.ts +0 -58
- package/convex/earnProgress.d.ts.map +0 -1
- package/convex/earnProgress.js +0 -649
- package/convex/earnProgress.js.map +0 -1
- package/convex/email.d.ts +0 -14
- package/convex/email.d.ts.map +0 -1
- package/convex/email.js +0 -300
- package/convex/email.js.map +0 -1
- package/convex/feedback.d.ts +0 -7
- package/convex/feedback.d.ts.map +0 -1
- package/convex/feedback.js +0 -227
- package/convex/feedback.js.map +0 -1
- package/convex/http.d.ts +0 -3
- package/convex/http.d.ts.map +0 -1
- package/convex/http.js +0 -1405
- package/convex/http.js.map +0 -1
- package/convex/inbound.d.ts +0 -2
- package/convex/inbound.d.ts.map +0 -1
- package/convex/inbound.js +0 -32
- package/convex/inbound.js.map +0 -1
- package/convex/logs.d.ts +0 -48
- package/convex/logs.d.ts.map +0 -1
- package/convex/logs.js +0 -605
- package/convex/logs.js.map +0 -1
- package/convex/mou.d.ts +0 -6
- package/convex/mou.d.ts.map +0 -1
- package/convex/mou.js +0 -82
- package/convex/mou.js.map +0 -1
- package/convex/providerKeys.d.ts +0 -31
- package/convex/providerKeys.d.ts.map +0 -1
- package/convex/providerKeys.js +0 -257
- package/convex/providerKeys.js.map +0 -1
- package/convex/providers.d.ts +0 -32
- package/convex/providers.d.ts.map +0 -1
- package/convex/providers.js +0 -814
- package/convex/providers.js.map +0 -1
- package/convex/purchases.d.ts +0 -7
- package/convex/purchases.d.ts.map +0 -1
- package/convex/purchases.js +0 -157
- package/convex/purchases.js.map +0 -1
- package/convex/ratelimit.d.ts +0 -4
- package/convex/ratelimit.d.ts.map +0 -1
- package/convex/ratelimit.js +0 -91
- package/convex/ratelimit.js.map +0 -1
- package/convex/searchLogs.d.ts +0 -4
- package/convex/searchLogs.d.ts.map +0 -1
- package/convex/searchLogs.js +0 -129
- package/convex/searchLogs.js.map +0 -1
- package/convex/seedAPILayerAPIs.d.ts +0 -7
- package/convex/seedAPILayerAPIs.d.ts.map +0 -1
- package/convex/seedAPILayerAPIs.js +0 -177
- package/convex/seedAPILayerAPIs.js.map +0 -1
- package/convex/seedDirectCallConfigs.d.ts +0 -2
- package/convex/seedDirectCallConfigs.d.ts.map +0 -1
- package/convex/seedDirectCallConfigs.js +0 -324
- package/convex/seedDirectCallConfigs.js.map +0 -1
- package/convex/seedPratham.d.ts +0 -6
- package/convex/seedPratham.d.ts.map +0 -1
- package/convex/seedPratham.js +0 -150
- package/convex/seedPratham.js.map +0 -1
- package/convex/spendAlerts.d.ts +0 -36
- package/convex/spendAlerts.d.ts.map +0 -1
- package/convex/spendAlerts.js +0 -380
- package/convex/spendAlerts.js.map +0 -1
- package/convex/stripeActions.d.ts +0 -19
- package/convex/stripeActions.d.ts.map +0 -1
- package/convex/stripeActions.js +0 -411
- package/convex/stripeActions.js.map +0 -1
- package/convex/teams.d.ts +0 -21
- package/convex/teams.d.ts.map +0 -1
- package/convex/teams.js +0 -215
- package/convex/teams.js.map +0 -1
- package/convex/telemetry.d.ts +0 -4
- package/convex/telemetry.d.ts.map +0 -1
- package/convex/telemetry.js +0 -74
- package/convex/telemetry.js.map +0 -1
- package/convex/updateAPIStatus.d.ts +0 -6
- package/convex/updateAPIStatus.d.ts.map +0 -1
- package/convex/updateAPIStatus.js +0 -40
- package/convex/updateAPIStatus.js.map +0 -1
- package/convex/usage.d.ts +0 -27
- package/convex/usage.d.ts.map +0 -1
- package/convex/usage.js +0 -229
- package/convex/usage.js.map +0 -1
- package/convex/waitlist.d.ts +0 -4
- package/convex/waitlist.d.ts.map +0 -1
- package/convex/waitlist.js +0 -49
- package/convex/waitlist.js.map +0 -1
- package/convex/webhooks.d.ts +0 -12
- package/convex/webhooks.d.ts.map +0 -1
- package/convex/webhooks.js +0 -410
- package/convex/webhooks.js.map +0 -1
- package/convex/workspaces.d.ts +0 -31
- package/convex/workspaces.d.ts.map +0 -1
- package/convex/workspaces.js +0 -975
- package/convex/workspaces.js.map +0 -1
package/convex/providers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["providers.ts"],"names":[],"mappings":"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"}
|
package/convex/purchases.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const purchaseAccess: any;
|
|
2
|
-
export declare const getAgentPurchases: any;
|
|
3
|
-
export declare const getActivePurchase: any;
|
|
4
|
-
export declare const getUsage: any;
|
|
5
|
-
export declare const recordUsage: any;
|
|
6
|
-
export declare const getBalanceSummary: any;
|
|
7
|
-
//# sourceMappingURL=purchases.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purchases.d.ts","sourceRoot":"","sources":["purchases.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,cAAc,KAoDzB,CAAC;AAGH,eAAO,MAAM,iBAAiB,KAQ5B,CAAC;AAGH,eAAO,MAAM,iBAAiB,KAe5B,CAAC;AAGH,eAAO,MAAM,QAAQ,KAQnB,CAAC;AAGH,eAAO,MAAM,WAAW,KAsCtB,CAAC;AAGH,eAAO,MAAM,iBAAiB,KA0B5B,CAAC"}
|
package/convex/purchases.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { v } from "convex/values";
|
|
2
|
-
import { mutation, query } from "./_generated/server";
|
|
3
|
-
// Provider pricing (credits per dollar)
|
|
4
|
-
const CREDITS_PER_DOLLAR = {
|
|
5
|
-
"46elks": 30, // ~30 SMS per dollar
|
|
6
|
-
twilio: 25, // ~25 SMS per dollar
|
|
7
|
-
resend: 1000, // ~1000 emails per dollar
|
|
8
|
-
brave_search: 200, // ~200 searches per dollar
|
|
9
|
-
openrouter: 100, // ~100k tokens per dollar
|
|
10
|
-
elevenlabs: 3333, // ~3333 characters per dollar
|
|
11
|
-
};
|
|
12
|
-
// Calculate credits for a provider purchase
|
|
13
|
-
function calculateCredits(providerId, amountUsd) {
|
|
14
|
-
const rate = CREDITS_PER_DOLLAR[providerId] || 100;
|
|
15
|
-
return Math.floor(amountUsd * rate);
|
|
16
|
-
}
|
|
17
|
-
// Purchase API access
|
|
18
|
-
export const purchaseAccess = mutation({
|
|
19
|
-
args: {
|
|
20
|
-
agentId: v.string(),
|
|
21
|
-
providerId: v.string(),
|
|
22
|
-
amountUsd: v.number(),
|
|
23
|
-
credentials: v.any(), // Credentials passed from server side
|
|
24
|
-
},
|
|
25
|
-
handler: async (ctx, args) => {
|
|
26
|
-
// Check balance
|
|
27
|
-
const credits = await ctx.db
|
|
28
|
-
.query("agentCredits")
|
|
29
|
-
.withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
|
|
30
|
-
.first();
|
|
31
|
-
if (!credits || credits.balanceUsd < args.amountUsd) {
|
|
32
|
-
throw new Error(`Insufficient balance: have $${(credits?.balanceUsd || 0).toFixed(2)}, need $${args.amountUsd.toFixed(2)}`);
|
|
33
|
-
}
|
|
34
|
-
// Deduct credits
|
|
35
|
-
await ctx.db.patch(credits._id, {
|
|
36
|
-
balanceUsd: credits.balanceUsd - args.amountUsd,
|
|
37
|
-
updatedAt: Date.now(),
|
|
38
|
-
});
|
|
39
|
-
// Calculate credits granted
|
|
40
|
-
const creditsGranted = calculateCredits(args.providerId, args.amountUsd);
|
|
41
|
-
// Create purchase record
|
|
42
|
-
const purchaseId = await ctx.db.insert("purchases", {
|
|
43
|
-
agentId: args.agentId,
|
|
44
|
-
providerId: args.providerId,
|
|
45
|
-
amountUsd: args.amountUsd,
|
|
46
|
-
creditsGranted,
|
|
47
|
-
status: "active",
|
|
48
|
-
credentials: args.credentials,
|
|
49
|
-
createdAt: Date.now(),
|
|
50
|
-
});
|
|
51
|
-
// Initialize usage tracking
|
|
52
|
-
await ctx.db.insert("usage", {
|
|
53
|
-
purchaseId,
|
|
54
|
-
providerId: args.providerId,
|
|
55
|
-
unitsUsed: 0,
|
|
56
|
-
unitsRemaining: creditsGranted,
|
|
57
|
-
costIncurredUsd: 0,
|
|
58
|
-
lastUsedAt: Date.now(),
|
|
59
|
-
});
|
|
60
|
-
return await ctx.db.get(purchaseId);
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
// Get all purchases for an agent
|
|
64
|
-
export const getAgentPurchases = query({
|
|
65
|
-
args: { agentId: v.string() },
|
|
66
|
-
handler: async (ctx, args) => {
|
|
67
|
-
return await ctx.db
|
|
68
|
-
.query("purchases")
|
|
69
|
-
.withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
|
|
70
|
-
.collect();
|
|
71
|
-
},
|
|
72
|
-
});
|
|
73
|
-
// Get active purchase for a provider
|
|
74
|
-
export const getActivePurchase = query({
|
|
75
|
-
args: {
|
|
76
|
-
agentId: v.string(),
|
|
77
|
-
providerId: v.string(),
|
|
78
|
-
},
|
|
79
|
-
handler: async (ctx, args) => {
|
|
80
|
-
const purchases = await ctx.db
|
|
81
|
-
.query("purchases")
|
|
82
|
-
.withIndex("by_agentId_providerId", (q) => q.eq("agentId", args.agentId).eq("providerId", args.providerId))
|
|
83
|
-
.collect();
|
|
84
|
-
return purchases.find((p) => p.status === "active") || null;
|
|
85
|
-
},
|
|
86
|
-
});
|
|
87
|
-
// Get usage for a purchase
|
|
88
|
-
export const getUsage = query({
|
|
89
|
-
args: { purchaseId: v.id("purchases") },
|
|
90
|
-
handler: async (ctx, args) => {
|
|
91
|
-
return await ctx.db
|
|
92
|
-
.query("usage")
|
|
93
|
-
.withIndex("by_purchaseId", (q) => q.eq("purchaseId", args.purchaseId))
|
|
94
|
-
.first();
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
// Record usage
|
|
98
|
-
export const recordUsage = mutation({
|
|
99
|
-
args: {
|
|
100
|
-
purchaseId: v.id("purchases"),
|
|
101
|
-
unitsUsed: v.number(),
|
|
102
|
-
costUsd: v.number(),
|
|
103
|
-
},
|
|
104
|
-
handler: async (ctx, args) => {
|
|
105
|
-
const usage = await ctx.db
|
|
106
|
-
.query("usage")
|
|
107
|
-
.withIndex("by_purchaseId", (q) => q.eq("purchaseId", args.purchaseId))
|
|
108
|
-
.first();
|
|
109
|
-
if (!usage) {
|
|
110
|
-
throw new Error("Usage record not found");
|
|
111
|
-
}
|
|
112
|
-
const newUnitsRemaining = Math.max(0, usage.unitsRemaining - args.unitsUsed);
|
|
113
|
-
await ctx.db.patch(usage._id, {
|
|
114
|
-
unitsUsed: usage.unitsUsed + args.unitsUsed,
|
|
115
|
-
unitsRemaining: newUnitsRemaining,
|
|
116
|
-
costIncurredUsd: usage.costIncurredUsd + args.costUsd,
|
|
117
|
-
lastUsedAt: Date.now(),
|
|
118
|
-
});
|
|
119
|
-
// Update purchase status if depleted
|
|
120
|
-
if (newUnitsRemaining === 0) {
|
|
121
|
-
const purchase = await ctx.db.get(args.purchaseId);
|
|
122
|
-
if (purchase) {
|
|
123
|
-
await ctx.db.patch(args.purchaseId, { status: "exhausted" });
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return await ctx.db
|
|
127
|
-
.query("usage")
|
|
128
|
-
.withIndex("by_purchaseId", (q) => q.eq("purchaseId", args.purchaseId))
|
|
129
|
-
.first();
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
// Get balance summary for an agent
|
|
133
|
-
export const getBalanceSummary = query({
|
|
134
|
-
args: { agentId: v.string() },
|
|
135
|
-
handler: async (ctx, args) => {
|
|
136
|
-
const credits = await ctx.db
|
|
137
|
-
.query("agentCredits")
|
|
138
|
-
.withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
|
|
139
|
-
.first();
|
|
140
|
-
const purchases = await ctx.db
|
|
141
|
-
.query("purchases")
|
|
142
|
-
.withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
|
|
143
|
-
.collect();
|
|
144
|
-
const activePurchases = purchases.filter((p) => p.status === "active");
|
|
145
|
-
const totalSpent = purchases.reduce((sum, p) => sum + p.amountUsd, 0);
|
|
146
|
-
return {
|
|
147
|
-
credits: credits || {
|
|
148
|
-
agentId: args.agentId,
|
|
149
|
-
balanceUsd: 0,
|
|
150
|
-
currency: "USD",
|
|
151
|
-
},
|
|
152
|
-
activePurchases,
|
|
153
|
-
totalSpentUsd: totalSpent,
|
|
154
|
-
};
|
|
155
|
-
},
|
|
156
|
-
});
|
|
157
|
-
//# sourceMappingURL=purchases.js.map
|
package/convex/purchases.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purchases.js","sourceRoot":"","sources":["purchases.ts"],"names":[],"mappings":"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"}
|
package/convex/ratelimit.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ratelimit.d.ts","sourceRoot":"","sources":["ratelimit.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,UAAU,KAsCrB,CAAC;AAGH,eAAO,MAAM,QAAQ,KAuBnB,CAAC;AAGH,eAAO,MAAM,OAAO,KAgBlB,CAAC"}
|
package/convex/ratelimit.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { mutation, query } from "./_generated/server";
|
|
2
|
-
import { v } from "convex/values";
|
|
3
|
-
// Rate limit config per tier
|
|
4
|
-
const LIMITS = {
|
|
5
|
-
free: {
|
|
6
|
-
discovery: 100, // searches per hour
|
|
7
|
-
instant: 10, // API calls per hour
|
|
8
|
-
},
|
|
9
|
-
subscriber: {
|
|
10
|
-
discovery: 1000,
|
|
11
|
-
instant: 100,
|
|
12
|
-
},
|
|
13
|
-
provider: {
|
|
14
|
-
discovery: 10000,
|
|
15
|
-
instant: 1000,
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
// Check and increment rate limit
|
|
19
|
-
export const checkLimit = mutation({
|
|
20
|
-
args: {
|
|
21
|
-
identifier: v.string(), // IP or agentId
|
|
22
|
-
action: v.union(v.literal("discovery"), v.literal("instant")),
|
|
23
|
-
tier: v.optional(v.union(v.literal("free"), v.literal("subscriber"), v.literal("provider"))),
|
|
24
|
-
},
|
|
25
|
-
handler: async (ctx, args) => {
|
|
26
|
-
const tier = args.tier || "free";
|
|
27
|
-
const limit = LIMITS[tier][args.action];
|
|
28
|
-
const hourKey = Math.floor(Date.now() / 3600000); // Hour bucket
|
|
29
|
-
const key = `${args.identifier}:${args.action}:${hourKey}`;
|
|
30
|
-
// Get current count
|
|
31
|
-
const existing = await ctx.db
|
|
32
|
-
.query("rateLimits")
|
|
33
|
-
.withIndex("by_key", (q) => q.eq("key", key))
|
|
34
|
-
.first();
|
|
35
|
-
if (existing) {
|
|
36
|
-
if (existing.count >= limit) {
|
|
37
|
-
return { allowed: false, remaining: 0, resetIn: 3600 - (Date.now() % 3600000) / 1000 };
|
|
38
|
-
}
|
|
39
|
-
await ctx.db.patch(existing._id, { count: existing.count + 1 });
|
|
40
|
-
return { allowed: true, remaining: limit - existing.count - 1 };
|
|
41
|
-
}
|
|
42
|
-
// Create new entry
|
|
43
|
-
await ctx.db.insert("rateLimits", {
|
|
44
|
-
key,
|
|
45
|
-
identifier: args.identifier,
|
|
46
|
-
action: args.action,
|
|
47
|
-
count: 1,
|
|
48
|
-
hourBucket: hourKey,
|
|
49
|
-
createdAt: Date.now(),
|
|
50
|
-
});
|
|
51
|
-
return { allowed: true, remaining: limit - 1 };
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
// Get current usage stats
|
|
55
|
-
export const getUsage = query({
|
|
56
|
-
args: {
|
|
57
|
-
identifier: v.string(),
|
|
58
|
-
},
|
|
59
|
-
handler: async (ctx, args) => {
|
|
60
|
-
const hourKey = Math.floor(Date.now() / 3600000);
|
|
61
|
-
const discovery = await ctx.db
|
|
62
|
-
.query("rateLimits")
|
|
63
|
-
.withIndex("by_key", (q) => q.eq("key", `${args.identifier}:discovery:${hourKey}`))
|
|
64
|
-
.first();
|
|
65
|
-
const instant = await ctx.db
|
|
66
|
-
.query("rateLimits")
|
|
67
|
-
.withIndex("by_key", (q) => q.eq("key", `${args.identifier}:instant:${hourKey}`))
|
|
68
|
-
.first();
|
|
69
|
-
return {
|
|
70
|
-
discovery: discovery?.count || 0,
|
|
71
|
-
instant: instant?.count || 0,
|
|
72
|
-
limits: LIMITS.free,
|
|
73
|
-
};
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
// Cleanup old rate limit entries (run via cron)
|
|
77
|
-
export const cleanup = mutation({
|
|
78
|
-
args: {},
|
|
79
|
-
handler: async (ctx) => {
|
|
80
|
-
const hourAgo = Math.floor(Date.now() / 3600000) - 2; // Keep 2 hours
|
|
81
|
-
const old = await ctx.db
|
|
82
|
-
.query("rateLimits")
|
|
83
|
-
.filter((q) => q.lt(q.field("hourBucket"), hourAgo))
|
|
84
|
-
.take(100);
|
|
85
|
-
for (const entry of old) {
|
|
86
|
-
await ctx.db.delete(entry._id);
|
|
87
|
-
}
|
|
88
|
-
return { deleted: old.length };
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=ratelimit.js.map
|
package/convex/ratelimit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["ratelimit.ts"],"names":[],"mappings":"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"}
|
package/convex/searchLogs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"searchLogs.d.ts","sourceRoot":"","sources":["searchLogs.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,KA8CpB,CAAC;AAGH,eAAO,MAAM,aAAa,KAkDxB,CAAC;AAGH,eAAO,MAAM,oBAAoB,KAuC/B,CAAC"}
|
package/convex/searchLogs.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { internalMutation, query } from "./_generated/server";
|
|
2
|
-
import { v } from "convex/values";
|
|
3
|
-
// Log a search query (uses existing searchLogs table schema)
|
|
4
|
-
export const logSearch = internalMutation({
|
|
5
|
-
args: {
|
|
6
|
-
query: v.string(),
|
|
7
|
-
resultsCount: v.number(),
|
|
8
|
-
matchedProviders: v.optional(v.array(v.string())),
|
|
9
|
-
sessionToken: v.optional(v.string()),
|
|
10
|
-
userAgent: v.optional(v.string()),
|
|
11
|
-
responseTimeMs: v.optional(v.number()),
|
|
12
|
-
},
|
|
13
|
-
handler: async (ctx, args) => {
|
|
14
|
-
// Try to get workspaceId from session token
|
|
15
|
-
let workspaceId = undefined;
|
|
16
|
-
let subagentId = undefined;
|
|
17
|
-
if (args.sessionToken) {
|
|
18
|
-
try {
|
|
19
|
-
const token = args.sessionToken;
|
|
20
|
-
const session = await ctx.db
|
|
21
|
-
.query("agentSessions")
|
|
22
|
-
.withIndex("by_sessionToken", (q) => q.eq("sessionToken", token))
|
|
23
|
-
.first();
|
|
24
|
-
if (session) {
|
|
25
|
-
workspaceId = session.workspaceId;
|
|
26
|
-
// No agentId in agentSessions, subagentId stays undefined
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
// Ignore - just skip workspace linking
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
// Only log if we have a workspace (existing schema requires it)
|
|
34
|
-
if (workspaceId) {
|
|
35
|
-
await ctx.db.insert("searchLogs", {
|
|
36
|
-
workspaceId,
|
|
37
|
-
subagentId,
|
|
38
|
-
query: args.query,
|
|
39
|
-
resultCount: args.resultsCount,
|
|
40
|
-
hasResults: args.resultsCount > 0,
|
|
41
|
-
matchedProviders: args.matchedProviders,
|
|
42
|
-
responseTimeMs: args.responseTimeMs || 0,
|
|
43
|
-
timestamp: Date.now(),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// TODO: Also log anonymous searches somewhere (for product insights)
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
// Get top search queries (for analytics)
|
|
50
|
-
export const getTopQueries = query({
|
|
51
|
-
args: {
|
|
52
|
-
limit: v.optional(v.number()),
|
|
53
|
-
since: v.optional(v.number()), // timestamp
|
|
54
|
-
},
|
|
55
|
-
handler: async (ctx, args) => {
|
|
56
|
-
const limit = args.limit || 50;
|
|
57
|
-
const since = args.since || Date.now() - 7 * 24 * 60 * 60 * 1000; // Last 7 days
|
|
58
|
-
const logs = await ctx.db
|
|
59
|
-
.query("searchLogs")
|
|
60
|
-
.withIndex("by_timestamp")
|
|
61
|
-
.filter((q) => q.gte(q.field("timestamp"), since))
|
|
62
|
-
.collect();
|
|
63
|
-
// Aggregate by query
|
|
64
|
-
const queryCounts = {};
|
|
65
|
-
for (const log of logs) {
|
|
66
|
-
const q = log.query.toLowerCase().trim();
|
|
67
|
-
if (!q)
|
|
68
|
-
continue;
|
|
69
|
-
if (!queryCounts[q]) {
|
|
70
|
-
queryCounts[q] = { count: 0, avgResults: 0, totalResults: 0 };
|
|
71
|
-
}
|
|
72
|
-
queryCounts[q].count++;
|
|
73
|
-
queryCounts[q].totalResults += log.resultCount;
|
|
74
|
-
}
|
|
75
|
-
// Calculate averages and sort
|
|
76
|
-
const sorted = Object.entries(queryCounts)
|
|
77
|
-
.map(([query, data]) => ({
|
|
78
|
-
query,
|
|
79
|
-
count: data.count,
|
|
80
|
-
avgResults: Math.round(data.totalResults / data.count * 10) / 10,
|
|
81
|
-
noResults: data.totalResults === 0,
|
|
82
|
-
}))
|
|
83
|
-
.sort((a, b) => b.count - a.count)
|
|
84
|
-
.slice(0, limit);
|
|
85
|
-
return {
|
|
86
|
-
queries: sorted,
|
|
87
|
-
totalSearches: logs.length,
|
|
88
|
-
uniqueQueries: Object.keys(queryCounts).length,
|
|
89
|
-
period: {
|
|
90
|
-
since: new Date(since).toISOString(),
|
|
91
|
-
until: new Date().toISOString(),
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
// Get searches with no results (API gaps)
|
|
97
|
-
export const getZeroResultQueries = query({
|
|
98
|
-
args: {
|
|
99
|
-
limit: v.optional(v.number()),
|
|
100
|
-
since: v.optional(v.number()),
|
|
101
|
-
},
|
|
102
|
-
handler: async (ctx, args) => {
|
|
103
|
-
const limit = args.limit || 20;
|
|
104
|
-
const since = args.since || Date.now() - 7 * 24 * 60 * 60 * 1000;
|
|
105
|
-
const logs = await ctx.db
|
|
106
|
-
.query("searchLogs")
|
|
107
|
-
.withIndex("by_hasResults")
|
|
108
|
-
.filter((q) => q.and(q.eq(q.field("hasResults"), false), q.gte(q.field("timestamp"), since)))
|
|
109
|
-
.collect();
|
|
110
|
-
// Aggregate
|
|
111
|
-
const queryCounts = {};
|
|
112
|
-
for (const log of logs) {
|
|
113
|
-
const q = log.query.toLowerCase().trim();
|
|
114
|
-
if (!q)
|
|
115
|
-
continue;
|
|
116
|
-
queryCounts[q] = (queryCounts[q] || 0) + 1;
|
|
117
|
-
}
|
|
118
|
-
const sorted = Object.entries(queryCounts)
|
|
119
|
-
.map(([query, count]) => ({ query, count }))
|
|
120
|
-
.sort((a, b) => b.count - a.count)
|
|
121
|
-
.slice(0, limit);
|
|
122
|
-
return {
|
|
123
|
-
gaps: sorted,
|
|
124
|
-
totalZeroResults: logs.length,
|
|
125
|
-
message: "These queries returned no results - potential APIs to add",
|
|
126
|
-
};
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
//# sourceMappingURL=searchLogs.js.map
|
package/convex/searchLogs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"searchLogs.js","sourceRoot":"","sources":["searchLogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACxC,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACvC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,4CAA4C;QAC5C,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,UAAU,GAAG,SAAS,CAAC;QAE3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;qBACzB,KAAK,CAAC,eAAe,CAAC;qBACtB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;qBAChE,KAAK,EAAE,CAAC;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;oBAClC,0DAA0D;gBAC5D,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;gBAChC,WAAW;gBACX,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC;gBACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;gBACxC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;IACvE,CAAC;CACF,CAAC,CAAC;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;IACjC,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY;KAC5C;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,cAAc;QAEhF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;aACtB,KAAK,CAAC,YAAY,CAAC;aACnB,SAAS,CAAC,cAAc,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;aACjD,OAAO,EAAE,CAAC;QAEb,qBAAqB;QACrB,MAAM,WAAW,GAAgF,EAAE,CAAC;QAEpG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC;gBAAE,SAAS;YAEjB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC;YACD,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACvB,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE;YAChE,SAAS,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC;SACnC,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEnB,OAAO;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM;YAC9C,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;gBACpC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAChC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACxC,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAEjE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;aACtB,KAAK,CAAC,YAAY,CAAC;aACnB,SAAS,CAAC,eAAe,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CACH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAClC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CACnC,CACF;aACA,OAAO,EAAE,CAAC;QAEb,YAAY;QACZ,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEnB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE,IAAI,CAAC,MAAM;YAC7B,OAAO,EAAE,2DAA2D;SACrE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Seed all 27 APILayer APIs for a workspace
|
|
3
|
-
* Run with: npx convex run seedAPILayerAPIs:seedAll '{"email":"gustav_hemmingsson@hotmail.com"}'
|
|
4
|
-
*/
|
|
5
|
-
export declare const cleanAndReseed: any;
|
|
6
|
-
export declare const seedAll: any;
|
|
7
|
-
//# sourceMappingURL=seedAPILayerAPIs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seedAPILayerAPIs.d.ts","sourceRoot":"","sources":["seedAPILayerAPIs.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,eAAO,MAAM,cAAc,KAuEzB,CAAC;AAEH,eAAO,MAAM,OAAO,KA8GlB,CAAC"}
|