@assistant-ui/react 0.5.82 → 0.5.83
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{edge-8bY1SEQ-.d.mts → edge-B3YIacNl.d.mts} +1 -1
- package/dist/{edge-8bY1SEQ-.d.ts → edge-B3YIacNl.d.ts} +1 -1
- package/dist/index.d.mts +1758 -725
- package/dist/index.d.ts +1758 -725
- package/dist/index.js +467 -237
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +399 -169
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13; var _class14; var _class15; var _class16;
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13; var _class14; var _class15; var _class16; var _class17; var _class18;
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -85,6 +85,10 @@ var { useToolUIs, useToolUIsStore } = createContextStoreHook(
|
|
85
85
|
useAssistantContext,
|
86
86
|
"useToolUIs"
|
87
87
|
);
|
88
|
+
var { useThreadManager } = createContextStoreHook(
|
89
|
+
useAssistantContext,
|
90
|
+
"useThreadManager"
|
91
|
+
);
|
88
92
|
|
89
93
|
// src/context/stores/AssistantToolUIs.ts
|
90
94
|
var _zustand = require('zustand');
|
@@ -259,16 +263,29 @@ var useAssistantRuntimeStore2 = (runtime) => {
|
|
259
263
|
var useAssistantToolUIsStore = () => {
|
260
264
|
return _react.useMemo.call(void 0, () => makeAssistantToolUIsStore(), []);
|
261
265
|
};
|
266
|
+
var useThreadManagerStore = (runtime) => {
|
267
|
+
const [store] = _react.useState.call(void 0,
|
268
|
+
() => _zustand.create.call(void 0, () => runtime.threadManager.getState())
|
269
|
+
);
|
270
|
+
_react.useEffect.call(void 0, () => {
|
271
|
+
const updateState = () => writableStore(store).setState(runtime.threadManager.getState(), true);
|
272
|
+
updateState();
|
273
|
+
return runtime.threadManager.subscribe(updateState);
|
274
|
+
}, [runtime, store]);
|
275
|
+
return store;
|
276
|
+
};
|
262
277
|
var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
263
278
|
const useAssistantRuntime2 = useAssistantRuntimeStore2(runtime);
|
264
279
|
const useToolUIs2 = useAssistantToolUIsStore();
|
280
|
+
const useThreadManager2 = useThreadManagerStore(runtime);
|
265
281
|
const context = _react.useMemo.call(void 0, () => {
|
266
282
|
return {
|
267
283
|
useToolUIs: useToolUIs2,
|
268
284
|
useAssistantRuntime: useAssistantRuntime2,
|
269
|
-
useAssistantActions: useAssistantRuntime2
|
285
|
+
useAssistantActions: useAssistantRuntime2,
|
286
|
+
useThreadManager: useThreadManager2
|
270
287
|
};
|
271
|
-
}, [useAssistantRuntime2, useToolUIs2]);
|
288
|
+
}, [useAssistantRuntime2, useToolUIs2, useThreadManager2]);
|
272
289
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AssistantContext.Provider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadRuntimeProvider, { runtime: runtime.thread, children }) });
|
273
290
|
};
|
274
291
|
var AssistantRuntimeProvider = _react.memo.call(void 0, AssistantRuntimeProviderImpl);
|
@@ -3017,13 +3034,13 @@ var subscribeToMainThread = (runtime, callback) => {
|
|
3017
3034
|
let cleanup;
|
3018
3035
|
const inner = () => {
|
3019
3036
|
_optionalChain([cleanup, 'optionalCall', _154 => _154()]);
|
3020
|
-
cleanup = runtime.
|
3037
|
+
cleanup = runtime.threadManager.mainThread.subscribe(callback);
|
3021
3038
|
if (!first) {
|
3022
3039
|
callback();
|
3023
3040
|
}
|
3024
3041
|
first = false;
|
3025
3042
|
};
|
3026
|
-
const unsubscribe = runtime.subscribe(inner);
|
3043
|
+
const unsubscribe = runtime.threadManager.mainThread.subscribe(inner);
|
3027
3044
|
inner();
|
3028
3045
|
return () => {
|
3029
3046
|
unsubscribe();
|
@@ -3034,29 +3051,44 @@ var subscribeToMainThread = (runtime, callback) => {
|
|
3034
3051
|
// src/runtimes/local/useLocalRuntime.tsx
|
3035
3052
|
|
3036
3053
|
|
3037
|
-
// src/
|
3038
|
-
var
|
3039
|
-
|
3040
|
-
|
3041
|
-
|
3054
|
+
// src/utils/ProxyConfigProvider.ts
|
3055
|
+
var ProxyConfigProvider = (_class5 = class {constructor() { _class5.prototype.__init9.call(this);_class5.prototype.__init10.call(this); }
|
3056
|
+
__init9() {this._providers = /* @__PURE__ */ new Set()}
|
3057
|
+
getModelConfig() {
|
3058
|
+
return _chunkC6UZOY5Ajs.mergeModelConfigs.call(void 0, this._providers);
|
3042
3059
|
}
|
3043
|
-
|
3044
|
-
|
3060
|
+
registerModelConfigProvider(provider) {
|
3061
|
+
this._providers.add(provider);
|
3062
|
+
const unsubscribe = _optionalChain([provider, 'access', _156 => _156.subscribe, 'optionalCall', _157 => _157(() => {
|
3063
|
+
this.notifySubscribers();
|
3064
|
+
})]);
|
3065
|
+
this.notifySubscribers();
|
3066
|
+
return () => {
|
3067
|
+
this._providers.delete(provider);
|
3068
|
+
_optionalChain([unsubscribe, 'optionalCall', _158 => _158()]);
|
3069
|
+
this.notifySubscribers();
|
3070
|
+
};
|
3045
3071
|
}
|
3046
|
-
|
3047
|
-
|
3048
|
-
this.
|
3072
|
+
__init10() {this._subscribers = /* @__PURE__ */ new Set()}
|
3073
|
+
notifySubscribers() {
|
3074
|
+
for (const callback of this._subscribers) callback();
|
3049
3075
|
}
|
3050
|
-
__init9() {this._subscriptions = /* @__PURE__ */ new Set()}
|
3051
3076
|
subscribe(callback) {
|
3052
|
-
this.
|
3053
|
-
return () => this.
|
3077
|
+
this._subscribers.add(callback);
|
3078
|
+
return () => this._subscribers.delete(callback);
|
3054
3079
|
}
|
3055
|
-
__init10() {this.subscriptionHandler = () => {
|
3056
|
-
for (const callback of this._subscriptions) callback();
|
3057
|
-
}}
|
3058
3080
|
}, _class5);
|
3059
3081
|
|
3082
|
+
// src/runtimes/core/BaseAssistantRuntimeCore.tsx
|
3083
|
+
var BaseAssistantRuntimeCore = (_class6 = class {
|
3084
|
+
__init11() {this._proxyConfigProvider = new ProxyConfigProvider()}
|
3085
|
+
constructor() {;_class6.prototype.__init11.call(this);
|
3086
|
+
}
|
3087
|
+
registerModelConfigProvider(provider) {
|
3088
|
+
return this._proxyConfigProvider.registerModelConfigProvider(provider);
|
3089
|
+
}
|
3090
|
+
}, _class6);
|
3091
|
+
|
3060
3092
|
// src/internal.ts
|
3061
3093
|
var internal_exports = {};
|
3062
3094
|
_chunkPZ5AY32Cjs.__export.call(void 0, internal_exports, {
|
@@ -3075,12 +3107,12 @@ _chunkPZ5AY32Cjs.__export.call(void 0, internal_exports, {
|
|
3075
3107
|
|
3076
3108
|
// src/runtimes/composer/BaseComposerRuntimeCore.tsx
|
3077
3109
|
var isAttachmentComplete = (a) => a.status.type === "complete";
|
3078
|
-
var BaseComposerRuntimeCore = (
|
3079
|
-
|
3110
|
+
var BaseComposerRuntimeCore = (_class7 = class {constructor() { _class7.prototype.__init12.call(this);_class7.prototype.__init13.call(this);_class7.prototype.__init14.call(this);_class7.prototype.__init15.call(this); }
|
3111
|
+
__init12() {this.isEditing = true}
|
3080
3112
|
getAttachmentAccept() {
|
3081
|
-
return _nullishCoalesce(_optionalChain([this, 'access',
|
3113
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _159 => _159.getAttachmentAdapter, 'call', _160 => _160(), 'optionalAccess', _161 => _161.accept]), () => ( "*"));
|
3082
3114
|
}
|
3083
|
-
|
3115
|
+
__init13() {this._attachments = []}
|
3084
3116
|
set attachments(value) {
|
3085
3117
|
this._attachments = value;
|
3086
3118
|
this.notifySubscribers();
|
@@ -3091,7 +3123,7 @@ var BaseComposerRuntimeCore = (_class6 = class {constructor() { _class6.prototyp
|
|
3091
3123
|
get isEmpty() {
|
3092
3124
|
return !this.text.trim() && !this.attachments.length;
|
3093
3125
|
}
|
3094
|
-
|
3126
|
+
__init14() {this._text = ""}
|
3095
3127
|
get text() {
|
3096
3128
|
return this._text;
|
3097
3129
|
}
|
@@ -3110,7 +3142,7 @@ var BaseComposerRuntimeCore = (_class6 = class {constructor() { _class6.prototyp
|
|
3110
3142
|
this.attachments.map(async (a) => {
|
3111
3143
|
if (isAttachmentComplete(a)) return a;
|
3112
3144
|
const result = await adapter.send(a);
|
3113
|
-
if (_optionalChain([result, 'access',
|
3145
|
+
if (_optionalChain([result, 'access', _162 => _162.status, 'optionalAccess', _163 => _163.type]) !== "complete") {
|
3114
3146
|
result.status = { type: "complete" };
|
3115
3147
|
}
|
3116
3148
|
return result;
|
@@ -3144,7 +3176,7 @@ var BaseComposerRuntimeCore = (_class6 = class {constructor() { _class6.prototyp
|
|
3144
3176
|
this._attachments = this._attachments.toSpliced(index, 1);
|
3145
3177
|
this.notifySubscribers();
|
3146
3178
|
}
|
3147
|
-
|
3179
|
+
__init15() {this._subscriptions = /* @__PURE__ */ new Set()}
|
3148
3180
|
notifySubscribers() {
|
3149
3181
|
for (const callback of this._subscriptions) callback();
|
3150
3182
|
}
|
@@ -3152,16 +3184,16 @@ var BaseComposerRuntimeCore = (_class6 = class {constructor() { _class6.prototyp
|
|
3152
3184
|
this._subscriptions.add(callback);
|
3153
3185
|
return () => this._subscriptions.delete(callback);
|
3154
3186
|
}
|
3155
|
-
},
|
3187
|
+
}, _class7);
|
3156
3188
|
|
3157
3189
|
// src/runtimes/composer/DefaultThreadComposerRuntimeCore.tsx
|
3158
|
-
var DefaultThreadComposerRuntimeCore = (
|
3190
|
+
var DefaultThreadComposerRuntimeCore = (_class8 = class extends BaseComposerRuntimeCore {
|
3159
3191
|
constructor(runtime) {
|
3160
|
-
super();
|
3192
|
+
super();_class8.prototype.__init16.call(this);;
|
3161
3193
|
this.runtime = runtime;
|
3162
3194
|
this.connect();
|
3163
3195
|
}
|
3164
|
-
|
3196
|
+
__init16() {this._canCancel = false}
|
3165
3197
|
get canCancel() {
|
3166
3198
|
return this._canCancel;
|
3167
3199
|
}
|
@@ -3169,7 +3201,7 @@ var DefaultThreadComposerRuntimeCore = (_class7 = class extends BaseComposerRunt
|
|
3169
3201
|
return super.attachments;
|
3170
3202
|
}
|
3171
3203
|
getAttachmentAdapter() {
|
3172
|
-
return _optionalChain([this, 'access',
|
3204
|
+
return _optionalChain([this, 'access', _164 => _164.runtime, 'access', _165 => _165.adapters, 'optionalAccess', _166 => _166.attachments]);
|
3173
3205
|
}
|
3174
3206
|
connect() {
|
3175
3207
|
return this.runtime.subscribe(() => {
|
@@ -3182,40 +3214,12 @@ var DefaultThreadComposerRuntimeCore = (_class7 = class extends BaseComposerRunt
|
|
3182
3214
|
async handleSend(message) {
|
3183
3215
|
this.runtime.append({
|
3184
3216
|
...message,
|
3185
|
-
parentId: _nullishCoalesce(_optionalChain([this, 'access',
|
3217
|
+
parentId: _nullishCoalesce(_optionalChain([this, 'access', _167 => _167.runtime, 'access', _168 => _168.messages, 'access', _169 => _169.at, 'call', _170 => _170(-1), 'optionalAccess', _171 => _171.id]), () => ( null))
|
3186
3218
|
});
|
3187
3219
|
}
|
3188
3220
|
async cancel() {
|
3189
3221
|
this.runtime.cancelRun();
|
3190
3222
|
}
|
3191
|
-
}, _class7);
|
3192
|
-
|
3193
|
-
// src/utils/ProxyConfigProvider.ts
|
3194
|
-
var ProxyConfigProvider = (_class8 = class {constructor() { _class8.prototype.__init16.call(this);_class8.prototype.__init17.call(this); }
|
3195
|
-
__init16() {this._providers = /* @__PURE__ */ new Set()}
|
3196
|
-
getModelConfig() {
|
3197
|
-
return _chunkC6UZOY5Ajs.mergeModelConfigs.call(void 0, this._providers);
|
3198
|
-
}
|
3199
|
-
registerModelConfigProvider(provider) {
|
3200
|
-
this._providers.add(provider);
|
3201
|
-
const unsubscribe = _optionalChain([provider, 'access', _169 => _169.subscribe, 'optionalCall', _170 => _170(() => {
|
3202
|
-
this.notifySubscribers();
|
3203
|
-
})]);
|
3204
|
-
this.notifySubscribers();
|
3205
|
-
return () => {
|
3206
|
-
this._providers.delete(provider);
|
3207
|
-
_optionalChain([unsubscribe, 'optionalCall', _171 => _171()]);
|
3208
|
-
this.notifySubscribers();
|
3209
|
-
};
|
3210
|
-
}
|
3211
|
-
__init17() {this._subscribers = /* @__PURE__ */ new Set()}
|
3212
|
-
notifySubscribers() {
|
3213
|
-
for (const callback of this._subscribers) callback();
|
3214
|
-
}
|
3215
|
-
subscribe(callback) {
|
3216
|
-
this._subscribers.add(callback);
|
3217
|
-
return () => this._subscribers.delete(callback);
|
3218
|
-
}
|
3219
3223
|
}, _class8);
|
3220
3224
|
|
3221
3225
|
// src/utils/idUtils.tsx
|
@@ -3283,11 +3287,11 @@ var findHead = (message) => {
|
|
3283
3287
|
if ("current" in message) return message;
|
3284
3288
|
return null;
|
3285
3289
|
};
|
3286
|
-
var MessageRepository = (_class9 = class {constructor() { _class9.prototype.
|
3287
|
-
|
3290
|
+
var MessageRepository = (_class9 = class {constructor() { _class9.prototype.__init17.call(this);_class9.prototype.__init18.call(this);_class9.prototype.__init19.call(this); }
|
3291
|
+
__init17() {this.messages = /* @__PURE__ */ new Map()}
|
3288
3292
|
// message_id -> item
|
3289
|
-
|
3290
|
-
|
3293
|
+
__init18() {this.head = null}
|
3294
|
+
__init19() {this.root = {
|
3291
3295
|
children: [],
|
3292
3296
|
next: null
|
3293
3297
|
}}
|
@@ -3652,7 +3656,7 @@ var ThreadRuntimeImpl = (_class10 = class {
|
|
3652
3656
|
return this._threadBinding.getState();
|
3653
3657
|
}
|
3654
3658
|
|
3655
|
-
constructor(threadBinding) {;_class10.prototype.
|
3659
|
+
constructor(threadBinding) {;_class10.prototype.__init20.call(this);
|
3656
3660
|
const stateBinding = new LazyMemoizeSubject({
|
3657
3661
|
path: threadBinding.path,
|
3658
3662
|
getState: () => getThreadState(threadBinding.getState()),
|
@@ -3810,7 +3814,7 @@ var ThreadRuntimeImpl = (_class10 = class {
|
|
3810
3814
|
this._threadBinding
|
3811
3815
|
);
|
3812
3816
|
}
|
3813
|
-
|
3817
|
+
__init20() {this._eventListenerNestedSubscriptions = /* @__PURE__ */ new Map()}
|
3814
3818
|
unstable_on(event, callback) {
|
3815
3819
|
let subject = this._eventListenerNestedSubscriptions.get(event);
|
3816
3820
|
if (!subject) {
|
@@ -3827,20 +3831,67 @@ var ThreadRuntimeImpl = (_class10 = class {
|
|
3827
3831
|
}
|
3828
3832
|
}, _class10);
|
3829
3833
|
|
3834
|
+
// src/api/ThreadManagerRuntime.ts
|
3835
|
+
var getThreadManagerState = (threadManager) => {
|
3836
|
+
return {
|
3837
|
+
threads: threadManager.threads,
|
3838
|
+
archivedThreads: threadManager.archivedThreads
|
3839
|
+
};
|
3840
|
+
};
|
3841
|
+
var THREAD_MANAGER_PATH = {
|
3842
|
+
ref: "threadManager"
|
3843
|
+
};
|
3844
|
+
var ThreadManagerRuntimeImpl = class {
|
3845
|
+
constructor(_core) {
|
3846
|
+
this._core = _core;
|
3847
|
+
const stateBinding = new LazyMemoizeSubject({
|
3848
|
+
path: THREAD_MANAGER_PATH,
|
3849
|
+
getState: () => getThreadManagerState(_core),
|
3850
|
+
subscribe: (callback) => _core.subscribe(callback)
|
3851
|
+
});
|
3852
|
+
this._getState = stateBinding.getState.bind(stateBinding);
|
3853
|
+
}
|
3854
|
+
get path() {
|
3855
|
+
return THREAD_MANAGER_PATH;
|
3856
|
+
}
|
3857
|
+
|
3858
|
+
getState() {
|
3859
|
+
return this._getState();
|
3860
|
+
}
|
3861
|
+
rename(threadId, newTitle) {
|
3862
|
+
return this._core.rename(threadId, newTitle);
|
3863
|
+
}
|
3864
|
+
archive(threadId) {
|
3865
|
+
return this._core.archive(threadId);
|
3866
|
+
}
|
3867
|
+
unarchive(threadId) {
|
3868
|
+
return this._core.unarchive(threadId);
|
3869
|
+
}
|
3870
|
+
delete(threadId) {
|
3871
|
+
return this._core.delete(threadId);
|
3872
|
+
}
|
3873
|
+
subscribe(callback) {
|
3874
|
+
return this._core.subscribe(callback);
|
3875
|
+
}
|
3876
|
+
};
|
3877
|
+
|
3830
3878
|
// src/api/AssistantRuntime.ts
|
3831
3879
|
var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
3832
3880
|
constructor(_core, _thread) {
|
3833
3881
|
this._core = _core;
|
3834
3882
|
this._thread = _thread;
|
3883
|
+
this.threadManager = new ThreadManagerRuntimeImpl(_core.threadManager);
|
3835
3884
|
}
|
3885
|
+
|
3836
3886
|
get thread() {
|
3837
3887
|
return this._thread;
|
3838
3888
|
}
|
3839
3889
|
switchToNewThread() {
|
3840
|
-
return this._core.switchToNewThread();
|
3890
|
+
return this._core.threadManager.switchToNewThread();
|
3841
3891
|
}
|
3842
3892
|
switchToThread(threadId) {
|
3843
|
-
return this.
|
3893
|
+
if (threadId === null) return this.switchToNewThread();
|
3894
|
+
return this._core.threadManager.switchToThread(threadId);
|
3844
3895
|
}
|
3845
3896
|
registerModelConfigProvider(provider) {
|
3846
3897
|
return this._core.registerModelConfigProvider(provider);
|
@@ -3848,8 +3899,9 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
3848
3899
|
/**
|
3849
3900
|
* @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.
|
3850
3901
|
*/
|
3851
|
-
subscribe(
|
3852
|
-
return
|
3902
|
+
subscribe() {
|
3903
|
+
return () => {
|
3904
|
+
};
|
3853
3905
|
}
|
3854
3906
|
static createMainThreadRuntime(_core, CustomThreadRuntime = ThreadRuntimeImpl) {
|
3855
3907
|
return new CustomThreadRuntime(
|
@@ -3858,8 +3910,8 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
3858
3910
|
ref: "threads.main",
|
3859
3911
|
threadSelector: { type: "main" }
|
3860
3912
|
},
|
3861
|
-
getState: () => _core.
|
3862
|
-
subscribe: (callback) => _core.subscribe(callback)
|
3913
|
+
getState: () => _core.threadManager.mainThread,
|
3914
|
+
subscribe: (callback) => _core.threadManager.subscribe(callback)
|
3863
3915
|
})
|
3864
3916
|
);
|
3865
3917
|
}
|
@@ -4269,22 +4321,19 @@ var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
|
|
4269
4321
|
|
4270
4322
|
// src/runtimes/core/BaseThreadRuntimeCore.tsx
|
4271
4323
|
var BaseThreadRuntimeCore = (_class11 = class {
|
4272
|
-
constructor(configProvider) {;_class11.prototype.
|
4324
|
+
constructor(configProvider) {;_class11.prototype.__init21.call(this);_class11.prototype.__init22.call(this);_class11.prototype.__init23.call(this);_class11.prototype.__init24.call(this);_class11.prototype.__init25.call(this);_class11.prototype.__init26.call(this);
|
4273
4325
|
this.configProvider = configProvider;
|
4274
|
-
_optionalChain([this, 'access', _208 => _208.configProvider, 'access', _209 => _209.subscribe, 'optionalCall', _210 => _210(() => {
|
4275
|
-
this._notifyEventSubscribers("model-config-update");
|
4276
|
-
})]);
|
4277
4326
|
}
|
4278
|
-
|
4279
|
-
|
4327
|
+
__init21() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4328
|
+
__init22() {this.repository = new MessageRepository()}
|
4280
4329
|
get messages() {
|
4281
4330
|
return this.repository.getMessages();
|
4282
4331
|
}
|
4283
|
-
|
4332
|
+
__init23() {this.composer = new DefaultThreadComposerRuntimeCore(this)}
|
4284
4333
|
getModelConfig() {
|
4285
4334
|
return this.configProvider.getModelConfig();
|
4286
4335
|
}
|
4287
|
-
|
4336
|
+
__init24() {this._editComposers = /* @__PURE__ */ new Map()}
|
4288
4337
|
getEditComposer(messageId) {
|
4289
4338
|
return this._editComposers.get(messageId);
|
4290
4339
|
}
|
@@ -4323,12 +4372,12 @@ var BaseThreadRuntimeCore = (_class11 = class {
|
|
4323
4372
|
this._subscriptions.add(callback);
|
4324
4373
|
return () => this._subscriptions.delete(callback);
|
4325
4374
|
}
|
4326
|
-
|
4375
|
+
__init25() {this._submittedFeedback = {}}
|
4327
4376
|
getSubmittedFeedback(messageId) {
|
4328
4377
|
return this._submittedFeedback[messageId];
|
4329
4378
|
}
|
4330
4379
|
submitFeedback({ messageId, type }) {
|
4331
|
-
const adapter = _optionalChain([this, 'access',
|
4380
|
+
const adapter = _optionalChain([this, 'access', _208 => _208.adapters, 'optionalAccess', _209 => _209.feedback]);
|
4332
4381
|
if (!adapter) throw new Error("Feedback adapter not configured");
|
4333
4382
|
const { message } = this.repository.getMessage(messageId);
|
4334
4383
|
adapter.submit({ message, type });
|
@@ -4338,10 +4387,10 @@ var BaseThreadRuntimeCore = (_class11 = class {
|
|
4338
4387
|
|
4339
4388
|
|
4340
4389
|
speak(messageId) {
|
4341
|
-
const adapter = _optionalChain([this, 'access',
|
4390
|
+
const adapter = _optionalChain([this, 'access', _210 => _210.adapters, 'optionalAccess', _211 => _211.speech]);
|
4342
4391
|
if (!adapter) throw new Error("Speech adapter not configured");
|
4343
4392
|
const { message } = this.repository.getMessage(messageId);
|
4344
|
-
_optionalChain([this, 'access',
|
4393
|
+
_optionalChain([this, 'access', _212 => _212._stopSpeaking, 'optionalCall', _213 => _213()]);
|
4345
4394
|
const utterance = adapter.speak(getThreadMessageText(message));
|
4346
4395
|
const unsub = utterance.subscribe(() => {
|
4347
4396
|
if (utterance.status.type === "ended") {
|
@@ -4373,8 +4422,12 @@ var BaseThreadRuntimeCore = (_class11 = class {
|
|
4373
4422
|
this.repository.import(data);
|
4374
4423
|
this._notifySubscribers();
|
4375
4424
|
}
|
4376
|
-
|
4425
|
+
__init26() {this._eventSubscribers = /* @__PURE__ */ new Map()}
|
4377
4426
|
unstable_on(event, callback) {
|
4427
|
+
if (event === "model-config-update") {
|
4428
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _214 => _214.configProvider, 'access', _215 => _215.subscribe, 'optionalCall', _216 => _216(callback)]), () => ( (() => {
|
4429
|
+
})));
|
4430
|
+
}
|
4378
4431
|
const subscribers = this._eventSubscribers.get(event);
|
4379
4432
|
if (!subscribers) {
|
4380
4433
|
this._eventSubscribers.set(event, /* @__PURE__ */ new Set([callback]));
|
@@ -4390,21 +4443,12 @@ var BaseThreadRuntimeCore = (_class11 = class {
|
|
4390
4443
|
|
4391
4444
|
// src/runtimes/local/LocalThreadRuntimeCore.tsx
|
4392
4445
|
var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
|
4393
|
-
constructor(configProvider,
|
4394
|
-
super(configProvider);_class12.prototype.
|
4395
|
-
this.
|
4396
|
-
this.
|
4397
|
-
this.options = options;
|
4398
|
-
if (initialMessages) {
|
4399
|
-
let parentId = null;
|
4400
|
-
const messages2 = fromCoreMessages(initialMessages);
|
4401
|
-
for (const message of messages2) {
|
4402
|
-
this.repository.addOrUpdateMessage(parentId, message);
|
4403
|
-
parentId = message.id;
|
4404
|
-
}
|
4405
|
-
}
|
4446
|
+
constructor(configProvider, threadId, options) {
|
4447
|
+
super(configProvider);_class12.prototype.__init27.call(this);_class12.prototype.__init28.call(this);_class12.prototype.__init29.call(this);_class12.prototype.__init30.call(this);;
|
4448
|
+
this.threadId = threadId;
|
4449
|
+
this._options = options;
|
4406
4450
|
}
|
4407
|
-
|
4451
|
+
__init27() {this.capabilities = {
|
4408
4452
|
switchToBranch: true,
|
4409
4453
|
edit: true,
|
4410
4454
|
reload: true,
|
@@ -4414,21 +4458,18 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
|
|
4414
4458
|
attachments: false,
|
4415
4459
|
feedback: false
|
4416
4460
|
}}
|
4417
|
-
|
4418
|
-
|
4419
|
-
__init30() {this.
|
4420
|
-
__init31() {this.suggestions = []}
|
4461
|
+
__init28() {this.abortController = null}
|
4462
|
+
__init29() {this.isDisabled = false}
|
4463
|
+
__init30() {this.suggestions = []}
|
4421
4464
|
get adapters() {
|
4422
|
-
return this.
|
4465
|
+
return this._options.adapters;
|
4423
4466
|
}
|
4424
4467
|
|
4425
|
-
get options() {
|
4426
|
-
return this._options;
|
4427
|
-
}
|
4428
4468
|
get extras() {
|
4429
4469
|
return void 0;
|
4430
4470
|
}
|
4431
|
-
|
4471
|
+
setOptions(options) {
|
4472
|
+
if (this._options === options) return;
|
4432
4473
|
this._options = options;
|
4433
4474
|
let hasUpdates = false;
|
4434
4475
|
const canSpeak = _optionalChain([options, 'access', _217 => _217.adapters, 'optionalAccess', _218 => _218.speech]) !== void 0;
|
@@ -4504,7 +4545,7 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
|
|
4504
4545
|
this.repository.addOrUpdateMessage(parentId, message);
|
4505
4546
|
this._notifySubscribers();
|
4506
4547
|
};
|
4507
|
-
const maxSteps = this.
|
4548
|
+
const maxSteps = this._options.maxSteps ? this._options.maxSteps : (_nullishCoalesce(this._options.maxToolRoundtrips, () => ( 1))) + 1;
|
4508
4549
|
const steps = _nullishCoalesce(_optionalChain([message, 'access', _236 => _236.metadata, 'optionalAccess', _237 => _237.steps, 'optionalAccess', _238 => _238.length]), () => ( 0));
|
4509
4550
|
if (steps >= maxSteps) {
|
4510
4551
|
updateMessage({
|
@@ -4522,7 +4563,7 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
|
|
4522
4563
|
});
|
4523
4564
|
}
|
4524
4565
|
try {
|
4525
|
-
const promiseOrGenerator = this.
|
4566
|
+
const promiseOrGenerator = this.adapters.chatModel.run({
|
4526
4567
|
messages: messages2,
|
4527
4568
|
abortSignal: this.abortController.signal,
|
4528
4569
|
config: this.getModelConfig(),
|
@@ -4595,44 +4636,154 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
|
|
4595
4636
|
}
|
4596
4637
|
}, _class12);
|
4597
4638
|
|
4598
|
-
// src/runtimes/local/
|
4599
|
-
var
|
4639
|
+
// src/runtimes/local/LocalThreadManagerRuntimeCore.tsx
|
4640
|
+
var LocalThreadManagerRuntimeCore = (_class13 = class {
|
4641
|
+
constructor(_threadFactory) {;_class13.prototype.__init31.call(this);_class13.prototype.__init32.call(this);_class13.prototype.__init33.call(this);_class13.prototype.__init34.call(this);
|
4642
|
+
this._threadFactory = _threadFactory;
|
4643
|
+
this._mainThread = this._threadFactory(generateId(), { messages: [] });
|
4644
|
+
}
|
4645
|
+
__init31() {this._threadData = /* @__PURE__ */ new Map()}
|
4646
|
+
__init32() {this._threads = []}
|
4647
|
+
__init33() {this._archivedThreads = []}
|
4648
|
+
get threads() {
|
4649
|
+
return this._threads;
|
4650
|
+
}
|
4651
|
+
get archivedThreads() {
|
4652
|
+
return this._archivedThreads;
|
4653
|
+
}
|
4600
4654
|
|
4601
|
-
|
4602
|
-
|
4603
|
-
super(new LocalThreadRuntimeCore(proxyConfigProvider, adapter, options));
|
4604
|
-
this._proxyConfigProvider = proxyConfigProvider;
|
4655
|
+
get mainThread() {
|
4656
|
+
return this._mainThread;
|
4605
4657
|
}
|
4606
|
-
|
4607
|
-
|
4658
|
+
switchToThread(threadId) {
|
4659
|
+
if (this._mainThread.threadId === threadId) return;
|
4660
|
+
const data = this._threadData.get(threadId);
|
4661
|
+
if (!data) throw new Error("Thread not found");
|
4662
|
+
const thread = this._threadFactory(threadId, data.data);
|
4663
|
+
this._performThreadSwitch(thread);
|
4608
4664
|
}
|
4609
4665
|
switchToNewThread() {
|
4610
|
-
|
4611
|
-
|
4612
|
-
|
4613
|
-
|
4614
|
-
|
4615
|
-
)
|
4616
|
-
|
4666
|
+
if (!this._mainThread) return;
|
4667
|
+
const thread = this._threadFactory(generateId(), { messages: [] });
|
4668
|
+
this._performThreadSwitch(thread);
|
4669
|
+
}
|
4670
|
+
_performThreadSwitch(newThreadCore) {
|
4671
|
+
if (this._mainThread) {
|
4672
|
+
const data = this._threadData.get(this._mainThread.threadId);
|
4673
|
+
if (!data) throw new Error("Thread not found");
|
4674
|
+
const exprt = this._mainThread.export();
|
4675
|
+
data.data = exprt;
|
4676
|
+
}
|
4677
|
+
this._mainThread._notifyEventSubscribers("switched-away");
|
4678
|
+
this._mainThread = newThreadCore;
|
4679
|
+
newThreadCore._notifyEventSubscribers("switched-to");
|
4680
|
+
this._notifySubscribers();
|
4617
4681
|
}
|
4618
|
-
|
4619
|
-
|
4620
|
-
|
4682
|
+
_performMoveOp(threadId, operation) {
|
4683
|
+
const data = this._threadData.get(threadId);
|
4684
|
+
if (!data) throw new Error("Thread not found");
|
4685
|
+
if (operation === "archive" && data.isArchived) return;
|
4686
|
+
if (operation === "unarchive" && !data.isArchived) return;
|
4687
|
+
if (operation === "archive") {
|
4688
|
+
data.isArchived = true;
|
4689
|
+
this._archivedThreads = [...this._archivedThreads, data.metadata];
|
4690
|
+
}
|
4691
|
+
if (operation === "unarchive") {
|
4692
|
+
data.isArchived = false;
|
4693
|
+
this._threads = [...this._threads, data.metadata];
|
4694
|
+
}
|
4695
|
+
if (operation === "delete") {
|
4696
|
+
this._threadData.delete(threadId);
|
4697
|
+
}
|
4698
|
+
if (operation === "archive" || operation === "delete" && data.isArchived) {
|
4699
|
+
this._archivedThreads = this._archivedThreads.filter(
|
4700
|
+
(t) => t.threadId !== threadId
|
4701
|
+
);
|
4702
|
+
}
|
4703
|
+
if (operation === "unarchive" || operation === "delete" && !data.isArchived) {
|
4704
|
+
this._threads = this._threads.filter((t) => t.threadId !== threadId);
|
4705
|
+
}
|
4706
|
+
this._notifySubscribers();
|
4707
|
+
}
|
4708
|
+
async rename(threadId, newTitle) {
|
4709
|
+
const data = this._threadData.get(threadId);
|
4710
|
+
if (!data) throw new Error("Thread not found");
|
4711
|
+
data.metadata = {
|
4712
|
+
...data.metadata,
|
4713
|
+
title: newTitle
|
4714
|
+
};
|
4715
|
+
const threadList = data.isArchived ? this.archivedThreads : this.threads;
|
4716
|
+
const idx = threadList.findIndex((t) => t.threadId === threadId);
|
4717
|
+
const updatedThreadList = threadList.toSpliced(idx, 1, data.metadata);
|
4718
|
+
if (data.isArchived) {
|
4719
|
+
this._archivedThreads = updatedThreadList;
|
4720
|
+
} else {
|
4721
|
+
this._threads = updatedThreadList;
|
4722
|
+
}
|
4723
|
+
this._notifySubscribers();
|
4724
|
+
}
|
4725
|
+
async archive(threadId) {
|
4726
|
+
this._performMoveOp(threadId, "archive");
|
4727
|
+
}
|
4728
|
+
async unarchive(threadId) {
|
4729
|
+
this._performMoveOp(threadId, "unarchive");
|
4730
|
+
}
|
4731
|
+
async delete(threadId) {
|
4732
|
+
this._performMoveOp(threadId, "delete");
|
4733
|
+
}
|
4734
|
+
__init34() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4735
|
+
subscribe(callback) {
|
4736
|
+
this._subscriptions.add(callback);
|
4737
|
+
return () => this._subscriptions.delete(callback);
|
4738
|
+
}
|
4739
|
+
_notifySubscribers() {
|
4740
|
+
for (const callback of this._subscriptions) callback();
|
4741
|
+
}
|
4742
|
+
}, _class13);
|
4743
|
+
|
4744
|
+
// src/runtimes/local/LocalRuntimeCore.tsx
|
4745
|
+
var getExportFromInitialMessages = (initialMessages) => {
|
4746
|
+
const messages2 = fromCoreMessages(initialMessages);
|
4747
|
+
return {
|
4748
|
+
messages: messages2.map((m, idx) => ({
|
4749
|
+
parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _242 => _242[idx - 1], 'optionalAccess', _243 => _243.id]), () => ( null)),
|
4750
|
+
message: m
|
4751
|
+
}))
|
4752
|
+
};
|
4753
|
+
};
|
4754
|
+
var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
|
4755
|
+
|
4756
|
+
|
4757
|
+
constructor(options, initialMessages) {
|
4758
|
+
super();
|
4759
|
+
this._options = options;
|
4760
|
+
this.threadManager = new LocalThreadManagerRuntimeCore((threadId, data) => {
|
4761
|
+
const thread = new LocalThreadRuntimeCore(
|
4762
|
+
this._proxyConfigProvider,
|
4763
|
+
threadId,
|
4764
|
+
this._options
|
4765
|
+
);
|
4766
|
+
thread.import(data);
|
4767
|
+
return thread;
|
4768
|
+
});
|
4769
|
+
if (initialMessages) {
|
4770
|
+
this.threadManager.mainThread.import(
|
4771
|
+
getExportFromInitialMessages(initialMessages)
|
4772
|
+
);
|
4621
4773
|
}
|
4622
|
-
|
4774
|
+
}
|
4775
|
+
setOptions(options) {
|
4776
|
+
this._options = options;
|
4777
|
+
this.threadManager.mainThread.setOptions(options);
|
4623
4778
|
}
|
4624
4779
|
reset({
|
4625
4780
|
initialMessages
|
4626
4781
|
} = {}) {
|
4627
|
-
this.
|
4782
|
+
this.threadManager.switchToNewThread();
|
4628
4783
|
if (!initialMessages) return;
|
4629
|
-
|
4630
|
-
|
4631
|
-
|
4632
|
-
parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _242 => _242[idx - 1], 'optionalAccess', _243 => _243.id]), () => ( null)),
|
4633
|
-
message: m
|
4634
|
-
}))
|
4635
|
-
});
|
4784
|
+
this.threadManager.mainThread.import(
|
4785
|
+
getExportFromInitialMessages(initialMessages)
|
4786
|
+
);
|
4636
4787
|
}
|
4637
4788
|
};
|
4638
4789
|
|
@@ -4653,10 +4804,16 @@ var LocalRuntimeImpl = class _LocalRuntimeImpl extends AssistantRuntimeImpl {
|
|
4653
4804
|
}
|
4654
4805
|
};
|
4655
4806
|
var useLocalRuntime = (adapter, options = {}) => {
|
4656
|
-
const
|
4657
|
-
|
4658
|
-
|
4659
|
-
|
4807
|
+
const opt = {
|
4808
|
+
...options,
|
4809
|
+
adapters: {
|
4810
|
+
...options.adapters,
|
4811
|
+
chatModel: adapter
|
4812
|
+
}
|
4813
|
+
};
|
4814
|
+
const [runtime] = _react.useState.call(void 0, () => new LocalRuntimeCore(opt));
|
4815
|
+
_react.useEffect.call(void 0, () => {
|
4816
|
+
runtime.setOptions(opt);
|
4660
4817
|
});
|
4661
4818
|
return _react.useMemo.call(void 0, () => LocalRuntimeImpl.create(runtime), [runtime]);
|
4662
4819
|
};
|
@@ -4664,6 +4821,92 @@ var useLocalRuntime = (adapter, options = {}) => {
|
|
4664
4821
|
// src/runtimes/external-store/useExternalStoreRuntime.tsx
|
4665
4822
|
|
4666
4823
|
|
4824
|
+
// src/runtimes/external-store/ExternalStoreThreadManagementAdapter.tsx
|
4825
|
+
var EMPTY_ARRAY2 = Object.freeze([]);
|
4826
|
+
var DEFAULT_THREAD_ID = "DEFAULT_THREAD_ID";
|
4827
|
+
var ExternalStoreThreadManagerRuntimeCore = (_class14 = class {
|
4828
|
+
constructor(adapter = {}, threadFactory) {;_class14.prototype.__init35.call(this);
|
4829
|
+
this.adapter = adapter;
|
4830
|
+
this.threadFactory = threadFactory;
|
4831
|
+
this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);
|
4832
|
+
}
|
4833
|
+
get threads() {
|
4834
|
+
return _nullishCoalesce(this.adapter.threads, () => ( EMPTY_ARRAY2));
|
4835
|
+
}
|
4836
|
+
get archivedThreads() {
|
4837
|
+
return _nullishCoalesce(this.adapter.archivedThreads, () => ( EMPTY_ARRAY2));
|
4838
|
+
}
|
4839
|
+
|
4840
|
+
get mainThread() {
|
4841
|
+
return this._mainThread;
|
4842
|
+
}
|
4843
|
+
setAdapter(adapter) {
|
4844
|
+
const previousAdapter = this.adapter;
|
4845
|
+
this.adapter = adapter;
|
4846
|
+
const newThreadId = _nullishCoalesce(adapter.threadId, () => ( DEFAULT_THREAD_ID));
|
4847
|
+
const newThreads = _nullishCoalesce(adapter.threads, () => ( EMPTY_ARRAY2));
|
4848
|
+
const newArchivedThreads = _nullishCoalesce(adapter.archivedThreads, () => ( EMPTY_ARRAY2));
|
4849
|
+
if (previousAdapter.threadId === newThreadId && previousAdapter.threads === newThreads && previousAdapter.archivedThreads === newArchivedThreads) {
|
4850
|
+
return;
|
4851
|
+
}
|
4852
|
+
if (previousAdapter.threadId !== newThreadId) {
|
4853
|
+
this._mainThread._notifyEventSubscribers("switched-away");
|
4854
|
+
this._mainThread = this.threadFactory(newThreadId);
|
4855
|
+
this._mainThread._notifyEventSubscribers("switched-to");
|
4856
|
+
}
|
4857
|
+
this._notifySubscribers();
|
4858
|
+
}
|
4859
|
+
switchToThread(threadId) {
|
4860
|
+
if (_optionalChain([this, 'access', _244 => _244._mainThread, 'optionalAccess', _245 => _245.threadId]) === threadId) return;
|
4861
|
+
const onSwitchToThread = this.adapter.onSwitchToThread;
|
4862
|
+
if (!onSwitchToThread)
|
4863
|
+
throw new Error(
|
4864
|
+
"External store adapter does not support switching to thread"
|
4865
|
+
);
|
4866
|
+
onSwitchToThread(threadId);
|
4867
|
+
}
|
4868
|
+
switchToNewThread() {
|
4869
|
+
const onSwitchToNewThread = this.adapter.onSwitchToNewThread;
|
4870
|
+
if (!onSwitchToNewThread)
|
4871
|
+
throw new Error(
|
4872
|
+
"External store adapter does not support switching to new thread"
|
4873
|
+
);
|
4874
|
+
onSwitchToNewThread();
|
4875
|
+
}
|
4876
|
+
async rename(threadId, newTitle) {
|
4877
|
+
const onRename = this.adapter.onRename;
|
4878
|
+
if (!onRename)
|
4879
|
+
throw new Error("External store adapter does not support renaming");
|
4880
|
+
onRename(threadId, newTitle);
|
4881
|
+
}
|
4882
|
+
async archive(threadId) {
|
4883
|
+
const onArchive = this.adapter.onArchive;
|
4884
|
+
if (!onArchive)
|
4885
|
+
throw new Error("External store adapter does not support archiving");
|
4886
|
+
onArchive(threadId);
|
4887
|
+
}
|
4888
|
+
async unarchive(threadId) {
|
4889
|
+
const onUnarchive = this.adapter.onUnarchive;
|
4890
|
+
if (!onUnarchive)
|
4891
|
+
throw new Error("External store adapter does not support unarchiving");
|
4892
|
+
onUnarchive(threadId);
|
4893
|
+
}
|
4894
|
+
async delete(threadId) {
|
4895
|
+
const onDelete = this.adapter.onDelete;
|
4896
|
+
if (!onDelete)
|
4897
|
+
throw new Error("External store adapter does not support deleting");
|
4898
|
+
onDelete(threadId);
|
4899
|
+
}
|
4900
|
+
__init35() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4901
|
+
subscribe(callback) {
|
4902
|
+
this._subscriptions.add(callback);
|
4903
|
+
return () => this._subscriptions.delete(callback);
|
4904
|
+
}
|
4905
|
+
_notifySubscribers() {
|
4906
|
+
for (const callback of this._subscriptions) callback();
|
4907
|
+
}
|
4908
|
+
}, _class14);
|
4909
|
+
|
4667
4910
|
// src/runtimes/external-store/getExternalStoreMessage.tsx
|
4668
4911
|
var symbolInnerMessage = Symbol("innerMessage");
|
4669
4912
|
var getExternalStoreMessage = (message) => {
|
@@ -4671,8 +4914,8 @@ var getExternalStoreMessage = (message) => {
|
|
4671
4914
|
};
|
4672
4915
|
|
4673
4916
|
// src/runtimes/external-store/ThreadMessageConverter.ts
|
4674
|
-
var ThreadMessageConverter = (
|
4675
|
-
|
4917
|
+
var ThreadMessageConverter = (_class15 = class {constructor() { _class15.prototype.__init36.call(this); }
|
4918
|
+
__init36() {this.cache = /* @__PURE__ */ new WeakMap()}
|
4676
4919
|
convertMessages(messages2, converter) {
|
4677
4920
|
return messages2.map((m, idx) => {
|
4678
4921
|
const cached = this.cache.get(m);
|
@@ -4681,7 +4924,7 @@ var ThreadMessageConverter = (_class13 = class {constructor() { _class13.prototy
|
|
4681
4924
|
return newMessage;
|
4682
4925
|
});
|
4683
4926
|
}
|
4684
|
-
},
|
4927
|
+
}, _class15);
|
4685
4928
|
|
4686
4929
|
// src/runtimes/external-store/auto-status.tsx
|
4687
4930
|
var AUTO_STATUS_RUNNING = Object.freeze({ type: "running" });
|
@@ -4767,13 +5010,13 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
4767
5010
|
};
|
4768
5011
|
|
4769
5012
|
// src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx
|
4770
|
-
var
|
5013
|
+
var EMPTY_ARRAY3 = Object.freeze([]);
|
4771
5014
|
var hasUpcomingMessage = (isRunning, messages2) => {
|
4772
|
-
return isRunning && _optionalChain([messages2, 'access',
|
5015
|
+
return isRunning && _optionalChain([messages2, 'access', _246 => _246[messages2.length - 1], 'optionalAccess', _247 => _247.role]) !== "assistant";
|
4773
5016
|
};
|
4774
|
-
var ExternalStoreThreadRuntimeCore = (
|
4775
|
-
|
4776
|
-
|
5017
|
+
var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntimeCore {
|
5018
|
+
__init37() {this.assistantOptimisticId = null}
|
5019
|
+
__init38() {this._capabilities = {
|
4777
5020
|
switchToBranch: false,
|
4778
5021
|
edit: false,
|
4779
5022
|
reload: false,
|
@@ -4795,41 +5038,38 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4795
5038
|
get adapters() {
|
4796
5039
|
return this._store.adapters;
|
4797
5040
|
}
|
4798
|
-
|
4799
|
-
|
4800
|
-
|
5041
|
+
__init39() {this.suggestions = []}
|
5042
|
+
__init40() {this.extras = void 0}
|
5043
|
+
__init41() {this._converter = new ThreadMessageConverter()}
|
4801
5044
|
|
4802
5045
|
beginEdit(messageId) {
|
4803
|
-
if (!this.
|
5046
|
+
if (!this._store.onEdit)
|
4804
5047
|
throw new Error("Runtime does not support editing.");
|
4805
5048
|
super.beginEdit(messageId);
|
4806
5049
|
}
|
4807
|
-
constructor(configProvider, store) {
|
4808
|
-
super(configProvider);
|
4809
|
-
this.
|
4810
|
-
|
4811
|
-
get store() {
|
4812
|
-
return this._store;
|
5050
|
+
constructor(configProvider, threadId, store) {
|
5051
|
+
super(configProvider);_class16.prototype.__init37.call(this);_class16.prototype.__init38.call(this);_class16.prototype.__init39.call(this);_class16.prototype.__init40.call(this);_class16.prototype.__init41.call(this);_class16.prototype.__init42.call(this);;
|
5052
|
+
this.threadId = threadId;
|
5053
|
+
this.setStore(store);
|
4813
5054
|
}
|
4814
|
-
|
5055
|
+
setStore(store) {
|
4815
5056
|
if (this._store === store) return;
|
4816
|
-
this.threadId = _nullishCoalesce(_nullishCoalesce(store.threadId, () => ( this.threadId)), () => ( generateId()));
|
4817
5057
|
const isRunning = _nullishCoalesce(store.isRunning, () => ( false));
|
4818
5058
|
this.isDisabled = _nullishCoalesce(store.isDisabled, () => ( false));
|
4819
5059
|
const oldStore = this._store;
|
4820
5060
|
this._store = store;
|
4821
5061
|
this.extras = store.extras;
|
4822
|
-
this.suggestions = _nullishCoalesce(store.suggestions, () => (
|
5062
|
+
this.suggestions = _nullishCoalesce(store.suggestions, () => ( EMPTY_ARRAY3));
|
4823
5063
|
this._capabilities = {
|
4824
5064
|
switchToBranch: this._store.setMessages !== void 0,
|
4825
5065
|
edit: this._store.onEdit !== void 0,
|
4826
5066
|
reload: this._store.onReload !== void 0,
|
4827
5067
|
cancel: this._store.onCancel !== void 0,
|
4828
|
-
speech: _optionalChain([this, 'access',
|
4829
|
-
unstable_copy: _optionalChain([this, 'access',
|
5068
|
+
speech: _optionalChain([this, 'access', _251 => _251._store, 'access', _252 => _252.adapters, 'optionalAccess', _253 => _253.speech]) !== void 0,
|
5069
|
+
unstable_copy: _optionalChain([this, 'access', _254 => _254._store, 'access', _255 => _255.unstable_capabilities, 'optionalAccess', _256 => _256.copy]) !== false,
|
4830
5070
|
// default true
|
4831
|
-
attachments: !!_optionalChain([this, 'access',
|
4832
|
-
feedback: !!_optionalChain([this, 'access',
|
5071
|
+
attachments: !!_optionalChain([this, 'access', _257 => _257._store, 'access', _258 => _258.adapters, 'optionalAccess', _259 => _259.attachments]),
|
5072
|
+
feedback: !!_optionalChain([this, 'access', _260 => _260._store, 'access', _261 => _261.adapters, 'optionalAccess', _262 => _262.feedback])
|
4833
5073
|
};
|
4834
5074
|
if (oldStore) {
|
4835
5075
|
if (oldStore.convertMessage !== store.convertMessage) {
|
@@ -4856,7 +5096,7 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4856
5096
|
for (let i = 0; i < messages2.length; i++) {
|
4857
5097
|
const message = messages2[i];
|
4858
5098
|
const parent = messages2[i - 1];
|
4859
|
-
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess',
|
5099
|
+
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _263 => _263.id]), () => ( null)), message);
|
4860
5100
|
}
|
4861
5101
|
if (this.assistantOptimisticId) {
|
4862
5102
|
this.repository.deleteMessage(this.assistantOptimisticId);
|
@@ -4864,7 +5104,7 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4864
5104
|
}
|
4865
5105
|
if (hasUpcomingMessage(isRunning, messages2)) {
|
4866
5106
|
this.assistantOptimisticId = this.repository.appendOptimisticMessage(
|
4867
|
-
_nullishCoalesce(_optionalChain([messages2, 'access',
|
5107
|
+
_nullishCoalesce(_optionalChain([messages2, 'access', _264 => _264.at, 'call', _265 => _265(-1), 'optionalAccess', _266 => _266.id]), () => ( null)),
|
4868
5108
|
{
|
4869
5109
|
role: "assistant",
|
4870
5110
|
content: []
|
@@ -4872,7 +5112,7 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4872
5112
|
);
|
4873
5113
|
}
|
4874
5114
|
this.repository.resetHead(
|
4875
|
-
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access',
|
5115
|
+
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access', _267 => _267.at, 'call', _268 => _268(-1), 'optionalAccess', _269 => _269.id]))), () => ( null))
|
4876
5116
|
);
|
4877
5117
|
this._messages = this.repository.getMessages();
|
4878
5118
|
this._notifySubscribers();
|
@@ -4884,7 +5124,7 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4884
5124
|
this.updateMessages(this.repository.getMessages());
|
4885
5125
|
}
|
4886
5126
|
async append(message) {
|
4887
|
-
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access',
|
5127
|
+
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _270 => _270.messages, 'access', _271 => _271.at, 'call', _272 => _272(-1), 'optionalAccess', _273 => _273.id]), () => ( null)))) {
|
4888
5128
|
if (!this._store.onEdit)
|
4889
5129
|
throw new Error("Runtime does not support editing messages.");
|
4890
5130
|
await this._store.onEdit(message);
|
@@ -4907,7 +5147,7 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4907
5147
|
}
|
4908
5148
|
let messages2 = this.repository.getMessages();
|
4909
5149
|
const previousMessage = messages2[messages2.length - 1];
|
4910
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
5150
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _274 => _274.role]) === "user" && previousMessage.id === _optionalChain([messages2, 'access', _275 => _275.at, 'call', _276 => _276(-1), 'optionalAccess', _277 => _277.id])) {
|
4911
5151
|
this.repository.deleteMessage(previousMessage.id);
|
4912
5152
|
if (!this.composer.text.trim()) {
|
4913
5153
|
this.composer.setText(getThreadMessageText(previousMessage));
|
@@ -4925,57 +5165,41 @@ var ExternalStoreThreadRuntimeCore = (_class14 = class extends BaseThreadRuntime
|
|
4925
5165
|
throw new Error("Runtime does not support tool results.");
|
4926
5166
|
this._store.onAddToolResult(options);
|
4927
5167
|
}
|
4928
|
-
|
4929
|
-
_optionalChain([this, 'access',
|
5168
|
+
__init42() {this.updateMessages = (messages2) => {
|
5169
|
+
_optionalChain([this, 'access', _278 => _278._store, 'access', _279 => _279.setMessages, 'optionalCall', _280 => _280(
|
4930
5170
|
messages2.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
4931
5171
|
)]);
|
4932
5172
|
}}
|
4933
|
-
},
|
5173
|
+
}, _class16);
|
4934
5174
|
|
4935
5175
|
// src/runtimes/external-store/ExternalStoreRuntimeCore.tsx
|
5176
|
+
var getThreadManagerAdapter = (store) => {
|
5177
|
+
return {
|
5178
|
+
threadId: store.threadId,
|
5179
|
+
onSwitchToNewThread: store.onSwitchToNewThread,
|
5180
|
+
onSwitchToThread: store.onSwitchToThread,
|
5181
|
+
..._optionalChain([store, 'access', _281 => _281.adapters, 'optionalAccess', _282 => _282.threadManager])
|
5182
|
+
};
|
5183
|
+
};
|
4936
5184
|
var ExternalStoreRuntimeCore = class extends BaseAssistantRuntimeCore {
|
4937
5185
|
|
5186
|
+
|
4938
5187
|
constructor(store) {
|
4939
|
-
|
4940
|
-
|
4941
|
-
this.
|
4942
|
-
|
4943
|
-
|
4944
|
-
return this._proxyConfigProvider.getModelConfig();
|
4945
|
-
}
|
4946
|
-
registerModelConfigProvider(provider) {
|
4947
|
-
return this._proxyConfigProvider.registerModelConfigProvider(provider);
|
4948
|
-
}
|
4949
|
-
async switchToNewThread() {
|
4950
|
-
if (!this.thread.store.onSwitchToNewThread)
|
4951
|
-
throw new Error("Runtime does not support switching to new threads.");
|
4952
|
-
this.thread = new ExternalStoreThreadRuntimeCore(
|
4953
|
-
this._proxyConfigProvider,
|
4954
|
-
{
|
4955
|
-
...this.thread.store,
|
4956
|
-
messages: []
|
4957
|
-
}
|
4958
|
-
);
|
4959
|
-
await this.thread.store.onSwitchToNewThread();
|
4960
|
-
this.thread._notifyEventSubscribers("switched-to");
|
4961
|
-
}
|
4962
|
-
async switchToThread(threadId) {
|
4963
|
-
if (threadId !== null) {
|
4964
|
-
if (!this.thread.store.onSwitchToThread)
|
4965
|
-
throw new Error("Runtime does not support switching threads.");
|
4966
|
-
this.thread = new ExternalStoreThreadRuntimeCore(
|
5188
|
+
super();
|
5189
|
+
this._store = store;
|
5190
|
+
this.threadManager = new ExternalStoreThreadManagerRuntimeCore(
|
5191
|
+
getThreadManagerAdapter(store),
|
5192
|
+
(threadId) => new ExternalStoreThreadRuntimeCore(
|
4967
5193
|
this._proxyConfigProvider,
|
4968
|
-
|
4969
|
-
|
4970
|
-
|
4971
|
-
|
4972
|
-
|
4973
|
-
|
4974
|
-
|
4975
|
-
|
4976
|
-
|
4977
|
-
this.switchToNewThread();
|
4978
|
-
}
|
5194
|
+
threadId,
|
5195
|
+
this._store
|
5196
|
+
)
|
5197
|
+
);
|
5198
|
+
}
|
5199
|
+
setStore(store) {
|
5200
|
+
this._store = store;
|
5201
|
+
this.threadManager.setAdapter(getThreadManagerAdapter(store));
|
5202
|
+
this.threadManager.mainThread.setStore(store);
|
4979
5203
|
}
|
4980
5204
|
};
|
4981
5205
|
|
@@ -4983,7 +5207,7 @@ var ExternalStoreRuntimeCore = class extends BaseAssistantRuntimeCore {
|
|
4983
5207
|
var useExternalStoreRuntime = (store) => {
|
4984
5208
|
const [runtime] = _react.useState.call(void 0, () => new ExternalStoreRuntimeCore(store));
|
4985
5209
|
_react.useEffect.call(void 0, () => {
|
4986
|
-
runtime.
|
5210
|
+
runtime.setStore(store);
|
4987
5211
|
});
|
4988
5212
|
return _react.useMemo.call(void 0,
|
4989
5213
|
() => AssistantRuntimeImpl.create(runtime, ThreadRuntimeImpl),
|
@@ -5212,8 +5436,8 @@ var WebSpeechSynthesisAdapter = class {
|
|
5212
5436
|
};
|
5213
5437
|
|
5214
5438
|
// src/runtimes/attachment/SimpleImageAttachmentAdapter.ts
|
5215
|
-
var SimpleImageAttachmentAdapter = (
|
5216
|
-
|
5439
|
+
var SimpleImageAttachmentAdapter = (_class17 = class {constructor() { _class17.prototype.__init43.call(this); }
|
5440
|
+
__init43() {this.accept = "image/*"}
|
5217
5441
|
async add(state) {
|
5218
5442
|
return {
|
5219
5443
|
id: state.file.name,
|
@@ -5238,7 +5462,7 @@ var SimpleImageAttachmentAdapter = (_class15 = class {constructor() { _class15.p
|
|
5238
5462
|
}
|
5239
5463
|
async remove() {
|
5240
5464
|
}
|
5241
|
-
},
|
5465
|
+
}, _class17);
|
5242
5466
|
var getFileDataURL = (file) => new Promise((resolve, reject) => {
|
5243
5467
|
const reader = new FileReader();
|
5244
5468
|
reader.onload = () => resolve(reader.result);
|
@@ -5247,8 +5471,8 @@ var getFileDataURL = (file) => new Promise((resolve, reject) => {
|
|
5247
5471
|
});
|
5248
5472
|
|
5249
5473
|
// src/runtimes/attachment/SimpleTextAttachmentAdapter.ts
|
5250
|
-
var SimpleTextAttachmentAdapter = (
|
5251
|
-
|
5474
|
+
var SimpleTextAttachmentAdapter = (_class18 = class {constructor() { _class18.prototype.__init44.call(this); }
|
5475
|
+
__init44() {this.accept = "text/plain,text/html,text/markdown,text/csv,text/xml,text/json,text/css"}
|
5252
5476
|
async add(state) {
|
5253
5477
|
return {
|
5254
5478
|
id: state.file.name,
|
@@ -5275,7 +5499,7 @@ ${await getFileText(attachment.file)}
|
|
5275
5499
|
}
|
5276
5500
|
async remove() {
|
5277
5501
|
}
|
5278
|
-
},
|
5502
|
+
}, _class18);
|
5279
5503
|
var getFileText = (file) => new Promise((resolve, reject) => {
|
5280
5504
|
const reader = new FileReader();
|
5281
5505
|
reader.onload = () => resolve(reader.result);
|
@@ -5376,7 +5600,7 @@ var ThreadConfigProvider = ({
|
|
5376
5600
|
}) => {
|
5377
5601
|
const hasAssistant = !!useAssistantRuntime({ optional: true });
|
5378
5602
|
const configProvider = config && Object.keys(_nullishCoalesce(config, () => ( {}))).length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
|
5379
|
-
if (!_optionalChain([config, 'optionalAccess',
|
5603
|
+
if (!_optionalChain([config, 'optionalAccess', _283 => _283.runtime])) return configProvider;
|
5380
5604
|
if (hasAssistant) {
|
5381
5605
|
throw new Error(
|
5382
5606
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
@@ -5704,7 +5928,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp
|
|
5704
5928
|
{
|
5705
5929
|
components: {
|
5706
5930
|
...componentsProp,
|
5707
|
-
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess',
|
5931
|
+
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _284 => _284.Text]), () => ( components.Text)), () => ( content_part_default.Text)),
|
5708
5932
|
tools: toolsComponents
|
5709
5933
|
}
|
5710
5934
|
}
|
@@ -5815,7 +6039,7 @@ var useAttachmentSrc = () => {
|
|
5815
6039
|
const { file, src } = useAttachment((a) => {
|
5816
6040
|
if (a.type !== "image") return {};
|
5817
6041
|
if (a.file) return { file: a.file };
|
5818
|
-
const src2 = _optionalChain([a, 'access',
|
6042
|
+
const src2 = _optionalChain([a, 'access', _285 => _285.content, 'optionalAccess', _286 => _286.filter, 'call', _287 => _287((c) => c.type === "image"), 'access', _288 => _288[0], 'optionalAccess', _289 => _289.image]);
|
5819
6043
|
if (!src2) return {};
|
5820
6044
|
return { src: src2 };
|
5821
6045
|
});
|
@@ -5959,7 +6183,7 @@ var ComposerAttachments = ({ components }) => {
|
|
5959
6183
|
{
|
5960
6184
|
components: {
|
5961
6185
|
...components,
|
5962
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6186
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _290 => _290.Attachment]), () => ( attachment_default))
|
5963
6187
|
}
|
5964
6188
|
}
|
5965
6189
|
) });
|
@@ -6068,8 +6292,13 @@ var ThreadWelcomeMessageStyled = withDefaults("p", {
|
|
6068
6292
|
className: "aui-thread-welcome-message"
|
6069
6293
|
});
|
6070
6294
|
var ThreadWelcomeMessage = _react.forwardRef.call(void 0, ({ message: messageProp, ...rest }, ref) => {
|
6071
|
-
const {
|
6072
|
-
|
6295
|
+
const {
|
6296
|
+
welcome: { message } = {},
|
6297
|
+
strings: {
|
6298
|
+
welcome: { message: defaultMessage = "How can I help you today?" } = {}
|
6299
|
+
} = {}
|
6300
|
+
} = useThreadConfig();
|
6301
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeMessageStyled, { ...rest, ref, children: _nullishCoalesce(_nullishCoalesce(messageProp, () => ( message)), () => ( defaultMessage)) });
|
6073
6302
|
});
|
6074
6303
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
6075
6304
|
var ThreadWelcomeSuggestionContainer = withDefaults("div", {
|
@@ -6087,7 +6316,7 @@ var ThreadWelcomeSuggestions = () => {
|
|
6087
6316
|
const suggestions2 = useThread((t) => t.suggestions);
|
6088
6317
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
6089
6318
|
const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;
|
6090
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess',
|
6319
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess', _291 => _291.map, 'call', _292 => _292((suggestion, idx) => {
|
6091
6320
|
const key = `${suggestion.prompt}-${idx}`;
|
6092
6321
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
|
6093
6322
|
})]) });
|
@@ -6165,7 +6394,7 @@ var UserMessageContent = _react.forwardRef.call(void 0, ({ components, ...props
|
|
6165
6394
|
{
|
6166
6395
|
components: {
|
6167
6396
|
...components,
|
6168
|
-
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6397
|
+
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _293 => _293.Text]), () => ( content_part_default.Text))
|
6169
6398
|
}
|
6170
6399
|
}
|
6171
6400
|
) });
|
@@ -6182,7 +6411,7 @@ var UserMessageAttachments = ({
|
|
6182
6411
|
{
|
6183
6412
|
components: {
|
6184
6413
|
...components,
|
6185
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6414
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _294 => _294.Attachment]), () => ( attachment_default))
|
6186
6415
|
}
|
6187
6416
|
}
|
6188
6417
|
) }) });
|
@@ -6285,10 +6514,10 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
|
|
6285
6514
|
thread_exports.Messages,
|
6286
6515
|
{
|
6287
6516
|
components: {
|
6288
|
-
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6289
|
-
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6290
|
-
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6291
|
-
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6517
|
+
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _295 => _295.UserMessage]), () => ( user_message_default)),
|
6518
|
+
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _296 => _296.EditComposer]), () => ( edit_composer_default)),
|
6519
|
+
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _297 => _297.AssistantMessage]), () => ( assistant_message_default)),
|
6520
|
+
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _298 => _298.SystemMessage]), () => ( SystemMessage))
|
6292
6521
|
},
|
6293
6522
|
...rest
|
6294
6523
|
}
|
@@ -6299,7 +6528,7 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
|
|
6299
6528
|
ThreadMessages.displayName = "ThreadMessages";
|
6300
6529
|
var ThreadFollowupSuggestions = () => {
|
6301
6530
|
const suggestions = useThread((t) => t.suggestions);
|
6302
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess',
|
6531
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess', _299 => _299.map, 'call', _300 => _300((suggestion, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
6303
6532
|
thread_exports.Suggestion,
|
6304
6533
|
{
|
6305
6534
|
className: "aui-thread-followup-suggestion",
|
@@ -6533,5 +6762,6 @@ var assistant_modal_default = Object.assign(AssistantModal, exports12);
|
|
6533
6762
|
|
6534
6763
|
|
6535
6764
|
|
6536
|
-
|
6765
|
+
|
6766
|
+
exports.ActionBarPrimitive = actionBar_exports; exports.AssistantActionBar = assistant_action_bar_default; exports.AssistantMessage = assistant_message_default; exports.AssistantModal = assistant_modal_default; exports.AssistantModalPrimitive = assistantModal_exports; exports.AssistantRuntimeProvider = AssistantRuntimeProvider; exports.AttachmentPrimitive = attachment_exports; exports.AttachmentUI = attachment_default; exports.BranchPicker = branch_picker_default; exports.BranchPickerPrimitive = branchPicker_exports; exports.Composer = composer_default; exports.ComposerAttachment = attachment_default; exports.ComposerPrimitive = composer_exports; exports.CompositeAttachmentAdapter = CompositeAttachmentAdapter; exports.ContentPart = content_part_default; exports.ContentPartPrimitive = contentPart_exports; exports.EdgeChatAdapter = EdgeChatAdapter; exports.EditComposer = edit_composer_default; exports.INTERNAL = internal_exports; exports.MessagePrimitive = message_exports; exports.SimpleImageAttachmentAdapter = SimpleImageAttachmentAdapter; exports.SimpleTextAttachmentAdapter = SimpleTextAttachmentAdapter; exports.TextContentPartProvider = TextContentPartProvider; exports.Thread = thread_default; exports.ThreadConfigProvider = ThreadConfigProvider; exports.ThreadPrimitive = thread_exports; exports.ThreadWelcome = thread_welcome_default; exports.UserActionBar = user_action_bar_default; exports.UserMessage = user_message_default; exports.UserMessageAttachment = attachment_default; exports.WebSpeechSynthesisAdapter = WebSpeechSynthesisAdapter; exports.fromCoreMessage = fromCoreMessage; exports.fromCoreMessages = fromCoreMessages; exports.fromLanguageModelMessages = fromLanguageModelMessages; exports.fromLanguageModelTools = fromLanguageModelTools; exports.getExternalStoreMessage = getExternalStoreMessage; exports.makeAssistantTool = makeAssistantTool; exports.makeAssistantToolUI = makeAssistantToolUI; exports.streamUtils = streamUtils; exports.subscribeToMainThread = subscribeToMainThread; exports.toCoreMessage = _chunkC6UZOY5Ajs.toCoreMessage; exports.toCoreMessages = _chunkC6UZOY5Ajs.toCoreMessages; exports.toLanguageModelMessages = _chunkC6UZOY5Ajs.toLanguageModelMessages; exports.toLanguageModelTools = _chunkC6UZOY5Ajs.toLanguageModelTools; exports.useActionBarCopy = useActionBarCopy; exports.useActionBarEdit = useActionBarEdit; exports.useActionBarFeedbackNegative = useActionBarFeedbackNegative; exports.useActionBarFeedbackPositive = useActionBarFeedbackPositive; exports.useActionBarReload = useActionBarReload; exports.useActionBarSpeak = useActionBarSpeak; exports.useActionBarStopSpeaking = useActionBarStopSpeaking; exports.useAppendMessage = useAppendMessage; exports.useAssistantActions = useAssistantActions; exports.useAssistantActionsStore = useAssistantActionsStore; exports.useAssistantContext = useAssistantContext; exports.useAssistantInstructions = useAssistantInstructions; exports.useAssistantRuntime = useAssistantRuntime; exports.useAssistantRuntimeStore = useAssistantRuntimeStore; exports.useAssistantTool = useAssistantTool; exports.useAssistantToolUI = useAssistantToolUI; exports.useBranchPickerCount = useBranchPickerCount; exports.useBranchPickerNext = useBranchPickerNext; exports.useBranchPickerNumber = useBranchPickerNumber; exports.useBranchPickerPrevious = useBranchPickerPrevious; exports.useComposer = useComposer; exports.useComposerAddAttachment = useComposerAddAttachment; exports.useComposerCancel = useComposerCancel; exports.useComposerContext = useComposerContext; exports.useComposerIf = useComposerIf; exports.useComposerRuntime = useComposerRuntime; exports.useComposerSend = useComposerSend; exports.useComposerStore = useComposerStore; exports.useContentPart = useContentPart; exports.useContentPartContext = useContentPartContext; exports.useContentPartDisplay = useContentPartDisplay; exports.useContentPartImage = useContentPartImage; exports.useContentPartRuntime = useContentPartRuntime; exports.useContentPartStore = useContentPartStore; exports.useContentPartText = useContentPartText; exports.useDangerousInBrowserRuntime = useDangerousInBrowserRuntime; exports.useEdgeRuntime = useEdgeRuntime; exports.useEditComposer = useEditComposer; exports.useEditComposerStore = useEditComposerStore; exports.useExternalMessageConverter = useExternalMessageConverter; exports.useExternalStoreRuntime = useExternalStoreRuntime; exports.useLocalRuntime = useLocalRuntime; exports.useMessage = useMessage; exports.useMessageContext = useMessageContext; exports.useMessageIf = useMessageIf; exports.useMessageRuntime = useMessageRuntime; exports.useMessageStore = useMessageStore; exports.useMessageUtils = useMessageUtils; exports.useMessageUtilsStore = useMessageUtilsStore; exports.useSwitchToNewThread = useSwitchToNewThread; exports.useThread = useThread; exports.useThreadActions = useThreadActions; exports.useThreadActionsStore = useThreadActionsStore; exports.useThreadComposer = useThreadComposer; exports.useThreadComposerStore = useThreadComposerStore; exports.useThreadConfig = useThreadConfig; exports.useThreadContext = useThreadContext; exports.useThreadEmpty = useThreadEmpty; exports.useThreadIf = useThreadIf; exports.useThreadManager = useThreadManager; exports.useThreadMessages = useThreadMessages; exports.useThreadMessagesStore = useThreadMessagesStore; exports.useThreadModelConfig = useThreadModelConfig; exports.useThreadRuntime = useThreadRuntime; exports.useThreadRuntimeStore = useThreadRuntimeStore; exports.useThreadScrollToBottom = useThreadScrollToBottom; exports.useThreadStore = useThreadStore; exports.useThreadSuggestion = useThreadSuggestion; exports.useThreadViewport = useThreadViewport; exports.useThreadViewportStore = useThreadViewportStore; exports.useToolUIs = useToolUIs; exports.useToolUIsStore = useToolUIsStore;
|
6537
6767
|
//# sourceMappingURL=index.js.map
|