@meshagent/meshagent 0.36.2 → 0.37.0

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.
Files changed (78) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/browser/agent-client.d.ts +2 -10
  3. package/dist/browser/agent-client.js +2 -30
  4. package/dist/browser/agent.d.ts +22 -22
  5. package/dist/browser/agent.js +36 -16
  6. package/dist/browser/containers-client.d.ts +7 -19
  7. package/dist/browser/containers-client.js +27 -21
  8. package/dist/browser/data-types.d.ts +12 -0
  9. package/dist/browser/data-types.js +39 -1
  10. package/dist/browser/database-client.d.ts +134 -47
  11. package/dist/browser/database-client.js +359 -133
  12. package/dist/browser/entrypoint.js +3 -3
  13. package/dist/browser/index.d.ts +1 -0
  14. package/dist/browser/index.js +1 -0
  15. package/dist/browser/meshagent-client.js +18 -5
  16. package/dist/browser/participant-token.d.ts +189 -22
  17. package/dist/browser/participant-token.js +1001 -189
  18. package/dist/browser/room-client.d.ts +1 -1
  19. package/dist/browser/room-event.d.ts +12 -0
  20. package/dist/browser/room-event.js +16 -1
  21. package/dist/browser/secrets-client.d.ts +5 -0
  22. package/dist/browser/secrets-client.js +11 -0
  23. package/dist/browser/services-client.d.ts +1 -1
  24. package/dist/browser/storage-client.d.ts +4 -0
  25. package/dist/browser/storage-client.js +18 -0
  26. package/dist/browser/version.d.ts +1 -0
  27. package/dist/browser/version.js +4 -0
  28. package/dist/esm/agent-client.d.ts +2 -10
  29. package/dist/esm/agent-client.js +1 -28
  30. package/dist/esm/agent.d.ts +22 -22
  31. package/dist/esm/agent.js +33 -14
  32. package/dist/esm/containers-client.d.ts +7 -19
  33. package/dist/esm/containers-client.js +27 -21
  34. package/dist/esm/data-types.d.ts +12 -0
  35. package/dist/esm/data-types.js +36 -0
  36. package/dist/esm/database-client.d.ts +134 -47
  37. package/dist/esm/database-client.js +352 -132
  38. package/dist/esm/index.d.ts +1 -0
  39. package/dist/esm/index.js +1 -0
  40. package/dist/esm/meshagent-client.js +18 -5
  41. package/dist/esm/participant-token.d.ts +189 -22
  42. package/dist/esm/participant-token.js +992 -188
  43. package/dist/esm/room-client.d.ts +1 -1
  44. package/dist/esm/room-event.d.ts +12 -0
  45. package/dist/esm/room-event.js +14 -0
  46. package/dist/esm/secrets-client.d.ts +5 -0
  47. package/dist/esm/secrets-client.js +11 -0
  48. package/dist/esm/services-client.d.ts +1 -1
  49. package/dist/esm/storage-client.d.ts +4 -0
  50. package/dist/esm/storage-client.js +19 -1
  51. package/dist/esm/version.d.ts +1 -0
  52. package/dist/esm/version.js +1 -0
  53. package/dist/node/agent-client.d.ts +2 -10
  54. package/dist/node/agent-client.js +2 -30
  55. package/dist/node/agent.d.ts +22 -22
  56. package/dist/node/agent.js +36 -16
  57. package/dist/node/containers-client.d.ts +7 -19
  58. package/dist/node/containers-client.js +27 -21
  59. package/dist/node/data-types.d.ts +12 -0
  60. package/dist/node/data-types.js +39 -1
  61. package/dist/node/database-client.d.ts +134 -47
  62. package/dist/node/database-client.js +359 -133
  63. package/dist/node/index.d.ts +1 -0
  64. package/dist/node/index.js +1 -0
  65. package/dist/node/meshagent-client.js +18 -5
  66. package/dist/node/participant-token.d.ts +189 -22
  67. package/dist/node/participant-token.js +1001 -189
  68. package/dist/node/room-client.d.ts +1 -1
  69. package/dist/node/room-event.d.ts +12 -0
  70. package/dist/node/room-event.js +16 -1
  71. package/dist/node/secrets-client.d.ts +5 -0
  72. package/dist/node/secrets-client.js +11 -0
  73. package/dist/node/services-client.d.ts +1 -1
  74. package/dist/node/storage-client.d.ts +4 -0
  75. package/dist/node/storage-client.js +18 -0
  76. package/dist/node/version.d.ts +1 -0
  77. package/dist/node/version.js +4 -0
  78. package/package.json +3 -3
