@assistant-ui/react 0.5.98 → 0.5.99
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/api/AssistantRuntime.d.ts +4 -4
- package/dist/api/AssistantRuntime.d.ts.map +1 -1
- package/dist/api/AssistantRuntime.js +7 -7
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AssistantRuntime.mjs +7 -9
- package/dist/api/AssistantRuntime.mjs.map +1 -1
- package/dist/api/ComposerRuntime.d.ts +7 -0
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +13 -0
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.mjs +13 -0
- package/dist/api/ComposerRuntime.mjs.map +1 -1
- package/dist/api/MessageRuntime.d.ts.map +1 -1
- package/dist/api/MessageRuntime.js +0 -5
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.mjs +0 -5
- package/dist/api/MessageRuntime.mjs.map +1 -1
- package/dist/api/RuntimePathTypes.d.ts +16 -1
- package/dist/api/RuntimePathTypes.d.ts.map +1 -1
- package/dist/api/RuntimePathTypes.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts +29 -0
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -0
- package/dist/api/ThreadListItemRuntime.js +61 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -0
- package/dist/api/ThreadListItemRuntime.mjs +36 -0
- package/dist/api/ThreadListItemRuntime.mjs.map +1 -0
- package/dist/api/ThreadListRuntime.d.ts +51 -0
- package/dist/api/ThreadListRuntime.d.ts.map +1 -0
- package/dist/api/ThreadListRuntime.js +128 -0
- package/dist/api/ThreadListRuntime.js.map +1 -0
- package/dist/api/ThreadListRuntime.mjs +105 -0
- package/dist/api/ThreadListRuntime.mjs.map +1 -0
- package/dist/api/ThreadRuntime.d.ts +3 -0
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +1 -1
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.mjs +1 -1
- package/dist/api/ThreadRuntime.mjs.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +7 -9
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs +7 -9
- package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts +6 -5
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +1 -1
- package/dist/context/providers/ContentPartRuntimeProvider.d.ts +6 -5
- package/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/ContentPartRuntimeProvider.js +1 -4
- package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ContentPartRuntimeProvider.mjs +1 -4
- package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +1 -1
- package/dist/context/providers/MessageRuntimeProvider.d.ts +6 -5
- package/dist/context/providers/MessageRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
- package/dist/context/providers/MessageRuntimeProvider.mjs.map +1 -1
- package/dist/context/providers/TextContentPartProvider.d.ts +7 -6
- package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextContentPartProvider.js +5 -1
- package/dist/context/providers/TextContentPartProvider.js.map +1 -1
- package/dist/context/providers/TextContentPartProvider.mjs +5 -1
- package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +13 -0
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +62 -0
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -0
- package/dist/context/providers/ThreadListItemRuntimeProvider.mjs +39 -0
- package/dist/context/providers/ThreadListItemRuntimeProvider.mjs.map +1 -0
- package/dist/context/react/AssistantContext.d.ts +35 -11
- package/dist/context/react/AssistantContext.d.ts.map +1 -1
- package/dist/context/react/AssistantContext.js +4 -4
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AssistantContext.mjs +3 -3
- package/dist/context/react/AssistantContext.mjs.map +1 -1
- package/dist/context/react/ThreadListItemContext.d.ts +58 -0
- package/dist/context/react/ThreadListItemContext.d.ts.map +1 -0
- package/dist/context/react/ThreadListItemContext.js +53 -0
- package/dist/context/react/ThreadListItemContext.js.map +1 -0
- package/dist/context/react/ThreadListItemContext.mjs +25 -0
- package/dist/context/react/ThreadListItemContext.mjs.map +1 -0
- package/dist/context/react/index.d.ts +1 -1
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +2 -2
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/index.mjs +2 -2
- package/dist/context/react/index.mjs.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs.map +1 -1
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/index.mjs +4 -0
- package/dist/primitives/index.mjs.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts +11 -0
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListItems.js +72 -0
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -0
- package/dist/primitives/threadList/ThreadListItems.mjs +48 -0
- package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -0
- package/dist/primitives/threadList/ThreadListNew.d.ts +13 -0
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListNew.js +43 -0
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -0
- package/dist/primitives/threadList/ThreadListNew.mjs +21 -0
- package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -0
- package/dist/primitives/threadList/index.d.ts +3 -0
- package/dist/primitives/threadList/index.d.ts.map +1 -0
- package/dist/primitives/threadList/index.js +34 -0
- package/dist/primitives/threadList/index.js.map +1 -0
- package/dist/primitives/threadList/index.mjs +8 -0
- package/dist/primitives/threadList/index.mjs.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +13 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +43 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +21 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +13 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +43 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.mjs +21 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.mjs.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +13 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +43 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs +21 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs.map +1 -0
- package/dist/primitives/threadListItem/index.d.ts +4 -0
- package/dist/primitives/threadListItem/index.d.ts.map +1 -0
- package/dist/primitives/threadListItem/index.js +37 -0
- package/dist/primitives/threadListItem/index.js.map +1 -0
- package/dist/primitives/threadListItem/index.mjs +10 -0
- package/dist/primitives/threadListItem/index.mjs.map +1 -0
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +5 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +14 -5
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +14 -5
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +2 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +2 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts +3 -0
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/{ThreadManagerRuntimeCore.d.ts → ThreadListRuntimeCore.d.ts} +7 -6
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/runtimes/core/{ThreadManagerRuntimeCore.js → ThreadListRuntimeCore.js} +4 -4
- package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -0
- package/dist/runtimes/core/ThreadListRuntimeCore.mjs +1 -0
- package/dist/runtimes/core/subscribeToMainThread.js +2 -2
- package/dist/runtimes/core/subscribeToMainThread.js.map +1 -1
- package/dist/runtimes/core/subscribeToMainThread.mjs +2 -2
- package/dist/runtimes/core/subscribeToMainThread.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +8 -8
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +2 -2
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +8 -8
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +8 -8
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +35 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.js → ExternalStoreThreadListRuntimeCore.js} +17 -8
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -0
- package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.mjs → ExternalStoreThreadListRuntimeCore.mjs} +13 -4
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.d.ts +2 -2
- package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +7 -7
- package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.mjs +7 -7
- package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.d.ts → LocalThreadListRuntimeCore.d.ts} +16 -6
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.js → LocalThreadListRuntimeCore.js} +11 -8
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -0
- package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.mjs → LocalThreadListRuntimeCore.mjs} +7 -4
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +2 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/types/AssistantTypes.d.ts +2 -0
- package/dist/types/AssistantTypes.d.ts.map +1 -1
- package/dist/types/AssistantTypes.js.map +1 -1
- package/package.json +7 -7
- package/src/api/AssistantRuntime.ts +9 -12
- package/src/api/ComposerRuntime.ts +17 -0
- package/src/api/MessageRuntime.ts +0 -9
- package/src/api/RuntimePathTypes.ts +10 -1
- package/src/api/ThreadListItemRuntime.ts +67 -0
- package/src/api/ThreadListRuntime.ts +159 -0
- package/src/api/ThreadRuntime.ts +2 -1
- package/src/api/index.ts +1 -4
- package/src/context/providers/AssistantRuntimeProvider.tsx +7 -9
- package/src/context/providers/AttachmentRuntimeProvider.tsx +6 -4
- package/src/context/providers/ContentPartRuntimeProvider.tsx +8 -7
- package/src/context/providers/MessageRuntimeProvider.tsx +6 -4
- package/src/context/providers/TextContentPartProvider.tsx +11 -7
- package/src/context/providers/ThreadListItemRuntimeProvider.tsx +54 -0
- package/src/context/react/AssistantContext.ts +4 -4
- package/src/context/react/ThreadListItemContext.ts +39 -0
- package/src/context/react/index.ts +2 -2
- package/src/internal.ts +1 -1
- package/src/primitives/index.ts +2 -0
- package/src/primitives/threadList/ThreadListItems.tsx +73 -0
- package/src/primitives/threadList/ThreadListNew.ts +25 -0
- package/src/primitives/threadList/index.ts +2 -0
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +25 -0
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +25 -0
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +25 -0
- package/src/primitives/threadListItem/index.ts +3 -0
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +19 -5
- package/src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx +3 -2
- package/src/runtimes/core/AssistantRuntimeCore.tsx +2 -2
- package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +2 -2
- package/src/runtimes/core/ComposerRuntimeCore.tsx +4 -0
- package/src/runtimes/core/{ThreadManagerRuntimeCore.tsx → ThreadListRuntimeCore.tsx} +7 -5
- package/src/runtimes/core/subscribeToMainThread.ts +2 -2
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +8 -8
- package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +8 -8
- package/src/runtimes/external-store/{ExternalStoreThreadManagementAdapter.tsx → ExternalStoreThreadListRuntimeCore.tsx} +16 -6
- package/src/runtimes/local/LocalRuntimeCore.tsx +7 -7
- package/src/runtimes/local/{LocalThreadManagerRuntimeCore.tsx → LocalThreadListRuntimeCore.tsx} +11 -7
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +2 -1
- package/src/types/AssistantTypes.ts +3 -0
- package/dist/api/ThreadManagerRuntime.d.ts +0 -32
- package/dist/api/ThreadManagerRuntime.d.ts.map +0 -1
- package/dist/api/ThreadManagerRuntime.js +0 -73
- package/dist/api/ThreadManagerRuntime.js.map +0 -1
- package/dist/api/ThreadManagerRuntime.mjs +0 -48
- package/dist/api/ThreadManagerRuntime.mjs.map +0 -1
- package/dist/runtimes/core/ThreadManagerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/ThreadManagerRuntimeCore.js.map +0 -1
- package/dist/runtimes/core/ThreadManagerRuntimeCore.mjs +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts +0 -25
- package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs.map +0 -1
- package/dist/runtimes/local/LocalThreadManagerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js.map +0 -1
- package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs.map +0 -1
- package/src/api/ThreadManagerRuntime.ts +0 -80
- /package/dist/runtimes/core/{ThreadManagerRuntimeCore.mjs.map → ThreadListRuntimeCore.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Unsubscribe } from "../../types";
|
|
2
2
|
import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ThreadListRuntimeCore } from "../core/ThreadListRuntimeCore";
|
|
4
|
+
import { ExternalStoreThreadListAdapter } from "./ExternalStoreAdapter";
|
|
5
5
|
|
|
6
6
|
export type ExternalStoreThreadFactory = (
|
|
7
7
|
threadId: string,
|
|
@@ -10,8 +10,8 @@ export type ExternalStoreThreadFactory = (
|
|
|
10
10
|
const EMPTY_ARRAY = Object.freeze([]);
|
|
11
11
|
const DEFAULT_THREAD_ID = "DEFAULT_THREAD_ID";
|
|
12
12
|
|
|
13
|
-
export class
|
|
14
|
-
implements
|
|
13
|
+
export class ExternalStoreThreadListRuntimeCore
|
|
14
|
+
implements ThreadListRuntimeCore
|
|
15
15
|
{
|
|
16
16
|
public get threads() {
|
|
17
17
|
return this.adapter.threads ?? EMPTY_ARRAY;
|
|
@@ -28,13 +28,23 @@ export class ExternalStoreThreadManagerRuntimeCore
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
constructor(
|
|
31
|
-
private adapter:
|
|
31
|
+
private adapter: ExternalStoreThreadListAdapter = {},
|
|
32
32
|
private threadFactory: ExternalStoreThreadFactory,
|
|
33
33
|
) {
|
|
34
34
|
this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
public
|
|
37
|
+
public getThreadMetadataById(threadId: string) {
|
|
38
|
+
for (const thread of this.threads) {
|
|
39
|
+
if (thread.threadId === threadId) return thread;
|
|
40
|
+
}
|
|
41
|
+
for (const thread of this.archivedThreads) {
|
|
42
|
+
if (thread.threadId === threadId) return thread;
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public setAdapter(adapter: ExternalStoreThreadListAdapter) {
|
|
38
48
|
const previousAdapter = this.adapter;
|
|
39
49
|
this.adapter = adapter;
|
|
40
50
|
|
|
@@ -3,7 +3,7 @@ import { BaseAssistantRuntimeCore } from "../core/BaseAssistantRuntimeCore";
|
|
|
3
3
|
import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore";
|
|
4
4
|
import { LocalRuntimeOptionsBase } from "./LocalRuntimeOptions";
|
|
5
5
|
import { fromCoreMessages } from "../edge/converters/fromCoreMessage";
|
|
6
|
-
import {
|
|
6
|
+
import { LocalThreadListRuntimeCore } from "./LocalThreadListRuntimeCore";
|
|
7
7
|
import { ExportedMessageRepository } from "../utils/MessageRepository";
|
|
8
8
|
|
|
9
9
|
const getExportFromInitialMessages = (
|
|
@@ -19,7 +19,7 @@ const getExportFromInitialMessages = (
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
|
|
22
|
-
public readonly
|
|
22
|
+
public readonly threadList;
|
|
23
23
|
|
|
24
24
|
private _options: LocalRuntimeOptionsBase;
|
|
25
25
|
|
|
@@ -31,7 +31,7 @@ export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
|
|
|
31
31
|
|
|
32
32
|
this._options = options;
|
|
33
33
|
|
|
34
|
-
this.
|
|
34
|
+
this.threadList = new LocalThreadListRuntimeCore((threadId, data) => {
|
|
35
35
|
const thread = new LocalThreadRuntimeCore(
|
|
36
36
|
this._proxyConfigProvider,
|
|
37
37
|
threadId,
|
|
@@ -42,7 +42,7 @@ export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
|
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
if (initialMessages) {
|
|
45
|
-
this.
|
|
45
|
+
this.threadList.mainThread.import(
|
|
46
46
|
getExportFromInitialMessages(initialMessages),
|
|
47
47
|
);
|
|
48
48
|
}
|
|
@@ -51,7 +51,7 @@ export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
|
|
|
51
51
|
public setOptions(options: LocalRuntimeOptionsBase) {
|
|
52
52
|
this._options = options;
|
|
53
53
|
|
|
54
|
-
this.
|
|
54
|
+
this.threadList.mainThread.setOptions(options);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
public reset({
|
|
@@ -59,10 +59,10 @@ export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
|
|
|
59
59
|
}: {
|
|
60
60
|
initialMessages?: readonly CoreMessage[] | undefined;
|
|
61
61
|
} = {}) {
|
|
62
|
-
this.
|
|
62
|
+
this.threadList.switchToNewThread();
|
|
63
63
|
if (!initialMessages) return;
|
|
64
64
|
|
|
65
|
-
this.
|
|
65
|
+
this.threadList.mainThread.import(
|
|
66
66
|
getExportFromInitialMessages(initialMessages),
|
|
67
67
|
);
|
|
68
68
|
}
|
package/src/runtimes/local/{LocalThreadManagerRuntimeCore.tsx → LocalThreadListRuntimeCore.tsx}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { Unsubscribe } from "../../types";
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "../core/
|
|
3
|
+
ThreadListMetadata,
|
|
4
|
+
ThreadListRuntimeCore,
|
|
5
|
+
} from "../core/ThreadListRuntimeCore";
|
|
6
6
|
import { ExportedMessageRepository } from "../utils/MessageRepository";
|
|
7
7
|
import { generateId } from "../../utils/idUtils";
|
|
8
8
|
import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore";
|
|
9
9
|
|
|
10
10
|
export type LocalThreadData = {
|
|
11
11
|
data: ExportedMessageRepository;
|
|
12
|
-
metadata:
|
|
12
|
+
metadata: ThreadListMetadata;
|
|
13
13
|
isArchived: boolean;
|
|
14
14
|
};
|
|
15
15
|
|
|
@@ -18,11 +18,11 @@ export type LocalThreadFactory = (
|
|
|
18
18
|
data: ExportedMessageRepository,
|
|
19
19
|
) => LocalThreadRuntimeCore;
|
|
20
20
|
|
|
21
|
-
export class
|
|
21
|
+
export class LocalThreadListRuntimeCore implements ThreadListRuntimeCore {
|
|
22
22
|
private _threadData = new Map<string, LocalThreadData>();
|
|
23
23
|
|
|
24
|
-
private _threads: readonly
|
|
25
|
-
private _archivedThreads: readonly
|
|
24
|
+
private _threads: readonly ThreadListMetadata[] = [];
|
|
25
|
+
private _archivedThreads: readonly ThreadListMetadata[] = [];
|
|
26
26
|
|
|
27
27
|
public get threads() {
|
|
28
28
|
return this._threads;
|
|
@@ -49,6 +49,10 @@ export class LocalThreadManagerRuntimeCore implements ThreadManagerRuntimeCore {
|
|
|
49
49
|
this._mainThread = this._threadFactory(threadId, { messages: [] });
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
public getThreadMetadataById(threadId: string) {
|
|
53
|
+
return this._threadData.get(threadId)?.metadata;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
public switchToThread(threadId: string): void {
|
|
53
57
|
if (this._mainThread.threadId === threadId) return;
|
|
54
58
|
|
|
@@ -89,7 +89,8 @@ export class LocalThreadRuntimeCore
|
|
|
89
89
|
});
|
|
90
90
|
this.repository.addOrUpdateMessage(message.parentId, newMessage);
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
const startRun = message.startRun ?? message.role === "user";
|
|
93
|
+
if (startRun) {
|
|
93
94
|
await this.startRun(newMessage.id);
|
|
94
95
|
} else {
|
|
95
96
|
this.repository.resetHead(newMessage.id);
|
|
@@ -2,6 +2,8 @@ import { LanguageModelV1LogProbs } from "@ai-sdk/provider";
|
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
3
|
import { CompleteAttachment } from "./AttachmentTypes";
|
|
4
4
|
|
|
5
|
+
export type MessageRole = "user" | "assistant" | "system";
|
|
6
|
+
|
|
5
7
|
export type TextContentPart = {
|
|
6
8
|
type: "text";
|
|
7
9
|
text: string;
|
|
@@ -156,6 +158,7 @@ export type AppendMessage = CoreMessage & {
|
|
|
156
158
|
parentId: string | null;
|
|
157
159
|
// TODO make required in the next major version
|
|
158
160
|
attachments?: readonly CompleteAttachment[] | undefined;
|
|
161
|
+
startRun?: boolean | undefined;
|
|
159
162
|
};
|
|
160
163
|
|
|
161
164
|
type BaseThreadMessage = {
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ThreadManagerMetadata, ThreadManagerRuntimeCore } from "../runtimes/core/ThreadManagerRuntimeCore";
|
|
2
|
-
import { Unsubscribe } from "../types";
|
|
3
|
-
import { ThreadManagerRuntimePath } from "./RuntimePathTypes";
|
|
4
|
-
export type ThreadManagerState = Readonly<{
|
|
5
|
-
threads: readonly ThreadManagerMetadata[];
|
|
6
|
-
archivedThreads: readonly ThreadManagerMetadata[];
|
|
7
|
-
}>;
|
|
8
|
-
export type ThreadManagerRuntime = Readonly<{
|
|
9
|
-
path: ThreadManagerRuntimePath;
|
|
10
|
-
getState(): ThreadManagerState;
|
|
11
|
-
rename(threadId: string, newTitle: string): Promise<void>;
|
|
12
|
-
archive(threadId: string): Promise<void>;
|
|
13
|
-
unarchive(threadId: string): Promise<void>;
|
|
14
|
-
delete(threadId: string): Promise<void>;
|
|
15
|
-
subscribe(callback: () => void): Unsubscribe;
|
|
16
|
-
}>;
|
|
17
|
-
export type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;
|
|
18
|
-
export declare class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {
|
|
19
|
-
private _core;
|
|
20
|
-
get path(): {
|
|
21
|
-
ref: string;
|
|
22
|
-
};
|
|
23
|
-
private _getState;
|
|
24
|
-
constructor(_core: ThreadManagerRuntimeCoreBinding);
|
|
25
|
-
getState(): ThreadManagerState;
|
|
26
|
-
rename(threadId: string, newTitle: string): Promise<void>;
|
|
27
|
-
archive(threadId: string): Promise<void>;
|
|
28
|
-
unarchive(threadId: string): Promise<void>;
|
|
29
|
-
delete(threadId: string): Promise<void>;
|
|
30
|
-
subscribe(callback: () => void): Unsubscribe;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=ThreadManagerRuntime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadManagerRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadManagerRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,eAAe,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,IAAI,kBAAkB,CAAC;IAE/B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;CAC9C,CAAC,CAAC;AAeH,MAAM,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEvE,qBAAa,wBAAyB,YAAW,oBAAoB;IAMvD,OAAO,CAAC,KAAK;IALzB,IAAW,IAAI;;MAEd;IAED,OAAO,CAAC,SAAS,CAAC;gBACE,KAAK,EAAE,+BAA+B;IAUnD,QAAQ,IAAI,kBAAkB;IAI9B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;CAGpD"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/api/ThreadManagerRuntime.ts
|
|
21
|
-
var ThreadManagerRuntime_exports = {};
|
|
22
|
-
__export(ThreadManagerRuntime_exports, {
|
|
23
|
-
ThreadManagerRuntimeImpl: () => ThreadManagerRuntimeImpl
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(ThreadManagerRuntime_exports);
|
|
26
|
-
var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject.cjs");
|
|
27
|
-
var getThreadManagerState = (threadManager) => {
|
|
28
|
-
return {
|
|
29
|
-
threads: threadManager.threads,
|
|
30
|
-
archivedThreads: threadManager.archivedThreads
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
var THREAD_MANAGER_PATH = {
|
|
34
|
-
ref: "threadManager"
|
|
35
|
-
};
|
|
36
|
-
var ThreadManagerRuntimeImpl = class {
|
|
37
|
-
constructor(_core) {
|
|
38
|
-
this._core = _core;
|
|
39
|
-
const stateBinding = new import_LazyMemoizeSubject.LazyMemoizeSubject({
|
|
40
|
-
path: THREAD_MANAGER_PATH,
|
|
41
|
-
getState: () => getThreadManagerState(_core),
|
|
42
|
-
subscribe: (callback) => _core.subscribe(callback)
|
|
43
|
-
});
|
|
44
|
-
this._getState = stateBinding.getState.bind(stateBinding);
|
|
45
|
-
}
|
|
46
|
-
get path() {
|
|
47
|
-
return THREAD_MANAGER_PATH;
|
|
48
|
-
}
|
|
49
|
-
_getState;
|
|
50
|
-
getState() {
|
|
51
|
-
return this._getState();
|
|
52
|
-
}
|
|
53
|
-
rename(threadId, newTitle) {
|
|
54
|
-
return this._core.rename(threadId, newTitle);
|
|
55
|
-
}
|
|
56
|
-
archive(threadId) {
|
|
57
|
-
return this._core.archive(threadId);
|
|
58
|
-
}
|
|
59
|
-
unarchive(threadId) {
|
|
60
|
-
return this._core.unarchive(threadId);
|
|
61
|
-
}
|
|
62
|
-
delete(threadId) {
|
|
63
|
-
return this._core.delete(threadId);
|
|
64
|
-
}
|
|
65
|
-
subscribe(callback) {
|
|
66
|
-
return this._core.subscribe(callback);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
-
0 && (module.exports = {
|
|
71
|
-
ThreadManagerRuntimeImpl
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=ThreadManagerRuntime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAmC;AAyBnC,IAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,IAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,IAAM,2BAAN,MAA+D;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,6CAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// src/api/ThreadManagerRuntime.ts
|
|
2
|
-
import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject.mjs";
|
|
3
|
-
var getThreadManagerState = (threadManager) => {
|
|
4
|
-
return {
|
|
5
|
-
threads: threadManager.threads,
|
|
6
|
-
archivedThreads: threadManager.archivedThreads
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
var THREAD_MANAGER_PATH = {
|
|
10
|
-
ref: "threadManager"
|
|
11
|
-
};
|
|
12
|
-
var ThreadManagerRuntimeImpl = class {
|
|
13
|
-
constructor(_core) {
|
|
14
|
-
this._core = _core;
|
|
15
|
-
const stateBinding = new LazyMemoizeSubject({
|
|
16
|
-
path: THREAD_MANAGER_PATH,
|
|
17
|
-
getState: () => getThreadManagerState(_core),
|
|
18
|
-
subscribe: (callback) => _core.subscribe(callback)
|
|
19
|
-
});
|
|
20
|
-
this._getState = stateBinding.getState.bind(stateBinding);
|
|
21
|
-
}
|
|
22
|
-
get path() {
|
|
23
|
-
return THREAD_MANAGER_PATH;
|
|
24
|
-
}
|
|
25
|
-
_getState;
|
|
26
|
-
getState() {
|
|
27
|
-
return this._getState();
|
|
28
|
-
}
|
|
29
|
-
rename(threadId, newTitle) {
|
|
30
|
-
return this._core.rename(threadId, newTitle);
|
|
31
|
-
}
|
|
32
|
-
archive(threadId) {
|
|
33
|
-
return this._core.archive(threadId);
|
|
34
|
-
}
|
|
35
|
-
unarchive(threadId) {
|
|
36
|
-
return this._core.unarchive(threadId);
|
|
37
|
-
}
|
|
38
|
-
delete(threadId) {
|
|
39
|
-
return this._core.delete(threadId);
|
|
40
|
-
}
|
|
41
|
-
subscribe(callback) {
|
|
42
|
-
return this._core.subscribe(callback);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
export {
|
|
46
|
-
ThreadManagerRuntimeImpl
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=ThreadManagerRuntime.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";AAAA,SAAS,0BAA0B;AAyBnC,IAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,IAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,IAAM,2BAAN,MAA+D;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,mBAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadManagerRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/core/ThreadManagerRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,iBAAiB,CAAC;IAE9B,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,eAAe,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAElD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,IAAI,IAAI,CAAC;IAK1B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;CAC9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/core/ThreadManagerRuntimeCore.tsx"],"sourcesContent":["import { Unsubscribe } from \"../../types\";\nimport { ThreadRuntimeCore } from \"./ThreadRuntimeCore\";\n\nexport type ThreadManagerMetadata = {\n threadId: string;\n title?: string;\n};\n\nexport type ThreadManagerRuntimeCore = {\n mainThread: ThreadRuntimeCore;\n\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n\n switchToThread(threadId: string): void;\n switchToNewThread(): void;\n\n // getLoadThreadsPromise(): Promise<void>;\n // getLoadArchivedThreadsPromise(): Promise<void>;\n // create(): Promise<ThreadMetadata>;\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=ThreadManagerRuntimeCore.mjs.map
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Unsubscribe } from "../../types";
|
|
2
|
-
import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore";
|
|
3
|
-
import { ThreadManagerRuntimeCore } from "../core/ThreadManagerRuntimeCore";
|
|
4
|
-
import { ExternalStoreThreadManagerAdapter } from "./ExternalStoreAdapter";
|
|
5
|
-
export type ExternalStoreThreadFactory = (threadId: string) => ExternalStoreThreadRuntimeCore;
|
|
6
|
-
export declare class ExternalStoreThreadManagerRuntimeCore implements ThreadManagerRuntimeCore {
|
|
7
|
-
private adapter;
|
|
8
|
-
private threadFactory;
|
|
9
|
-
get threads(): readonly import("../core/ThreadManagerRuntimeCore").ThreadManagerMetadata[];
|
|
10
|
-
get archivedThreads(): readonly import("../core/ThreadManagerRuntimeCore").ThreadManagerMetadata[];
|
|
11
|
-
private _mainThread;
|
|
12
|
-
get mainThread(): ExternalStoreThreadRuntimeCore;
|
|
13
|
-
constructor(adapter: ExternalStoreThreadManagerAdapter | undefined, threadFactory: ExternalStoreThreadFactory);
|
|
14
|
-
setAdapter(adapter: ExternalStoreThreadManagerAdapter): void;
|
|
15
|
-
switchToThread(threadId: string): void;
|
|
16
|
-
switchToNewThread(): void;
|
|
17
|
-
rename(threadId: string, newTitle: string): Promise<void>;
|
|
18
|
-
archive(threadId: string): Promise<void>;
|
|
19
|
-
unarchive(threadId: string): Promise<void>;
|
|
20
|
-
delete(threadId: string): Promise<void>;
|
|
21
|
-
private _subscriptions;
|
|
22
|
-
subscribe(callback: () => void): Unsubscribe;
|
|
23
|
-
private _notifySubscribers;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=ExternalStoreThreadManagementAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalStoreThreadManagementAdapter.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreThreadManagementAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG,CACvC,QAAQ,EAAE,MAAM,KACb,8BAA8B,CAAC;AAKpC,qBAAa,qCACX,YAAW,wBAAwB;IAiBjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;IAhBvB,IAAW,OAAO,gFAEjB;IAED,IAAW,eAAe,gFAEzB;IAED,OAAO,CAAC,WAAW,CAAiC;IAEpD,IAAW,UAAU,mCAEpB;gBAGS,OAAO,EAAE,iCAAiC,YAAK,EAC/C,aAAa,EAAE,0BAA0B;IAK5C,UAAU,CAAC,OAAO,EAAE,iCAAiC;IAyBrD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUtC,iBAAiB,IAAI,IAAI;IAUnB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,OAAO,CAAC,cAAc,CAAyB;IAExC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnD,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreThreadManagementAdapter.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\nimport { ThreadManagerRuntimeCore } from \"../core/ThreadManagerRuntimeCore\";\nimport { ExternalStoreThreadManagerAdapter } from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = (\n threadId: string,\n) => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\n\nexport class ExternalStoreThreadManagerRuntimeCore\n implements ThreadManagerRuntimeCore\n{\n public get threads() {\n return this.adapter.threads ?? EMPTY_ARRAY;\n }\n\n public get archivedThreads() {\n return this.adapter.archivedThreads ?? EMPTY_ARRAY;\n }\n\n private _mainThread: ExternalStoreThreadRuntimeCore;\n\n public get mainThread() {\n return this._mainThread;\n }\n\n constructor(\n private adapter: ExternalStoreThreadManagerAdapter = {},\n private threadFactory: ExternalStoreThreadFactory,\n ) {\n this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);\n }\n\n public setAdapter(adapter: ExternalStoreThreadManagerAdapter) {\n const previousAdapter = this.adapter;\n this.adapter = adapter;\n\n const newThreadId = adapter.threadId ?? DEFAULT_THREAD_ID;\n const newThreads = adapter.threads ?? EMPTY_ARRAY;\n const newArchivedThreads = adapter.archivedThreads ?? EMPTY_ARRAY;\n\n if (\n previousAdapter.threadId === newThreadId &&\n previousAdapter.threads === newThreads &&\n previousAdapter.archivedThreads === newArchivedThreads\n ) {\n return;\n }\n\n if (previousAdapter.threadId !== newThreadId) {\n this._mainThread._notifyEventSubscribers(\"switched-away\");\n this._mainThread = this.threadFactory(newThreadId);\n this._mainThread._notifyEventSubscribers(\"switched-to\");\n }\n\n this._notifySubscribers();\n }\n\n public switchToThread(threadId: string): void {\n if (this._mainThread?.threadId === threadId) return;\n const onSwitchToThread = this.adapter.onSwitchToThread;\n if (!onSwitchToThread)\n throw new Error(\n \"External store adapter does not support switching to thread\",\n );\n onSwitchToThread(threadId);\n }\n\n public switchToNewThread(): void {\n const onSwitchToNewThread = this.adapter.onSwitchToNewThread;\n if (!onSwitchToNewThread)\n throw new Error(\n \"External store adapter does not support switching to new thread\",\n );\n\n onSwitchToNewThread();\n }\n\n public async rename(threadId: string, newTitle: string): Promise<void> {\n const onRename = this.adapter.onRename;\n if (!onRename)\n throw new Error(\"External store adapter does not support renaming\");\n\n onRename(threadId, newTitle);\n }\n\n public async archive(threadId: string): Promise<void> {\n const onArchive = this.adapter.onArchive;\n if (!onArchive)\n throw new Error(\"External store adapter does not support archiving\");\n\n onArchive(threadId);\n }\n\n public async unarchive(threadId: string): Promise<void> {\n const onUnarchive = this.adapter.onUnarchive;\n if (!onUnarchive)\n throw new Error(\"External store adapter does not support unarchiving\");\n\n onUnarchive(threadId);\n }\n\n public async delete(threadId: string): Promise<void> {\n const onDelete = this.adapter.onDelete;\n if (!onDelete)\n throw new Error(\"External store adapter does not support deleting\");\n\n onDelete(threadId);\n }\n\n private _subscriptions = new Set<() => void>();\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,IAAM,cAAc,OAAO,OAAO,CAAC,CAAC;AACpC,IAAM,oBAAoB;AAEnB,IAAM,wCAAN,MAEP;AAAA,EAeE,YACU,UAA6C,CAAC,GAC9C,eACR;AAFQ;AACA;AAER,SAAK,cAAc,KAAK,cAAc,iBAAiB;AAAA,EACzD;AAAA,EAnBA,IAAW,UAAU;AACnB,WAAO,KAAK,QAAQ,WAAW;AAAA,EACjC;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ,mBAAmB;AAAA,EACzC;AAAA,EAEQ;AAAA,EAER,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EASO,WAAW,SAA4C;AAC5D,UAAM,kBAAkB,KAAK;AAC7B,SAAK,UAAU;AAEf,UAAM,cAAc,QAAQ,YAAY;AACxC,UAAM,aAAa,QAAQ,WAAW;AACtC,UAAM,qBAAqB,QAAQ,mBAAmB;AAEtD,QACE,gBAAgB,aAAa,eAC7B,gBAAgB,YAAY,cAC5B,gBAAgB,oBAAoB,oBACpC;AACA;AAAA,IACF;AAEA,QAAI,gBAAgB,aAAa,aAAa;AAC5C,WAAK,YAAY,wBAAwB,eAAe;AACxD,WAAK,cAAc,KAAK,cAAc,WAAW;AACjD,WAAK,YAAY,wBAAwB,aAAa;AAAA,IACxD;AAEA,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEO,eAAe,UAAwB;AAC5C,QAAI,KAAK,aAAa,aAAa,SAAU;AAC7C,UAAM,mBAAmB,KAAK,QAAQ;AACtC,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AACF,qBAAiB,QAAQ;AAAA,EAC3B;AAAA,EAEO,oBAA0B;AAC/B,UAAM,sBAAsB,KAAK,QAAQ;AACzC,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAEF,wBAAoB;AAAA,EACtB;AAAA,EAEA,MAAa,OAAO,UAAkB,UAAiC;AACrE,UAAM,WAAW,KAAK,QAAQ;AAC9B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,kDAAkD;AAEpE,aAAS,UAAU,QAAQ;AAAA,EAC7B;AAAA,EAEA,MAAa,QAAQ,UAAiC;AACpD,UAAM,YAAY,KAAK,QAAQ;AAC/B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAErE,cAAU,QAAQ;AAAA,EACpB;AAAA,EAEA,MAAa,UAAU,UAAiC;AACtD,UAAM,cAAc,KAAK,QAAQ;AACjC,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,qDAAqD;AAEvE,gBAAY,QAAQ;AAAA,EACtB;AAAA,EAEA,MAAa,OAAO,UAAiC;AACnD,UAAM,WAAW,KAAK,QAAQ;AAC9B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,kDAAkD;AAEpE,aAAS,QAAQ;AAAA,EACnB;AAAA,EAEQ,iBAAiB,oBAAI,IAAgB;AAAA,EAEtC,UAAU,UAAmC;AAClD,SAAK,eAAe,IAAI,QAAQ;AAChC,WAAO,MAAM,KAAK,eAAe,OAAO,QAAQ;AAAA,EAClD;AAAA,EAEQ,qBAAqB;AAC3B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreThreadManagementAdapter.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\nimport { ThreadManagerRuntimeCore } from \"../core/ThreadManagerRuntimeCore\";\nimport { ExternalStoreThreadManagerAdapter } from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = (\n threadId: string,\n) => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\n\nexport class ExternalStoreThreadManagerRuntimeCore\n implements ThreadManagerRuntimeCore\n{\n public get threads() {\n return this.adapter.threads ?? EMPTY_ARRAY;\n }\n\n public get archivedThreads() {\n return this.adapter.archivedThreads ?? EMPTY_ARRAY;\n }\n\n private _mainThread: ExternalStoreThreadRuntimeCore;\n\n public get mainThread() {\n return this._mainThread;\n }\n\n constructor(\n private adapter: ExternalStoreThreadManagerAdapter = {},\n private threadFactory: ExternalStoreThreadFactory,\n ) {\n this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);\n }\n\n public setAdapter(adapter: ExternalStoreThreadManagerAdapter) {\n const previousAdapter = this.adapter;\n this.adapter = adapter;\n\n const newThreadId = adapter.threadId ?? DEFAULT_THREAD_ID;\n const newThreads = adapter.threads ?? EMPTY_ARRAY;\n const newArchivedThreads = adapter.archivedThreads ?? EMPTY_ARRAY;\n\n if (\n previousAdapter.threadId === newThreadId &&\n previousAdapter.threads === newThreads &&\n previousAdapter.archivedThreads === newArchivedThreads\n ) {\n return;\n }\n\n if (previousAdapter.threadId !== newThreadId) {\n this._mainThread._notifyEventSubscribers(\"switched-away\");\n this._mainThread = this.threadFactory(newThreadId);\n this._mainThread._notifyEventSubscribers(\"switched-to\");\n }\n\n this._notifySubscribers();\n }\n\n public switchToThread(threadId: string): void {\n if (this._mainThread?.threadId === threadId) return;\n const onSwitchToThread = this.adapter.onSwitchToThread;\n if (!onSwitchToThread)\n throw new Error(\n \"External store adapter does not support switching to thread\",\n );\n onSwitchToThread(threadId);\n }\n\n public switchToNewThread(): void {\n const onSwitchToNewThread = this.adapter.onSwitchToNewThread;\n if (!onSwitchToNewThread)\n throw new Error(\n \"External store adapter does not support switching to new thread\",\n );\n\n onSwitchToNewThread();\n }\n\n public async rename(threadId: string, newTitle: string): Promise<void> {\n const onRename = this.adapter.onRename;\n if (!onRename)\n throw new Error(\"External store adapter does not support renaming\");\n\n onRename(threadId, newTitle);\n }\n\n public async archive(threadId: string): Promise<void> {\n const onArchive = this.adapter.onArchive;\n if (!onArchive)\n throw new Error(\"External store adapter does not support archiving\");\n\n onArchive(threadId);\n }\n\n public async unarchive(threadId: string): Promise<void> {\n const onUnarchive = this.adapter.onUnarchive;\n if (!onUnarchive)\n throw new Error(\"External store adapter does not support unarchiving\");\n\n onUnarchive(threadId);\n }\n\n public async delete(threadId: string): Promise<void> {\n const onDelete = this.adapter.onDelete;\n if (!onDelete)\n throw new Error(\"External store adapter does not support deleting\");\n\n onDelete(threadId);\n }\n\n private _subscriptions = new Set<() => void>();\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n}\n"],"mappings":";AASA,IAAM,cAAc,OAAO,OAAO,CAAC,CAAC;AACpC,IAAM,oBAAoB;AAEnB,IAAM,wCAAN,MAEP;AAAA,EAeE,YACU,UAA6C,CAAC,GAC9C,eACR;AAFQ;AACA;AAER,SAAK,cAAc,KAAK,cAAc,iBAAiB;AAAA,EACzD;AAAA,EAnBA,IAAW,UAAU;AACnB,WAAO,KAAK,QAAQ,WAAW;AAAA,EACjC;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ,mBAAmB;AAAA,EACzC;AAAA,EAEQ;AAAA,EAER,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EASO,WAAW,SAA4C;AAC5D,UAAM,kBAAkB,KAAK;AAC7B,SAAK,UAAU;AAEf,UAAM,cAAc,QAAQ,YAAY;AACxC,UAAM,aAAa,QAAQ,WAAW;AACtC,UAAM,qBAAqB,QAAQ,mBAAmB;AAEtD,QACE,gBAAgB,aAAa,eAC7B,gBAAgB,YAAY,cAC5B,gBAAgB,oBAAoB,oBACpC;AACA;AAAA,IACF;AAEA,QAAI,gBAAgB,aAAa,aAAa;AAC5C,WAAK,YAAY,wBAAwB,eAAe;AACxD,WAAK,cAAc,KAAK,cAAc,WAAW;AACjD,WAAK,YAAY,wBAAwB,aAAa;AAAA,IACxD;AAEA,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEO,eAAe,UAAwB;AAC5C,QAAI,KAAK,aAAa,aAAa,SAAU;AAC7C,UAAM,mBAAmB,KAAK,QAAQ;AACtC,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AACF,qBAAiB,QAAQ;AAAA,EAC3B;AAAA,EAEO,oBAA0B;AAC/B,UAAM,sBAAsB,KAAK,QAAQ;AACzC,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAEF,wBAAoB;AAAA,EACtB;AAAA,EAEA,MAAa,OAAO,UAAkB,UAAiC;AACrE,UAAM,WAAW,KAAK,QAAQ;AAC9B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,kDAAkD;AAEpE,aAAS,UAAU,QAAQ;AAAA,EAC7B;AAAA,EAEA,MAAa,QAAQ,UAAiC;AACpD,UAAM,YAAY,KAAK,QAAQ;AAC/B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAErE,cAAU,QAAQ;AAAA,EACpB;AAAA,EAEA,MAAa,UAAU,UAAiC;AACtD,UAAM,cAAc,KAAK,QAAQ;AACjC,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,qDAAqD;AAEvE,gBAAY,QAAQ;AAAA,EACtB;AAAA,EAEA,MAAa,OAAO,UAAiC;AACnD,UAAM,WAAW,KAAK,QAAQ;AAC9B,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,kDAAkD;AAEpE,aAAS,QAAQ;AAAA,EACnB;AAAA,EAEQ,iBAAiB,oBAAI,IAAgB;AAAA,EAEtC,UAAU,UAAmC;AAClD,SAAK,eAAe,IAAI,QAAQ;AAChC,WAAO,MAAM,KAAK,eAAe,OAAO,QAAQ;AAAA,EAClD;AAAA,EAEQ,qBAAqB;AAC3B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalThreadManagerRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/LocalThreadManagerRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,yBAAyB,KAC5B,sBAAsB,CAAC;AAE5B,qBAAa,6BAA8B,YAAW,wBAAwB;IAoBhE,OAAO,CAAC,cAAc;IAnBlC,OAAO,CAAC,WAAW,CAAsC;IAEzD,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,gBAAgB,CAAwC;IAEhE,IAAW,OAAO,qCAEjB;IAED,IAAW,eAAe,qCAEzB;IAED,OAAO,CAAC,WAAW,CAAyB;IAE5C,IAAW,UAAU,IAAI,sBAAsB,CAE9C;gBAEmB,cAAc,EAAE,kBAAkB;IAW/C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUtC,iBAAiB,IAAI,IAAI;IAYhC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;IAyCT,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,cAAc,CAAyB;IAExC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnD,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadManagerRuntimeCore.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../core/ThreadManagerRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { generateId } from \"../../utils/idUtils\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\n\nexport type LocalThreadData = {\n data: ExportedMessageRepository;\n metadata: ThreadManagerMetadata;\n isArchived: boolean;\n};\n\nexport type LocalThreadFactory = (\n threadId: string,\n data: ExportedMessageRepository,\n) => LocalThreadRuntimeCore;\n\nexport class LocalThreadManagerRuntimeCore implements ThreadManagerRuntimeCore {\n private _threadData = new Map<string, LocalThreadData>();\n\n private _threads: readonly ThreadManagerMetadata[] = [];\n private _archivedThreads: readonly ThreadManagerMetadata[] = [];\n\n public get threads() {\n return this._threads;\n }\n\n public get archivedThreads() {\n return this._archivedThreads;\n }\n\n private _mainThread: LocalThreadRuntimeCore;\n\n public get mainThread(): LocalThreadRuntimeCore {\n return this._mainThread;\n }\n\n constructor(private _threadFactory: LocalThreadFactory) {\n const threadId = generateId();\n this._threadData.set(threadId, {\n data: { messages: [] },\n metadata: { threadId },\n isArchived: false,\n });\n this._threads = [{ threadId }];\n this._mainThread = this._threadFactory(threadId, { messages: [] });\n }\n\n public switchToThread(threadId: string): void {\n if (this._mainThread.threadId === threadId) return;\n\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n const thread = this._threadFactory(threadId, data.data);\n this._performThreadSwitch(thread);\n }\n\n public switchToNewThread(): void {\n const threadId = generateId();\n this._threadData.set(threadId, {\n data: { messages: [] },\n metadata: { threadId },\n isArchived: false,\n });\n this._threads = [{ threadId }];\n const thread = this._threadFactory(threadId, { messages: [] });\n this._performThreadSwitch(thread);\n }\n\n private _performThreadSwitch(newThreadCore: LocalThreadRuntimeCore) {\n const data = this._threadData.get(this._mainThread.threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n const exprt = this._mainThread.export();\n data.data = exprt;\n\n this._mainThread._notifyEventSubscribers(\"switched-away\");\n this._mainThread = newThreadCore;\n newThreadCore._notifyEventSubscribers(\"switched-to\");\n\n this._notifySubscribers();\n }\n\n private _performMoveOp(\n threadId: string,\n operation: \"archive\" | \"unarchive\" | \"delete\",\n ) {\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n if (operation === \"archive\" && data.isArchived) return;\n if (operation === \"unarchive\" && !data.isArchived) return;\n\n if (operation === \"archive\") {\n data.isArchived = true;\n this._archivedThreads = [...this._archivedThreads, data.metadata];\n }\n if (operation === \"unarchive\") {\n data.isArchived = false;\n this._threads = [...this._threads, data.metadata];\n }\n if (operation === \"delete\") {\n this._threadData.delete(threadId);\n }\n\n if (\n operation === \"archive\" ||\n (operation === \"delete\" && data.isArchived)\n ) {\n this._archivedThreads = this._archivedThreads.filter(\n (t) => t.threadId !== threadId,\n );\n }\n\n if (\n operation === \"unarchive\" ||\n (operation === \"delete\" && !data.isArchived)\n ) {\n this._threads = this._threads.filter((t) => t.threadId !== threadId);\n }\n\n this._notifySubscribers();\n }\n\n public async rename(threadId: string, newTitle: string): Promise<void> {\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n data.metadata = {\n ...data.metadata,\n title: newTitle,\n };\n\n const threadList = data.isArchived ? this.archivedThreads : this.threads;\n const idx = threadList.findIndex((t) => t.threadId === threadId);\n const updatedThreadList = threadList.toSpliced(idx, 1, data.metadata);\n if (data.isArchived) {\n this._archivedThreads = updatedThreadList;\n } else {\n this._threads = updatedThreadList;\n }\n this._notifySubscribers();\n }\n\n public async archive(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"archive\");\n }\n\n public async unarchive(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"unarchive\");\n }\n\n public async delete(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"delete\");\n }\n\n private _subscriptions = new Set<() => void>();\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadManagerRuntimeCore.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../core/ThreadManagerRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { generateId } from \"../../utils/idUtils\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\n\nexport type LocalThreadData = {\n data: ExportedMessageRepository;\n metadata: ThreadManagerMetadata;\n isArchived: boolean;\n};\n\nexport type LocalThreadFactory = (\n threadId: string,\n data: ExportedMessageRepository,\n) => LocalThreadRuntimeCore;\n\nexport class LocalThreadManagerRuntimeCore implements ThreadManagerRuntimeCore {\n private _threadData = new Map<string, LocalThreadData>();\n\n private _threads: readonly ThreadManagerMetadata[] = [];\n private _archivedThreads: readonly ThreadManagerMetadata[] = [];\n\n public get threads() {\n return this._threads;\n }\n\n public get archivedThreads() {\n return this._archivedThreads;\n }\n\n private _mainThread: LocalThreadRuntimeCore;\n\n public get mainThread(): LocalThreadRuntimeCore {\n return this._mainThread;\n }\n\n constructor(private _threadFactory: LocalThreadFactory) {\n const threadId = generateId();\n this._threadData.set(threadId, {\n data: { messages: [] },\n metadata: { threadId },\n isArchived: false,\n });\n this._threads = [{ threadId }];\n this._mainThread = this._threadFactory(threadId, { messages: [] });\n }\n\n public switchToThread(threadId: string): void {\n if (this._mainThread.threadId === threadId) return;\n\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n const thread = this._threadFactory(threadId, data.data);\n this._performThreadSwitch(thread);\n }\n\n public switchToNewThread(): void {\n const threadId = generateId();\n this._threadData.set(threadId, {\n data: { messages: [] },\n metadata: { threadId },\n isArchived: false,\n });\n this._threads = [{ threadId }];\n const thread = this._threadFactory(threadId, { messages: [] });\n this._performThreadSwitch(thread);\n }\n\n private _performThreadSwitch(newThreadCore: LocalThreadRuntimeCore) {\n const data = this._threadData.get(this._mainThread.threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n const exprt = this._mainThread.export();\n data.data = exprt;\n\n this._mainThread._notifyEventSubscribers(\"switched-away\");\n this._mainThread = newThreadCore;\n newThreadCore._notifyEventSubscribers(\"switched-to\");\n\n this._notifySubscribers();\n }\n\n private _performMoveOp(\n threadId: string,\n operation: \"archive\" | \"unarchive\" | \"delete\",\n ) {\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n if (operation === \"archive\" && data.isArchived) return;\n if (operation === \"unarchive\" && !data.isArchived) return;\n\n if (operation === \"archive\") {\n data.isArchived = true;\n this._archivedThreads = [...this._archivedThreads, data.metadata];\n }\n if (operation === \"unarchive\") {\n data.isArchived = false;\n this._threads = [...this._threads, data.metadata];\n }\n if (operation === \"delete\") {\n this._threadData.delete(threadId);\n }\n\n if (\n operation === \"archive\" ||\n (operation === \"delete\" && data.isArchived)\n ) {\n this._archivedThreads = this._archivedThreads.filter(\n (t) => t.threadId !== threadId,\n );\n }\n\n if (\n operation === \"unarchive\" ||\n (operation === \"delete\" && !data.isArchived)\n ) {\n this._threads = this._threads.filter((t) => t.threadId !== threadId);\n }\n\n this._notifySubscribers();\n }\n\n public async rename(threadId: string, newTitle: string): Promise<void> {\n const data = this._threadData.get(threadId);\n if (!data) throw new Error(\"Thread not found\");\n\n data.metadata = {\n ...data.metadata,\n title: newTitle,\n };\n\n const threadList = data.isArchived ? this.archivedThreads : this.threads;\n const idx = threadList.findIndex((t) => t.threadId === threadId);\n const updatedThreadList = threadList.toSpliced(idx, 1, data.metadata);\n if (data.isArchived) {\n this._archivedThreads = updatedThreadList;\n } else {\n this._threads = updatedThreadList;\n }\n this._notifySubscribers();\n }\n\n public async archive(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"archive\");\n }\n\n public async unarchive(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"unarchive\");\n }\n\n public async delete(threadId: string): Promise<void> {\n this._performMoveOp(threadId, \"delete\");\n }\n\n private _subscriptions = new Set<() => void>();\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
|
|
2
|
-
import {
|
|
3
|
-
ThreadManagerMetadata,
|
|
4
|
-
ThreadManagerRuntimeCore,
|
|
5
|
-
} from "../runtimes/core/ThreadManagerRuntimeCore";
|
|
6
|
-
import { Unsubscribe } from "../types";
|
|
7
|
-
import { ThreadManagerRuntimePath } from "./RuntimePathTypes";
|
|
8
|
-
|
|
9
|
-
export type ThreadManagerState = Readonly<{
|
|
10
|
-
threads: readonly ThreadManagerMetadata[];
|
|
11
|
-
archivedThreads: readonly ThreadManagerMetadata[];
|
|
12
|
-
}>;
|
|
13
|
-
|
|
14
|
-
export type ThreadManagerRuntime = Readonly<{
|
|
15
|
-
path: ThreadManagerRuntimePath;
|
|
16
|
-
getState(): ThreadManagerState;
|
|
17
|
-
|
|
18
|
-
rename(threadId: string, newTitle: string): Promise<void>;
|
|
19
|
-
archive(threadId: string): Promise<void>;
|
|
20
|
-
unarchive(threadId: string): Promise<void>;
|
|
21
|
-
delete(threadId: string): Promise<void>;
|
|
22
|
-
|
|
23
|
-
subscribe(callback: () => void): Unsubscribe;
|
|
24
|
-
}>;
|
|
25
|
-
|
|
26
|
-
const getThreadManagerState = (
|
|
27
|
-
threadManager: ThreadManagerRuntimeCore,
|
|
28
|
-
): ThreadManagerState => {
|
|
29
|
-
return {
|
|
30
|
-
threads: threadManager.threads,
|
|
31
|
-
archivedThreads: threadManager.archivedThreads,
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const THREAD_MANAGER_PATH = {
|
|
36
|
-
ref: "threadManager",
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;
|
|
40
|
-
|
|
41
|
-
export class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {
|
|
42
|
-
public get path() {
|
|
43
|
-
return THREAD_MANAGER_PATH;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
private _getState;
|
|
47
|
-
constructor(private _core: ThreadManagerRuntimeCoreBinding) {
|
|
48
|
-
const stateBinding = new LazyMemoizeSubject({
|
|
49
|
-
path: THREAD_MANAGER_PATH,
|
|
50
|
-
getState: () => getThreadManagerState(_core),
|
|
51
|
-
subscribe: (callback) => _core.subscribe(callback),
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
this._getState = stateBinding.getState.bind(stateBinding);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
public getState(): ThreadManagerState {
|
|
58
|
-
return this._getState();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
public rename(threadId: string, newTitle: string): Promise<void> {
|
|
62
|
-
return this._core.rename(threadId, newTitle);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
public archive(threadId: string): Promise<void> {
|
|
66
|
-
return this._core.archive(threadId);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
public unarchive(threadId: string): Promise<void> {
|
|
70
|
-
return this._core.unarchive(threadId);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
public delete(threadId: string): Promise<void> {
|
|
74
|
-
return this._core.delete(threadId);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public subscribe(callback: () => void): Unsubscribe {
|
|
78
|
-
return this._core.subscribe(callback);
|
|
79
|
-
}
|
|
80
|
-
}
|
/package/dist/runtimes/core/{ThreadManagerRuntimeCore.mjs.map → ThreadListRuntimeCore.mjs.map}
RENAMED
|
File without changes
|