Add session to agents (#4216)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Jack Amadeo <jackamadeo@squareup.com>
Co-authored-by: Jack Amadeo <jackamadeo@block.xyz>
This commit is contained in:
Douwe Osinga
2025-09-03 10:31:24 -04:00
committed by GitHub
parent db94c5b7c3
commit d2195289cf
65 changed files with 1473 additions and 1601 deletions
+32 -6
View File
@@ -1,7 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import type { Options as ClientOptions, TDataShape, Client } from './client';
import type { AddSubRecipesData, AddSubRecipesResponses, AddSubRecipesErrors, ExtendPromptData, ExtendPromptResponses, ExtendPromptErrors, UpdateSessionConfigData, UpdateSessionConfigResponses, UpdateSessionConfigErrors, GetToolsData, GetToolsResponses, GetToolsErrors, UpdateAgentProviderData, UpdateAgentProviderResponses, UpdateAgentProviderErrors, UpdateRouterToolSelectorData, UpdateRouterToolSelectorResponses, UpdateRouterToolSelectorErrors, ReadAllConfigData, ReadAllConfigResponses, BackupConfigData, BackupConfigResponses, BackupConfigErrors, CreateCustomProviderData, CreateCustomProviderResponses, CreateCustomProviderErrors, RemoveCustomProviderData, RemoveCustomProviderResponses, RemoveCustomProviderErrors, GetExtensionsData, GetExtensionsResponses, GetExtensionsErrors, AddExtensionData, AddExtensionResponses, AddExtensionErrors, RemoveExtensionData, RemoveExtensionResponses, RemoveExtensionErrors, InitConfigData, InitConfigResponses, InitConfigErrors, UpsertPermissionsData, UpsertPermissionsResponses, UpsertPermissionsErrors, ProvidersData, ProvidersResponses, GetProviderModelsData, GetProviderModelsResponses, GetProviderModelsErrors, ReadConfigData, ReadConfigResponses, ReadConfigErrors, RecoverConfigData, RecoverConfigResponses, RecoverConfigErrors, RemoveConfigData, RemoveConfigResponses, RemoveConfigErrors, UpsertConfigData, UpsertConfigResponses, UpsertConfigErrors, ValidateConfigData, ValidateConfigResponses, ValidateConfigErrors, ConfirmPermissionData, ConfirmPermissionResponses, ConfirmPermissionErrors, ManageContextData, ManageContextResponses, ManageContextErrors, CreateRecipeData, CreateRecipeResponses, CreateRecipeErrors, DecodeRecipeData, DecodeRecipeResponses, DecodeRecipeErrors, DeleteRecipeData, DeleteRecipeResponses, DeleteRecipeErrors, EncodeRecipeData, EncodeRecipeResponses, EncodeRecipeErrors, ListRecipesData, ListRecipesResponses, ListRecipesErrors, ScanRecipeData, ScanRecipeResponses, CreateScheduleData, CreateScheduleResponses, CreateScheduleErrors, DeleteScheduleData, DeleteScheduleResponses, DeleteScheduleErrors, ListSchedulesData, ListSchedulesResponses, ListSchedulesErrors, UpdateScheduleData, UpdateScheduleResponses, UpdateScheduleErrors, InspectRunningJobData, InspectRunningJobResponses, InspectRunningJobErrors, KillRunningJobData, KillRunningJobResponses, PauseScheduleData, PauseScheduleResponses, PauseScheduleErrors, RunNowHandlerData, RunNowHandlerResponses, RunNowHandlerErrors, SessionsHandlerData, SessionsHandlerResponses, SessionsHandlerErrors, UnpauseScheduleData, UnpauseScheduleResponses, UnpauseScheduleErrors, ListSessionsData, ListSessionsResponses, ListSessionsErrors, GetSessionHistoryData, GetSessionHistoryResponses, GetSessionHistoryErrors } from './types.gen';
import type { AddSubRecipesData, AddSubRecipesResponses, AddSubRecipesErrors, ExtendPromptData, ExtendPromptResponses, ExtendPromptErrors, ResumeAgentData, ResumeAgentResponses, ResumeAgentErrors, UpdateSessionConfigData, UpdateSessionConfigResponses, UpdateSessionConfigErrors, StartAgentData, StartAgentResponses, StartAgentErrors, GetToolsData, GetToolsResponses, GetToolsErrors, UpdateAgentProviderData, UpdateAgentProviderResponses, UpdateAgentProviderErrors, UpdateRouterToolSelectorData, UpdateRouterToolSelectorResponses, UpdateRouterToolSelectorErrors, ReadAllConfigData, ReadAllConfigResponses, BackupConfigData, BackupConfigResponses, BackupConfigErrors, CreateCustomProviderData, CreateCustomProviderResponses, CreateCustomProviderErrors, RemoveCustomProviderData, RemoveCustomProviderResponses, RemoveCustomProviderErrors, GetExtensionsData, GetExtensionsResponses, GetExtensionsErrors, AddExtensionData, AddExtensionResponses, AddExtensionErrors, RemoveExtensionData, RemoveExtensionResponses, RemoveExtensionErrors, InitConfigData, InitConfigResponses, InitConfigErrors, UpsertPermissionsData, UpsertPermissionsResponses, UpsertPermissionsErrors, ProvidersData, ProvidersResponses, GetProviderModelsData, GetProviderModelsResponses, GetProviderModelsErrors, ReadConfigData, ReadConfigResponses, ReadConfigErrors, RecoverConfigData, RecoverConfigResponses, RecoverConfigErrors, RemoveConfigData, RemoveConfigResponses, RemoveConfigErrors, UpsertConfigData, UpsertConfigResponses, UpsertConfigErrors, ValidateConfigData, ValidateConfigResponses, ValidateConfigErrors, ConfirmPermissionData, ConfirmPermissionResponses, ConfirmPermissionErrors, ManageContextData, ManageContextResponses, ManageContextErrors, CreateRecipeData, CreateRecipeResponses, CreateRecipeErrors, DecodeRecipeData, DecodeRecipeResponses, DecodeRecipeErrors, DeleteRecipeData, DeleteRecipeResponses, DeleteRecipeErrors, EncodeRecipeData, EncodeRecipeResponses, EncodeRecipeErrors, ListRecipesData, ListRecipesResponses, ListRecipesErrors, ScanRecipeData, ScanRecipeResponses, CreateScheduleData, CreateScheduleResponses, CreateScheduleErrors, DeleteScheduleData, DeleteScheduleResponses, DeleteScheduleErrors, ListSchedulesData, ListSchedulesResponses, ListSchedulesErrors, UpdateScheduleData, UpdateScheduleResponses, UpdateScheduleErrors, InspectRunningJobData, InspectRunningJobResponses, InspectRunningJobErrors, KillRunningJobData, KillRunningJobResponses, PauseScheduleData, PauseScheduleResponses, PauseScheduleErrors, RunNowHandlerData, RunNowHandlerResponses, RunNowHandlerErrors, SessionsHandlerData, SessionsHandlerResponses, SessionsHandlerErrors, UnpauseScheduleData, UnpauseScheduleResponses, UnpauseScheduleErrors, ListSessionsData, ListSessionsResponses, ListSessionsErrors, GetSessionHistoryData, GetSessionHistoryResponses, GetSessionHistoryErrors } from './types.gen';
import { client as _heyApiClient } from './client.gen';
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
@@ -40,6 +40,17 @@ export const extendPrompt = <ThrowOnError extends boolean = false>(options: Opti
});
};
export const resumeAgent = <ThrowOnError extends boolean = false>(options: Options<ResumeAgentData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).post<ResumeAgentResponses, ResumeAgentErrors, ThrowOnError>({
url: '/agent/resume',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
export const updateSessionConfig = <ThrowOnError extends boolean = false>(options: Options<UpdateSessionConfigData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).post<UpdateSessionConfigResponses, UpdateSessionConfigErrors, ThrowOnError>({
url: '/agent/session_config',
@@ -51,8 +62,19 @@ export const updateSessionConfig = <ThrowOnError extends boolean = false>(option
});
};
export const getTools = <ThrowOnError extends boolean = false>(options?: Options<GetToolsData, ThrowOnError>) => {
return (options?.client ?? _heyApiClient).get<GetToolsResponses, GetToolsErrors, ThrowOnError>({
export const startAgent = <ThrowOnError extends boolean = false>(options: Options<StartAgentData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).post<StartAgentResponses, StartAgentErrors, ThrowOnError>({
url: '/agent/start',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
export const getTools = <ThrowOnError extends boolean = false>(options: Options<GetToolsData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).get<GetToolsResponses, GetToolsErrors, ThrowOnError>({
url: '/agent/tools',
...options
});
@@ -69,10 +91,14 @@ export const updateAgentProvider = <ThrowOnError extends boolean = false>(option
});
};
export const updateRouterToolSelector = <ThrowOnError extends boolean = false>(options?: Options<UpdateRouterToolSelectorData, ThrowOnError>) => {
return (options?.client ?? _heyApiClient).post<UpdateRouterToolSelectorResponses, UpdateRouterToolSelectorErrors, ThrowOnError>({
export const updateRouterToolSelector = <ThrowOnError extends boolean = false>(options: Options<UpdateRouterToolSelectorData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).post<UpdateRouterToolSelectorResponses, UpdateRouterToolSelectorErrors, ThrowOnError>({
url: '/agent/update_router_tool_selector',
...options
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
+94 -2
View File
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
export type AddSubRecipesRequest = {
session_id: string;
sub_recipes: Array<SubRecipe>;
};
@@ -164,6 +165,7 @@ export type ErrorResponse = {
export type ExtendPromptRequest = {
extension: string;
session_id: string;
};
export type ExtendPromptResponse = {
@@ -316,6 +318,7 @@ export type FrontendToolRequest = {
export type GetToolsQuery = {
extension_name?: string | null;
session_id: string;
};
export type ImageContent = {
@@ -413,6 +416,7 @@ export type PermissionConfirmationRequest = {
action: string;
id: string;
principal_type?: PrincipalType;
session_id: string;
};
/**
@@ -589,6 +593,10 @@ export type Response = {
json_schema?: unknown;
};
export type ResumeAgentRequest = {
session_id: string;
};
/**
* Configuration for retry logic in recipe execution
*/
@@ -643,6 +651,7 @@ export type ScheduledJob = {
export type SessionConfigRequest = {
response?: Response | null;
session_id: string;
};
export type SessionDisplayInfo = {
@@ -719,6 +728,7 @@ export type SessionMetadata = {
* The number of output tokens used in the session. Retrieved from the provider's last usage.
*/
output_tokens?: number | null;
recipe?: Recipe | null;
/**
* ID of the schedule that triggered this session, if any
*/
@@ -743,6 +753,17 @@ export type Settings = {
temperature?: number | null;
};
export type StartAgentRequest = {
recipe?: Recipe | null;
working_dir: string;
};
export type StartAgentResponse = {
messages: Array<Message>;
metadata: SessionMetadata;
session_id: string;
};
export type SubRecipe = {
description?: string | null;
name: string;
@@ -841,6 +862,11 @@ export type ToolResponse = {
export type UpdateProviderRequest = {
model?: string | null;
provider: string;
session_id: string;
};
export type UpdateRouterToolSelectorRequest = {
session_id: string;
};
export type UpdateScheduleRequest = {
@@ -911,6 +937,37 @@ export type ExtendPromptResponses = {
export type ExtendPromptResponse2 = ExtendPromptResponses[keyof ExtendPromptResponses];
export type ResumeAgentData = {
body: ResumeAgentRequest;
path?: never;
query?: never;
url: '/agent/resume';
};
export type ResumeAgentErrors = {
/**
* Bad request - invalid working directory
*/
400: unknown;
/**
* Unauthorized - invalid secret key
*/
401: unknown;
/**
* Internal server error
*/
500: unknown;
};
export type ResumeAgentResponses = {
/**
* Agent started successfully
*/
200: StartAgentResponse;
};
export type ResumeAgentResponse = ResumeAgentResponses[keyof ResumeAgentResponses];
export type UpdateSessionConfigData = {
body: SessionConfigRequest;
path?: never;
@@ -942,14 +999,49 @@ export type UpdateSessionConfigResponses = {
export type UpdateSessionConfigResponse = UpdateSessionConfigResponses[keyof UpdateSessionConfigResponses];
export type StartAgentData = {
body: StartAgentRequest;
path?: never;
query?: never;
url: '/agent/start';
};
export type StartAgentErrors = {
/**
* Bad request - invalid working directory
*/
400: unknown;
/**
* Unauthorized - invalid secret key
*/
401: unknown;
/**
* Internal server error
*/
500: unknown;
};
export type StartAgentResponses = {
/**
* Agent started successfully
*/
200: StartAgentResponse;
};
export type StartAgentResponse2 = StartAgentResponses[keyof StartAgentResponses];
export type GetToolsData = {
body?: never;
path?: never;
query?: {
query: {
/**
* Optional extension name to filter tools
*/
extension_name?: string | null;
/**
* Required session ID to scope tools to a specific session
*/
session_id: string;
};
url: '/agent/tools';
};
@@ -1012,7 +1104,7 @@ export type UpdateAgentProviderResponses = {
};
export type UpdateRouterToolSelectorData = {
body?: never;
body: UpdateRouterToolSelectorRequest;
path?: never;
query?: never;
url: '/agent/update_router_tool_selector';