llmist 10.1.1 → 10.2.0

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.js CHANGED
@@ -10769,13 +10769,67 @@ var init_builder = __esm({
10769
10769
  };
10770
10770
  }
10771
10771
  if (ctx.onSubagentEvent && ctx.invocationId) {
10772
+ const invocationId = ctx.invocationId;
10772
10773
  this.subagentEventCallback = (event) => {
10773
10774
  ctx.onSubagentEvent({
10774
10775
  ...event,
10775
- gadgetInvocationId: ctx.invocationId,
10776
- depth
10776
+ gadgetInvocationId: invocationId,
10777
+ // Add depths: parent's depth + event's depth (for recursive nesting)
10778
+ depth: depth + (event.depth ?? 0)
10777
10779
  });
10778
10780
  };
10781
+ const existingHooks = this.hooks ?? {};
10782
+ this.hooks = {
10783
+ ...existingHooks,
10784
+ observers: {
10785
+ ...existingHooks.observers,
10786
+ onLLMCallStart: async (info) => {
10787
+ await existingHooks.observers?.onLLMCallStart?.(info);
10788
+ ctx.onSubagentEvent({
10789
+ type: "llm_call_start",
10790
+ event: {
10791
+ iteration: info.iteration,
10792
+ model: info.options.model
10793
+ },
10794
+ gadgetInvocationId: invocationId,
10795
+ depth,
10796
+ iteration: info.iteration
10797
+ });
10798
+ },
10799
+ onGadgetExecutionStart: async (gadgetCtx) => {
10800
+ await existingHooks.observers?.onGadgetExecutionStart?.(gadgetCtx);
10801
+ ctx.onSubagentEvent({
10802
+ type: "gadget_call",
10803
+ event: {
10804
+ type: "gadget_call",
10805
+ call: {
10806
+ gadgetName: gadgetCtx.gadgetName,
10807
+ invocationId: gadgetCtx.invocationId,
10808
+ parametersRaw: JSON.stringify(gadgetCtx.parameters),
10809
+ parameters: gadgetCtx.parameters,
10810
+ dependencies: []
10811
+ }
10812
+ },
10813
+ gadgetInvocationId: invocationId,
10814
+ depth
10815
+ });
10816
+ },
10817
+ onLLMCallComplete: async (info) => {
10818
+ await existingHooks.observers?.onLLMCallComplete?.(info);
10819
+ ctx.onSubagentEvent({
10820
+ type: "llm_call_end",
10821
+ event: {
10822
+ iteration: info.iteration,
10823
+ model: info.options.model,
10824
+ finishReason: info.finishReason ?? void 0,
10825
+ usage: info.usage
10826
+ },
10827
+ gadgetInvocationId: invocationId,
10828
+ depth
10829
+ });
10830
+ }
10831
+ }
10832
+ };
10779
10833
  }
10780
10834
  if (ctx.signal && !this.signal) {
10781
10835
  this.signal = ctx.signal;