assistant-cloud 0.1.28 → 0.1.30

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.
Files changed (55) hide show
  1. package/dist/AssistantCloud.d.ts +15 -11
  2. package/dist/AssistantCloud.d.ts.map +1 -1
  3. package/dist/AssistantCloud.js +24 -24
  4. package/dist/AssistantCloud.js.map +1 -1
  5. package/dist/AssistantCloudAPI.d.ts +46 -43
  6. package/dist/AssistantCloudAPI.d.ts.map +1 -1
  7. package/dist/AssistantCloudAPI.js +66 -79
  8. package/dist/AssistantCloudAPI.js.map +1 -1
  9. package/dist/AssistantCloudAuthStrategy.d.ts +28 -25
  10. package/dist/AssistantCloudAuthStrategy.d.ts.map +1 -1
  11. package/dist/AssistantCloudAuthStrategy.js +98 -135
  12. package/dist/AssistantCloudAuthStrategy.js.map +1 -1
  13. package/dist/AssistantCloudAuthTokens.d.ts +10 -7
  14. package/dist/AssistantCloudAuthTokens.d.ts.map +1 -1
  15. package/dist/AssistantCloudAuthTokens.js +13 -9
  16. package/dist/AssistantCloudAuthTokens.js.map +1 -1
  17. package/dist/AssistantCloudFiles.d.ts +20 -17
  18. package/dist/AssistantCloudFiles.d.ts.map +1 -1
  19. package/dist/AssistantCloudFiles.js +22 -18
  20. package/dist/AssistantCloudFiles.js.map +1 -1
  21. package/dist/AssistantCloudRuns.d.ts +53 -50
  22. package/dist/AssistantCloudRuns.d.ts.map +1 -1
  23. package/dist/AssistantCloudRuns.js +42 -38
  24. package/dist/AssistantCloudRuns.js.map +1 -1
  25. package/dist/AssistantCloudThreadMessages.d.ts +27 -24
  26. package/dist/AssistantCloudThreadMessages.d.ts.map +1 -1
  27. package/dist/AssistantCloudThreadMessages.js +25 -15
  28. package/dist/AssistantCloudThreadMessages.js.map +1 -1
  29. package/dist/AssistantCloudThreads.d.ts +37 -34
  30. package/dist/AssistantCloudThreads.d.ts.map +1 -1
  31. package/dist/AssistantCloudThreads.js +33 -28
  32. package/dist/AssistantCloudThreads.js.map +1 -1
  33. package/dist/CloudMessagePersistence.d.ts +49 -44
  34. package/dist/CloudMessagePersistence.d.ts.map +1 -1
  35. package/dist/CloudMessagePersistence.js +90 -101
  36. package/dist/CloudMessagePersistence.js.map +1 -1
  37. package/dist/FormattedCloudPersistence.d.ts +40 -36
  38. package/dist/FormattedCloudPersistence.d.ts.map +1 -1
  39. package/dist/FormattedCloudPersistence.js +32 -36
  40. package/dist/FormattedCloudPersistence.js.map +1 -1
  41. package/dist/index.d.ts +8 -8
  42. package/dist/index.js +5 -5
  43. package/dist/instrumentMcpSampling.d.ts +39 -36
  44. package/dist/instrumentMcpSampling.d.ts.map +1 -1
  45. package/dist/instrumentMcpSampling.js +61 -68
  46. package/dist/instrumentMcpSampling.js.map +1 -1
  47. package/dist/tests/setup.d.ts +1 -2
  48. package/dist/tests/setup.js +3 -4
  49. package/dist/tests/setup.js.map +1 -1
  50. package/package.json +5 -5
  51. package/src/AssistantCloudAuthStrategy.ts +3 -9
  52. package/src/tests/AssistantCloudFiles.test.ts +4 -6
  53. package/dist/index.d.ts.map +0 -1
  54. package/dist/index.js.map +0 -1
  55. package/dist/tests/setup.d.ts.map +0 -1
