@voltagent/core 0.1.46 → 0.1.48

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/dist/index.d.ts CHANGED
@@ -1261,6 +1261,26 @@ type InferResponseFromProvider<TProvider extends {
1261
1261
  type InferOriginalResponseFromProvider<TProvider extends {
1262
1262
  llm: LLMProvider<any>;
1263
1263
  }, TMethod extends "generateText" | "streamText" | "generateObject" | "streamObject"> = InferResponseFromProvider<TProvider, TMethod>["provider"];
1264
+ type GenerateTextResponse<TProvider extends {
1265
+ llm: LLMProvider<any>;
1266
+ }> = InferGenerateTextResponseFromProvider<TProvider> & {
1267
+ userContext: Map<string | symbol, unknown>;
1268
+ };
1269
+ type StreamTextResponse<TProvider extends {
1270
+ llm: LLMProvider<any>;
1271
+ }> = InferStreamTextResponseFromProvider<TProvider> & {
1272
+ userContext?: Map<string | symbol, unknown>;
1273
+ };
1274
+ type GenerateObjectResponse<TProvider extends {
1275
+ llm: LLMProvider<any>;
1276
+ }, TSchema extends z.ZodType> = InferGenerateObjectResponseFromProvider<TProvider, TSchema> & {
1277
+ userContext: Map<string | symbol, unknown>;
1278
+ };
1279
+ type StreamObjectResponse<TProvider extends {
1280
+ llm: LLMProvider<any>;
1281
+ }, TSchema extends z.ZodType> = InferStreamObjectResponseFromProvider<TProvider, TSchema> & {
1282
+ userContext?: Map<string | symbol, unknown>;
1283
+ };
1264
1284
 
1265
1285
  /**
1266
1286
  * Token usage information
@@ -1515,6 +1535,8 @@ interface StepWithContent {
1515
1535
  arguments?: Record<string, any>;
1516
1536
  result?: any;
1517
1537
  usage?: UsageInfo;
1538
+ subAgentId?: string;
1539
+ subAgentName?: string;
1518
1540
  }
1519
1541
  type StepFinishCallback = (step: StepWithContent) => void | Promise<void>;
1520
1542
  type StepChunkCallback = (chunk: any) => void | Promise<void>;
@@ -3093,19 +3115,19 @@ declare class Agent<TProvider extends {
3093
3115
  /**
3094
3116
  * Generate a text response without streaming
3095
3117
  */
3096
- generateText(input: string | BaseMessage[], options?: PublicGenerateOptions): Promise<InferGenerateTextResponseFromProvider<TProvider>>;
3118
+ generateText(input: string | BaseMessage[], options?: PublicGenerateOptions): Promise<GenerateTextResponse<TProvider>>;
3097
3119
  /**
3098
3120
  * Stream a text response
3099
3121
  */
3100
- streamText(input: string | BaseMessage[], options?: PublicGenerateOptions): Promise<InferStreamTextResponseFromProvider<TProvider>>;
3122
+ streamText(input: string | BaseMessage[], options?: PublicGenerateOptions): Promise<StreamTextResponse<TProvider>>;
3101
3123
  /**
3102
3124
  * Generate a structured object response
3103
3125
  */
3104
- generateObject<TSchema extends z.ZodType>(input: string | BaseMessage[], schema: TSchema, options?: PublicGenerateOptions): Promise<InferGenerateObjectResponseFromProvider<TProvider, TSchema>>;
3126
+ generateObject<TSchema extends z.ZodType>(input: string | BaseMessage[], schema: TSchema, options?: PublicGenerateOptions): Promise<GenerateObjectResponse<TProvider, TSchema>>;
3105
3127
  /**
3106
3128
  * Stream a structured object response
3107
3129
  */
3108
- streamObject<TSchema extends z.ZodType>(input: string | BaseMessage[], schema: TSchema, options?: PublicGenerateOptions): Promise<InferStreamObjectResponseFromProvider<TProvider, TSchema>>;
3130
+ streamObject<TSchema extends z.ZodType>(input: string | BaseMessage[], schema: TSchema, options?: PublicGenerateOptions): Promise<StreamObjectResponse<TProvider, TSchema>>;
3109
3131
  /**
3110
3132
  * Add a sub-agent that this agent can delegate tasks to
3111
3133
  */
package/dist/index.js CHANGED
@@ -2477,6 +2477,7 @@ var import_dev19 = require("@voltagent/internal/dev");
2477
2477
 
2478
2478
  // src/agent/index.ts
2479
2479
  var import_dev14 = require("@voltagent/internal/dev");
2480
+ var import_ts_pattern2 = require("ts-pattern");
2480
2481
 
2481
2482
  // src/memory/in-memory/index.ts
2482
2483
  var import_dev4 = require("@voltagent/internal/dev");
@@ -7721,7 +7722,14 @@ ${context}`;
7721
7722
  if (!context.conversationSteps) {
7722
7723
  context.conversationSteps = [];
7723
7724
  }
7724
- context.conversationSteps.push(step);
7725
+ const finalStep = {
7726
+ ...step,
7727
+ ...(0, import_ts_pattern2.match)(context).with({ parentAgentId: import_ts_pattern2.P.not(import_ts_pattern2.P.nullish) }, () => ({
7728
+ subAgentId: this.id,
7729
+ subAgentName: this.name
7730
+ })).otherwise(() => ({}))
7731
+ };
7732
+ context.conversationSteps.push(finalStep);
7725
7733
  }
7726
7734
  /**
7727
7735
  * Update history entry
@@ -8102,17 +8110,14 @@ ${context}`;
8102
8110
  status: "completed"
8103
8111
  });
