@xenosystem/agent-sdk 0.10.4 → 0.10.5

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.
@@ -810,6 +810,7 @@ declare class LlmClient {
810
810
  parameters: ToolDefinition["input_schema"];
811
811
  };
812
812
  }>;
813
+ estimateChatCompletionsInputTokens(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[]): number;
813
814
  private buildChatCompletionsRequestBody;
814
815
  private parseXenoCompletion;
815
816
  static parseRetryAfterSeconds(value: string | null): number | undefined;
@@ -818,8 +819,8 @@ declare class LlmClient {
818
819
  private static summarizeErrorBody;
819
820
  private authorizationHeaders;
820
821
  private createApiRequestSignal;
821
- callChatCompletionsNonStream(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
822
- callChatCompletions(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
822
+ callChatCompletionsNonStream(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal, maxOutputTokens?: number): Promise<StreamResult>;
823
+ callChatCompletions(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal, maxOutputTokens?: number): Promise<StreamResult>;
823
824
  callOllama(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
824
825
  }
825
826
  type LLMProviderMessage = ApiMessage;
@@ -895,7 +896,7 @@ interface LLMProviderCapabilities {
895
896
  }
896
897
  interface LLMProvider {
897
898
  prepareQuotaRequest?(model: string, messages: LLMProviderMessage[], tools: ToolDefinition[], context?: LLMProviderRequestContext, signal?: AbortSignal): Promise<{
898
- basis: "provider-enforced";
899
+ basis: "provider-enforced" | "estimated";
899
900
  inputTokensUpperBound: number;
900
901
  outputTokensUpperBound: number;
901
902
  execute(onText?: (text: string) => void, signal?: AbortSignal): Promise<LLMCompletionResult>;
@@ -1548,6 +1549,8 @@ declare class AgentLoop {
1548
1549
  meteredRequests: number;
1549
1550
  coverageComplete: boolean;
1550
1551
  };
1552
+ createSoftBudgetCloudProvider(): LLMProvider;
1553
+ private callCloudWithOutputCap;
1551
1554
  configureModelExecution(options: {
1552
1555
  provider?: LLMProvider;
1553
1556
  modelWorkAccounting?: ModelWorkAccounting;
@@ -810,6 +810,7 @@ declare class LlmClient {
810
810
  parameters: ToolDefinition["input_schema"];
811
811
  };
812
812
  }>;
813
+ estimateChatCompletionsInputTokens(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[]): number;
813
814
  private buildChatCompletionsRequestBody;
814
815
  private parseXenoCompletion;
815
816
  static parseRetryAfterSeconds(value: string | null): number | undefined;
@@ -818,8 +819,8 @@ declare class LlmClient {
818
819
  private static summarizeErrorBody;
819
820
  private authorizationHeaders;
820
821
  private createApiRequestSignal;
821
- callChatCompletionsNonStream(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
822
- callChatCompletions(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
822
+ callChatCompletionsNonStream(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal, maxOutputTokens?: number): Promise<StreamResult>;
823
+ callChatCompletions(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal, maxOutputTokens?: number): Promise<StreamResult>;
823
824
  callOllama(model: string, apiMessages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
824
825
  }
825
826
  type LLMProviderMessage = ApiMessage;
@@ -895,7 +896,7 @@ interface LLMProviderCapabilities {
895
896
  }
896
897
  interface LLMProvider {
897
898
  prepareQuotaRequest?(model: string, messages: LLMProviderMessage[], tools: ToolDefinition[], context?: LLMProviderRequestContext, signal?: AbortSignal): Promise<{
898
- basis: "provider-enforced";
899
+ basis: "provider-enforced" | "estimated";
899
900
  inputTokensUpperBound: number;
900
901
  outputTokensUpperBound: number;
901
902
  execute(onText?: (text: string) => void, signal?: AbortSignal): Promise<LLMCompletionResult>;
@@ -1548,6 +1549,8 @@ declare class AgentLoop {
1548
1549
  meteredRequests: number;
1549
1550
  coverageComplete: boolean;
1550
1551
  };
1552
+ createSoftBudgetCloudProvider(): LLMProvider;
1553
+ private callCloudWithOutputCap;
1551
1554
  configureModelExecution(options: {
1552
1555
  provider?: LLMProvider;
1553
1556
  modelWorkAccounting?: ModelWorkAccounting;