@meshagent/meshagent-tailwind 0.39.7 → 0.39.9
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## [0.39.9]
|
|
2
|
+
- Added streaming `watchTable` support to the TypeScript DatasetsClient to receive dataset table change events with versioning metadata.
|
|
3
|
+
|
|
4
|
+
## [0.39.8]
|
|
5
|
+
- TypeScript API: `RoomContainer` now includes a required `ports: number[]` field (and validation) in container listings
|
|
6
|
+
- TypeScript API: `ContainerSpec` now supports optional fields `private`, `on_demand`, and `writable_root_fs`
|
|
7
|
+
- React developer-console package: refactored view switching to use strongly-typed tab configs and reorganized the console UI into grouped primary/resource/terminal tab groups
|
|
8
|
+
- React developer-console package: updated console layouts to wire the developer terminal/container/image/logs/metrics/traces panes into the new tab/view structure
|
|
9
|
+
- Build tooling: developer-console package `build:types` now runs declaration-path rewrite as part of type generation
|
|
10
|
+
|
|
1
11
|
## [0.39.7]
|
|
2
12
|
- Updated Meshagent JS/TS package manifests so inter-package dependencies are aligned to the new Meshagent version (`@meshagent/*` packages now depend on the updated `^0.39.6` versions).
|
|
3
13
|
|
|
@@ -11,10 +11,11 @@ export declare enum ChatThreadDisplayMode {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class ChatAgentConversationDescriptor {
|
|
13
13
|
private constructor();
|
|
14
|
-
static chat({ chatThreadDisplayMode, threadDir, threadListPath, }?: {
|
|
14
|
+
static chat({ chatThreadDisplayMode, threadDir, threadListPath, threadPath, }?: {
|
|
15
15
|
chatThreadDisplayMode?: ChatThreadDisplayMode;
|
|
16
16
|
threadDir?: string | null;
|
|
17
17
|
threadListPath?: string | null;
|
|
18
|
+
threadPath?: string | null;
|
|
18
19
|
}): ChatAgentConversationDescriptor;
|
|
19
20
|
static voiceOnly(): ChatAgentConversationDescriptor;
|
|
20
21
|
static meeting(): ChatAgentConversationDescriptor;
|
|
@@ -22,6 +23,7 @@ export declare class ChatAgentConversationDescriptor {
|
|
|
22
23
|
readonly chatThreadDisplayMode: ChatThreadDisplayMode;
|
|
23
24
|
readonly threadDir: string | null;
|
|
24
25
|
readonly threadListPath: string | null;
|
|
26
|
+
readonly threadPath: string | null;
|
|
25
27
|
get isChat(): boolean;
|
|
26
28
|
get isVoiceOnly(): boolean;
|
|
27
29
|
get isMeeting(): boolean;
|
|
@@ -36,11 +38,15 @@ export declare function chatThreadDisplayModeFromAnnotation(value: unknown): Cha
|
|
|
36
38
|
export declare function normalizedThreadDir(threadDir?: string | null): string | null;
|
|
37
39
|
export declare function participantThreadDir(participant: RemoteParticipant): string | null;
|
|
38
40
|
export declare function participantThreadListPath(participant: RemoteParticipant): string | null;
|
|
41
|
+
export declare function participantThreadPath(participant: RemoteParticipant): string | null;
|
|
39
42
|
export declare function participantConversationDescriptor(participant: RemoteParticipant): ChatAgentConversationDescriptor | null;
|
|
40
43
|
export declare function serviceThreadDir(service: ServiceSpec): string | null;
|
|
41
44
|
export declare function serviceThreadListPath(service: ServiceSpec, { remoteParticipants }?: {
|
|
42
45
|
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
43
46
|
}): string | null;
|
|
47
|
+
export declare function serviceThreadPath(service: ServiceSpec, { remoteParticipants }?: {
|
|
48
|
+
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
49
|
+
}): string | null;
|
|
44
50
|
export declare function serviceConversationDescriptor(service: ServiceSpec, { remoteParticipants }?: {
|
|
45
51
|
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
46
52
|
}): ChatAgentConversationDescriptor | null;
|
|
@@ -35,10 +35,12 @@ __export(conversation_descriptor_exports, {
|
|
|
35
35
|
participantSupportsVoice: () => participantSupportsVoice,
|
|
36
36
|
participantThreadDir: () => participantThreadDir,
|
|
37
37
|
participantThreadListPath: () => participantThreadListPath,
|
|
38
|
+
participantThreadPath: () => participantThreadPath,
|
|
38
39
|
resolvedThreadListPath: () => resolvedThreadListPath,
|
|
39
40
|
serviceConversationDescriptor: () => serviceConversationDescriptor,
|
|
40
41
|
serviceThreadDir: () => serviceThreadDir,
|
|
41
|
-
serviceThreadListPath: () => serviceThreadListPath
|
|
42
|
+
serviceThreadListPath: () => serviceThreadListPath,
|
|
43
|
+
serviceThreadPath: () => serviceThreadPath
|
|
42
44
|
});
|
|
43
45
|
module.exports = __toCommonJS(conversation_descriptor_exports);
|
|
44
46
|
var import_meshagent = require("@meshagent/meshagent");
|
|
@@ -60,23 +62,27 @@ class ChatAgentConversationDescriptor {
|
|
|
60
62
|
kind,
|
|
61
63
|
chatThreadDisplayMode = 0 /* SingleThread */,
|
|
62
64
|
threadDir = null,
|
|
63
|
-
threadListPath = null
|
|
65
|
+
threadListPath = null,
|
|
66
|
+
threadPath = null
|
|
64
67
|
}) {
|
|
65
68
|
this.kind = kind;
|
|
66
69
|
this.chatThreadDisplayMode = chatThreadDisplayMode;
|
|
67
70
|
this.threadDir = threadDir;
|
|
68
71
|
this.threadListPath = threadListPath;
|
|
72
|
+
this.threadPath = threadPath;
|
|
69
73
|
}
|
|
70
74
|
static chat({
|
|
71
75
|
chatThreadDisplayMode = 0 /* SingleThread */,
|
|
72
76
|
threadDir = null,
|
|
73
|
-
threadListPath = null
|
|
77
|
+
threadListPath = null,
|
|
78
|
+
threadPath = null
|
|
74
79
|
} = {}) {
|
|
75
80
|
return new ChatAgentConversationDescriptor({
|
|
76
81
|
kind: 0 /* Chat */,
|
|
77
82
|
chatThreadDisplayMode,
|
|
78
83
|
threadDir,
|
|
79
|
-
threadListPath
|
|
84
|
+
threadListPath,
|
|
85
|
+
threadPath
|
|
80
86
|
});
|
|
81
87
|
}
|
|
82
88
|
static voiceOnly() {
|
|
@@ -93,6 +99,7 @@ class ChatAgentConversationDescriptor {
|
|
|
93
99
|
chatThreadDisplayMode;
|
|
94
100
|
threadDir;
|
|
95
101
|
threadListPath;
|
|
102
|
+
threadPath;
|
|
96
103
|
get isChat() {
|
|
97
104
|
return this.kind === 0 /* Chat */;
|
|
98
105
|
}
|
|
@@ -164,12 +171,16 @@ function participantThreadListPath(participant) {
|
|
|
164
171
|
const threadListPath = normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.thread-list"));
|
|
165
172
|
return threadListPath ?? threadListPathFromThreadDir(participantThreadDir(participant));
|
|
166
173
|
}
|
|
174
|
+
function participantThreadPath(participant) {
|
|
175
|
+
return normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.thread-path"));
|
|
176
|
+
}
|
|
167
177
|
function participantConversationDescriptor(participant) {
|
|
168
178
|
const supportsVoice = participantSupportsVoice(participant);
|
|
169
179
|
const supportsChat = participantSupportsChatOverride(participant);
|
|
170
180
|
const threadDir = participantThreadDir(participant);
|
|
171
181
|
const threadListPath = participantThreadListPath(participant);
|
|
172
|
-
const
|
|
182
|
+
const threadPath = participantThreadPath(participant);
|
|
183
|
+
const hasThreadAnnotations = normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.threading")) !== null || threadDir !== null || threadListPath !== null || threadPath !== null;
|
|
173
184
|
if (supportsChat === false) {
|
|
174
185
|
return supportsVoice ? ChatAgentConversationDescriptor.voiceOnly() : null;
|
|
175
186
|
}
|
|
@@ -182,7 +193,8 @@ function participantConversationDescriptor(participant) {
|
|
|
182
193
|
participant.getAttribute("meshagent.chatbot.threading")
|
|
183
194
|
),
|
|
184
195
|
threadDir,
|
|
185
|
-
threadListPath
|
|
196
|
+
threadListPath,
|
|
197
|
+
threadPath
|
|
186
198
|
});
|
|
187
199
|
}
|
|
188
200
|
if (supportsVoice) {
|
|
@@ -216,6 +228,24 @@ function serviceThreadListPath(service, { remoteParticipants = [] } = {}) {
|
|
|
216
228
|
}
|
|
217
229
|
return null;
|
|
218
230
|
}
|
|
231
|
+
function serviceThreadPath(service, { remoteParticipants = [] } = {}) {
|
|
232
|
+
const annotationPath = normalizedAnnotationString(
|
|
233
|
+
firstAgent(service)?.annotations?.["meshagent.chatbot.thread-path"]
|
|
234
|
+
);
|
|
235
|
+
if (annotationPath !== null) {
|
|
236
|
+
return annotationPath;
|
|
237
|
+
}
|
|
238
|
+
const agentName = firstAgent(service)?.name;
|
|
239
|
+
if (!agentName || agentName.trim() === "") {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
for (const participant of remoteParticipants) {
|
|
243
|
+
if (participant.getAttribute("name") === agentName) {
|
|
244
|
+
return participantThreadPath(participant);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
219
249
|
function serviceConversationDescriptor(service, { remoteParticipants = [] } = {}) {
|
|
220
250
|
const type = firstAgent(service)?.annotations?.["meshagent.agent.type"];
|
|
221
251
|
if (type === "VoiceBot") {
|
|
@@ -232,7 +262,8 @@ function serviceConversationDescriptor(service, { remoteParticipants = [] } = {}
|
|
|
232
262
|
firstAgent(service)?.annotations?.["meshagent.chatbot.threading"]
|
|
233
263
|
),
|
|
234
264
|
threadDir: serviceThreadDir(service),
|
|
235
|
-
threadListPath: serviceThreadListPath(service, { remoteParticipants })
|
|
265
|
+
threadListPath: serviceThreadListPath(service, { remoteParticipants }),
|
|
266
|
+
threadPath: serviceThreadPath(service, { remoteParticipants })
|
|
236
267
|
});
|
|
237
268
|
}
|
|
238
269
|
function conversationDescriptorForParticipant(participant, {
|
|
@@ -277,6 +308,9 @@ function chatDocumentPath(agentName, {
|
|
|
277
308
|
} = {}) {
|
|
278
309
|
const normalizedDir = normalizedThreadDir(threadDir);
|
|
279
310
|
if (normalizedDir !== null) {
|
|
311
|
+
if (normalizedDir.startsWith("dataset://") || normalizedDir.startsWith("tmp://")) {
|
|
312
|
+
return `${normalizedDir}/main`;
|
|
313
|
+
}
|
|
280
314
|
return `${normalizedDir}/main.thread`;
|
|
281
315
|
}
|
|
282
316
|
const defaultThreadDir = defaultThreadDocumentDir(agentName);
|
|
@@ -11,10 +11,11 @@ export declare enum ChatThreadDisplayMode {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class ChatAgentConversationDescriptor {
|
|
13
13
|
private constructor();
|
|
14
|
-
static chat({ chatThreadDisplayMode, threadDir, threadListPath, }?: {
|
|
14
|
+
static chat({ chatThreadDisplayMode, threadDir, threadListPath, threadPath, }?: {
|
|
15
15
|
chatThreadDisplayMode?: ChatThreadDisplayMode;
|
|
16
16
|
threadDir?: string | null;
|
|
17
17
|
threadListPath?: string | null;
|
|
18
|
+
threadPath?: string | null;
|
|
18
19
|
}): ChatAgentConversationDescriptor;
|
|
19
20
|
static voiceOnly(): ChatAgentConversationDescriptor;
|
|
20
21
|
static meeting(): ChatAgentConversationDescriptor;
|
|
@@ -22,6 +23,7 @@ export declare class ChatAgentConversationDescriptor {
|
|
|
22
23
|
readonly chatThreadDisplayMode: ChatThreadDisplayMode;
|
|
23
24
|
readonly threadDir: string | null;
|
|
24
25
|
readonly threadListPath: string | null;
|
|
26
|
+
readonly threadPath: string | null;
|
|
25
27
|
get isChat(): boolean;
|
|
26
28
|
get isVoiceOnly(): boolean;
|
|
27
29
|
get isMeeting(): boolean;
|
|
@@ -36,11 +38,15 @@ export declare function chatThreadDisplayModeFromAnnotation(value: unknown): Cha
|
|
|
36
38
|
export declare function normalizedThreadDir(threadDir?: string | null): string | null;
|
|
37
39
|
export declare function participantThreadDir(participant: RemoteParticipant): string | null;
|
|
38
40
|
export declare function participantThreadListPath(participant: RemoteParticipant): string | null;
|
|
41
|
+
export declare function participantThreadPath(participant: RemoteParticipant): string | null;
|
|
39
42
|
export declare function participantConversationDescriptor(participant: RemoteParticipant): ChatAgentConversationDescriptor | null;
|
|
40
43
|
export declare function serviceThreadDir(service: ServiceSpec): string | null;
|
|
41
44
|
export declare function serviceThreadListPath(service: ServiceSpec, { remoteParticipants }?: {
|
|
42
45
|
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
43
46
|
}): string | null;
|
|
47
|
+
export declare function serviceThreadPath(service: ServiceSpec, { remoteParticipants }?: {
|
|
48
|
+
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
49
|
+
}): string | null;
|
|
44
50
|
export declare function serviceConversationDescriptor(service: ServiceSpec, { remoteParticipants }?: {
|
|
45
51
|
remoteParticipants?: Iterable<RemoteParticipant>;
|
|
46
52
|
}): ChatAgentConversationDescriptor | null;
|
|
@@ -17,23 +17,27 @@ class ChatAgentConversationDescriptor {
|
|
|
17
17
|
kind,
|
|
18
18
|
chatThreadDisplayMode = 0 /* SingleThread */,
|
|
19
19
|
threadDir = null,
|
|
20
|
-
threadListPath = null
|
|
20
|
+
threadListPath = null,
|
|
21
|
+
threadPath = null
|
|
21
22
|
}) {
|
|
22
23
|
this.kind = kind;
|
|
23
24
|
this.chatThreadDisplayMode = chatThreadDisplayMode;
|
|
24
25
|
this.threadDir = threadDir;
|
|
25
26
|
this.threadListPath = threadListPath;
|
|
27
|
+
this.threadPath = threadPath;
|
|
26
28
|
}
|
|
27
29
|
static chat({
|
|
28
30
|
chatThreadDisplayMode = 0 /* SingleThread */,
|
|
29
31
|
threadDir = null,
|
|
30
|
-
threadListPath = null
|
|
32
|
+
threadListPath = null,
|
|
33
|
+
threadPath = null
|
|
31
34
|
} = {}) {
|
|
32
35
|
return new ChatAgentConversationDescriptor({
|
|
33
36
|
kind: 0 /* Chat */,
|
|
34
37
|
chatThreadDisplayMode,
|
|
35
38
|
threadDir,
|
|
36
|
-
threadListPath
|
|
39
|
+
threadListPath,
|
|
40
|
+
threadPath
|
|
37
41
|
});
|
|
38
42
|
}
|
|
39
43
|
static voiceOnly() {
|
|
@@ -50,6 +54,7 @@ class ChatAgentConversationDescriptor {
|
|
|
50
54
|
chatThreadDisplayMode;
|
|
51
55
|
threadDir;
|
|
52
56
|
threadListPath;
|
|
57
|
+
threadPath;
|
|
53
58
|
get isChat() {
|
|
54
59
|
return this.kind === 0 /* Chat */;
|
|
55
60
|
}
|
|
@@ -121,12 +126,16 @@ function participantThreadListPath(participant) {
|
|
|
121
126
|
const threadListPath = normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.thread-list"));
|
|
122
127
|
return threadListPath ?? threadListPathFromThreadDir(participantThreadDir(participant));
|
|
123
128
|
}
|
|
129
|
+
function participantThreadPath(participant) {
|
|
130
|
+
return normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.thread-path"));
|
|
131
|
+
}
|
|
124
132
|
function participantConversationDescriptor(participant) {
|
|
125
133
|
const supportsVoice = participantSupportsVoice(participant);
|
|
126
134
|
const supportsChat = participantSupportsChatOverride(participant);
|
|
127
135
|
const threadDir = participantThreadDir(participant);
|
|
128
136
|
const threadListPath = participantThreadListPath(participant);
|
|
129
|
-
const
|
|
137
|
+
const threadPath = participantThreadPath(participant);
|
|
138
|
+
const hasThreadAnnotations = normalizedAnnotationString(participant.getAttribute("meshagent.chatbot.threading")) !== null || threadDir !== null || threadListPath !== null || threadPath !== null;
|
|
130
139
|
if (supportsChat === false) {
|
|
131
140
|
return supportsVoice ? ChatAgentConversationDescriptor.voiceOnly() : null;
|
|
132
141
|
}
|
|
@@ -139,7 +148,8 @@ function participantConversationDescriptor(participant) {
|
|
|
139
148
|
participant.getAttribute("meshagent.chatbot.threading")
|
|
140
149
|
),
|
|
141
150
|
threadDir,
|
|
142
|
-
threadListPath
|
|
151
|
+
threadListPath,
|
|
152
|
+
threadPath
|
|
143
153
|
});
|
|
144
154
|
}
|
|
145
155
|
if (supportsVoice) {
|
|
@@ -173,6 +183,24 @@ function serviceThreadListPath(service, { remoteParticipants = [] } = {}) {
|
|
|
173
183
|
}
|
|
174
184
|
return null;
|
|
175
185
|
}
|
|
186
|
+
function serviceThreadPath(service, { remoteParticipants = [] } = {}) {
|
|
187
|
+
const annotationPath = normalizedAnnotationString(
|
|
188
|
+
firstAgent(service)?.annotations?.["meshagent.chatbot.thread-path"]
|
|
189
|
+
);
|
|
190
|
+
if (annotationPath !== null) {
|
|
191
|
+
return annotationPath;
|
|
192
|
+
}
|
|
193
|
+
const agentName = firstAgent(service)?.name;
|
|
194
|
+
if (!agentName || agentName.trim() === "") {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
for (const participant of remoteParticipants) {
|
|
198
|
+
if (participant.getAttribute("name") === agentName) {
|
|
199
|
+
return participantThreadPath(participant);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
176
204
|
function serviceConversationDescriptor(service, { remoteParticipants = [] } = {}) {
|
|
177
205
|
const type = firstAgent(service)?.annotations?.["meshagent.agent.type"];
|
|
178
206
|
if (type === "VoiceBot") {
|
|
@@ -189,7 +217,8 @@ function serviceConversationDescriptor(service, { remoteParticipants = [] } = {}
|
|
|
189
217
|
firstAgent(service)?.annotations?.["meshagent.chatbot.threading"]
|
|
190
218
|
),
|
|
191
219
|
threadDir: serviceThreadDir(service),
|
|
192
|
-
threadListPath: serviceThreadListPath(service, { remoteParticipants })
|
|
220
|
+
threadListPath: serviceThreadListPath(service, { remoteParticipants }),
|
|
221
|
+
threadPath: serviceThreadPath(service, { remoteParticipants })
|
|
193
222
|
});
|
|
194
223
|
}
|
|
195
224
|
function conversationDescriptorForParticipant(participant, {
|
|
@@ -234,6 +263,9 @@ function chatDocumentPath(agentName, {
|
|
|
234
263
|
} = {}) {
|
|
235
264
|
const normalizedDir = normalizedThreadDir(threadDir);
|
|
236
265
|
if (normalizedDir !== null) {
|
|
266
|
+
if (normalizedDir.startsWith("dataset://") || normalizedDir.startsWith("tmp://")) {
|
|
267
|
+
return `${normalizedDir}/main`;
|
|
268
|
+
}
|
|
237
269
|
return `${normalizedDir}/main.thread`;
|
|
238
270
|
}
|
|
239
271
|
const defaultThreadDir = defaultThreadDocumentDir(agentName);
|
|
@@ -273,8 +305,10 @@ export {
|
|
|
273
305
|
participantSupportsVoice,
|
|
274
306
|
participantThreadDir,
|
|
275
307
|
participantThreadListPath,
|
|
308
|
+
participantThreadPath,
|
|
276
309
|
resolvedThreadListPath,
|
|
277
310
|
serviceConversationDescriptor,
|
|
278
311
|
serviceThreadDir,
|
|
279
|
-
serviceThreadListPath
|
|
312
|
+
serviceThreadListPath,
|
|
313
|
+
serviceThreadPath
|
|
280
314
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshagent/meshagent-tailwind",
|
|
3
|
-
"version": "0.39.
|
|
3
|
+
"version": "0.39.9",
|
|
4
4
|
"description": "Meshagent Tailwind Components",
|
|
5
5
|
"homepage": "https://github.com/meshagent/meshagent-tailwind",
|
|
6
6
|
"scripts": {
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"CHANGELOG.md"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@meshagent/meshagent": "^0.39.
|
|
36
|
-
"@meshagent/meshagent-react": "^0.39.
|
|
35
|
+
"@meshagent/meshagent": "^0.39.9",
|
|
36
|
+
"@meshagent/meshagent-react": "^0.39.9",
|
|
37
37
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
38
38
|
"@radix-ui/react-checkbox": "^1.3.2",
|
|
39
39
|
"@radix-ui/react-dialog": "^1.1.14",
|