@convex-dev/agent 0.0.17-alpha.0 → 0.0.17-alpha.2

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.
@@ -1,200 +0,0 @@
1
- import { paginationOptsValidator, queryGeneric, mutationGeneric, actionGeneric, } from "convex/server";
2
- import { vMessageDoc, vThreadDoc, paginationResultValidator, vMessage, vContextOptions, vStorageOptions, } from "./index";
3
- import { v } from "convex/values";
4
- // Playground API definition
5
- export function definePlaygroundAPI(component, { agents, userNameLookup, }) {
6
- // Map agent name to instance
7
- const agentMap = Object.fromEntries(agents.map((agent) => [agent.options.name, agent]));
8
- async function validateApiKey(ctx, apiKey) {
9
- await ctx.runQuery(component.apiKeys.validate, { apiKey });
10
- }
11
- const isApiKeyValid = queryGeneric({
12
- args: {
13
- apiKey: v.string(),
14
- },
15
- handler: async (ctx, args) => {
16
- try {
17
- await validateApiKey(ctx, args.apiKey);
18
- return true;
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- }
21
- catch (e) {
22
- return false;
23
- }
24
- },
25
- returns: v.boolean(),
26
- });
27
- // List all agents
28
- const listAgents = queryGeneric({
29
- args: {
30
- apiKey: v.string(),
31
- },
32
- handler: async (ctx, args) => {
33
- await validateApiKey(ctx, args.apiKey);
34
- return Object.keys(agentMap);
35
- },
36
- returns: v.array(v.string()),
37
- });
38
- const listUsers = queryGeneric({
39
- args: {
40
- apiKey: v.string(),
41
- paginationOpts: paginationOptsValidator,
42
- },
43
- handler: async (ctx, args) => {
44
- await validateApiKey(ctx, args.apiKey);
45
- const users = await ctx.runQuery(component.users.listUsersWithThreads, {
46
- paginationOpts: args.paginationOpts,
47
- });
48
- return {
49
- ...users,
50
- page: await Promise.all(users.page.map(async (userId) => ({
51
- _id: userId,
52
- name: userNameLookup ? await userNameLookup(ctx, userId) : userId,
53
- }))),
54
- };
55
- },
56
- returns: paginationResultValidator(v.object({
57
- _id: v.string(),
58
- name: v.string(),
59
- })),
60
- });
61
- // List threads for a user (query)
62
- const listThreads = queryGeneric({
63
- args: {
64
- apiKey: v.string(),
65
- userId: v.string(),
66
- paginationOpts: paginationOptsValidator,
67
- },
68
- handler: async (ctx, args) => {
69
- await validateApiKey(ctx, args.apiKey);
70
- const results = await ctx.runQuery(component.threads.listThreadsByUserId, {
71
- userId: args.userId,
72
- paginationOpts: args.paginationOpts,
73
- order: "desc",
74
- });
75
- return {
76
- ...results,
77
- page: await Promise.all(results.page.map(async (thread) => {
78
- const { page: [last], } = await ctx.runQuery(component.messages.listMessagesByThreadId, {
79
- threadId: thread._id,
80
- order: "desc",
81
- paginationOpts: {
82
- numItems: 1,
83
- cursor: null,
84
- },
85
- });
86
- return {
87
- ...thread,
88
- latestMessage: last?.text,
89
- lastMessageAt: last?._creationTime,
90
- };
91
- })),
92
- };
93
- },
94
- returns: paginationResultValidator(v.object({
95
- ...vThreadDoc.fields,
96
- latestMessage: v.optional(v.string()),
97
- lastMessageAt: v.optional(v.number()),
98
- })),
99
- });
100
- // List messages for a thread (query)
101
- const listMessages = queryGeneric({
102
- args: {
103
- apiKey: v.string(),
104
- threadId: v.string(),
105
- paginationOpts: paginationOptsValidator,
106
- },
107
- handler: async (ctx, args) => {
108
- await validateApiKey(ctx, args.apiKey);
109
- return ctx.runQuery(component.messages.listMessagesByThreadId, {
110
- threadId: args.threadId,
111
- paginationOpts: args.paginationOpts,
112
- order: "desc",
113
- statuses: ["success", "failed", "pending"],
114
- });
115
- },
116
- returns: paginationResultValidator(vMessageDoc),
117
- });
118
- // Create a thread (mutation)
119
- const createThread = mutationGeneric({
120
- args: {
121
- apiKey: v.string(),
122
- agentName: v.string(),
123
- userId: v.string(),
124
- title: v.optional(v.string()),
125
- summary: v.optional(v.string()),
126
- },
127
- handler: async (ctx, args) => {
128
- await validateApiKey(ctx, args.apiKey);
129
- const agent = agentMap[args.agentName];
130
- if (!agent)
131
- throw new Error(`Unknown agent: ${args.agentName}`);
132
- return agent.createThread(ctx, {
133
- userId: args.userId,
134
- title: args.title,
135
- summary: args.summary,
136
- });
137
- },
138
- returns: v.object({ threadId: v.string() }),
139
- });
140
- // Send a message (action)
141
- const generateText = actionGeneric({
142
- args: {
143
- apiKey: v.string(),
144
- agentName: v.string(),
145
- userId: v.string(),
146
- threadId: v.string(),
147
- // Args passed through to generateText
148
- prompt: v.optional(v.string()),
149
- messages: v.optional(v.array(vMessage)),
150
- contextOptions: v.optional(vContextOptions),
151
- storageOptions: v.optional(vStorageOptions),
152
- },
153
- handler: async (ctx, args) => {
154
- const { apiKey, agentName, userId, threadId, ...rest } = args;
155
- await validateApiKey(ctx, apiKey);
156
- const agent = agentMap[agentName];
157
- if (!agent)
158
- throw new Error(`Unknown agent: ${agentName}`);
159
- const { thread } = await agent.continueThread(ctx, { threadId, userId });
160
- const result = await thread.generateText(rest);
161
- return result;
162
- },
163
- });
164
- // Fetch prompt context (action)
165
- const fetchPromptContext = actionGeneric({
166
- args: {
167
- apiKey: v.string(),
168
- agentName: v.string(),
169
- userId: v.optional(v.string()),
170
- threadId: v.optional(v.string()),
171
- messages: v.array(vMessage),
172
- contextOptions: vContextOptions,
173
- beforeMessageId: v.optional(v.string()),
174
- },
175
- handler: async (ctx, args) => {
176
- await validateApiKey(ctx, args.apiKey);
177
- const agent = agentMap[args.agentName];
178
- if (!agent)
179
- throw new Error(`Unknown agent: ${args.agentName}`);
180
- return agent.fetchContextMessages(ctx, {
181
- userId: args.userId,
182
- threadId: args.threadId,
183
- messages: args.messages,
184
- contextOptions: args.contextOptions,
185
- beforeMessageId: args.beforeMessageId,
186
- });
187
- },
188
- });
189
- return {
190
- isApiKeyValid,
191
- listUsers,
192
- listThreads,
193
- listMessages,
194
- listAgents,
195
- createThread,
196
- generateText,
197
- fetchPromptContext,
198
- };
199
- }
200
- //# sourceMappingURL=playground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playground.js","sourceRoot":"","sources":["../../../src/client/playground.ts"],"names":[],"mappings":"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"}