8104
8112
  operationContext.isActive = false;
8105
- const standardizedOutput = {
8106
- text: response.text,
8107
- usage: response.usage,
8108
- finishReason: response.finishReason,
8109
- providerResponse: response,
8113
+ const extendedResponse = {
8114
+ ...response,
8110
8115
  userContext: new Map(operationContext.userContext)
8111
8116
  };
8112
8117
  await this.hooks.onEnd?.({
8113
8118
  conversationId: finalConversationId,
8114
8119
  agent: this,
8115
- output: standardizedOutput,
8120
+ output: extendedResponse,
8116
8121
  error: void 0,
8117
8122
  context: operationContext
8118
8123
  });
@@ -8122,7 +8127,7 @@ ${context}`;
8122
8127
  endTime: /* @__PURE__ */ new Date(),
8123
8128
  status: "completed"
8124
8129
  });
8125
- return response;
8130
+ return extendedResponse;
8126
8131
  } catch (error) {
8127
8132
  const voltagentError = error;
8128
8133
  const agentErrorStartInfo = {
@@ -8626,7 +8631,8 @@ ${context}`;
8626
8631
  });
8627
8632
  const wrappedResponse = {
8628
8633
  ...response,
8629
- fullStream: response.fullStream ? this.createEnhancedFullStream(response.fullStream, streamController, subAgentStatus) : void 0
8634
+ fullStream: response.fullStream ? this.createEnhancedFullStream(response.fullStream, streamController, subAgentStatus) : void 0,
8635
+ userContext: new Map(operationContext.userContext)
8630
8636
  };
8631
8637
  return wrappedResponse;
8632
8638
  }
@@ -8784,21 +8790,18 @@ ${context}`;
8784
8790
  endTime: /* @__PURE__ */ new Date(),
8785
8791
  status: "completed"
8786
8792
  });
8787
- const standardizedOutput = {
8788
- object: response.object,
8789
- usage: response.usage,
8790
- finishReason: response.finishReason,
8791
- providerResponse: response,
8793
+ const extendedResponse = {
8794
+ ...response,
8792
8795
  userContext: new Map(operationContext.userContext)
8793
8796
  };
8794
8797
  await this.hooks.onEnd?.({
8795
8798
  agent: this,
8796
- output: standardizedOutput,
8799
+ output: extendedResponse,
8797
8800
  error: void 0,
8798
8801
  conversationId: finalConversationId,
8799
8802
  context: operationContext
8800
8803
  });
8801
- return response;
8804
+ return extendedResponse;
8802
8805
  } catch (error) {
8803
8806
  const voltagentError = error;
8804
8807
  const agentErrorStartInfo = {
@@ -9114,7 +9117,11 @@ ${context}`;
9114
9117
  });
9115
9118
  }
9116
9119
  });
9117
- return response;
9120
+ const extendedResponse = {
9121
+ ...response,
9122
+ userContext: new Map(operationContext.userContext)
9123
+ };
9124
+ return extendedResponse;
9118
9125
  } catch (error) {
9119
9126
  operationContext.isActive = false;
9120
9127
  await this.hooks.onEnd?.({