@@ -12,7 +12,7 @@ import { ContainersClient } from "./containers-client";
12
12
  import { MemoryClient } from "./memory-client";
13
13
  import { ServicesClient } from "./services-client";
14
14
  import { RoomEvent } from "./room-event";
15
- import { Content } from "./response";
15
+ import { type Content } from "./response";
16
16
  interface RequestHeader {
17
17
  [key: string]: any;
18
18
  }
@@ -52,6 +52,18 @@ export declare class FileUpdatedEvent extends RoomEvent {
52
52
  get name(): string;
53
53
  get description(): string;
54
54
  }
55
+ export declare class FileMovedEvent extends RoomEvent {
56
+ sourcePath: string;
57
+ destinationPath: string;
58
+ participantId: string;
59
+ constructor({ sourcePath, destinationPath, participantId, }: {
60
+ sourcePath: string;
61
+ destinationPath: string;
62
+ participantId: string;
63
+ });
64
+ get name(): string;
65
+ get description(): string;
66
+ }
55
67
  export declare class RoomLogEvent extends RoomEvent {
56
68
  type: string;
57
69
  data: Record<string, any>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RoomLogEvent = exports.FileUpdatedEvent = exports.FileDeletedEvent = exports.FileCreatedEvent = exports.RoomMessageEvent = exports.RoomMessage = exports.RoomEvent = void 0;
3
+ exports.RoomLogEvent = exports.FileMovedEvent = exports.FileUpdatedEvent = exports.FileDeletedEvent = exports.FileCreatedEvent = exports.RoomMessageEvent = exports.RoomMessage = exports.RoomEvent = void 0;
4
4
  class RoomEvent {
5
5
  }
6
6
  exports.RoomEvent = RoomEvent;
@@ -68,6 +68,21 @@ class FileUpdatedEvent extends RoomEvent {
68
68
  }
69
69
  }
70
70
  exports.FileUpdatedEvent = FileUpdatedEvent;
