@meshagent/meshagent 0.39.6 → 0.39.8

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.8]
2
+ - TypeScript API: `RoomContainer` now includes a required `ports: number[]` field (and validation) in container listings
3
+ - TypeScript API: `ContainerSpec` now supports optional fields `private`, `on_demand`, and `writable_root_fs`
4
+ - 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
5
+ - React developer-console package: updated console layouts to wire the developer terminal/container/image/logs/metrics/traces panes into the new tab/view structure
6
+ - Build tooling: developer-console package `build:types` now runs declaration-path rewrite as part of type generation
7
+
8
+ ## [0.39.7]
9
+ - 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).
10
+
1
11
  ## [0.39.6]
2
12
  - Chat thread message sending now supports an “agent messages” mode: it selects participants that advertise agent-message support and sends `agent-message` payloads using `meshagent.agent.turn.start` / `meshagent.agent.turn.steer` types (including turn/thread scoping), with Promise-based sending and cancellation when recipients never materialize.
3
13
  - Chat UI/logic now determines the correct outbound message type (chat vs steer) and turn context from thread status, and passes that into message sending.
@@ -56,6 +56,7 @@ export interface RoomContainer {
56
56
  id: string;
57
57
  image: string;
58
58
  name?: string;
59
+ ports: number[];
59
60
  startedBy: ContainerParticipantInfo;
60
61
  state: string;
61
62
  private: boolean;
@@ -878,11 +878,16 @@ class ContainersClient {
878
878
  throw this.unexpectedResponseError("list");
879
879
  }
880
880
  const nameRaw = entry["name"];
881
+ const portsRaw = entry["ports"];
881
882
  const serviceIdRaw = entry["service_id"];
883
+ if (!Array.isArray(portsRaw) || !portsRaw.every((port) => typeof port === "number" && Number.isInteger(port))) {
884
+ throw this.unexpectedResponseError("list");
885
+ }
882
886
  items.push({
883
887
  id,
884
888
  image,
885
889
  name: typeof nameRaw === "string" ? nameRaw : undefined,
890
+ ports: portsRaw,
886
891
  startedBy: {
887
892
  id: startedById,
888
893
  name: startedByName,
@@ -147,6 +147,7 @@ export interface ServiceMetadata {
147
147
  annotations?: Record<string, string> | null;
148
148
  }
149
149
  export interface ContainerSpec {
150
+ private?: boolean | null;
150
151
  command?: string | null;
151
152
  working_dir?: string | null;
152
153
  image: string;
@@ -154,6 +155,8 @@ export interface ContainerSpec {
154
155
  secrets?: string[];
155
156
  pull_secret?: string | null;
156
157
  storage?: ContainerMountSpec;
158
+ on_demand?: boolean | null;
159
+ writable_root_fs?: boolean | null;
157
160
  }
158
161
  export interface ExternalServiceSpec {
159
162
  url: string;
@@ -56,6 +56,7 @@ export interface RoomContainer {
56
56
  id: string;
57
57
  image: string;
58
58
  name?: string;
59
+ ports: number[];
59
60
  startedBy: ContainerParticipantInfo;
60
61
  state: string;
61
62
  private: boolean;
@@ -878,11 +878,16 @@ class ContainersClient {
878
878
  throw this.unexpectedResponseError("list");
879
879
  }
880
880
  const nameRaw = entry["name"];
881
+ const portsRaw = entry["ports"];
881
882
  const serviceIdRaw = entry["service_id"];
883
+ if (!Array.isArray(portsRaw) || !portsRaw.every((port) => typeof port === "number" && Number.isInteger(port))) {
884
+ throw this.unexpectedResponseError("list");
885
+ }
882
886
  items.push({
883
887
  id,
884
888
  image,
885
889
  name: typeof nameRaw === "string" ? nameRaw : undefined,
890
+ ports: portsRaw,
886
891
  startedBy: {
887
892
  id: startedById,
888
893
  name: startedByName,
@@ -147,6 +147,7 @@ export interface ServiceMetadata {
147
147
  annotations?: Record<string, string> | null;
148
148
  }
149
149
  export interface ContainerSpec {
150
+ private?: boolean | null;
150
151
  command?: string | null;
151
152
  working_dir?: string | null;
152
153
  image: string;
@@ -154,6 +155,8 @@ export interface ContainerSpec {
154
155
  secrets?: string[];
155
156
  pull_secret?: string | null;
156
157
  storage?: ContainerMountSpec;
158
+ on_demand?: boolean | null;
159
+ writable_root_fs?: boolean | null;
157
160
  }
158
161
  export interface ExternalServiceSpec {
159
162
  url: string;
@@ -56,6 +56,7 @@ export interface RoomContainer {
56
56
  id: string;
57
57
  image: string;
58
58
  name?: string;
59
+ ports: number[];
59
60
  startedBy: ContainerParticipantInfo;
60
61
  state: string;
61
62
  private: boolean;
@@ -878,11 +878,16 @@ class ContainersClient {
878
878
  throw this.unexpectedResponseError("list");
879
879
  }
880
880
  const nameRaw = entry["name"];
881
+ const portsRaw = entry["ports"];
881
882
  const serviceIdRaw = entry["service_id"];
883
+ if (!Array.isArray(portsRaw) || !portsRaw.every((port) => typeof port === "number" && Number.isInteger(port))) {
884
+ throw this.unexpectedResponseError("list");
885
+ }
882
886
  items.push({
883
887
  id,
884
888
  image,
885
889
  name: typeof nameRaw === "string" ? nameRaw : undefined,
890
+ ports: portsRaw,
886
891
  startedBy: {
887
892
  id: startedById,
888
893
  name: startedByName,
@@ -147,6 +147,7 @@ export interface ServiceMetadata {
147
147
  annotations?: Record<string, string> | null;
148
148
  }
149
149
  export interface ContainerSpec {
150
+ private?: boolean | null;
150
151
  command?: string | null;
151
152
  working_dir?: string | null;
152
153
  image: string;
@@ -154,6 +155,8 @@ export interface ContainerSpec {
154
155
  secrets?: string[];
155
156
  pull_secret?: string | null;
156
157
  storage?: ContainerMountSpec;
158
+ on_demand?: boolean | null;
159
+ writable_root_fs?: boolean | null;
157
160
  }
158
161
  export interface ExternalServiceSpec {
159
162
  url: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshagent/meshagent",
3
- "version": "0.39.6",
3
+ "version": "0.39.8",
4
4
  "description": "Meshagent Client",
5
5
  "homepage": "https://github.com/meshagent/meshagent-ts",
6
6
  "scripts": {