@base44-preview/sdk 0.7.0-pr.26.fe973bb → 0.7.0-pr.27.ff44f1a

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.
@@ -0,0 +1,44 @@
1
+ export type AgentConversation = {
2
+ id: string;
3
+ app_id: string;
4
+ agent_name: string;
5
+ created_by_id: string;
6
+ messages: AgentMessage[];
7
+ metadata?: Record<string, any>;
8
+ };
9
+ export type AgentMessage = {
10
+ id: string;
11
+ role: "user" | "assistant" | "system";
12
+ reasoning: {
13
+ start_date: string;
14
+ end_date?: string;
15
+ content: string;
16
+ };
17
+ content?: string | Record<string, any> | null;
18
+ file_urls?: string[] | null;
19
+ tool_calls?: {
20
+ id: string;
21
+ name: string;
22
+ arguments_string: string;
23
+ status: "running" | "success" | "error" | "stopped";
24
+ results?: string | null;
25
+ }[] | null;
26
+ usage: {
27
+ prompt_tokens?: number;
28
+ completion_tokens?: number;
29
+ } | null;
30
+ hidden?: boolean;
31
+ custom_context?: {
32
+ message: string;
33
+ data: Record<string, any>;
34
+ type: string;
35
+ }[] | null;
36
+ model: string | null;
37
+ checkpoint_id: string | null;
38
+ metadata?: {
39
+ created_date: string;
40
+ created_by_email: string;
41
+ created_by_full_name: string | null;
42
+ };
43
+ additional_message_params?: Record<string, any>;
44
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { Socket } from "socket.io-client";
2
+ export type RoomsSocketConfig = {
3
+ serverUrl: string;
4
+ mountPath: string;
5
+ transports: string[];
6
+ query: {
7
+ appId: string;
8
+ token?: string;
9
+ };
10
+ };
11
+ export type TSocketRoom = string;
12
+ export type TJsonStr = string;
13
+ type RoomsSocketEventsMap = {
14
+ listen: {
15
+ connect: () => void;
16
+ update_model: (msg: {
17
+ room: string;
18
+ data: TJsonStr;
19
+ }) => void;
20
+ };
21
+ emit: {
22
+ join: (room: string) => void;
23
+ leave: (room: string) => void;
24
+ };
25
+ };
26
+ type TEvent = keyof RoomsSocketEventsMap["listen"];
27
+ type THandler<E extends TEvent> = (...args: Parameters<RoomsSocketEventsMap["listen"][E]>) => void;
28
+ export declare function RoomsSocket({ config }: {
29
+ config: RoomsSocketConfig;
30
+ }): {
31
+ socket: Readonly<Socket<{
32
+ connect: () => void;
33
+ update_model: (msg: {
34
+ room: string;
35
+ data: TJsonStr;
36
+ }) => void;
37
+ }, {
38
+ join: (room: string) => void;
39
+ leave: (room: string) => void;
40
+ }>>;
41
+ subscribeToRoom: (room: TSocketRoom, handlers: { [k in TEvent]: THandler<k>; }) => () => void;
42
+ updateConfig: (config: RoomsSocketConfig) => void;
43
+ handlers: {
44
+ connect: THandler<"connect">;
45
+ update_model: THandler<"update_model">;
46
+ };
47
+ };
48
+ export {};
@@ -0,0 +1,73 @@
1
+ import { io } from "socket.io-client";
2
+ function initializeSocket(config, handlers) {
3
+ const socket = io(config.serverUrl, {
4
+ path: config.mountPath,
5
+ transports: config.transports,
6
+ query: config.query,
7
+ });
8
+ socket.on("connect", () => {
9
+ console.log("connect", socket.id);
10
+ handlers.connect();
11
+ });
12
+ socket.on("update_model", (msg) => {
13
+ handlers.update_model(msg);
14
+ });
15
+ return socket;
16
+ }
17
+ export function RoomsSocket({ config }) {
18
+ const roomsToListeners = {};
19
+ const handlers = {
20
+ connect: () => {
21
+ Object.keys(roomsToListeners).forEach((room) => {
22
+ var _a;
23
+ joinRoom(room);
24
+ (_a = getListeners(room)) === null || _a === void 0 ? void 0 : _a.forEach(({ connect: connectHandler }) => {
25
+ connectHandler();
26
+ });
27
+ });
28
+ },
29
+ update_model: (msg) => {
30
+ var _a;
31
+ if (roomsToListeners[msg.room]) {
32
+ (_a = getListeners(msg.room)) === null || _a === void 0 ? void 0 : _a.forEach(({ update_model }) => {
33
+ update_model(msg);
34
+ });
35
+ }
36
+ },
37
+ };
38
+ let socket = initializeSocket(config, handlers);
39
+ function cleanup() {
40
+ if (socket) {
41
+ socket.disconnect();
42
+ }
43
+ }
44
+ function updateConfig(config) {
45
+ cleanup();
46
+ socket = initializeSocket(config, handlers);
47
+ }
48
+ function joinRoom(room) {
49
+ socket.emit("join", room);
50
+ }
51
+ function leaveRoom(room) {
52
+ socket.emit("leave", room);
53
+ }
54
+ function getListeners(room) {
55
+ return roomsToListeners[room];
56
+ }
57
+ const subscribeToRoom = (room, handlers) => {
58
+ if (!roomsToListeners[room]) {
59
+ joinRoom(room);
60
+ roomsToListeners[room] = [];
61
+ }
62
+ roomsToListeners[room].push(handlers);
63
+ return () => {
64
+ roomsToListeners[room] = roomsToListeners[room].filter((listener) => listener !== handlers);
65
+ };
66
+ };
67
+ return {
68
+ socket: Object.freeze(socket),
69
+ subscribeToRoom,
70
+ updateConfig,
71
+ handlers,
72
+ };
73
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/sdk",
3
- "version": "0.7.0-pr.26.fe973bb",
3
+ "version": "0.7.0-pr.27.ff44f1a",
4
4
  "description": "JavaScript SDK for Base44 API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,8 @@
19
19
  "prepublishOnly": "npm run build"
20
20
  },
21
21
  "dependencies": {
22
- "axios": "^1.6.2"
22
+ "axios": "^1.6.2",
23
+ "socket.io-client": "^4.7.5"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@vitest/coverage-istanbul": "^1.0.0",