71
+ class FileMovedEvent extends RoomEvent {
72
+ constructor({ sourcePath, destinationPath, participantId, }) {
73
+ super();
74
+ this.sourcePath = sourcePath;
75
+ this.destinationPath = destinationPath;
76
+ this.participantId = participantId;
77
+ }
78
+ get name() {
79
+ return "file moved";
80
+ }
81
+ get description() {
82
+ return `a file was moved from ${this.sourcePath} to ${this.destinationPath}`;
83
+ }
84
+ }
85
+ exports.FileMovedEvent = FileMovedEvent;
71
86
  class RoomLogEvent extends RoomEvent {
72
87
  constructor({ type, data }) {
73
88
  super();
@@ -73,6 +73,11 @@ export declare class SecretsClient {
73
73
  delegateTo?: string | null;
74
74
  }): Promise<string | null>;
75
75
  listSecrets(): Promise<SecretInfo[]>;
76
+ exists({ secretId, delegatedTo, forIdentity, }: {
77
+ secretId: string;
78
+ delegatedTo?: string | null;
79
+ forIdentity?: string | null;
80
+ }): Promise<boolean>;
76
81
  deleteSecret({ secretId, delegatedTo, }: {
77
82
  secretId: string;
78
83
  delegatedTo?: string | null;
@@ -215,6 +215,17 @@ class SecretsClient {
215
215
  }
216
216
  return secrets.map((item) => this.parseSecretInfo(item));
217
217
  }
218
+ async exists({ secretId, delegatedTo, forIdentity, }) {
219
+ const response = await this.invoke("exists", {
220
+ secret_id: secretId,
221
+ delegated_to: delegatedTo ?? null,
222
+ for_identity: forIdentity ?? null,
223
+ });
224
+ if (!(response instanceof response_1.JsonContent) || typeof response.json["exists"] !== "boolean") {
225
+ throw this.unexpectedResponse("exists");
226
+ }
227
+ return response.json["exists"];
228
+ }
218
229
  async deleteSecret({ secretId, delegatedTo, }) {
219
230
  const response = await this.invoke("delete_secret", {
220
231
  id: secretId,
@@ -1,4 +1,4 @@
1
- import { ServiceSpec } from "./meshagent-client";
1
+ import type { ServiceSpec } from "./meshagent-client";
2
2
  import { RoomClient } from "./room-client";
3
3
  export interface ServiceRuntimeState {
4
4
  serviceId: string;
@@ -34,6 +34,7 @@ export declare class StorageClient extends EventEmitter<RoomEvent> {
34
34
  });
35
35
  private _handleFileUpdated;
36
36
  private _handleFileDeleted;
37
+ private _handleFileMoved;
37
38
  private _unexpectedResponseError;
38
39
  private _storageEntry;
39
40
  private _invoke;
@@ -42,6 +43,9 @@ export declare class StorageClient extends EventEmitter<RoomEvent> {
42
43
  delete(path: string, { recursive, }?: {
43
44
  recursive?: boolean | null;
44
45
  }): Promise<void>;
46
+ move(sourcePath: string, destinationPath: string, { overwrite, }?: {
47
+ overwrite?: boolean;
48
+ }): Promise<void>;
45
49
  exists(path: string): Promise<boolean>;
46
50
  private _defaultUploadName;
47
51
  private _defaultUploadMimeType;
@@ -85,6 +85,7 @@ class StorageClient extends event_emitter_1.EventEmitter {
85
85
  super();
86
86
  this.client = room;
87
87
  this.client.protocol.addHandler("storage.file.deleted", this._handleFileDeleted.bind(this));
88
+ this.client.protocol.addHandler("storage.file.moved", this._handleFileMoved.bind(this));
88
89
  this.client.protocol.addHandler("storage.file.updated", this._handleFileUpdated.bind(this));
89
90
  }
90
91
  async _handleFileUpdated(protocol, messageId, type, bytes) {
@@ -99,6 +100,16 @@ class StorageClient extends event_emitter_1.EventEmitter {
99
100
  this.client.emit(event);
100
101
  this.emit('file.deleted', event);
101
102
  }
103
+ async _handleFileMoved(protocol, messageId, type, bytes) {
104
+ const [data, _] = (0, utils_1.unpackMessage)(bytes || new Uint8Array());
105
+ const event = new room_event_1.FileMovedEvent({
106
+ sourcePath: data["source_path"],
107
+ destinationPath: data["destination_path"],
108
+ participantId: data["participant_id"],
109
+ });
110
+ this.client.emit(event);
111
+ this.emit("file.moved", event);
112
+ }
102
113
  _unexpectedResponseError(operation) {
103
114
  return _unexpectedStorageResponseError(operation);
104
115
  }
@@ -147,6 +158,13 @@ class StorageClient extends event_emitter_1.EventEmitter {
147
158
  async delete(path, { recursive = null, } = {}) {
148
159
  await this._invoke("delete", { path, recursive });
149
160
  }
161
+ async move(sourcePath, destinationPath, { overwrite = false, } = {}) {
162
+ await this._invoke("move", {
163
+ source_path: sourcePath,
164
+ destination_path: destinationPath,
165
+ overwrite,
166
+ });
167
+ }
150
168
  async exists(path) {
151
169
  const result = await this._invoke("exists", { path });
152
170
  if (!(result instanceof response_1.JsonContent)) {
@@ -0,0 +1 @@
1
+ export declare const __version__ = "0.36.3";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__version__ = void 0;
4
+ exports.__version__ = "0.36.3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshagent/meshagent",
3
- "version": "0.36.2",
3
+ "version": "0.37.0",
4
4
  "description": "Meshagent Client",
5
5
  "homepage": "https://github.com/meshagent/meshagent-ts",
6
6
  "scripts": {
@@ -35,9 +35,9 @@
35
35
  "@types/node": "^22.13.9",
36
36
  "@types/ws": "^8.18.0",
37
37
  "chai": "^5.2.0",
38
- "esbuild": "^0.25.0",
38
+ "esbuild": "^0.28.0",
39
39
  "esm": "^3.2.25",
40
- "mocha": "^11.3.0",
40
+ "mocha": "^12.0.0-beta-9.2",
41
41
  "typescript": "^5.8.2"
42
42
  },
43
43
  "dependencies": {