@meshagent/meshagent 0.41.0 → 0.41.2

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,12 @@
1
+ ## [0.41.2]
2
+ - The default TypeScript chatbot template now runs as a standalone HTTP app with `/health` and `/api/chat`, supports public deployment metadata, and no longer depends on the runtime `@meshagent/meshagent` package.
3
+ - Added a new Anthropic chatbot template that talks to the room Anthropic proxy.
4
+ - Generated template dependencies now target `@types/node` 22.10.0, `tsx` 4.20.0, `@vercel/ncc` 0.38.3, and `typescript` 5.8.0.
5
+
6
+ ## [0.41.1]
7
+ - TypeScript feed subscription requests and responses now carry an optional `filename_datetime_format`.
8
+ - The chatbot UI template now builds and runs as a standalone Next.js app, deploys as a private websocket-enabled service with the `/messages` port, keeps messages pinned to the bottom, and updates Next.js to `16.2.6`.
9
+
1
10
  ## [0.41.0]
2
11
  - Added spec-based route models and route CRUD/listing APIs, including room and agent routes, with legacy-payload compatibility.
3
12
  - Managed-agent toolkit descriptions were simplified to omit `thumbnailUrl` and `pricing`.
@@ -272,6 +272,7 @@ export interface FeedSubscription {
272
272
  room: string;
273
273
  roomId?: string | null;
274
274
  path: string;
275
+ filenameDatetimeFormat?: string | null;
275
276
  createdAt: Date;
276
277
  annotations: Record<string, string>;
277
278
  }
@@ -574,12 +575,14 @@ export declare class Meshagent {
574
575
  feedId: string;
575
576
  room: string;
576
577
  path: string;
578
+ filenameDatetimeFormat?: string | null;
577
579
  annotations?: Record<string, string>;
578
580
  }): Promise<FeedSubscription>;
579
581
  updateFeedSubscription(params: {
580
582
  projectId: string;
581
583
  feedId: string;
582
584
  subscriptionId: string;
585
+ filenameDatetimeFormat?: string | null;
583
586
  annotations?: Record<string, string>;
584
587
  }): Promise<void>;
585
588
  getFeedSubscription(projectId: string, feedId: string, subscriptionId: string): Promise<FeedSubscription>;
@@ -299,11 +299,16 @@ class Meshagent {
299
299
  if (!data || typeof data !== "object") {
300
300
  throw new requirement_1.RoomException("Invalid feed subscription payload");
301
301
  }
302
- const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, created_at: createdAtRaw, createdAt, annotations, } = data;
302
+ const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, filename_datetime_format: filenameDatetimeFormatRaw, filenameDatetimeFormat, created_at: createdAtRaw, createdAt, annotations, } = data;
303
303
  const feedIdValue = typeof feedId === "string" ? feedId : feedIdRaw;
304
304
  const projectIdValue = typeof projectId === "string" ? projectId : projectIdRaw;
305
305
  const createdAtValue = typeof createdAt === "string" ? createdAt : createdAtRaw;
306
306
  const roomIdValue = typeof roomId === "string" ? roomId : roomIdRaw;
307
+ const filenameDatetimeFormatValue = typeof filenameDatetimeFormat === "string"
308
+ ? filenameDatetimeFormat
309
+ : typeof filenameDatetimeFormatRaw === "string"
310
+ ? filenameDatetimeFormatRaw
311
+ : undefined;
307
312
  if (typeof id !== "string" ||
308
313
  typeof feedIdValue !== "string" ||
309
314
  typeof projectIdValue !== "string" ||
@@ -319,6 +324,7 @@ class Meshagent {
319
324
  room,
320
325
  roomId: typeof roomIdValue === "string" ? roomIdValue : undefined,
321
326
  path,
327
+ filenameDatetimeFormat: filenameDatetimeFormatValue,
322
328
  createdAt: new Date(createdAtValue),
323
329
  annotations: annotations && typeof annotations === "object" ? annotations : {},
324
330
  };
@@ -1162,19 +1168,27 @@ class Meshagent {
1162
1168
  });
1163
1169
  }