@@ -1,139 +1,102 @@
1
+ //#region src/AssistantCloudAuthStrategy.ts
1
2
  const getJwtExpiry = (jwt) => {
2
- try {
3
- const parts = jwt.split(".");
4
- const bodyPart = parts[1];
5
- if (!bodyPart) {
6
- throw new Error("Invalid JWT format");
7
- }
8
- // Convert from Base64Url to Base64 and add padding if necessary
9
- let base64 = bodyPart.replace(/-/g, "+").replace(/_/g, "/");
10
- while (base64.length % 4 !== 0) {
11
- base64 += "=";
12
- }
13
- // Decode the Base64 string and parse the payload
14
- const payload = atob(base64);
15
- const payloadObj = JSON.parse(payload);
16
- const exp = payloadObj.exp;
17
- if (!exp || typeof exp !== "number") {
18
- throw new Error('JWT does not contain a valid "exp" field');
19
- }
20
- // Convert expiration time to milliseconds
21
- return exp * 1000;
22
- }
23
- catch (error) {
24
- throw new Error(`Unable to determine the token expiry: ${error}`);
25
- }
3
+ try {
4
+ const bodyPart = jwt.split(".")[1];
5
+ if (!bodyPart) throw new Error("Invalid JWT format");
6
+ let base64 = bodyPart.replace(/-/g, "+").replace(/_/g, "/");
7
+ while (base64.length % 4 !== 0) base64 += "=";
8
+ const payload = atob(base64);
9
+ const exp = JSON.parse(payload).exp;
10
+ if (!exp || typeof exp !== "number") throw new Error("JWT does not contain a valid \"exp\" field");
11
+ return exp * 1e3;
12
+ } catch (error) {
13
+ throw new Error(`Unable to determine the token expiry: ${error}`);
14
+ }
15
+ };
16
+ var AssistantCloudJWTAuthStrategy = class {
17
+ strategy = "jwt";
18
+ cachedToken = null;
19
+ tokenExpiry = null;
20
+ #authTokenCallback;
21
+ constructor(authTokenCallback) {
22
+ this.#authTokenCallback = authTokenCallback;
23
+ }
24
+ async getAuthHeaders() {
25
+ const currentTime = Date.now();
26
+ if (this.cachedToken && this.tokenExpiry && this.tokenExpiry - currentTime > 30 * 1e3) return { Authorization: `Bearer ${this.cachedToken}` };
27
+ const newToken = await this.#authTokenCallback();
28
+ if (!newToken) return false;
29
+ this.cachedToken = newToken;
30
+ this.tokenExpiry = getJwtExpiry(newToken);
31
+ return { Authorization: `Bearer ${newToken}` };
32
+ }
33
+ readAuthHeaders(headers) {
34
+ const authHeader = headers.get("Authorization");
35
+ if (!authHeader) return;
36
+ const [scheme, token] = authHeader.split(" ");
37
+ if (scheme !== "Bearer" || !token) throw new Error("Invalid auth header received");
38
+ this.cachedToken = token;
39
+ this.tokenExpiry = getJwtExpiry(token);
40
+ }
41
+ };
42
+ var AssistantCloudAPIKeyAuthStrategy = class {
43
+ strategy = "api-key";
44
+ #apiKey;
45
+ #userId;
46
+ #workspaceId;
47
+ constructor(apiKey, userId, workspaceId) {
48
+ this.#apiKey = apiKey;
49
+ this.#userId = userId;
50
+ this.#workspaceId = workspaceId;
51
+ }
52
+ async getAuthHeaders() {
53
+ return {
54
+ Authorization: `Bearer ${this.#apiKey}`,
55
+ "Aui-User-Id": this.#userId,
56
+ "Aui-Workspace-Id": this.#workspaceId
57
+ };
58
+ }
59
+ readAuthHeaders() {}
26
60
  };
27
- export class AssistantCloudJWTAuthStrategy {
28
- strategy = "jwt";
29
- cachedToken = null;
30
- tokenExpiry = null;
31
- #authTokenCallback;
32
- constructor(authTokenCallback) {
33
- this.#authTokenCallback = authTokenCallback;
34
- }
35
- async getAuthHeaders() {
36
- const currentTime = Date.now();
37
- // Use cached token if it's valid for at least 30 more seconds
38
- if (this.cachedToken &&
39
- this.tokenExpiry &&
40
- this.tokenExpiry - currentTime > 30 * 1000) {
41
- return { Authorization: `Bearer ${this.cachedToken}` };
42
- }
43
- // Fetch a new token via the callback
44
- const newToken = await this.#authTokenCallback();
45
- if (!newToken)
46
- return false;
47
- this.cachedToken = newToken;
48
- this.tokenExpiry = getJwtExpiry(newToken);
49
- return { Authorization: `Bearer ${newToken}` };
50
- }
51
- readAuthHeaders(headers) {
52
- const authHeader = headers.get("Authorization");
53
- if (!authHeader)
54
- return;
55
- const [scheme, token] = authHeader.split(" ");
56
- if (scheme !== "Bearer" || !token) {
57
- throw new Error("Invalid auth header received");
58
- }
59
- this.cachedToken = token;
60
- this.tokenExpiry = getJwtExpiry(token);
61
- }
62
- }
63
- export class AssistantCloudAPIKeyAuthStrategy {
64
- strategy = "api-key";
65
- #apiKey;
66
- #userId;
67
- #workspaceId;
68
- constructor(apiKey, userId, workspaceId) {
69
- this.#apiKey = apiKey;
70
- this.#userId = userId;
71
- this.#workspaceId = workspaceId;
72
- }
73
- async getAuthHeaders() {
74
- return {
75
- Authorization: `Bearer ${this.#apiKey}`,
76
- "Aui-User-Id": this.#userId,
77
- "Aui-Workspace-Id": this.#workspaceId,
78
- };
79
- }
80
- readAuthHeaders() {
81
- // No operation needed for API key auth
82
- }
83
- }
84
61
  const AUI_REFRESH_TOKEN_NAME = "aui:refresh_token";
