@agentuity/runtime 0.0.107 → 0.0.109

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 (47) hide show
  1. package/dist/_context.d.ts +2 -1
  2. package/dist/_context.d.ts.map +1 -1
  3. package/dist/_context.js +1 -0
  4. package/dist/_context.js.map +1 -1
  5. package/dist/_metadata.d.ts.map +1 -1
  6. package/dist/_metadata.js +7 -0
  7. package/dist/_metadata.js.map +1 -1
  8. package/dist/_standalone.d.ts +2 -1
  9. package/dist/_standalone.d.ts.map +1 -1
  10. package/dist/_standalone.js +26 -9
  11. package/dist/_standalone.js.map +1 -1
  12. package/dist/agent.d.ts +18 -1
  13. package/dist/agent.d.ts.map +1 -1
  14. package/dist/agent.js +2 -0
  15. package/dist/agent.js.map +1 -1
  16. package/dist/bun-s3-patch.d.ts +13 -2
  17. package/dist/bun-s3-patch.d.ts.map +1 -1
  18. package/dist/bun-s3-patch.js +82 -8
  19. package/dist/bun-s3-patch.js.map +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/middleware.d.ts.map +1 -1
  25. package/dist/middleware.js +7 -4
  26. package/dist/middleware.js.map +1 -1
  27. package/dist/services/thread/local.d.ts.map +1 -1
  28. package/dist/services/thread/local.js +106 -25
  29. package/dist/services/thread/local.js.map +1 -1
  30. package/dist/session.d.ts +206 -27
  31. package/dist/session.d.ts.map +1 -1
  32. package/dist/session.js +386 -69
  33. package/dist/session.js.map +1 -1
  34. package/dist/workbench.d.ts.map +1 -1
  35. package/dist/workbench.js +15 -9
  36. package/dist/workbench.js.map +1 -1
  37. package/package.json +5 -5
  38. package/src/_context.ts +2 -1
  39. package/src/_metadata.ts +11 -0
  40. package/src/_standalone.ts +27 -10
  41. package/src/agent.ts +22 -1
  42. package/src/bun-s3-patch.ts +138 -10
  43. package/src/index.ts +6 -0
  44. package/src/middleware.ts +8 -4
  45. package/src/services/thread/local.ts +119 -30
  46. package/src/session.ts +599 -90
  47. package/src/workbench.ts +19 -10
package/src/workbench.ts CHANGED
@@ -90,17 +90,18 @@ export const createWorkbenchExecutionRoute = (): Handler => {
90
90
  // This allows multiple agents to have separate message histories in the same thread
91
91
  if (ctx.var.thread) {
92
92
  const agentMessagesKey = `messages_${agentId}`;
93
- const existingMessages = ctx.var.thread.state.get(agentMessagesKey);
94
- const messages = (existingMessages as unknown[] | undefined) || [];
93
+ const maxMessages = 50;
95
94
 
96
- messages.push({ type: 'input', data: input });
95
+ await ctx.var.thread.state.push(agentMessagesKey, { type: 'input', data: input }, maxMessages);
97
96
 
98
97
  if (result !== undefined && result !== null) {
99
- messages.push({ type: 'output', data: result });
98
+ await ctx.var.thread.state.push(
99
+ agentMessagesKey,
100
+ { type: 'output', data: result },
101
+ maxMessages
102
+ );
100
103
  }
101
104
 
102
- ctx.var.thread.state.set(agentMessagesKey, messages);
103
-
104
105
  // Manually save the thread to ensure state persists
105
106
  try {
106
107
  const threadProvider = getThreadProvider();
@@ -161,10 +162,18 @@ export const createWorkbenchClearStateRoute = (): Handler => {
161
162
  return ctx.json({ error: 'Thread not available' }, { status: 404 });
162
163
  }
163
164
 
164
- const agentMessagesKey = `messages_${agentId}`;
165
+ // Clear state associated with this specific agent:
166
+ // 1. messages_${agentId} - workbench message history
167
+ // 2. Any keys starting with ${agentId}_ - agent-specific state
168
+ const allKeys = await ctx.var.thread.state.keys();
169
+ const agentPrefix = `${agentId}_`;
170
+ const messagesKey = `messages_${agentId}`;
165
171
 
166
- // Remove the messages for this agent
167
- ctx.var.thread.state.delete(agentMessagesKey);
172
+ for (const key of allKeys) {
173
+ if (key === messagesKey || key.startsWith(agentPrefix)) {
174
+ await ctx.var.thread.state.delete(key);
175
+ }
176
+ }
168
177
 
169
178
  // Save the thread to persist the cleared state
170
179
  try {
@@ -210,7 +219,7 @@ export const createWorkbenchStateRoute = (): Handler => {
210
219
  }
211
220
 
212
221
  const agentMessagesKey = `messages_${agentId}`;
213
- const messages = ctx.var.thread.state.get(agentMessagesKey);
222
+ const messages = await ctx.var.thread.state.get(agentMessagesKey);
214
223
 
215
224
  return ctx.json({
216
225
  threadId: ctx.var.thread.id,