1164
1170
  async createFeedSubscription(params) {
1165
- const { projectId, feedId, room, path, annotations = {} } = params;
1171
+ const { projectId, feedId, room, path, filenameDatetimeFormat, annotations = {} } = params;
1166
1172
  const data = await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions`, {
1167
1173
  method: "POST",
1168
- json: { room, path, annotations },
1174
+ json: {
1175
+ room,
1176
+ path,
1177
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1178
+ annotations,
1179
+ },
1169
1180
  action: "create feed subscription",
1170
1181
  });
1171
1182
  return this.parseFeedSubscription(data.subscription);
1172
1183
  }
1173
1184
  async updateFeedSubscription(params) {
1174
- const { projectId, feedId, subscriptionId, annotations = {} } = params;
1185
+ const { projectId, feedId, subscriptionId, filenameDatetimeFormat, annotations = {} } = params;
1175
1186
  await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions/${subscriptionId}`, {
1176
1187
  method: "PUT",
1177
- json: { annotations },
1188
+ json: {
1189
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1190
+ annotations,
1191
+ },
1178
1192
  action: "update feed subscription",
1179
1193
  responseType: "void",
1180
1194
  });
@@ -272,6 +272,7 @@ export interface FeedSubscription {
272
272
  room: string;
273
273
  roomId?: string | null;
274
274
  path: string;
275
+ filenameDatetimeFormat?: string | null;
275
276
  createdAt: Date;
276
277
  annotations: Record<string, string>;
277
278
  }
@@ -574,12 +575,14 @@ export declare class Meshagent {
574
575
  feedId: string;
575
576
  room: string;
576
577
  path: string;
578
+ filenameDatetimeFormat?: string | null;
577
579
  annotations?: Record<string, string>;
578
580
  }): Promise<FeedSubscription>;
579
581
  updateFeedSubscription(params: {
580
582
  projectId: string;
581
583
  feedId: string;
582
584
  subscriptionId: string;
585
+ filenameDatetimeFormat?: string | null;
583
586
  annotations?: Record<string, string>;
584
587
  }): Promise<void>;
585
588
  getFeedSubscription(projectId: string, feedId: string, subscriptionId: string): Promise<FeedSubscription>;
@@ -299,11 +299,16 @@ class Meshagent {
299
299
  if (!data || typeof data !== "object") {
300
300
  throw new requirement_1.RoomException("Invalid feed subscription payload");
301
301
  }
302
- const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, created_at: createdAtRaw, createdAt, annotations, } = data;
302
+ const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, filename_datetime_format: filenameDatetimeFormatRaw, filenameDatetimeFormat, created_at: createdAtRaw, createdAt, annotations, } = data;
303
303
  const feedIdValue = typeof feedId === "string" ? feedId : feedIdRaw;
304
304
  const projectIdValue = typeof projectId === "string" ? projectId : projectIdRaw;
305
305
  const createdAtValue = typeof createdAt === "string" ? createdAt : createdAtRaw;
306
306
  const roomIdValue = typeof roomId === "string" ? roomId : roomIdRaw;
307
+ const filenameDatetimeFormatValue = typeof filenameDatetimeFormat === "string"
308
+ ? filenameDatetimeFormat
309
+ : typeof filenameDatetimeFormatRaw === "string"
310
+ ? filenameDatetimeFormatRaw
311
+ : undefined;
307
312
  if (typeof id !== "string" ||
308
313
  typeof feedIdValue !== "string" ||
309
314
  typeof projectIdValue !== "string" ||
@@ -319,6 +324,7 @@ class Meshagent {
319
324
  room,
320
325
  roomId: typeof roomIdValue === "string" ? roomIdValue : undefined,
321
326
  path,
327
+ filenameDatetimeFormat: filenameDatetimeFormatValue,
322
328
  createdAt: new Date(createdAtValue),
323
329
  annotations: annotations && typeof annotations === "object" ? annotations : {},
324
330
  };
@@ -1162,19 +1168,27 @@ class Meshagent {
1162
1168
  });
1163
1169
  }
1164
1170
  async createFeedSubscription(params) {
1165
- const { projectId, feedId, room, path, annotations = {} } = params;
1171
+ const { projectId, feedId, room, path, filenameDatetimeFormat, annotations = {} } = params;
1166
1172
  const data = await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions`, {
1167
1173
  method: "POST",
1168
- json: { room, path, annotations },
1174
+ json: {
1175
+ room,
1176
+ path,
1177
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1178
+ annotations,
1179
+ },
1169
1180
  action: "create feed subscription",
1170
1181
  });
1171
1182
  return this.parseFeedSubscription(data.subscription);
1172
1183
  }
1173
1184
  async updateFeedSubscription(params) {
1174
- const { projectId, feedId, subscriptionId, annotations = {} } = params;
1185
+ const { projectId, feedId, subscriptionId, filenameDatetimeFormat, annotations = {} } = params;
1175
1186
  await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions/${subscriptionId}`, {
1176
1187
  method: "PUT",
1177
- json: { annotations },
1188
+ json: {
1189
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1190
+ annotations,
1191
+ },
1178
1192
  action: "update feed subscription",
1179
1193
  responseType: "void",
1180
1194
  });