85
- export class AssistantCloudAnonymousAuthStrategy {
86
- strategy = "anon";
87
- baseUrl;
88
- jwtStrategy;
89
- constructor(baseUrl) {
90
- this.baseUrl = baseUrl;
91
- this.jwtStrategy = new AssistantCloudJWTAuthStrategy(async () => {
92
- const currentTime = Date.now();
93
- const storedRefreshTokenJson = localStorage.getItem(AUI_REFRESH_TOKEN_NAME);
94
- const storedRefreshToken = storedRefreshTokenJson
95
- ? JSON.parse(storedRefreshTokenJson)
96
- : undefined;
97
- if (storedRefreshToken) {
98
- const refreshExpiry = new Date(storedRefreshToken.expires_at).getTime();
99
- if (refreshExpiry - currentTime > 30 * 1000) {
100
- const response = await fetch(`${this.baseUrl}/v1/auth/tokens/refresh`, {
101
- method: "POST",
102
- headers: { "Content-Type": "application/json" },
103
- body: JSON.stringify({ refresh_token: storedRefreshToken.token }),
104
- });
105
- if (response.ok) {
106
- const data = await response.json();
107
- const { access_token, refresh_token } = data;
108
- if (refresh_token) {
109
- localStorage.setItem(AUI_REFRESH_TOKEN_NAME, JSON.stringify(refresh_token));
110
- }
111
- return access_token;
112
- }
113
- }
114
- else {
115
- localStorage.removeItem(AUI_REFRESH_TOKEN_NAME);
116
- }
117
- }
118
- // No valid refresh token; request a new anonymous token
119
- const response = await fetch(`${this.baseUrl}/v1/auth/tokens/anonymous`, {
120
- method: "POST",
121
- });
122
- if (!response.ok)
123
- return null;
124
- const data = await response.json();
125
- const { access_token, refresh_token } = data;
126
- if (!access_token || !refresh_token)
127
- return null;
128
- localStorage.setItem(AUI_REFRESH_TOKEN_NAME, JSON.stringify(refresh_token));
129
- return access_token;
130
- });
131
- }
132
- async getAuthHeaders() {
133
- return this.jwtStrategy.getAuthHeaders();
134
- }
135
- readAuthHeaders(headers) {
136
- this.jwtStrategy.readAuthHeaders(headers);
137
- }
138
- }
62
+ var AssistantCloudAnonymousAuthStrategy = class {
63
+ strategy = "anon";
64
+ baseUrl;
65
+ jwtStrategy;
66
+ constructor(baseUrl) {
67
+ this.baseUrl = baseUrl;
68
+ this.jwtStrategy = new AssistantCloudJWTAuthStrategy(async () => {
69
+ const currentTime = Date.now();
70
+ const storedRefreshTokenJson = localStorage.getItem(AUI_REFRESH_TOKEN_NAME);
71
+ const storedRefreshToken = storedRefreshTokenJson ? JSON.parse(storedRefreshTokenJson) : void 0;
72
+ if (storedRefreshToken) if (new Date(storedRefreshToken.expires_at).getTime() - currentTime > 30 * 1e3) {
73
+ const response = await fetch(`${this.baseUrl}/v1/auth/tokens/refresh`, {
74
+ method: "POST",
75
+ headers: { "Content-Type": "application/json" },
76
+ body: JSON.stringify({ refresh_token: storedRefreshToken.token })
77
+ });
78
+ if (response.ok) {
79
+ const { access_token, refresh_token } = await response.json();
80
+ if (refresh_token) localStorage.setItem(AUI_REFRESH_TOKEN_NAME, JSON.stringify(refresh_token));
81
+ return access_token;
82
+ }
83
+ } else localStorage.removeItem(AUI_REFRESH_TOKEN_NAME);
84
+ const response = await fetch(`${this.baseUrl}/v1/auth/tokens/anonymous`, { method: "POST" });
85
+ if (!response.ok) return null;
86
+ const { access_token, refresh_token } = await response.json();
87
+ if (!access_token || !refresh_token) return null;
88
+ localStorage.setItem(AUI_REFRESH_TOKEN_NAME, JSON.stringify(refresh_token));
89
+ return access_token;
90
+ });
91
+ }
92
+ async getAuthHeaders() {
93
+ return this.jwtStrategy.getAuthHeaders();
94
+ }
95
+ readAuthHeaders(headers) {
96
+ this.jwtStrategy.readAuthHeaders(headers);
97
+ }
98
+ };
99
+ //#endregion
100
+ export { AssistantCloudAPIKeyAuthStrategy, AssistantCloudAnonymousAuthStrategy, AssistantCloudJWTAuthStrategy };
101
+
139
102
  //# sourceMappingURL=AssistantCloudAuthStrategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudAuthStrategy.js","sourceRoot":"","sources":["../src/AssistantCloudAuthStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssistantCloudAuthStrategy.js","names":["#authTokenCallback","#apiKey","#userId","#workspaceId"],"sources":["../src/AssistantCloudAuthStrategy.ts"],"sourcesContent":["export type AssistantCloudAuthStrategy = {\n readonly strategy: \"anon\" | \"jwt\" | \"api-key\";\n getAuthHeaders(): Promise<Record<string, string> | false>;\n readAuthHeaders(headers: Headers): void;\n};\n\nconst getJwtExpiry = (jwt: string): number => {\n try {\n const parts = jwt.split(\".\");\n const bodyPart = parts[1];\n if (!bodyPart) {\n throw new Error(\"Invalid JWT format\");\n }\n\n // Convert from Base64Url to Base64 and add padding if necessary\n let base64 = bodyPart.replace(/-/g, \"+\").replace(/_/g, \"/\");\n while (base64.length % 4 !== 0) {\n base64 += \"=\";\n }\n\n // Decode the Base64 string and parse the payload\n const payload = atob(base64);\n const payloadObj = JSON.parse(payload);\n const exp = payloadObj.exp;\n\n if (!exp || typeof exp !== \"number\") {\n throw new Error('JWT does not contain a valid \"exp\" field');\n }\n\n // Convert expiration time to milliseconds\n return exp * 1000;\n } catch (error) {\n throw new Error(`Unable to determine the token expiry: ${error}`);\n }\n};\n\nexport class AssistantCloudJWTAuthStrategy implements AssistantCloudAuthStrategy {\n public readonly strategy = \"jwt\";\n\n private cachedToken: string | null = null;\n private tokenExpiry: number | null = null;\n #authTokenCallback: () => Promise<string | null>;\n\n constructor(authTokenCallback: () => Promise<string | null>) {\n this.#authTokenCallback = authTokenCallback;\n }\n\n public async getAuthHeaders(): Promise<Record<string, string> | false> {\n const currentTime = Date.now();\n\n // Use cached token if it's valid for at least 30 more seconds\n if (\n this.cachedToken &&\n this.tokenExpiry &&\n this.tokenExpiry - currentTime > 30 * 1000\n ) {\n return { Authorization: `Bearer ${this.cachedToken}` };\n }\n\n // Fetch a new token via the callback\n const newToken = await this.#authTokenCallback();\n if (!newToken) return false;\n\n this.cachedToken = newToken;\n this.tokenExpiry = getJwtExpiry(newToken);\n\n return { Authorization: `Bearer ${newToken}` };\n }\n\n public readAuthHeaders(headers: Headers) {\n const authHeader = headers.get(\"Authorization\");\n if (!authHeader) return;\n\n const [scheme, token] = authHeader.split(\" \");\n if (scheme !== \"Bearer\" || !token) {\n throw new Error(\"Invalid auth header received\");\n }\n\n this.cachedToken = token;\n this.tokenExpiry = getJwtExpiry(token);\n }\n}\n\nexport class AssistantCloudAPIKeyAuthStrategy implements AssistantCloudAuthStrategy {\n public readonly strategy = \"api-key\";\n\n #apiKey: string;\n #userId: string;\n #workspaceId: string;\n\n constructor(apiKey: string, userId: string, workspaceId: string) {\n this.#apiKey = apiKey;\n this.#userId = userId;\n this.#workspaceId = workspaceId;\n }\n\n public async getAuthHeaders(): Promise<Record<string, string>> {\n return {\n Authorization: `Bearer ${this.#apiKey}`,\n \"Aui-User-Id\": this.#userId,\n \"Aui-Workspace-Id\": this.#workspaceId,\n };\n }\n\n public readAuthHeaders() {\n // No operation needed for API key auth\n }\n}\n\nconst AUI_REFRESH_TOKEN_NAME = \"aui:refresh_token\";\n\nexport class AssistantCloudAnonymousAuthStrategy implements AssistantCloudAuthStrategy {\n public readonly strategy = \"anon\";\n\n private baseUrl: string;\n private jwtStrategy: AssistantCloudJWTAuthStrategy;\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n this.jwtStrategy = new AssistantCloudJWTAuthStrategy(async () => {\n const currentTime = Date.now();\n const storedRefreshTokenJson = localStorage.getItem(\n AUI_REFRESH_TOKEN_NAME,\n );\n const storedRefreshToken = storedRefreshTokenJson\n ? (JSON.parse(storedRefreshTokenJson) as {\n token: string;\n expires_at: string;\n })\n : undefined;\n\n if (storedRefreshToken) {\n const refreshExpiry = new Date(storedRefreshToken.expires_at).getTime();\n if (refreshExpiry - currentTime > 30 * 1000) {\n const response = await fetch(\n `${this.baseUrl}/v1/auth/tokens/refresh`,\n {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ refresh_token: storedRefreshToken.token }),\n },\n );\n\n if (response.ok) {\n const data = await response.json();\n const { access_token, refresh_token } = data;\n if (refresh_token) {\n localStorage.setItem(\n AUI_REFRESH_TOKEN_NAME,\n JSON.stringify(refresh_token),\n );\n }\n return access_token;\n }\n } else {\n localStorage.removeItem(AUI_REFRESH_TOKEN_NAME);\n }\n }\n\n // No valid refresh token; request a new anonymous token\n const response = await fetch(`${this.baseUrl}/v1/auth/tokens/anonymous`, {\n method: \"POST\",\n });\n\n if (!response.ok) return null;\n\n const data = await response.json();\n const { access_token, refresh_token } = data;\n\n if (!access_token || !refresh_token) return null;\n\n localStorage.setItem(\n AUI_REFRESH_TOKEN_NAME,\n JSON.stringify(refresh_token),\n );\n return access_token;\n });\n }\n\n public async getAuthHeaders(): Promise<Record<string, string> | false> {\n return this.jwtStrategy.getAuthHeaders();\n }\n\n public readAuthHeaders(headers: Headers): void {\n this.jwtStrategy.readAuthHeaders(headers);\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,14 @@
