@assistant-ui/react 0.7.38 → 0.7.39
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/primitives/actionBar/ActionBarRoot.d.ts +2 -2
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +2 -2
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -2
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +2 -2
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
- package/dist/primitives/assistantModal/scope.d.ts +3 -3
- package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
- package/dist/primitives/assistantModal/scope.js.map +1 -1
- package/dist/primitives/assistantModal/scope.mjs.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +2 -2
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.mjs.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts +2 -2
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +2 -2
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +2 -2
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.d.ts +2 -2
- package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.d.ts +2 -2
- package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +2 -2
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/MessageRoot.mjs.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +2 -2
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +2 -2
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +2 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +2 -2
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +2 -2
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +4 -2
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +17 -14
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +24 -15
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -2
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +94 -64
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +95 -65
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts +2 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js +3 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs +3 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts +10 -6
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js +25 -8
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs +25 -8
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts +2 -2
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js +7 -8
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs +7 -8
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts +15 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/{CloudContext.js → AssistantCloudRuns.js} +23 -9
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.js.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs +21 -0
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts +22 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js +85 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs +60 -0
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs.map +1 -0
- package/dist/runtimes/remote-thread-list/cloud/index.d.ts +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.js +3 -3
- package/dist/runtimes/remote-thread-list/cloud/index.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.mjs +2 -2
- package/dist/runtimes/remote-thread-list/cloud/index.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js +47 -19
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs +54 -20
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +10 -2
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/types.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -0
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +1 -0
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
- package/dist/styles/index.css.map +1 -1
- package/dist/ui/base/button.d.ts.map +1 -1
- package/dist/ui/base/button.js.map +1 -1
- package/dist/ui/base/button.mjs.map +1 -1
- package/dist/ui/base/dialog.js.map +1 -1
- package/dist/ui/base/dialog.mjs.map +1 -1
- package/dist/utils/createActionButton.d.ts +2 -2
- package/dist/utils/createActionButton.d.ts.map +1 -1
- package/dist/utils/createActionButton.js.map +1 -1
- package/dist/utils/createActionButton.mjs.map +1 -1
- package/package.json +7 -10
- package/src/primitives/actionBar/ActionBarRoot.tsx +2 -2
- package/src/primitives/assistantModal/AssistantModalAnchor.tsx +2 -2
- package/src/primitives/assistantModal/AssistantModalContent.tsx +2 -2
- package/src/primitives/assistantModal/AssistantModalTrigger.tsx +2 -2
- package/src/primitives/assistantModal/scope.tsx +1 -1
- package/src/primitives/attachment/AttachmentRoot.tsx +2 -2
- package/src/primitives/attachment/AttachmentThumb.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +2 -2
- package/src/primitives/composer/ComposerRoot.tsx +2 -2
- package/src/primitives/contentPart/ContentPartImage.tsx +2 -2
- package/src/primitives/contentPart/ContentPartText.tsx +2 -2
- package/src/primitives/message/MessageRoot.tsx +2 -2
- package/src/primitives/thread/ThreadRoot.tsx +2 -2
- package/src/primitives/thread/ThreadViewport.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +2 -2
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +2 -2
- package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +40 -24
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +119 -80
- package/src/runtimes/remote-thread-list/cloud/AssistantCloud.tsx +3 -0
- package/src/runtimes/remote-thread-list/cloud/AssistantCloudAPI.tsx +36 -16
- package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.tsx +5 -6
- package/src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx +26 -0
- package/src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx +89 -0
- package/src/runtimes/remote-thread-list/cloud/index.ts +1 -1
- package/src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx +63 -28
- package/src/runtimes/remote-thread-list/types.tsx +18 -4
- package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +1 -0
- package/src/ui/base/button.tsx +2 -2
- package/src/ui/base/dialog.tsx +5 -5
- package/src/utils/createActionButton.tsx +2 -2
- package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts +0 -10
- package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/CloudContext.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs +0 -7
- package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts +0 -4
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js +0 -46
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs +0 -22
- package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs.map +0 -1
- package/src/runtimes/remote-thread-list/cloud/CloudContext.tsx +0 -12
- package/src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx +0 -19
|
@@ -7,15 +7,28 @@ import {
|
|
|
7
7
|
export type AssistantCloudConfig =
|
|
8
8
|
| {
|
|
9
9
|
baseUrl: string;
|
|
10
|
-
// TODO use baseUrl to construct the projectId
|
|
11
|
-
unstable_projectId: string;
|
|
12
10
|
authToken(): Promise<string>;
|
|
13
11
|
}
|
|
14
12
|
| {
|
|
15
13
|
apiKey: string;
|
|
14
|
+
userId: string;
|
|
16
15
|
workspaceId: string;
|
|
17
16
|
};
|
|
18
17
|
|
|
18
|
+
class CloudAPIError extends Error {
|
|
19
|
+
constructor(message: string) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = "APIError";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type MakeRequestOptions = {
|
|
26
|
+
method?: "POST" | "PUT" | "DELETE" | undefined;
|
|
27
|
+
headers?: Record<string, string> | undefined;
|
|
28
|
+
query?: Record<string, string | number | boolean> | undefined;
|
|
29
|
+
body?: object | undefined;
|
|
30
|
+
};
|
|
31
|
+
|
|
19
32
|
export class AssistantCloudAPI {
|
|
20
33
|
private _tokenManager: AssistantCloudAuthStrategy;
|
|
21
34
|
private _baseUrl;
|
|
@@ -23,30 +36,25 @@ export class AssistantCloudAPI {
|
|
|
23
36
|
constructor(config: AssistantCloudConfig) {
|
|
24
37
|
if ("authToken" in config) {
|
|
25
38
|
this._baseUrl = config.baseUrl;
|
|
26
|
-
this._tokenManager = new AssistantCloudJWTAuthStrategy(
|
|
27
|
-
config.unstable_projectId,
|
|
28
|
-
config.authToken,
|
|
29
|
-
);
|
|
39
|
+
this._tokenManager = new AssistantCloudJWTAuthStrategy(config.authToken);
|
|
30
40
|
} else {
|
|
31
|
-
this._baseUrl = "https://
|
|
41
|
+
this._baseUrl = "https://backend.assistant-api.com";
|
|
32
42
|
this._tokenManager = new AssistantCloudAPIKeyAuthStrategy(
|
|
33
43
|
config.apiKey,
|
|
44
|
+
config.userId,
|
|
34
45
|
config.workspaceId,
|
|
35
46
|
);
|
|
36
47
|
}
|
|
37
48
|
}
|
|
38
49
|
|
|
39
|
-
public async
|
|
50
|
+
public async makeRawRequest(
|
|
40
51
|
endpoint: string,
|
|
41
|
-
options: {
|
|
42
|
-
method?: "POST" | "PUT" | "DELETE" | undefined;
|
|
43
|
-
query?: Record<string, string | number | boolean> | undefined;
|
|
44
|
-
body?: object | undefined;
|
|
45
|
-
} = {},
|
|
52
|
+
options: MakeRequestOptions = {},
|
|
46
53
|
) {
|
|
47
54
|
const authHeaders = await this._tokenManager.getAuthHeaders();
|
|
48
55
|
const headers = {
|
|
49
56
|
...authHeaders,
|
|
57
|
+
...options.headers,
|
|
50
58
|
"Content-Type": "application/json",
|
|
51
59
|
};
|
|
52
60
|
|
|
@@ -62,7 +70,7 @@ export class AssistantCloudAPI {
|
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
72
|
|
|
65
|
-
const url = new URL(`${this._baseUrl}${endpoint}`);
|
|
73
|
+
const url = new URL(`${this._baseUrl}/v1${endpoint}`);
|
|
66
74
|
url.search = queryParams.toString();
|
|
67
75
|
|
|
68
76
|
const response = await fetch(url, {
|
|
@@ -72,10 +80,22 @@ export class AssistantCloudAPI {
|
|
|
72
80
|
});
|
|
73
81
|
|
|
74
82
|
if (!response.ok) {
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
const text = await response.text();
|
|
84
|
+
try {
|
|
85
|
+
const body = JSON.parse(text);
|
|
86
|
+
throw new CloudAPIError(body.message);
|
|
87
|
+
} catch {
|
|
88
|
+
throw new Error(
|
|
89
|
+
`Request failed with status ${response.status}, ${text}`,
|
|
90
|
+
);
|
|
91
|
+
}
|
|
77
92
|
}
|
|
78
93
|
|
|
94
|
+
return response;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public async makeRequest(endpoint: string, options: MakeRequestOptions = {}) {
|
|
98
|
+
const response = await this.makeRawRequest(endpoint, options);
|
|
79
99
|
return response.json();
|
|
80
100
|
}
|
|
81
101
|
}
|
|
@@ -11,11 +11,9 @@ export class AssistantCloudJWTAuthStrategy
|
|
|
11
11
|
private cachedToken: string | null = null;
|
|
12
12
|
private tokenExpiry: number | null = null;
|
|
13
13
|
|
|
14
|
-
#projectId;
|
|
15
14
|
#authTokenCallback;
|
|
16
15
|
|
|
17
|
-
constructor(
|
|
18
|
-
this.#projectId = projectId;
|
|
16
|
+
constructor(authTokenCallback: () => Promise<string>) {
|
|
19
17
|
this.#authTokenCallback = authTokenCallback;
|
|
20
18
|
}
|
|
21
19
|
|
|
@@ -56,7 +54,6 @@ export class AssistantCloudJWTAuthStrategy
|
|
|
56
54
|
) {
|
|
57
55
|
return {
|
|
58
56
|
Authorization: `Bearer ${this.cachedToken}`,
|
|
59
|
-
"Aui-Project-Id": this.#projectId,
|
|
60
57
|
};
|
|
61
58
|
}
|
|
62
59
|
|
|
@@ -69,7 +66,6 @@ export class AssistantCloudJWTAuthStrategy
|
|
|
69
66
|
|
|
70
67
|
return {
|
|
71
68
|
Authorization: `Bearer ${newToken}`,
|
|
72
|
-
"Aui-Project-Id": this.#projectId,
|
|
73
69
|
};
|
|
74
70
|
}
|
|
75
71
|
}
|
|
@@ -79,16 +75,19 @@ export class AssistantCloudAPIKeyAuthStrategy
|
|
|
79
75
|
public readonly strategy = "api-key";
|
|
80
76
|
|
|
81
77
|
#apiKey;
|
|
78
|
+
#userId;
|
|
82
79
|
#workspaceId;
|
|
83
80
|
|
|
84
|
-
constructor(apiKey: string, workspaceId: string) {
|
|
81
|
+
constructor(apiKey: string, userId: string, workspaceId: string) {
|
|
85
82
|
this.#apiKey = apiKey;
|
|
83
|
+
this.#userId = userId;
|
|
86
84
|
this.#workspaceId = workspaceId;
|
|
87
85
|
}
|
|
88
86
|
|
|
89
87
|
public async getAuthHeaders(): Promise<Record<string, string>> {
|
|
90
88
|
return {
|
|
91
89
|
Authorization: `Bearer ${this.#apiKey}`,
|
|
90
|
+
"Aui-User-Id": this.#userId,
|
|
92
91
|
"Aui-Workspace-Id": this.#workspaceId,
|
|
93
92
|
};
|
|
94
93
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CoreMessage } from "../../../types";
|
|
2
|
+
import { AssistantCloudAPI } from "./AssistantCloudAPI";
|
|
3
|
+
import { AssistantStream, PlainTextDecoder } from "assistant-stream";
|
|
4
|
+
|
|
5
|
+
type AssistantCloudRunsStreamBody = {
|
|
6
|
+
thread_id: string;
|
|
7
|
+
assistant_id: "system/thread_title";
|
|
8
|
+
messages: CoreMessage[];
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export class AssistantCloudRuns {
|
|
12
|
+
constructor(private cloud: AssistantCloudAPI) {}
|
|
13
|
+
|
|
14
|
+
public async stream(
|
|
15
|
+
body: AssistantCloudRunsStreamBody,
|
|
16
|
+
): Promise<AssistantStream> {
|
|
17
|
+
const response = await this.cloud.makeRawRequest("/runs/stream", {
|
|
18
|
+
method: "POST",
|
|
19
|
+
headers: {
|
|
20
|
+
Accept: "text/plain",
|
|
21
|
+
},
|
|
22
|
+
body,
|
|
23
|
+
});
|
|
24
|
+
return AssistantStream.fromResponse(response, new PlainTextDecoder());
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { createContext, FC, useContext, useEffect, useState } from "react";
|
|
4
|
+
import { useThreadListItemRuntime } from "../../../context";
|
|
5
|
+
import { RemoteThreadInitializeResponse } from "../types";
|
|
6
|
+
import { ThreadListItemRuntime } from "../../../api";
|
|
7
|
+
|
|
8
|
+
type CloudInitializeResponse = {
|
|
9
|
+
remoteId: string;
|
|
10
|
+
externalId: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type CloudThreadListItemRuntime = {
|
|
14
|
+
getOrCreateThread: () => Promise<CloudInitializeResponse>;
|
|
15
|
+
generateThreadTitle: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const useCloudThreadListItemRuntime = () => {
|
|
19
|
+
const cloudThreadListItemRuntime = useContext(
|
|
20
|
+
CloudThreadListItemRuntimeContext,
|
|
21
|
+
);
|
|
22
|
+
if (!cloudThreadListItemRuntime)
|
|
23
|
+
throw new Error(
|
|
24
|
+
"This component can only be used inside a useCloudThreadListRuntime's runtimeHook.",
|
|
25
|
+
);
|
|
26
|
+
return cloudThreadListItemRuntime;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
type CloudThreadListItemRuntimeAdapter = {
|
|
30
|
+
initialize: (threadId: string) => Promise<RemoteThreadInitializeResponse>;
|
|
31
|
+
generateTitle: (remoteId: string) => Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
class CloudThreadListItemRuntimeImpl implements CloudThreadListItemRuntime {
|
|
35
|
+
public constructor(
|
|
36
|
+
private adapter: CloudThreadListItemRuntimeAdapter,
|
|
37
|
+
private threadListItemRuntime: ThreadListItemRuntime,
|
|
38
|
+
) {}
|
|
39
|
+
|
|
40
|
+
public __internal_setThreadListItemRuntime(
|
|
41
|
+
threadListItemRuntime: ThreadListItemRuntime,
|
|
42
|
+
) {
|
|
43
|
+
this.threadListItemRuntime = threadListItemRuntime;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public async getOrCreateThread(): Promise<CloudInitializeResponse> {
|
|
47
|
+
const threadData = this.threadListItemRuntime.getState();
|
|
48
|
+
if (threadData.remoteId)
|
|
49
|
+
return threadData as RemoteThreadInitializeResponse;
|
|
50
|
+
return this.adapter.initialize(threadData.id);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public generateThreadTitle() {
|
|
54
|
+
const remoteId = this.threadListItemRuntime.getState().remoteId;
|
|
55
|
+
if (!remoteId) throw new Error("Thread not initialized yet");
|
|
56
|
+
return this.adapter.generateTitle(remoteId);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type CloudThreadListItemRuntimeContextAdapterProps = {
|
|
61
|
+
adapter: CloudThreadListItemRuntimeAdapter;
|
|
62
|
+
children: React.ReactNode;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const CloudThreadListItemRuntimeProvider: FC<
|
|
66
|
+
CloudThreadListItemRuntimeContextAdapterProps
|
|
67
|
+
> = ({ adapter, children }) => {
|
|
68
|
+
const threadListItemRuntime = useThreadListItemRuntime();
|
|
69
|
+
const [cloudThreadListItemRuntime] = useState(
|
|
70
|
+
() => new CloudThreadListItemRuntimeImpl(adapter, threadListItemRuntime),
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
cloudThreadListItemRuntime.__internal_setThreadListItemRuntime(
|
|
75
|
+
threadListItemRuntime,
|
|
76
|
+
);
|
|
77
|
+
}, [cloudThreadListItemRuntime, threadListItemRuntime]);
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<CloudThreadListItemRuntimeContext.Provider
|
|
81
|
+
value={cloudThreadListItemRuntime}
|
|
82
|
+
>
|
|
83
|
+
{children}
|
|
84
|
+
</CloudThreadListItemRuntimeContext.Provider>
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const CloudThreadListItemRuntimeContext =
|
|
89
|
+
createContext<CloudThreadListItemRuntime | null>(null);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useCloudThreadListRuntime } from "./useCloudThreadListRuntime";
|
|
2
|
-
export {
|
|
2
|
+
export { useCloudThreadListItemRuntime } from "./CloudThreadListItemRuntime";
|
|
3
3
|
export { AssistantCloud } from "./AssistantCloud";
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
PropsWithChildren,
|
|
5
|
+
useCallback,
|
|
6
|
+
useEffect,
|
|
7
|
+
useMemo,
|
|
8
|
+
useRef,
|
|
9
|
+
useState,
|
|
10
|
+
} from "react";
|
|
4
11
|
import { useRemoteThreadListRuntime } from "../useRemoteThreadListRuntime";
|
|
5
12
|
import { AssistantCloud } from "./AssistantCloud";
|
|
6
|
-
import { CloudContext, CloudInitializeResponse } from "./CloudContext";
|
|
7
13
|
import { AssistantRuntime } from "../../../api";
|
|
14
|
+
import { RemoteThreadListSubscriber } from "../types";
|
|
15
|
+
import { CloudThreadListItemRuntimeProvider } from "./CloudThreadListItemRuntime";
|
|
16
|
+
import { toCoreMessages } from "../../edge";
|
|
8
17
|
|
|
9
18
|
type ThreadData = {
|
|
10
19
|
externalId: string;
|
|
@@ -19,20 +28,29 @@ type CloudThreadListAdapter = {
|
|
|
19
28
|
delete?(threadId: string): Promise<void>;
|
|
20
29
|
};
|
|
21
30
|
|
|
31
|
+
const beginnable = <T,>(callback: () => Promise<T>) => {
|
|
32
|
+
let task: Promise<T> | undefined = undefined;
|
|
33
|
+
|
|
34
|
+
return () => {
|
|
35
|
+
if (task === undefined) task = callback();
|
|
36
|
+
return task;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
|
|
22
40
|
export const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {
|
|
23
41
|
const adapterRef = useRef(adapter);
|
|
24
42
|
useEffect(() => {
|
|
25
43
|
adapterRef.current = adapter;
|
|
26
44
|
}, [adapter]);
|
|
27
45
|
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
>();
|
|
46
|
+
const [subscribers] = useState(() => new Set<RemoteThreadListSubscriber>());
|
|
47
|
+
|
|
48
|
+
const cloudThreadListItemRuntimeAdapter = useMemo(() => {
|
|
32
49
|
return {
|
|
33
|
-
initialize: async () => {
|
|
34
|
-
const
|
|
35
|
-
|
|
50
|
+
initialize: async (threadId: string) => {
|
|
51
|
+
const begin = beginnable(async () => {
|
|
52
|
+
const createTask = adapterRef.current.create?.() ?? Promise.resolve();
|
|
53
|
+
const t = await createTask;
|
|
36
54
|
const external_id = t ? t.externalId : undefined;
|
|
37
55
|
const { thread_id } = await adapterRef.current.cloud.threads.create({
|
|
38
56
|
title: "New Thread",
|
|
@@ -41,21 +59,30 @@ export const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {
|
|
|
41
59
|
});
|
|
42
60
|
return { externalId: external_id, remoteId: thread_id };
|
|
43
61
|
});
|
|
62
|
+
|
|
44
63
|
for (const subscriber of subscribers) {
|
|
45
|
-
subscriber(
|
|
64
|
+
subscriber.onInitialize(threadId, begin);
|
|
46
65
|
}
|
|
47
|
-
|
|
66
|
+
|
|
67
|
+
// note: onInitialize immediately throws if there are any issues
|
|
68
|
+
// therefore begin is safe to call here
|
|
69
|
+
return begin();
|
|
48
70
|
},
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
71
|
+
generateTitle: async (remoteId: string) => {
|
|
72
|
+
const messages = runtime.thread.getState().messages;
|
|
73
|
+
const begin = beginnable(() => {
|
|
74
|
+
return adapterRef.current.cloud.runs.stream({
|
|
75
|
+
thread_id: remoteId,
|
|
76
|
+
assistant_id: "system/thread_title",
|
|
77
|
+
messages: toCoreMessages(messages),
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
for (const subscriber of subscribers) {
|
|
81
|
+
subscriber.onGenerateTitle(remoteId, begin);
|
|
82
|
+
}
|
|
56
83
|
},
|
|
57
84
|
};
|
|
58
|
-
}, []);
|
|
85
|
+
}, [subscribers]);
|
|
59
86
|
|
|
60
87
|
const runtime = useRemoteThreadListRuntime({
|
|
61
88
|
runtimeHook: adapter.runtimeHook,
|
|
@@ -83,16 +110,24 @@ export const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {
|
|
|
83
110
|
await adapter.delete?.(threadId);
|
|
84
111
|
return adapter.cloud.threads.delete(threadId);
|
|
85
112
|
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
<CloudContext.Provider value={cloudContextValue}>
|
|
92
|
-
{children}
|
|
93
|
-
</CloudContext.Provider>
|
|
94
|
-
);
|
|
113
|
+
subscribe: (callback) => {
|
|
114
|
+
subscribers.add(callback);
|
|
115
|
+
return () => {
|
|
116
|
+
subscribers.delete(callback);
|
|
117
|
+
};
|
|
95
118
|
},
|
|
119
|
+
unstable_Provider: useCallback(
|
|
120
|
+
({ children }: PropsWithChildren) => {
|
|
121
|
+
return (
|
|
122
|
+
<CloudThreadListItemRuntimeProvider
|
|
123
|
+
adapter={cloudThreadListItemRuntimeAdapter}
|
|
124
|
+
>
|
|
125
|
+
{children}
|
|
126
|
+
</CloudThreadListItemRuntimeProvider>
|
|
127
|
+
);
|
|
128
|
+
},
|
|
129
|
+
[cloudThreadListItemRuntimeAdapter],
|
|
130
|
+
),
|
|
96
131
|
});
|
|
97
132
|
|
|
98
133
|
return runtime;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { ComponentType, PropsWithChildren } from "react";
|
|
2
2
|
import { AssistantRuntime } from "../../api";
|
|
3
3
|
import { Unsubscribe } from "../../types";
|
|
4
|
-
import {
|
|
4
|
+
import { AssistantStream } from "assistant-stream";
|
|
5
|
+
|
|
6
|
+
export type RemoteThreadInitializeResponse = {
|
|
7
|
+
remoteId: string;
|
|
8
|
+
externalId: string | undefined;
|
|
9
|
+
};
|
|
5
10
|
|
|
6
11
|
export type RemoteThreadMetadata = {
|
|
7
12
|
readonly status: "regular" | "archived";
|
|
@@ -16,6 +21,17 @@ export type RemoteThreadListResponse = {
|
|
|
16
21
|
|
|
17
22
|
export type RemoteThreadListHook = () => AssistantRuntime;
|
|
18
23
|
|
|
24
|
+
export type RemoteThreadListSubscriber = {
|
|
25
|
+
onInitialize: (
|
|
26
|
+
threadId: string,
|
|
27
|
+
begin: () => Promise<RemoteThreadInitializeResponse>,
|
|
28
|
+
) => void;
|
|
29
|
+
onGenerateTitle: (
|
|
30
|
+
threadId: string,
|
|
31
|
+
begin: () => Promise<AssistantStream>,
|
|
32
|
+
) => void;
|
|
33
|
+
};
|
|
34
|
+
|
|
19
35
|
export type RemoteThreadListAdapter = {
|
|
20
36
|
runtimeHook: RemoteThreadListHook;
|
|
21
37
|
|
|
@@ -26,9 +42,7 @@ export type RemoteThreadListAdapter = {
|
|
|
26
42
|
unarchive(remoteId: string): Promise<void>;
|
|
27
43
|
delete(remoteId: string): Promise<void>;
|
|
28
44
|
|
|
29
|
-
|
|
30
|
-
callback: (task: Promise<CloudInitializeResponse>) => Promise<void>,
|
|
31
|
-
): Unsubscribe;
|
|
45
|
+
subscribe(subscriber: RemoteThreadListSubscriber): Unsubscribe;
|
|
32
46
|
|
|
33
47
|
unstable_Provider?: ComponentType<PropsWithChildren>;
|
|
34
48
|
};
|
|
@@ -29,6 +29,7 @@ export const useRemoteThreadListRuntime = (
|
|
|
29
29
|
const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));
|
|
30
30
|
useEffect(() => {
|
|
31
31
|
runtime.threadList.__internal_setAdapter(adapter);
|
|
32
|
+
return runtime.threadList.__internal_bindAdapter();
|
|
32
33
|
}, [runtime, adapter]);
|
|
33
34
|
return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);
|
|
34
35
|
};
|
package/src/ui/base/button.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
2
2
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
|
-
import { ComponentPropsWithoutRef,
|
|
3
|
+
import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
|
|
4
4
|
|
|
5
5
|
const buttonVariants = cva("aui-button", {
|
|
6
6
|
variants: {
|
|
@@ -20,7 +20,7 @@ const buttonVariants = cva("aui-button", {
|
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
type ButtonElement =
|
|
23
|
+
type ButtonElement = ComponentRef<typeof Primitive.button>;
|
|
24
24
|
|
|
25
25
|
export type ButtonProps = ComponentPropsWithoutRef<typeof Primitive.button> &
|
|
26
26
|
VariantProps<typeof buttonVariants>;
|
package/src/ui/base/dialog.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
2
2
|
|
|
3
3
|
import classNames from "classnames";
|
|
4
|
-
import { ComponentPropsWithoutRef,
|
|
4
|
+
import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
|
|
5
5
|
|
|
6
6
|
const Dialog = DialogPrimitive.Root;
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ const DialogPortal = DialogPrimitive.Portal;
|
|
|
12
12
|
const DialogClose = DialogPrimitive.Close;
|
|
13
13
|
|
|
14
14
|
const DialogOverlay = forwardRef<
|
|
15
|
-
|
|
15
|
+
ComponentRef<typeof DialogPrimitive.Overlay>,
|
|
16
16
|
ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
|
|
17
17
|
>(({ className, ...props }, ref) => (
|
|
18
18
|
<DialogPrimitive.Overlay
|
|
@@ -24,7 +24,7 @@ const DialogOverlay = forwardRef<
|
|
|
24
24
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
25
25
|
|
|
26
26
|
const DialogContent = forwardRef<
|
|
27
|
-
|
|
27
|
+
ComponentRef<typeof DialogPrimitive.Content>,
|
|
28
28
|
ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
|
|
29
29
|
>(({ className, children, ...props }, ref) => (
|
|
30
30
|
<DialogPortal>
|
|
@@ -73,7 +73,7 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
|
73
73
|
// DialogFooter.displayName = "DialogFooter";
|
|
74
74
|
|
|
75
75
|
// const DialogTitle = forwardRef<
|
|
76
|
-
//
|
|
76
|
+
// ComponentRef<typeof DialogPrimitive.Title>,
|
|
77
77
|
// ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
|
|
78
78
|
// >(({ className, ...props }, ref) => (
|
|
79
79
|
// <DialogPrimitive.Title
|
|
@@ -88,7 +88,7 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
|
88
88
|
// DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
89
89
|
|
|
90
90
|
// const DialogDescription = forwardRef<
|
|
91
|
-
//
|
|
91
|
+
// ComponentRef<typeof DialogPrimitive.Description>,
|
|
92
92
|
// ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
|
|
93
93
|
// >(({ className, ...props }, ref) => (
|
|
94
94
|
// <DialogPrimitive.Description
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
ComponentRef,
|
|
3
3
|
forwardRef,
|
|
4
4
|
ComponentPropsWithoutRef,
|
|
5
5
|
MouseEventHandler,
|
|
@@ -16,7 +16,7 @@ type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
|
|
|
16
16
|
export type ActionButtonProps<THook> = PrimitiveButtonProps &
|
|
17
17
|
(THook extends (props: infer TProps) => unknown ? TProps : never);
|
|
18
18
|
|
|
19
|
-
export type ActionButtonElement =
|
|
19
|
+
export type ActionButtonElement = ComponentRef<typeof Primitive.button>;
|
|
20
20
|
|
|
21
21
|
export const createActionButton = <TProps,>(
|
|
22
22
|
displayName: string,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type CloudInitializeResponse = {
|
|
2
|
-
remoteId: string;
|
|
3
|
-
externalId: string | undefined;
|
|
4
|
-
};
|
|
5
|
-
type CloudContextValue = {
|
|
6
|
-
initialize: () => Promise<CloudInitializeResponse>;
|
|
7
|
-
};
|
|
8
|
-
export declare const CloudContext: import("react").Context<CloudContextValue | null>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=CloudContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CloudContext.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudContext.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,YAAY,mDAAgD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport type CloudInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\ntype CloudContextValue = {\n initialize: () => Promise<CloudInitializeResponse>;\n};\n\nexport const CloudContext = createContext<CloudContextValue | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAWvB,IAAM,mBAAe,4BAAwC,IAAI;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport type CloudInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\ntype CloudContextValue = {\n initialize: () => Promise<CloudInitializeResponse>;\n};\n\nexport const CloudContext = createContext<CloudContextValue | null>(null);\n"],"mappings":";AAAA,SAAS,qBAAqB;AAWvB,IAAM,eAAe,cAAwC,IAAI;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCloudGetOrCreateThread.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,yBAAyB;;EAYrC,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx
|
|
22
|
-
var useCloudGetOrCreateThread_exports = {};
|
|
23
|
-
__export(useCloudGetOrCreateThread_exports, {
|
|
24
|
-
useCloudGetOrCreateThread: () => useCloudGetOrCreateThread
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(useCloudGetOrCreateThread_exports);
|
|
27
|
-
var import_react = require("react");
|
|
28
|
-
var import_ThreadListItemContext = require("../../../context/react/ThreadListItemContext.js");
|
|
29
|
-
var import_CloudContext = require("./CloudContext.js");
|
|
30
|
-
var useCloudGetOrCreateThread = () => {
|
|
31
|
-
const currentId = (0, import_ThreadListItemContext.useThreadListItem)((i) => i.externalId);
|
|
32
|
-
const cloudContextValue = (0, import_react.useContext)(import_CloudContext.CloudContext);
|
|
33
|
-
if (!cloudContextValue) throw new Error("CloudContext not available");
|
|
34
|
-
return async () => {
|
|
35
|
-
let externalId = currentId;
|
|
36
|
-
if (!externalId) {
|
|
37
|
-
externalId = (await cloudContextValue.initialize()).externalId;
|
|
38
|
-
}
|
|
39
|
-
return { externalId };
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
-
0 && (module.exports = {
|
|
44
|
-
useCloudGetOrCreateThread
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=useCloudGetOrCreateThread.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx"],"sourcesContent":["\"use client\";\n\nimport { useContext } from \"react\";\nimport { useThreadListItem } from \"../../../context/react/ThreadListItemContext\";\nimport { CloudContext } from \"./CloudContext\";\n\nexport const useCloudGetOrCreateThread = () => {\n const currentId = useThreadListItem((i) => i.externalId);\n const cloudContextValue = useContext(CloudContext);\n if (!cloudContextValue) throw new Error(\"CloudContext not available\");\n\n return async () => {\n let externalId = currentId;\n if (!externalId) {\n externalId = (await cloudContextValue.initialize()).externalId;\n }\n return { externalId };\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA2B;AAC3B,mCAAkC;AAClC,0BAA6B;AAEtB,IAAM,4BAA4B,MAAM;AAC7C,QAAM,gBAAY,gDAAkB,CAAC,MAAM,EAAE,UAAU;AACvD,QAAM,wBAAoB,yBAAW,gCAAY;AACjD,MAAI,CAAC,kBAAmB,OAAM,IAAI,MAAM,4BAA4B;AAEpE,SAAO,YAAY;AACjB,QAAI,aAAa;AACjB,QAAI,CAAC,YAAY;AACf,oBAAc,MAAM,kBAAkB,WAAW,GAAG;AAAA,IACtD;AACA,WAAO,EAAE,WAAW;AAAA,EACtB;AACF;","names":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
// src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx
|
|
4
|
-
import { useContext } from "react";
|
|
5
|
-
import { useThreadListItem } from "../../../context/react/ThreadListItemContext.mjs";
|
|
6
|
-
import { CloudContext } from "./CloudContext.mjs";
|
|
7
|
-
var useCloudGetOrCreateThread = () => {
|
|
8
|
-
const currentId = useThreadListItem((i) => i.externalId);
|
|
9
|
-
const cloudContextValue = useContext(CloudContext);
|
|
10
|
-
if (!cloudContextValue) throw new Error("CloudContext not available");
|
|
11
|
-
return async () => {
|
|
12
|
-
let externalId = currentId;
|
|
13
|
-
if (!externalId) {
|
|
14
|
-
externalId = (await cloudContextValue.initialize()).externalId;
|
|
15
|
-
}
|
|
16
|
-
return { externalId };
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export {
|
|
20
|
-
useCloudGetOrCreateThread
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=useCloudGetOrCreateThread.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx"],"sourcesContent":["\"use client\";\n\nimport { useContext } from \"react\";\nimport { useThreadListItem } from \"../../../context/react/ThreadListItemContext\";\nimport { CloudContext } from \"./CloudContext\";\n\nexport const useCloudGetOrCreateThread = () => {\n const currentId = useThreadListItem((i) => i.externalId);\n const cloudContextValue = useContext(CloudContext);\n if (!cloudContextValue) throw new Error(\"CloudContext not available\");\n\n return async () => {\n let externalId = currentId;\n if (!externalId) {\n externalId = (await cloudContextValue.initialize()).externalId;\n }\n return { externalId };\n };\n};\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAEtB,IAAM,4BAA4B,MAAM;AAC7C,QAAM,YAAY,kBAAkB,CAAC,MAAM,EAAE,UAAU;AACvD,QAAM,oBAAoB,WAAW,YAAY;AACjD,MAAI,CAAC,kBAAmB,OAAM,IAAI,MAAM,4BAA4B;AAEpE,SAAO,YAAY;AACjB,QAAI,aAAa;AACjB,QAAI,CAAC,YAAY;AACf,oBAAc,MAAM,kBAAkB,WAAW,GAAG;AAAA,IACtD;AACA,WAAO,EAAE,WAAW;AAAA,EACtB;AACF;","names":[]}
|