@@ -272,6 +272,7 @@ export interface FeedSubscription {
272
272
  room: string;
273
273
  roomId?: string | null;
274
274
  path: string;
275
+ filenameDatetimeFormat?: string | null;
275
276
  createdAt: Date;
276
277
  annotations: Record<string, string>;
277
278
  }
@@ -574,12 +575,14 @@ export declare class Meshagent {
574
575
  feedId: string;
575
576
  room: string;
576
577
  path: string;
578
+ filenameDatetimeFormat?: string | null;
577
579
  annotations?: Record<string, string>;
578
580
  }): Promise<FeedSubscription>;
579
581
  updateFeedSubscription(params: {
580
582
  projectId: string;
581
583
  feedId: string;
582
584
  subscriptionId: string;
585
+ filenameDatetimeFormat?: string | null;
583
586
  annotations?: Record<string, string>;
584
587
  }): Promise<void>;
585
588
  getFeedSubscription(projectId: string, feedId: string, subscriptionId: string): Promise<FeedSubscription>;
@@ -299,11 +299,16 @@ class Meshagent {
299
299
  if (!data || typeof data !== "object") {
300
300
  throw new requirement_1.RoomException("Invalid feed subscription payload");
301
301
  }
302
- const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, created_at: createdAtRaw, createdAt, annotations, } = data;
302
+ const { id, feed_id: feedIdRaw, feedId, project_id: projectIdRaw, projectId, room, room_id: roomIdRaw, roomId, path, filename_datetime_format: filenameDatetimeFormatRaw, filenameDatetimeFormat, created_at: createdAtRaw, createdAt, annotations, } = data;
303
303
  const feedIdValue = typeof feedId === "string" ? feedId : feedIdRaw;
304
304
  const projectIdValue = typeof projectId === "string" ? projectId : projectIdRaw;
305
305
  const createdAtValue = typeof createdAt === "string" ? createdAt : createdAtRaw;
306
306
  const roomIdValue = typeof roomId === "string" ? roomId : roomIdRaw;
307
+ const filenameDatetimeFormatValue = typeof filenameDatetimeFormat === "string"
308
+ ? filenameDatetimeFormat
309
+ : typeof filenameDatetimeFormatRaw === "string"
310
+ ? filenameDatetimeFormatRaw
311
+ : undefined;
307
312
  if (typeof id !== "string" ||
308
313
  typeof feedIdValue !== "string" ||
309
314
  typeof projectIdValue !== "string" ||
@@ -319,6 +324,7 @@ class Meshagent {
319
324
  room,
320
325
  roomId: typeof roomIdValue === "string" ? roomIdValue : undefined,
321
326
  path,
327
+ filenameDatetimeFormat: filenameDatetimeFormatValue,
322
328
  createdAt: new Date(createdAtValue),
323
329
  annotations: annotations && typeof annotations === "object" ? annotations : {},
324
330
  };
@@ -1162,19 +1168,27 @@ class Meshagent {
1162
1168
  });
1163
1169
  }
1164
1170
  async createFeedSubscription(params) {
1165
- const { projectId, feedId, room, path, annotations = {} } = params;
1171
+ const { projectId, feedId, room, path, filenameDatetimeFormat, annotations = {} } = params;
1166
1172
  const data = await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions`, {
1167
1173
  method: "POST",
1168
- json: { room, path, annotations },
1174
+ json: {
1175
+ room,
1176
+ path,
1177
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1178
+ annotations,
1179
+ },
1169
1180
  action: "create feed subscription",
1170
1181
  });
1171
1182
  return this.parseFeedSubscription(data.subscription);
1172
1183
  }
1173
1184
  async updateFeedSubscription(params) {
1174
- const { projectId, feedId, subscriptionId, annotations = {} } = params;
1185
+ const { projectId, feedId, subscriptionId, filenameDatetimeFormat, annotations = {} } = params;
1175
1186
  await this.request(`/accounts/projects/${projectId}/feeds/${feedId}/subscriptions/${subscriptionId}`, {
1176
1187
  method: "PUT",
1177
- json: { annotations },
1188
+ json: {
1189
+ ...(filenameDatetimeFormat !== undefined ? { filename_datetime_format: filenameDatetimeFormat } : {}),
1190
+ annotations,
1191
+ },
1178
1192
  action: "update feed subscription",
1179
1193
  responseType: "void",
1180
1194
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshagent/meshagent",
3
- "version": "0.41.0",
3
+ "version": "0.41.2",
4
4
  "description": "Meshagent Client",
5
5
  "homepage": "https://github.com/meshagent/meshagent-ts",
6
6
  "scripts": {