1
- import type { AssistantCloudAPI } from "./AssistantCloudAPI.js";
1
+ import { AssistantCloudAPI } from "./AssistantCloudAPI.js";
2
+
3
+ //#region src/AssistantCloudAuthTokens.d.ts
2
4
  type AssistantCloudAuthTokensCreateResponse = {
3
- token: string;
5
+ token: string;
4
6
  };
5
- export declare class AssistantCloudAuthTokens {
6
- private cloud;
7
- constructor(cloud: AssistantCloudAPI);
8
- create(): Promise<AssistantCloudAuthTokensCreateResponse>;
7
+ declare class AssistantCloudAuthTokens {
8
+ private cloud;
9
+ constructor(cloud: AssistantCloudAPI);
10
+ create(): Promise<AssistantCloudAuthTokensCreateResponse>;
9
11
  }
10
- export {};
12
+ //#endregion
13
+ export { AssistantCloudAuthTokens };
11
14
  //# sourceMappingURL=AssistantCloudAuthTokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudAuthTokens.d.ts","sourceRoot":"","sources":["../src/AssistantCloudAuthTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA4B;AAE7D,KAAK,sCAAsC,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,wBAAwB;IACvB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAE/B,MAAM,IAAI,OAAO,CAAC,sCAAsC,CAAC;CAGvE"}
1
+ {"version":3,"file":"AssistantCloudAuthTokens.d.ts","names":[],"sources":["../src/AssistantCloudAuthTokens.ts"],"mappings":";;;KAEK,sCAAA;EACH,KAAK;AAAA;AAAA,cAGM,wBAAA;EAAA,QACS,KAAA;cAAA,KAAA,EAAO,iBAAA;EAEd,MAAA,IAAU,OAAA,CAAQ,sCAAA;AAAA"}
@@ -1,10 +1,14 @@
1
- export class AssistantCloudAuthTokens {
2
- cloud;
3
- constructor(cloud) {
4
- this.cloud = cloud;
5
- }
6
- async create() {
7
- return this.cloud.makeRequest("/auth/tokens", { method: "POST" });
8
- }
9
- }
1
+ //#region src/AssistantCloudAuthTokens.ts
2
+ var AssistantCloudAuthTokens = class {
3
+ cloud;
4
+ constructor(cloud) {
5
+ this.cloud = cloud;
6
+ }
7
+ async create() {
8
+ return this.cloud.makeRequest("/auth/tokens", { method: "POST" });
9
+ }
10
+ };
11
+ //#endregion
12
+ export { AssistantCloudAuthTokens };
13
+
10
14
  //# sourceMappingURL=AssistantCloudAuthTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudAuthTokens.js","sourceRoot":"","sources":["../src/AssistantCloudAuthTokens.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,wBAAwB;IACf;IAApB,YAAoB,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;IAAG,CAAC;IAEzC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"AssistantCloudAuthTokens.js","names":[],"sources":["../src/AssistantCloudAuthTokens.ts"],"sourcesContent":["import type { AssistantCloudAPI } from \"./AssistantCloudAPI\";\n\ntype AssistantCloudAuthTokensCreateResponse = {\n token: string;\n};\n\nexport class AssistantCloudAuthTokens {\n constructor(private cloud: AssistantCloudAPI) {}\n\n public async create(): Promise<AssistantCloudAuthTokensCreateResponse> {\n return this.cloud.makeRequest(\"/auth/tokens\", { method: \"POST\" });\n }\n}\n"],"mappings":";AAMA,IAAa,2BAAb,MAAsC;CAChB;CAApB,YAAY,OAAkC;EAA1B,KAAA,QAAA;CAA2B;CAE/C,MAAa,SAA0D;EACrE,OAAO,KAAK,MAAM,YAAY,gBAAgB,EAAE,QAAQ,OAAO,CAAC;CAClE;AACF"}
@@ -1,27 +1,30 @@
1
- import type { AssistantCloudAPI } from "./AssistantCloudAPI.js";
1
+ import { AssistantCloudAPI } from "./AssistantCloudAPI.js";
2
+
3
+ //#region src/AssistantCloudFiles.d.ts
2
4
  type PdfToImagesRequestBody = {
3
- file_blob?: string | undefined;
4
- file_url?: string | undefined;
5
+ file_blob?: string | undefined;
6
+ file_url?: string | undefined;
5
7
  };
6
8
  type PdfToImagesResponse = {
7
- success: boolean;
8
- urls: string[];
9
- message: string;
9
+ success: boolean;
10
+ urls: string[];
11
+ message: string;
10
12
  };
11
13
  type GeneratePresignedUploadUrlRequestBody = {
12
- filename: string;
14
+ filename: string;
13
15
  };
14
16
  type GeneratePresignedUploadUrlResponse = {
15
- success: boolean;
16
- signedUrl: string;
17
- expiresAt: string;
18
- publicUrl: string;
17
+ success: boolean;
18
+ signedUrl: string;
19
+ expiresAt: string;
20
+ publicUrl: string;
19
21
  };
20
- export declare class AssistantCloudFiles {
21
- private cloud;
22
- constructor(cloud: AssistantCloudAPI);
23
- pdfToImages(body: PdfToImagesRequestBody): Promise<PdfToImagesResponse>;
24
- generatePresignedUploadUrl(body: GeneratePresignedUploadUrlRequestBody): Promise<GeneratePresignedUploadUrlResponse>;
22
+ declare class AssistantCloudFiles {
23
+ private cloud;
24
+ constructor(cloud: AssistantCloudAPI);
25
+ pdfToImages(body: PdfToImagesRequestBody): Promise<PdfToImagesResponse>;
26
+ generatePresignedUploadUrl(body: GeneratePresignedUploadUrlRequestBody): Promise<GeneratePresignedUploadUrlResponse>;
25
27
  }
26
- export {};
28
+ //#endregion
29
+ export { AssistantCloudFiles };
27
30
  //# sourceMappingURL=AssistantCloudFiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudFiles.d.ts","sourceRoot":"","sources":["../src/AssistantCloudFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA4B;AAE7D,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,mBAAmB;IAClB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAE/B,WAAW,CACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAOlB,0BAA0B,CACrC,IAAI,EAAE,qCAAqC,GAC1C,OAAO,CAAC,kCAAkC,CAAC;CAS/C"}
1
+ {"version":3,"file":"AssistantCloudFiles.d.ts","names":[],"sources":["../src/AssistantCloudFiles.ts"],"mappings":";;;KAEK,sBAAA;EACH,SAAA;EACA,QAAQ;AAAA;AAAA,KAGL,mBAAA;EACH,OAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,KAGG,qCAAA;EACH,QAAQ;AAAA;AAAA,KAGL,kCAAA;EACH,OAAA;EACA,SAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,cAGW,mBAAA;EAAA,QACS,KAAA;cAAA,KAAA,EAAO,iBAAA;EAEd,WAAA,CACX,IAAA,EAAM,sBAAA,GACL,OAAA,CAAQ,mBAAA;EAOE,0BAAA,CACX,IAAA,EAAM,qCAAA,GACL,OAAA,CAAQ,kCAAA;AAAA"}
@@ -1,19 +1,23 @@
1
- export class AssistantCloudFiles {
2
- cloud;
3
- constructor(cloud) {
4
- this.cloud = cloud;
5
- }
6
- async pdfToImages(body) {
7
- return this.cloud.makeRequest("/files/pdf-to-images", {
8
- method: "POST",
9
- body,
10
- });
11
- }
12
- async generatePresignedUploadUrl(body) {
13
- return this.cloud.makeRequest("/files/attachments/generate-presigned-upload-url", {
14
- method: "POST",
15
- body,
16
- });
17
- }
18
- }
1
+ //#region src/AssistantCloudFiles.ts
2
+ var AssistantCloudFiles = class {
3
+ cloud;
4
+ constructor(cloud) {
5
+ this.cloud = cloud;
6
+ }
7
+ async pdfToImages(body) {
8
+ return this.cloud.makeRequest("/files/pdf-to-images", {
9
+ method: "POST",
10
+ body
11
+ });
12
+ }
13
+ async generatePresignedUploadUrl(body) {
14
+ return this.cloud.makeRequest("/files/attachments/generate-presigned-upload-url", {
15
+ method: "POST",
16
+ body
17
+ });
18
+ }
19
+ };
20
+ //#endregion
21
+ export { AssistantCloudFiles };
22
+
19
23
  //# sourceMappingURL=AssistantCloudFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudFiles.js","sourceRoot":"","sources":["../src/AssistantCloudFiles.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,mBAAmB;IACV;IAApB,YAAoB,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;IAAG,CAAC;IAEzC,KAAK,CAAC,WAAW,CACtB,IAA4B;QAE5B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,0BAA0B,CACrC,IAA2C;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAC3B,kDAAkD,EAClD;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"AssistantCloudFiles.js","names":[],"sources":["../src/AssistantCloudFiles.ts"],"sourcesContent":["import type { AssistantCloudAPI } from \"./AssistantCloudAPI\";\n\ntype PdfToImagesRequestBody = {\n file_blob?: string | undefined;\n file_url?: string | undefined;\n};\n\ntype PdfToImagesResponse = {\n success: boolean;\n urls: string[];\n message: string;\n};\n\ntype GeneratePresignedUploadUrlRequestBody = {\n filename: string;\n};\n\ntype GeneratePresignedUploadUrlResponse = {\n success: boolean;\n signedUrl: string;\n expiresAt: string;\n publicUrl: string;\n};\n\nexport class AssistantCloudFiles {\n constructor(private cloud: AssistantCloudAPI) {}\n\n public async pdfToImages(\n body: PdfToImagesRequestBody,\n ): Promise<PdfToImagesResponse> {\n return this.cloud.makeRequest(\"/files/pdf-to-images\", {\n method: \"POST\",\n body,\n });\n }\n\n public async generatePresignedUploadUrl(\n body: GeneratePresignedUploadUrlRequestBody,\n ): Promise<GeneratePresignedUploadUrlResponse> {\n return this.cloud.makeRequest(\n \"/files/attachments/generate-presigned-upload-url\",\n {\n method: \"POST\",\n body,\n },\n );\n }\n}\n"],"mappings":";AAwBA,IAAa,sBAAb,MAAiC;CACX;CAApB,YAAY,OAAkC;EAA1B,KAAA,QAAA;CAA2B;CAE/C,MAAa,YACX,MAC8B;EAC9B,OAAO,KAAK,MAAM,YAAY,wBAAwB;GACpD,QAAQ;GACR;EACF,CAAC;CACH;CAEA,MAAa,2BACX,MAC6C;EAC7C,OAAO,KAAK,MAAM,YAChB,oDACA;GACE,QAAQ;GACR;EACF,CACF;CACF;AACF"}
@@ -1,63 +1,66 @@
1
- import type { AssistantCloudAPI } from "./AssistantCloudAPI.js";
2
- import type { SamplingCallData } from "./instrumentMcpSampling.js";
1
+ import { SamplingCallData } from "./instrumentMcpSampling.js";
2
+ import { AssistantCloudAPI } from "./AssistantCloudAPI.js";
3
3
  import { AssistantStream } from "assistant-stream";
4
+
5
+ //#region src/AssistantCloudRuns.d.ts
4
6
  type AssistantCloudRunsStreamBody = {
5
- thread_id: string;
6
- assistant_id: "system/thread_title";
7
- messages: readonly unknown[];
7
+ thread_id: string;
8
+ assistant_id: "system/thread_title";
9
+ messages: readonly unknown[];
8
10
  };
9
11
  type ReportToolCall = {
10
- tool_name: string;
11
- tool_call_id: string;
12
- tool_args?: string;
13
- tool_result?: string;
14
- tool_source?: "mcp" | "frontend" | "backend";
15
- start_ms?: number;
16
- end_ms?: number;
17
- sampling_calls?: SamplingCallData[];
12
+ tool_name: string;
13
+ tool_call_id: string;
14
+ tool_args?: string;
15
+ tool_result?: string;
16
+ tool_source?: "mcp" | "frontend" | "backend";
17
+ start_ms?: number;
18
+ end_ms?: number;
19
+ sampling_calls?: SamplingCallData[];
18
20
  };
19
- export type AssistantCloudRunReport = {
20
- thread_id: string;
21
- status: "completed" | "incomplete" | "error";
22
- total_steps?: number;
23
- tool_calls?: ReportToolCall[];
24
- steps?: {
25
- input_tokens?: number;
26
- output_tokens?: number;
27
- reasoning_tokens?: number;
28
- cached_input_tokens?: number;
29
- tool_calls?: ReportToolCall[];
30
- start_ms?: number;
31
- end_ms?: number;
32
- }[];
21
+ type AssistantCloudRunReport = {
22
+ thread_id: string;
23
+ status: "completed" | "incomplete" | "error";
24
+ total_steps?: number;
25
+ tool_calls?: ReportToolCall[];
26
+ steps?: {
33
27
  input_tokens?: number;
34
28
  output_tokens?: number;
35
29
  reasoning_tokens?: number;
36
30
  cached_input_tokens?: number;
37
- model_id?: string;
38
- provider_type?: string;
39
- duration_ms?: number;
40
- output_text?: string;
41
- metadata?: Record<string, unknown>;
31
+ tool_calls?: ReportToolCall[];
32
+ start_ms?: number;
33
+ end_ms?: number;
34
+ }[];
35
+ input_tokens?: number;
36
+ output_tokens?: number;
37
+ reasoning_tokens?: number;
38
+ cached_input_tokens?: number;
39
+ model_id?: string;
40
+ provider_type?: string;
41
+ duration_ms?: number;
42
+ output_text?: string;
43
+ metadata?: Record<string, unknown>;
42
44
  };
43
- export declare class AssistantCloudRuns {
44
- private cloud;
45
- constructor(cloud: AssistantCloudAPI);
46
- __internal_getAssistantOptions(assistantId: string): {
47
- api: string;
48
- headers: () => Promise<{
49
- Accept: string;
50
- }>;
51
- body: {
52
- assistant_id: string;
53
- response_format: string;
54
- thread_id: string;
55
- };
56
- };
57
- stream(body: AssistantCloudRunsStreamBody): Promise<AssistantStream>;
58
- report(body: AssistantCloudRunReport): Promise<{
59
- run_id: string;
45
+ declare class AssistantCloudRuns {
46
+ private cloud;
47
+ constructor(cloud: AssistantCloudAPI);
48
+ __internal_getAssistantOptions(assistantId: string): {
49
+ api: string;
50
+ headers: () => Promise<{
51
+ Accept: string;
60
52
  }>;
53
+ body: {
54
+ assistant_id: string;
55
+ response_format: string;
56
+ thread_id: string;
57
+ };
58
+ };
59
+ stream(body: AssistantCloudRunsStreamBody): Promise<AssistantStream>;
60
+ report(body: AssistantCloudRunReport): Promise<{
61
+ run_id: string;
62
+ }>;
61
63
  }
62
- export {};
64
+ //#endregion
65
+ export { AssistantCloudRunReport, AssistantCloudRuns };
63
66
  //# sourceMappingURL=AssistantCloudRuns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantCloudRuns.d.ts","sourceRoot":"","sources":["../src/AssistantCloudRuns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA4B;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,mCAAgC;AAChE,OAAO,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAErE,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,qBAAqB,CAAC;IACpC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACrC,CAAC;AAKF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,qBAAa,kBAAkB;IACjB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAErC,8BAA8B,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;IAmB5C,MAAM,CACjB,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,eAAe,CAAC;IAWd,MAAM,CACjB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAG/B"}
1
+ {"version":3,"file":"AssistantCloudRuns.d.ts","names":[],"sources":["../src/AssistantCloudRuns.ts"],"mappings":";;;;;KAIK,4BAAA;EACH,SAAA;EACA,YAAA;EACA,QAAA;AAAA;AAAA,KAGG,cAAA;EACH,SAAA;EACA,YAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,QAAA;EACA,MAAA;EACA,cAAA,GAAiB,gBAAgB;AAAA;AAAA,KAMvB,uBAAA;EACV,SAAA;EACA,MAAA;EACA,WAAA;EACA,UAAA,GAAa,cAAA;EACb,KAAA;IACE,YAAA;IACA,aAAA;IACA,gBAAA;IACA,mBAAA;IACA,UAAA,GAAa,cAAA;IACb,QAAA;IACA,MAAA;EAAA;EAEF,YAAA;EACA,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,QAAA;EACA,aAAA;EACA,WAAA;EACA,WAAA;EACA,QAAA,GAAW,MAAA;AAAA;AAAA,cAGA,kBAAA;EAAA,QACS,KAAA;cAAA,KAAA,EAAO,iBAAA;EAEpB,8BAAA,CAA+B,WAAA;;;;;;;;;;;EAmBzB,MAAA,CACX,IAAA,EAAM,4BAAA,GACL,OAAA,CAAQ,eAAA;EAWE,MAAA,CACX,IAAA,EAAM,uBAAA,GACL,OAAA;IAAU,MAAA;EAAA;AAAA"}