@lobehub/market-sdk 0.23.7 → 0.23.8
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.mts +342 -1
- package/dist/index.mjs +149 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1040,6 +1040,200 @@ interface PluginQueryParams {
|
|
|
1040
1040
|
tags?: string;
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
|
+
/**
|
|
1044
|
+
* Available tool names for Code Interpreter
|
|
1045
|
+
* Note: Session management (createSession, destroySession, getSessionInfo) is handled
|
|
1046
|
+
* internally by the server - sessions are automatically created when needed and
|
|
1047
|
+
* recreated if expired.
|
|
1048
|
+
*/
|
|
1049
|
+
type CodeInterpreterToolName = 'editLocalFile' | 'executeCode' | 'exportFile' | 'getCommandOutput' | 'globLocalFiles' | 'grepContent' | 'killCommand' | 'listLocalFiles' | 'moveLocalFiles' | 'readLocalFile' | 'renameLocalFile' | 'runCommand' | 'searchLocalFiles' | 'writeLocalFile';
|
|
1050
|
+
/**
|
|
1051
|
+
* Request for RunBuildInTools API
|
|
1052
|
+
*/
|
|
1053
|
+
interface RunBuildInToolsRequest {
|
|
1054
|
+
/** Tool-specific parameters */
|
|
1055
|
+
params: Record<string, any>;
|
|
1056
|
+
/** Tool name to execute */
|
|
1057
|
+
toolName: CodeInterpreterToolName;
|
|
1058
|
+
/** Topic/conversation ID for session isolation */
|
|
1059
|
+
topicId: string;
|
|
1060
|
+
/** User ID for session isolation */
|
|
1061
|
+
userId: string;
|
|
1062
|
+
}
|
|
1063
|
+
/**
|
|
1064
|
+
* Success response data from RunBuildInTools
|
|
1065
|
+
*/
|
|
1066
|
+
interface RunBuildInToolsSuccessData {
|
|
1067
|
+
/** Tool execution result */
|
|
1068
|
+
result: any;
|
|
1069
|
+
/** Indicates if the session was expired and recreated */
|
|
1070
|
+
sessionExpiredAndRecreated: boolean;
|
|
1071
|
+
/** Name of the executed tool */
|
|
1072
|
+
toolName: string;
|
|
1073
|
+
}
|
|
1074
|
+
/**
|
|
1075
|
+
* Error response data from RunBuildInTools
|
|
1076
|
+
*/
|
|
1077
|
+
interface RunBuildInToolsError {
|
|
1078
|
+
/** Error code */
|
|
1079
|
+
code: string;
|
|
1080
|
+
/** Additional error details */
|
|
1081
|
+
details?: any;
|
|
1082
|
+
/** Human-readable error message */
|
|
1083
|
+
message: string;
|
|
1084
|
+
}
|
|
1085
|
+
/**
|
|
1086
|
+
* Response from RunBuildInTools API
|
|
1087
|
+
*/
|
|
1088
|
+
interface RunBuildInToolsResponse {
|
|
1089
|
+
/** Success data (present when success=true) */
|
|
1090
|
+
data?: RunBuildInToolsSuccessData;
|
|
1091
|
+
/** Error data (present when success=false) */
|
|
1092
|
+
error?: RunBuildInToolsError;
|
|
1093
|
+
/** Whether the operation succeeded */
|
|
1094
|
+
success: boolean;
|
|
1095
|
+
}
|
|
1096
|
+
/**
|
|
1097
|
+
* Supported programming languages for code execution
|
|
1098
|
+
*/
|
|
1099
|
+
type ProgrammingLanguage = 'javascript' | 'python' | 'typescript';
|
|
1100
|
+
/** Parameters for executeCode tool */
|
|
1101
|
+
interface ExecuteCodeParams {
|
|
1102
|
+
/** Code to execute */
|
|
1103
|
+
code: string;
|
|
1104
|
+
/** Programming language (default: python) */
|
|
1105
|
+
language?: ProgrammingLanguage;
|
|
1106
|
+
}
|
|
1107
|
+
/** Parameters for runCommand tool */
|
|
1108
|
+
interface RunCommandParams {
|
|
1109
|
+
/** Whether to run in background */
|
|
1110
|
+
background?: boolean;
|
|
1111
|
+
/** Command to execute */
|
|
1112
|
+
command: string;
|
|
1113
|
+
/** Timeout in milliseconds */
|
|
1114
|
+
timeout?: number;
|
|
1115
|
+
}
|
|
1116
|
+
/** Parameters for getCommandOutput tool */
|
|
1117
|
+
interface GetCommandOutputParams {
|
|
1118
|
+
/** Background command ID */
|
|
1119
|
+
commandId: string;
|
|
1120
|
+
}
|
|
1121
|
+
/** Parameters for killCommand tool */
|
|
1122
|
+
interface KillCommandParams {
|
|
1123
|
+
/** Command ID to terminate */
|
|
1124
|
+
commandId: string;
|
|
1125
|
+
}
|
|
1126
|
+
/** Parameters for readLocalFile tool */
|
|
1127
|
+
interface ReadLocalFileParams {
|
|
1128
|
+
/** End line number (1-based, inclusive) */
|
|
1129
|
+
endLine?: number;
|
|
1130
|
+
/** File path to read */
|
|
1131
|
+
path: string;
|
|
1132
|
+
/** Start line number (1-based) */
|
|
1133
|
+
startLine?: number;
|
|
1134
|
+
}
|
|
1135
|
+
/** Parameters for writeLocalFile tool */
|
|
1136
|
+
interface WriteLocalFileParams {
|
|
1137
|
+
/** Content to write */
|
|
1138
|
+
content: string;
|
|
1139
|
+
/** Whether to create parent directories */
|
|
1140
|
+
createDirectories?: boolean;
|
|
1141
|
+
/** File path to write */
|
|
1142
|
+
path: string;
|
|
1143
|
+
}
|
|
1144
|
+
/** Parameters for editLocalFile tool */
|
|
1145
|
+
interface EditLocalFileParams {
|
|
1146
|
+
/** Replace all occurrences (default: false) */
|
|
1147
|
+
all?: boolean;
|
|
1148
|
+
/** File path to edit */
|
|
1149
|
+
path: string;
|
|
1150
|
+
/** String to replace with */
|
|
1151
|
+
replace: string;
|
|
1152
|
+
/** String to search for */
|
|
1153
|
+
search: string;
|
|
1154
|
+
}
|
|
1155
|
+
/** Parameters for listLocalFiles tool */
|
|
1156
|
+
interface ListLocalFilesParams {
|
|
1157
|
+
/** Directory path to list */
|
|
1158
|
+
directoryPath: string;
|
|
1159
|
+
}
|
|
1160
|
+
/** Parameters for globLocalFiles tool */
|
|
1161
|
+
interface GlobLocalFilesParams {
|
|
1162
|
+
/** Base directory (default: current directory) */
|
|
1163
|
+
directory?: string;
|
|
1164
|
+
/** Glob pattern (e.g., "**\/*.ts") */
|
|
1165
|
+
pattern: string;
|
|
1166
|
+
}
|
|
1167
|
+
/** Parameters for searchLocalFiles tool */
|
|
1168
|
+
interface SearchLocalFilesParams {
|
|
1169
|
+
/** Directory to search */
|
|
1170
|
+
directory: string;
|
|
1171
|
+
/** File type/extension filter */
|
|
1172
|
+
fileType?: string;
|
|
1173
|
+
/** Filename keyword filter */
|
|
1174
|
+
keyword?: string;
|
|
1175
|
+
/** Modified time upper bound (ISO date string) */
|
|
1176
|
+
modifiedAfter?: string;
|
|
1177
|
+
/** Modified time lower bound (ISO date string) */
|
|
1178
|
+
modifiedBefore?: string;
|
|
1179
|
+
}
|
|
1180
|
+
/** Parameters for grepContent tool */
|
|
1181
|
+
interface GrepContentParams {
|
|
1182
|
+
/** Directory to search */
|
|
1183
|
+
directory: string;
|
|
1184
|
+
/** File name pattern filter (e.g., "*.ts") */
|
|
1185
|
+
filePattern?: string;
|
|
1186
|
+
/** Regex pattern to search */
|
|
1187
|
+
pattern: string;
|
|
1188
|
+
/** Whether to search recursively (default: true) */
|
|
1189
|
+
recursive?: boolean;
|
|
1190
|
+
}
|
|
1191
|
+
/** Move operation for moveLocalFiles tool */
|
|
1192
|
+
interface MoveOperation {
|
|
1193
|
+
/** Destination path */
|
|
1194
|
+
destination: string;
|
|
1195
|
+
/** Source path */
|
|
1196
|
+
source: string;
|
|
1197
|
+
}
|
|
1198
|
+
/** Parameters for moveLocalFiles tool */
|
|
1199
|
+
interface MoveLocalFilesParams {
|
|
1200
|
+
/** Move operations to perform */
|
|
1201
|
+
operations: MoveOperation[];
|
|
1202
|
+
}
|
|
1203
|
+
/** Parameters for renameLocalFile tool */
|
|
1204
|
+
interface RenameLocalFileParams {
|
|
1205
|
+
/** New name (filename only, not full path) */
|
|
1206
|
+
newName: string;
|
|
1207
|
+
/** Original file/directory path */
|
|
1208
|
+
oldPath: string;
|
|
1209
|
+
}
|
|
1210
|
+
/** Parameters for exportFile tool */
|
|
1211
|
+
interface ExportFileParams {
|
|
1212
|
+
/** File path in sandbox to export */
|
|
1213
|
+
path: string;
|
|
1214
|
+
/** Pre-signed upload URL to upload the file to */
|
|
1215
|
+
uploadUrl: string;
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Map of tool names to their parameter types
|
|
1219
|
+
*/
|
|
1220
|
+
interface CodeInterpreterToolParams {
|
|
1221
|
+
editLocalFile: EditLocalFileParams;
|
|
1222
|
+
executeCode: ExecuteCodeParams;
|
|
1223
|
+
exportFile: ExportFileParams;
|
|
1224
|
+
getCommandOutput: GetCommandOutputParams;
|
|
1225
|
+
globLocalFiles: GlobLocalFilesParams;
|
|
1226
|
+
grepContent: GrepContentParams;
|
|
1227
|
+
killCommand: KillCommandParams;
|
|
1228
|
+
listLocalFiles: ListLocalFilesParams;
|
|
1229
|
+
moveLocalFiles: MoveLocalFilesParams;
|
|
1230
|
+
readLocalFile: ReadLocalFileParams;
|
|
1231
|
+
renameLocalFile: RenameLocalFileParams;
|
|
1232
|
+
runCommand: RunCommandParams;
|
|
1233
|
+
searchLocalFiles: SearchLocalFilesParams;
|
|
1234
|
+
writeLocalFile: WriteLocalFileParams;
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1043
1237
|
/**
|
|
1044
1238
|
* User-related type definitions for LobeHub Market SDK
|
|
1045
1239
|
*
|
|
@@ -2569,6 +2763,153 @@ declare class PluginsService extends BaseSDK {
|
|
|
2569
2763
|
* ```
|
|
2570
2764
|
*/
|
|
2571
2765
|
callCloudGateway(request: CloudGatewayRequest, options?: globalThis.RequestInit): Promise<CloudGatewayResponse>;
|
|
2766
|
+
/**
|
|
2767
|
+
* Execute a built-in tool via AWS Bedrock AgentCore Code Interpreter
|
|
2768
|
+
*
|
|
2769
|
+
* This method provides access to file operations, command execution, and session management
|
|
2770
|
+
* tools running in an isolated sandbox environment. Sessions are automatically managed
|
|
2771
|
+
* per user/topic combination.
|
|
2772
|
+
*
|
|
2773
|
+
* @param toolName - Name of the tool to execute
|
|
2774
|
+
* @param params - Tool-specific parameters
|
|
2775
|
+
* @param context - User and topic context for session isolation
|
|
2776
|
+
* @param options - Optional request options
|
|
2777
|
+
* @returns Promise resolving to the tool execution result
|
|
2778
|
+
*
|
|
2779
|
+
* @example
|
|
2780
|
+
* ```typescript
|
|
2781
|
+
* // Run a shell command
|
|
2782
|
+
* const result = await sdk.plugins.runBuildInTool(
|
|
2783
|
+
* 'runCommand',
|
|
2784
|
+
* { command: 'ls -la' },
|
|
2785
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2786
|
+
* );
|
|
2787
|
+
*
|
|
2788
|
+
* // Read a file
|
|
2789
|
+
* const fileResult = await sdk.plugins.runBuildInTool(
|
|
2790
|
+
* 'readLocalFile',
|
|
2791
|
+
* { path: '/tmp/example.txt' },
|
|
2792
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2793
|
+
* );
|
|
2794
|
+
* ```
|
|
2795
|
+
*/
|
|
2796
|
+
runBuildInTool<T extends CodeInterpreterToolName>(toolName: T, params: CodeInterpreterToolParams[T], context: {
|
|
2797
|
+
topicId: string;
|
|
2798
|
+
userId: string;
|
|
2799
|
+
}, options?: globalThis.RequestInit): Promise<RunBuildInToolsResponse>;
|
|
2800
|
+
/**
|
|
2801
|
+
* Execute a shell command in the Code Interpreter sandbox
|
|
2802
|
+
*
|
|
2803
|
+
* @param command - Shell command to execute
|
|
2804
|
+
* @param context - User and topic context
|
|
2805
|
+
* @param options - Additional options (background, timeout)
|
|
2806
|
+
* @returns Promise resolving to command execution result
|
|
2807
|
+
*/
|
|
2808
|
+
runCommand(command: string, context: {
|
|
2809
|
+
topicId: string;
|
|
2810
|
+
userId: string;
|
|
2811
|
+
}, options?: {
|
|
2812
|
+
background?: boolean;
|
|
2813
|
+
timeout?: number;
|
|
2814
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2815
|
+
/**
|
|
2816
|
+
* Read a file from the Code Interpreter sandbox
|
|
2817
|
+
*
|
|
2818
|
+
* @param path - File path to read
|
|
2819
|
+
* @param context - User and topic context
|
|
2820
|
+
* @param options - Line range options (startLine, endLine)
|
|
2821
|
+
* @returns Promise resolving to file content
|
|
2822
|
+
*/
|
|
2823
|
+
readFile(path: string, context: {
|
|
2824
|
+
topicId: string;
|
|
2825
|
+
userId: string;
|
|
2826
|
+
}, options?: {
|
|
2827
|
+
endLine?: number;
|
|
2828
|
+
startLine?: number;
|
|
2829
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2830
|
+
/**
|
|
2831
|
+
* Write content to a file in the Code Interpreter sandbox
|
|
2832
|
+
*
|
|
2833
|
+
* @param path - File path to write
|
|
2834
|
+
* @param content - Content to write
|
|
2835
|
+
* @param context - User and topic context
|
|
2836
|
+
* @param options - Additional options (createDirectories)
|
|
2837
|
+
* @returns Promise resolving to write result
|
|
2838
|
+
*/
|
|
2839
|
+
writeFile(path: string, content: string, context: {
|
|
2840
|
+
topicId: string;
|
|
2841
|
+
userId: string;
|
|
2842
|
+
}, options?: {
|
|
2843
|
+
createDirectories?: boolean;
|
|
2844
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2845
|
+
/**
|
|
2846
|
+
* List files in a directory in the Code Interpreter sandbox
|
|
2847
|
+
*
|
|
2848
|
+
* @param directoryPath - Directory path to list
|
|
2849
|
+
* @param context - User and topic context
|
|
2850
|
+
* @returns Promise resolving to directory listing
|
|
2851
|
+
*/
|
|
2852
|
+
listFiles(directoryPath: string, context: {
|
|
2853
|
+
topicId: string;
|
|
2854
|
+
userId: string;
|
|
2855
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2856
|
+
/**
|
|
2857
|
+
* Search for files matching a glob pattern
|
|
2858
|
+
*
|
|
2859
|
+
* @param pattern - Glob pattern (e.g., "**\/*.ts")
|
|
2860
|
+
* @param context - User and topic context
|
|
2861
|
+
* @param directory - Base directory (optional)
|
|
2862
|
+
* @returns Promise resolving to matching files
|
|
2863
|
+
*/
|
|
2864
|
+
globFiles(pattern: string, context: {
|
|
2865
|
+
topicId: string;
|
|
2866
|
+
userId: string;
|
|
2867
|
+
}, directory?: string): Promise<RunBuildInToolsResponse>;
|
|
2868
|
+
/**
|
|
2869
|
+
* Search file contents using regex pattern
|
|
2870
|
+
*
|
|
2871
|
+
* @param pattern - Regex pattern to search
|
|
2872
|
+
* @param directory - Directory to search
|
|
2873
|
+
* @param context - User and topic context
|
|
2874
|
+
* @param options - Additional options (filePattern, recursive)
|
|
2875
|
+
* @returns Promise resolving to grep results
|
|
2876
|
+
*/
|
|
2877
|
+
grepContent(pattern: string, directory: string, context: {
|
|
2878
|
+
topicId: string;
|
|
2879
|
+
userId: string;
|
|
2880
|
+
}, options?: {
|
|
2881
|
+
filePattern?: string;
|
|
2882
|
+
recursive?: boolean;
|
|
2883
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2884
|
+
/**
|
|
2885
|
+
* Export a file from the Code Interpreter sandbox to a pre-signed URL
|
|
2886
|
+
*
|
|
2887
|
+
* This method uploads a file from the sandbox to an external storage location
|
|
2888
|
+
* via a pre-signed URL (e.g., S3 pre-signed URL). The upload is performed
|
|
2889
|
+
* using Python code execution within the sandbox.
|
|
2890
|
+
*
|
|
2891
|
+
* @param path - File path in sandbox to export
|
|
2892
|
+
* @param uploadUrl - Pre-signed URL to upload the file to
|
|
2893
|
+
* @param context - User and topic context
|
|
2894
|
+
* @returns Promise resolving to export result with success status and file info
|
|
2895
|
+
*
|
|
2896
|
+
* @example
|
|
2897
|
+
* ```typescript
|
|
2898
|
+
* const result = await sdk.plugins.exportFile(
|
|
2899
|
+
* './output/result.csv',
|
|
2900
|
+
* 'https://s3.amazonaws.com/bucket/key?X-Amz-Signature=...',
|
|
2901
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2902
|
+
* );
|
|
2903
|
+
*
|
|
2904
|
+
* if (result.success && result.data?.result.success) {
|
|
2905
|
+
* console.log('File exported:', result.data.result.size, 'bytes');
|
|
2906
|
+
* }
|
|
2907
|
+
* ```
|
|
2908
|
+
*/
|
|
2909
|
+
exportFile(path: string, uploadUrl: string, context: {
|
|
2910
|
+
topicId: string;
|
|
2911
|
+
userId: string;
|
|
2912
|
+
}): Promise<RunBuildInToolsResponse>;
|
|
2572
2913
|
}
|
|
2573
2914
|
|
|
2574
2915
|
/**
|
|
@@ -2668,4 +3009,4 @@ declare class MarketSDK extends BaseSDK {
|
|
|
2668
3009
|
registerClient(request: ClientRegistrationRequest): Promise<ClientRegistrationResponse>;
|
|
2669
3010
|
}
|
|
2670
3011
|
|
|
2671
|
-
export { type AccountMeta, type AdminListQueryParams, type AdminListResponse, type AdminPluginParams, type AgentCreateRequest, type AgentCreateResponse, type AgentDetailQuery, type AgentExtension, type AgentInstallCountRequest, type AgentInstallCountResponse, type AgentInterface, type AgentItemDetail, type AgentListQuery, type AgentListResponse, type AgentModifyRequest, type AgentModifyResponse, type AgentSecurityRequirement, type AgentSecurityScheme, type AgentSkill, type AgentStatus, type AgentStatusChangeResponse, type AgentUploadRequest, type AgentUploadResponse, type AgentUploadVersion, type AgentVersionCreateRequest, type AgentVersionCreateResponse, type AgentVersionLocalization, type AgentVersionModifyRequest, type AgentVersionModifyResponse, type AuthorizationCodeTokenRequest, type ClientRegistrationError, type ClientRegistrationRequest, type ClientRegistrationResponse, type DiscoveryDocument, MarketAdmin, MarketSDK, type MarketSDKOptions, type OAuthTokenResponse, type OwnAgentListQuery, type PluginI18nImportParams, type PluginI18nImportResponse, type PluginItem, type PluginListResponse, type PluginLocalization, type PluginQueryParams, type PluginUpdateParams, type PluginVersionCreateParams, type PluginVersionUpdateParams, type RefreshTokenRequest, type ReviewStatus, ReviewStatusEnumSchema, type SharedTokenState, StatusEnumSchema, type UnclaimedPluginItem, type UpdateUserInfoRequest, type UpdateUserInfoResponse, type UserAgentItem, type UserInfoQuery, type UserInfoResponse, type UserProfile, VisibilityEnumSchema };
|
|
3012
|
+
export { type AccountMeta, type AdminListQueryParams, type AdminListResponse, type AdminPluginParams, type AgentCreateRequest, type AgentCreateResponse, type AgentDetailQuery, type AgentExtension, type AgentInstallCountRequest, type AgentInstallCountResponse, type AgentInterface, type AgentItemDetail, type AgentListQuery, type AgentListResponse, type AgentModifyRequest, type AgentModifyResponse, type AgentSecurityRequirement, type AgentSecurityScheme, type AgentSkill, type AgentStatus, type AgentStatusChangeResponse, type AgentUploadRequest, type AgentUploadResponse, type AgentUploadVersion, type AgentVersionCreateRequest, type AgentVersionCreateResponse, type AgentVersionLocalization, type AgentVersionModifyRequest, type AgentVersionModifyResponse, type AuthorizationCodeTokenRequest, type ClientRegistrationError, type ClientRegistrationRequest, type ClientRegistrationResponse, type CodeInterpreterToolName, type CodeInterpreterToolParams, type DiscoveryDocument, type EditLocalFileParams, type ExecuteCodeParams, type ExportFileParams, type GetCommandOutputParams, type GlobLocalFilesParams, type GrepContentParams, type KillCommandParams, type ListLocalFilesParams, MarketAdmin, MarketSDK, type MarketSDKOptions, type MoveLocalFilesParams, type MoveOperation, type OAuthTokenResponse, type OwnAgentListQuery, type PluginI18nImportParams, type PluginI18nImportResponse, type PluginItem, type PluginListResponse, type PluginLocalization, type PluginQueryParams, type PluginUpdateParams, type PluginVersionCreateParams, type PluginVersionUpdateParams, type ProgrammingLanguage, type ReadLocalFileParams, type RefreshTokenRequest, type RenameLocalFileParams, type ReviewStatus, ReviewStatusEnumSchema, type RunBuildInToolsError, type RunBuildInToolsRequest, type RunBuildInToolsResponse, type RunBuildInToolsSuccessData, type RunCommandParams, type SearchLocalFilesParams, type SharedTokenState, StatusEnumSchema, type UnclaimedPluginItem, type UpdateUserInfoRequest, type UpdateUserInfoResponse, type UserAgentItem, type UserInfoQuery, type UserInfoResponse, type UserProfile, VisibilityEnumSchema, type WriteLocalFileParams };
|
package/dist/index.mjs
CHANGED
|
@@ -2221,6 +2221,155 @@ var PluginsService = class extends BaseSDK {
|
|
|
2221
2221
|
});
|
|
2222
2222
|
return result;
|
|
2223
2223
|
}
|
|
2224
|
+
// ============================================================================
|
|
2225
|
+
// Code Interpreter / RunBuildInTools Methods
|
|
2226
|
+
// ============================================================================
|
|
2227
|
+
/**
|
|
2228
|
+
* Execute a built-in tool via AWS Bedrock AgentCore Code Interpreter
|
|
2229
|
+
*
|
|
2230
|
+
* This method provides access to file operations, command execution, and session management
|
|
2231
|
+
* tools running in an isolated sandbox environment. Sessions are automatically managed
|
|
2232
|
+
* per user/topic combination.
|
|
2233
|
+
*
|
|
2234
|
+
* @param toolName - Name of the tool to execute
|
|
2235
|
+
* @param params - Tool-specific parameters
|
|
2236
|
+
* @param context - User and topic context for session isolation
|
|
2237
|
+
* @param options - Optional request options
|
|
2238
|
+
* @returns Promise resolving to the tool execution result
|
|
2239
|
+
*
|
|
2240
|
+
* @example
|
|
2241
|
+
* ```typescript
|
|
2242
|
+
* // Run a shell command
|
|
2243
|
+
* const result = await sdk.plugins.runBuildInTool(
|
|
2244
|
+
* 'runCommand',
|
|
2245
|
+
* { command: 'ls -la' },
|
|
2246
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2247
|
+
* );
|
|
2248
|
+
*
|
|
2249
|
+
* // Read a file
|
|
2250
|
+
* const fileResult = await sdk.plugins.runBuildInTool(
|
|
2251
|
+
* 'readLocalFile',
|
|
2252
|
+
* { path: '/tmp/example.txt' },
|
|
2253
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2254
|
+
* );
|
|
2255
|
+
* ```
|
|
2256
|
+
*/
|
|
2257
|
+
async runBuildInTool(toolName, params, context, options) {
|
|
2258
|
+
log12("Running built-in tool: %s for user %s, topic %s", toolName, context.userId, context.topicId);
|
|
2259
|
+
const result = await this.request("/v1/plugins/run-buildin-tools", {
|
|
2260
|
+
body: JSON.stringify({
|
|
2261
|
+
params,
|
|
2262
|
+
toolName,
|
|
2263
|
+
topicId: context.topicId,
|
|
2264
|
+
userId: context.userId
|
|
2265
|
+
}),
|
|
2266
|
+
headers: {
|
|
2267
|
+
"Content-Type": "application/json"
|
|
2268
|
+
},
|
|
2269
|
+
method: "POST",
|
|
2270
|
+
...options
|
|
2271
|
+
});
|
|
2272
|
+
log12("Built-in tool execution completed: %O", {
|
|
2273
|
+
success: result.success,
|
|
2274
|
+
toolName
|
|
2275
|
+
});
|
|
2276
|
+
return result;
|
|
2277
|
+
}
|
|
2278
|
+
/**
|
|
2279
|
+
* Execute a shell command in the Code Interpreter sandbox
|
|
2280
|
+
*
|
|
2281
|
+
* @param command - Shell command to execute
|
|
2282
|
+
* @param context - User and topic context
|
|
2283
|
+
* @param options - Additional options (background, timeout)
|
|
2284
|
+
* @returns Promise resolving to command execution result
|
|
2285
|
+
*/
|
|
2286
|
+
async runCommand(command, context, options) {
|
|
2287
|
+
return this.runBuildInTool("runCommand", { command, ...options }, context);
|
|
2288
|
+
}
|
|
2289
|
+
/**
|
|
2290
|
+
* Read a file from the Code Interpreter sandbox
|
|
2291
|
+
*
|
|
2292
|
+
* @param path - File path to read
|
|
2293
|
+
* @param context - User and topic context
|
|
2294
|
+
* @param options - Line range options (startLine, endLine)
|
|
2295
|
+
* @returns Promise resolving to file content
|
|
2296
|
+
*/
|
|
2297
|
+
async readFile(path, context, options) {
|
|
2298
|
+
return this.runBuildInTool("readLocalFile", { path, ...options }, context);
|
|
2299
|
+
}
|
|
2300
|
+
/**
|
|
2301
|
+
* Write content to a file in the Code Interpreter sandbox
|
|
2302
|
+
*
|
|
2303
|
+
* @param path - File path to write
|
|
2304
|
+
* @param content - Content to write
|
|
2305
|
+
* @param context - User and topic context
|
|
2306
|
+
* @param options - Additional options (createDirectories)
|
|
2307
|
+
* @returns Promise resolving to write result
|
|
2308
|
+
*/
|
|
2309
|
+
async writeFile(path, content, context, options) {
|
|
2310
|
+
return this.runBuildInTool("writeLocalFile", { content, path, ...options }, context);
|
|
2311
|
+
}
|
|
2312
|
+
/**
|
|
2313
|
+
* List files in a directory in the Code Interpreter sandbox
|
|
2314
|
+
*
|
|
2315
|
+
* @param directoryPath - Directory path to list
|
|
2316
|
+
* @param context - User and topic context
|
|
2317
|
+
* @returns Promise resolving to directory listing
|
|
2318
|
+
*/
|
|
2319
|
+
async listFiles(directoryPath, context) {
|
|
2320
|
+
return this.runBuildInTool("listLocalFiles", { directoryPath }, context);
|
|
2321
|
+
}
|
|
2322
|
+
/**
|
|
2323
|
+
* Search for files matching a glob pattern
|
|
2324
|
+
*
|
|
2325
|
+
* @param pattern - Glob pattern (e.g., "**\/*.ts")
|
|
2326
|
+
* @param context - User and topic context
|
|
2327
|
+
* @param directory - Base directory (optional)
|
|
2328
|
+
* @returns Promise resolving to matching files
|
|
2329
|
+
*/
|
|
2330
|
+
async globFiles(pattern, context, directory) {
|
|
2331
|
+
return this.runBuildInTool("globLocalFiles", { directory, pattern }, context);
|
|
2332
|
+
}
|
|
2333
|
+
/**
|
|
2334
|
+
* Search file contents using regex pattern
|
|
2335
|
+
*
|
|
2336
|
+
* @param pattern - Regex pattern to search
|
|
2337
|
+
* @param directory - Directory to search
|
|
2338
|
+
* @param context - User and topic context
|
|
2339
|
+
* @param options - Additional options (filePattern, recursive)
|
|
2340
|
+
* @returns Promise resolving to grep results
|
|
2341
|
+
*/
|
|
2342
|
+
async grepContent(pattern, directory, context, options) {
|
|
2343
|
+
return this.runBuildInTool("grepContent", { directory, pattern, ...options }, context);
|
|
2344
|
+
}
|
|
2345
|
+
/**
|
|
2346
|
+
* Export a file from the Code Interpreter sandbox to a pre-signed URL
|
|
2347
|
+
*
|
|
2348
|
+
* This method uploads a file from the sandbox to an external storage location
|
|
2349
|
+
* via a pre-signed URL (e.g., S3 pre-signed URL). The upload is performed
|
|
2350
|
+
* using Python code execution within the sandbox.
|
|
2351
|
+
*
|
|
2352
|
+
* @param path - File path in sandbox to export
|
|
2353
|
+
* @param uploadUrl - Pre-signed URL to upload the file to
|
|
2354
|
+
* @param context - User and topic context
|
|
2355
|
+
* @returns Promise resolving to export result with success status and file info
|
|
2356
|
+
*
|
|
2357
|
+
* @example
|
|
2358
|
+
* ```typescript
|
|
2359
|
+
* const result = await sdk.plugins.exportFile(
|
|
2360
|
+
* './output/result.csv',
|
|
2361
|
+
* 'https://s3.amazonaws.com/bucket/key?X-Amz-Signature=...',
|
|
2362
|
+
* { userId: 'user-123', topicId: 'topic-456' }
|
|
2363
|
+
* );
|
|
2364
|
+
*
|
|
2365
|
+
* if (result.success && result.data?.result.success) {
|
|
2366
|
+
* console.log('File exported:', result.data.result.size, 'bytes');
|
|
2367
|
+
* }
|
|
2368
|
+
* ```
|
|
2369
|
+
*/
|
|
2370
|
+
async exportFile(path, uploadUrl, context) {
|
|
2371
|
+
return this.runBuildInTool("exportFile", { path, uploadUrl }, context);
|
|
2372
|
+
}
|
|
2224
2373
|
};
|
|
2225
2374
|
|
|
2226
2375
|
// src/market/services/UserService.ts
|