@agent-marshal/marshal-prime-agent 0.53.9 → 0.54.1

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 (33) hide show
  1. package/package.json +1 -1
  2. package/src/daemon.ts +7 -7
  3. package/src/entities.ts +5 -2
  4. package/src/generated/BroadcastMessage.ts +1 -1
  5. package/src/generated/BroadcastMessageArgs.ts +1 -1
  6. package/src/generated/CountAllSandboxRuns.ts +3 -0
  7. package/src/generated/CountSandboxRuns.ts +4 -0
  8. package/src/generated/DeleteSandboxRun.ts +4 -0
  9. package/src/generated/DeleteSandboxRunArgs.ts +4 -0
  10. package/src/generated/DeleteSandboxRunResult.ts +3 -0
  11. package/src/generated/DeleteSandboxRuns.ts +4 -0
  12. package/src/generated/DeleteSandboxRunsArgs.ts +4 -0
  13. package/src/generated/DeleteSandboxRunsResult.ts +3 -0
  14. package/src/generated/GetAllSandboxRuns.ts +3 -0
  15. package/src/generated/GetSandboxRunById.ts +4 -0
  16. package/src/generated/GetSandboxRunsByIds.ts +4 -0
  17. package/src/generated/GetSandboxRunsByQuery.ts +4 -0
  18. package/src/generated/ImportSandboxRun.ts +4 -0
  19. package/src/generated/ImportSandboxRunArgs.ts +4 -0
  20. package/src/generated/Message.ts +5 -1
  21. package/src/generated/MessageQuery.ts +1 -1
  22. package/src/generated/MessageView.ts +1 -1
  23. package/src/generated/SandboxArtifact.ts +5 -0
  24. package/src/generated/SandboxRun.ts +5 -0
  25. package/src/generated/SandboxRunCount.ts +3 -0
  26. package/src/generated/SandboxRunId.ts +3 -0
  27. package/src/generated/SandboxRunQuery.ts +7 -0
  28. package/src/generated/SandboxStatus.ts +3 -0
  29. package/src/generated/SandboxTimelineEvent.ts +3 -0
  30. package/src/generated/SendMessage.ts +1 -1
  31. package/src/generated/SendMessageArgs.ts +1 -1
  32. package/src/generated/index.ts +328 -196
  33. package/src/index.ts +7 -5
package/package.json CHANGED
@@ -50,5 +50,5 @@
50
50
  "test": "bun test"
51
51
  },
52
52
  "type": "module",
53
- "version": "0.53.9"
53
+ "version": "0.54.1"
54
54
  }
package/src/daemon.ts CHANGED
@@ -179,9 +179,9 @@ export class MarshalDaemon {
179
179
 
180
180
  // ── Write tools ────────────────────────────────────────────────────────
181
181
 
182
- sendMessage(asSession: string, to: string, body: string): Promise<SendMessageResult> {
182
+ sendMessage(asSession: string, to: string, body: string, responseRequired = false): Promise<SendMessageResult> {
183
183
  this.recordCommunication(asSession, to);
184
- return this.send(sendMessage(asSession, to, body));
184
+ return this.send(sendMessage(asSession, to, body, responseRequired));
185
185
  }
186
186
 
187
187
  recordCommunication(sessionId: string, peerSessionId: string | undefined): void {
@@ -191,8 +191,8 @@ export class MarshalDaemon {
191
191
  this.communicated.set(sessionId, peers);
192
192
  }
193
193
 
194
- broadcast(asSession: string, room: string, body: string): Promise<BroadcastMessageResult> {
195
- return this.send(broadcastMessage(asSession, room, body));
194
+ broadcast(asSession: string, room: string, body: string, responseRequired = false): Promise<BroadcastMessageResult> {
195
+ return this.send(broadcastMessage(asSession, room, body, responseRequired));
196
196
  }
197
197
 
198
198
  joinRoom(asSession: string, name: string, description?: string): Promise<JoinRoomResult> {
@@ -247,7 +247,7 @@ export class MarshalDaemon {
247
247
  }
248
248
 
249
249
  formatMessageLine(m: MessageView): string {
250
- return `- [${m.messageId}] ${this.senderLabel(m.fromSessionId)}: ${m.body}`;
250
+ return `- [${m.messageId}] ${this.senderLabel(m.fromSessionId)} [response_required=${m.responseRequired ?? false}]: ${m.body}`;
251
251
  }
252
252
 
253
253
  drainInbox(sessionId: string): Promise<string | null> {
@@ -300,10 +300,10 @@ export class MarshalDaemon {
300
300
  private renderInbox(messages: MessageView[]): string {
301
301
  if (messages.length === 1) {
302
302
  const m = messages[0];
303
- return `new message from ${this.senderLabel(m.fromSessionId)}: ${m.body}`;
303
+ return `new message from ${this.senderLabel(m.fromSessionId)} [response_required=${m.responseRequired ?? false}]: ${m.body}`;
304
304
  }
305
305
  const lines = [`${messages.length} new messages from sibling agents:`];
306
- for (const m of messages) lines.push(`- ${this.senderLabel(m.fromSessionId)}: ${m.body}`);
306
+ for (const m of messages) lines.push(`- ${this.senderLabel(m.fromSessionId)} [response_required=${m.responseRequired ?? false}]: ${m.body}`);
307
307
  return lines.join("\n");
308
308
  }
309
309
 
package/src/entities.ts CHANGED
@@ -75,6 +75,7 @@ export interface NotifyChannelMeta {
75
75
  from_nickname?: string;
76
76
  to_session?: string;
77
77
  to_operator?: string | null;
78
+ response_required?: boolean;
78
79
  body?: string;
79
80
  body_truncated?: boolean;
80
81
  sent_at?: number;
@@ -103,16 +104,18 @@ export function sendMessage(
103
104
  asSession: string,
104
105
  toSessionId: string,
105
106
  body: string,
107
+ responseRequired = false,
106
108
  ): MarshalCommand<SendMessageResult> {
107
- return { commandId: "SendMessage", command: { toSessionId, body, asSession } };
109
+ return { commandId: "SendMessage", command: { toSessionId, body, responseRequired, asSession } };
108
110
  }
109
111
 
110
112
  export function broadcastMessage(
111
113
  asSession: string,
112
114
  toRoomId: string,
113
115
  body: string,
116
+ responseRequired = false,
114
117
  ): MarshalCommand<BroadcastMessageResult> {
115
- return { commandId: "BroadcastMessage", command: { toRoomId, body, asSession } };
118
+ return { commandId: "BroadcastMessage", command: { toRoomId, body, responseRequired, asSession } };
116
119
  }
117
120
 
118
121
  export function joinRoom(
@@ -2,7 +2,7 @@
2
2
  import type { RoomId } from "./RoomId";
3
3
  import type { SessionId } from "./SessionId";
4
4
 
5
- export type BroadcastMessage = { toRoomId: RoomId, body: string,
5
+ export type BroadcastMessage = { toRoomId: RoomId, responseRequired: boolean, body: string,
6
6
  /**
7
7
  * Self-identified sender for connectionless paths (HTTP-MCP agents).
8
8
  * WS shim callers omit it. See `resolve_caller`.
@@ -2,7 +2,7 @@
2
2
  import type { RoomId } from "./RoomId";
3
3
  import type { SessionId } from "./SessionId";
4
4
 
5
- export type BroadcastMessageArgs = { toRoomId: RoomId, body: string,
5
+ export type BroadcastMessageArgs = { toRoomId: RoomId, responseRequired: boolean, body: string,
6
6
  /**
7
7
  * Self-identified sender for connectionless paths (HTTP-MCP agents).
8
8
  * WS shim callers omit it. See `resolve_caller`.
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type CountAllSandboxRuns = Record<symbol, never>;
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunQuery } from "./SandboxRunQuery";
3
+
4
+ export type CountSandboxRuns = SandboxRunQuery;
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type DeleteSandboxRun = { id: SandboxRunId, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type DeleteSandboxRunArgs = { id: SandboxRunId, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type DeleteSandboxRunResult = { deleted: boolean, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type DeleteSandboxRuns = { ids: Array<SandboxRunId>, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type DeleteSandboxRunsArgs = { ids: Array<SandboxRunId>, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type DeleteSandboxRunsResult = { deletedCount: number, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type GetAllSandboxRuns = Record<symbol, never>;
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type GetSandboxRunById = { id: SandboxRunId, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunId } from "./SandboxRunId";
3
+
4
+ export type GetSandboxRunsByIds = { ids: Array<SandboxRunId>, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxRunQuery } from "./SandboxRunQuery";
3
+
4
+ export type GetSandboxRunsByQuery = SandboxRunQuery;
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxArtifact } from "./SandboxArtifact";
3
+
4
+ export type ImportSandboxRun = { artifact: SandboxArtifact, };
@@ -0,0 +1,4 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxArtifact } from "./SandboxArtifact";
3
+
4
+ export type ImportSandboxRunArgs = { artifact: SandboxArtifact, };
@@ -53,7 +53,11 @@ toRoomId?: RoomId | null,
53
53
  * toast it for that operator regardless of which agent it landed on. `None`
54
54
  * for agent-to-agent mail. serde-default so pre-field payloads replay clean.
55
55
  */
56
- toOperator?: string | null, body: string,
56
+ toOperator?: string | null,
57
+ /**
58
+ * Requests an answer to this message. Defaults to false for older messages.
59
+ */
60
+ responseRequired: boolean, body: string,
57
61
  /**
58
62
  * Wall-clock millis when the daemon accepted the message.
59
63
  */
@@ -6,4 +6,4 @@ import type { RoomId } from "./RoomId";
6
6
  import type { SessionId } from "./SessionId";
7
7
  import type { StringFilter } from "./StringFilter";
8
8
 
9
- export type MessageQuery = { fromSessionId?: IdFilter<SessionId> | null, toSessionId?: IdFilter<SessionId> | null, toRoomId?: IdFilter<RoomId> | null, toOperator?: StringFilter | null, body?: StringFilter | null, sentAt?: NumericFilter<bigint> | null, id?: IdFilter<MessageId> | null, };
9
+ export type MessageQuery = { fromSessionId?: IdFilter<SessionId> | null, toSessionId?: IdFilter<SessionId> | null, toRoomId?: IdFilter<RoomId> | null, toOperator?: StringFilter | null, responseRequired?: boolean | null, body?: StringFilter | null, sentAt?: NumericFilter<bigint> | null, id?: IdFilter<MessageId> | null, };
@@ -9,4 +9,4 @@ export type MessageView = { messageId: MessageId, fromSessionId: SessionId, toSe
9
9
  * identity (see `Message::to_operator`) — the recipient agent surfaces
10
10
  * these to its operator rather than treating them as peer chatter.
11
11
  */
12
- toOperator?: string | null, body: string, sentAt: bigint, readByMe: boolean, };
12
+ toOperator?: string | null, responseRequired: boolean, body: string, sentAt: bigint, readByMe: boolean, };
@@ -0,0 +1,5 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxStatus } from "./SandboxStatus";
3
+ import type { SandboxTimelineEvent } from "./SandboxTimelineEvent";
4
+
5
+ export type SandboxArtifact = { schema_version: number, run_id: string, label: string, model: string, scenario: string, status: SandboxStatus, tested: boolean, released: boolean, resource_violations: number, failed_turns: number, messages: number, turns: number, wake_turns: number, input_tokens: bigint, cached_input_tokens: bigint, output_tokens: bigint, codex_version: string, binaries: { [key in string]: string }, roles: { [key in string]: string }, instructions: string, timeline: Array<SandboxTimelineEvent>, };
@@ -0,0 +1,5 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { SandboxArtifact } from "./SandboxArtifact";
3
+ import type { SandboxRunId } from "./SandboxRunId";
4
+
5
+ export type SandboxRun = { artifact: SandboxArtifact, importedAt: bigint, id: SandboxRunId, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type SandboxRunCount = { count: number, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type SandboxRunId = string;
@@ -0,0 +1,7 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { IdFilter } from "./IdFilter";
3
+ import type { NumericFilter } from "./NumericFilter";
4
+ import type { SandboxRunId } from "./SandboxRunId";
5
+ import type { Unfilterable } from "./Unfilterable";
6
+
7
+ export type SandboxRunQuery = { artifact?: Unfilterable | null, importedAt?: NumericFilter<bigint> | null, id?: IdFilter<SandboxRunId> | null, };
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type SandboxStatus = "starting" | "running" | "quiescent" | "budget_exhausted" | "deadline" | "model_turn_failed" | "interrupted" | "error";
@@ -0,0 +1,3 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ export type SandboxTimelineEvent = { seconds: number, kind: string, actor: string | null, recipient: string | null, response_required: boolean, text: string, };
@@ -1,7 +1,7 @@
1
1
  // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
2
  import type { SessionId } from "./SessionId";
3
3
 
4
- export type SendMessage = { toSessionId: SessionId, body: string,
4
+ export type SendMessage = { toSessionId: SessionId, responseRequired: boolean, body: string,
5
5
  /**
6
6
  * Self-identified sender, for callers with no connection identity —
7
7
  * an agent calling this tool over stock myko's HTTP-MCP transport
@@ -1,7 +1,7 @@
1
1
  // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
2
  import type { SessionId } from "./SessionId";
3
3
 
4
- export type SendMessageArgs = { toSessionId: SessionId, body: string,
4
+ export type SendMessageArgs = { toSessionId: SessionId, responseRequired: boolean, body: string,
5
5
  /**
6
6
  * Self-identified sender, for callers with no connection identity —
7
7
  * an agent calling this tool over stock myko's HTTP-MCP transport
@@ -31,6 +31,10 @@ export type { DeleteRoomMembersResult } from "./DeleteRoomMembersResult";
31
31
  export type { DeleteRoomResult } from "./DeleteRoomResult";
32
32
  export type { DeleteRoomsArgs } from "./DeleteRoomsArgs";
33
33
  export type { DeleteRoomsResult } from "./DeleteRoomsResult";
34
+ export type { DeleteSandboxRunArgs } from "./DeleteSandboxRunArgs";
35
+ export type { DeleteSandboxRunResult } from "./DeleteSandboxRunResult";
36
+ export type { DeleteSandboxRunsArgs } from "./DeleteSandboxRunsArgs";
37
+ export type { DeleteSandboxRunsResult } from "./DeleteSandboxRunsResult";
34
38
  export type { DeleteSessionArgs } from "./DeleteSessionArgs";
35
39
  export type { DeleteSessionNicknameArgs } from "./DeleteSessionNicknameArgs";
36
40
  export type { DeleteSessionNicknameResult } from "./DeleteSessionNicknameResult";
@@ -43,6 +47,7 @@ export type { DeliveredRecipient } from "./DeliveredRecipient";
43
47
  export type { FailedRecipient } from "./FailedRecipient";
44
48
  export type { HostInfo } from "./HostInfo";
45
49
  export type { IdFilter } from "./IdFilter";
50
+ export type { ImportSandboxRunArgs } from "./ImportSandboxRunArgs";
46
51
  export type { JoinRoomArgs } from "./JoinRoomArgs";
47
52
  export type { JoinRoomResult } from "./JoinRoomResult";
48
53
  export type { LeaveRoomArgs } from "./LeaveRoomArgs";
@@ -70,6 +75,13 @@ export type { RoomMemberCount } from "./RoomMemberCount";
70
75
  export type { RoomMemberId } from "./RoomMemberId";
71
76
  export type { RoomMemberQuery } from "./RoomMemberQuery";
72
77
  export type { RoomQuery } from "./RoomQuery";
78
+ export type { SandboxArtifact } from "./SandboxArtifact";
79
+ export type { SandboxRun } from "./SandboxRun";
80
+ export type { SandboxRunCount } from "./SandboxRunCount";
81
+ export type { SandboxRunId } from "./SandboxRunId";
82
+ export type { SandboxRunQuery } from "./SandboxRunQuery";
83
+ export type { SandboxStatus } from "./SandboxStatus";
84
+ export type { SandboxTimelineEvent } from "./SandboxTimelineEvent";
73
85
  export type { SendMessageArgs } from "./SendMessageArgs";
74
86
  export type { SendMessageResult } from "./SendMessageResult";
75
87
  export * from "./serde_json/JsonValue";
@@ -103,12 +115,14 @@ import type { CountAllMessageReads as _CountAllMessageReads } from "./CountAllMe
103
115
  import type { CountAllMessages as _CountAllMessages } from "./CountAllMessages";
104
116
  import type { CountAllRoomMembers as _CountAllRoomMembers } from "./CountAllRoomMembers";
105
117
  import type { CountAllRooms as _CountAllRooms } from "./CountAllRooms";
118
+ import type { CountAllSandboxRuns as _CountAllSandboxRuns } from "./CountAllSandboxRuns";
106
119
  import type { CountAllSessionNicknames as _CountAllSessionNicknames } from "./CountAllSessionNicknames";
107
120
  import type { CountAllSessions as _CountAllSessions } from "./CountAllSessions";
108
121
  import type { CountMessageReads as _CountMessageReads } from "./CountMessageReads";
109
122
  import type { CountMessages as _CountMessages } from "./CountMessages";
110
123
  import type { CountRoomMembers as _CountRoomMembers } from "./CountRoomMembers";
111
124
  import type { CountRooms as _CountRooms } from "./CountRooms";
125
+ import type { CountSandboxRuns as _CountSandboxRuns } from "./CountSandboxRuns";
112
126
  import type { CountSessionNicknames as _CountSessionNicknames } from "./CountSessionNicknames";
113
127
  import type { CountSessions as _CountSessions } from "./CountSessions";
114
128
  import type { DeleteMessage as _DeleteMessage } from "./DeleteMessage";
@@ -127,6 +141,10 @@ import type { DeleteRoomMembersResult } from "./DeleteRoomMembersResult";
127
141
  import type { DeleteRoomResult } from "./DeleteRoomResult";
128
142
  import type { DeleteRooms as _DeleteRooms } from "./DeleteRooms";
129
143
  import type { DeleteRoomsResult } from "./DeleteRoomsResult";
144
+ import type { DeleteSandboxRun as _DeleteSandboxRun } from "./DeleteSandboxRun";
145
+ import type { DeleteSandboxRunResult } from "./DeleteSandboxRunResult";
146
+ import type { DeleteSandboxRuns as _DeleteSandboxRuns } from "./DeleteSandboxRuns";
147
+ import type { DeleteSandboxRunsResult } from "./DeleteSandboxRunsResult";
130
148
  import type { DeleteSession as _DeleteSession } from "./DeleteSession";
131
149
  import type { DeleteSessionNickname as _DeleteSessionNickname } from "./DeleteSessionNickname";
132
150
  import type { DeleteSessionNicknameResult } from "./DeleteSessionNicknameResult";
@@ -139,6 +157,7 @@ import type { GetAllMessageReads as _GetAllMessageReads } from "./GetAllMessageR
139
157
  import type { GetAllMessages as _GetAllMessages } from "./GetAllMessages";
140
158
  import type { GetAllRoomMembers as _GetAllRoomMembers } from "./GetAllRoomMembers";
141
159
  import type { GetAllRooms as _GetAllRooms } from "./GetAllRooms";
160
+ import type { GetAllSandboxRuns as _GetAllSandboxRuns } from "./GetAllSandboxRuns";
142
161
  import type { GetAllSessionNicknames as _GetAllSessionNicknames } from "./GetAllSessionNicknames";
143
162
  import type { GetAllSessions as _GetAllSessions } from "./GetAllSessions";
144
163
  import type { GetMessageById as _GetMessageById } from "./GetMessageById";
@@ -153,12 +172,16 @@ import type { GetRoomMembersByIds as _GetRoomMembersByIds } from "./GetRoomMembe
153
172
  import type { GetRoomMembersByQuery as _GetRoomMembersByQuery } from "./GetRoomMembersByQuery";
154
173
  import type { GetRoomsByIds as _GetRoomsByIds } from "./GetRoomsByIds";
155
174
  import type { GetRoomsByQuery as _GetRoomsByQuery } from "./GetRoomsByQuery";
175
+ import type { GetSandboxRunById as _GetSandboxRunById } from "./GetSandboxRunById";
176
+ import type { GetSandboxRunsByIds as _GetSandboxRunsByIds } from "./GetSandboxRunsByIds";
177
+ import type { GetSandboxRunsByQuery as _GetSandboxRunsByQuery } from "./GetSandboxRunsByQuery";
156
178
  import type { GetSessionById as _GetSessionById } from "./GetSessionById";
157
179
  import type { GetSessionNicknameById as _GetSessionNicknameById } from "./GetSessionNicknameById";
158
180
  import type { GetSessionNicknamesByIds as _GetSessionNicknamesByIds } from "./GetSessionNicknamesByIds";
159
181
  import type { GetSessionNicknamesByQuery as _GetSessionNicknamesByQuery } from "./GetSessionNicknamesByQuery";
160
182
  import type { GetSessionsByIds as _GetSessionsByIds } from "./GetSessionsByIds";
161
183
  import type { GetSessionsByQuery as _GetSessionsByQuery } from "./GetSessionsByQuery";
184
+ import type { ImportSandboxRun as _ImportSandboxRun } from "./ImportSandboxRun";
162
185
  import type { JoinRoom as _JoinRoom } from "./JoinRoom";
163
186
  import type { JoinRoomResult } from "./JoinRoomResult";
164
187
  import type { LeaveRoom as _LeaveRoom } from "./LeaveRoom";
@@ -174,6 +197,9 @@ import type { Room } from "./Room";
174
197
  import type { RoomCount } from "./RoomCount";
175
198
  import type { RoomMember } from "./RoomMember";
176
199
  import type { RoomMemberCount } from "./RoomMemberCount";
200
+ import type { SandboxRun } from "./SandboxRun";
201
+ import type { SandboxRunCount } from "./SandboxRunCount";
202
+ import type { SandboxRunId } from "./SandboxRunId";
177
203
  import type { SendMessage as _SendMessage } from "./SendMessage";
178
204
  import type { SendMessageResult } from "./SendMessageResult";
179
205
  import type { Session } from "./Session";
@@ -230,45 +256,6 @@ export class GetAllSessions {
230
256
  }
231
257
  }
232
258
 
233
- export class GetSessionNicknamesByQuery {
234
- static readonly queryId = "GetSessionNicknamesByQuery" as const;
235
- static readonly queryItemType = "SessionNickname" as const;
236
- readonly queryId = "GetSessionNicknamesByQuery" as const;
237
- readonly queryItemType = "SessionNickname" as const;
238
- readonly query: Omit<_GetSessionNicknamesByQuery, "tx" | "createdAt">;
239
- declare readonly $res: () => SessionNickname[];
240
-
241
- constructor(args: Omit<_GetSessionNicknamesByQuery, "tx" | "createdAt">) {
242
- this.query = args;
243
- }
244
- }
245
-
246
- export class GetSessionNicknamesByIds {
247
- static readonly queryId = "GetSessionNicknamesByIds" as const;
248
- static readonly queryItemType = "SessionNickname" as const;
249
- readonly queryId = "GetSessionNicknamesByIds" as const;
250
- readonly queryItemType = "SessionNickname" as const;
251
- readonly query: Omit<_GetSessionNicknamesByIds, "tx" | "createdAt">;
252
- declare readonly $res: () => SessionNickname[];
253
-
254
- constructor(args: Omit<_GetSessionNicknamesByIds, "tx" | "createdAt">) {
255
- this.query = args;
256
- }
257
- }
258
-
259
- export class GetAllSessionNicknames {
260
- static readonly queryId = "GetAllSessionNicknames" as const;
261
- static readonly queryItemType = "SessionNickname" as const;
262
- readonly queryId = "GetAllSessionNicknames" as const;
263
- readonly queryItemType = "SessionNickname" as const;
264
- readonly query: Omit<_GetAllSessionNicknames, "tx" | "createdAt">;
265
- declare readonly $res: () => SessionNickname[];
266
-
267
- constructor(args: Omit<_GetAllSessionNicknames, "tx" | "createdAt">) {
268
- this.query = args;
269
- }
270
- }
271
-
272
259
  export class GetMessageReadsByQuery {
273
260
  static readonly queryId = "GetMessageReadsByQuery" as const;
274
261
  static readonly queryItemType = "MessageRead" as const;
@@ -308,6 +295,45 @@ export class GetAllMessageReads {
308
295
  }
309
296
  }
310
297
 
298
+ export class GetSessionNicknamesByQuery {
299
+ static readonly queryId = "GetSessionNicknamesByQuery" as const;
300
+ static readonly queryItemType = "SessionNickname" as const;
301
+ readonly queryId = "GetSessionNicknamesByQuery" as const;
302
+ readonly queryItemType = "SessionNickname" as const;
303
+ readonly query: Omit<_GetSessionNicknamesByQuery, "tx" | "createdAt">;
304
+ declare readonly $res: () => SessionNickname[];
305
+
306
+ constructor(args: Omit<_GetSessionNicknamesByQuery, "tx" | "createdAt">) {
307
+ this.query = args;
308
+ }
309
+ }
310
+
311
+ export class GetSessionNicknamesByIds {
312
+ static readonly queryId = "GetSessionNicknamesByIds" as const;
313
+ static readonly queryItemType = "SessionNickname" as const;
314
+ readonly queryId = "GetSessionNicknamesByIds" as const;
315
+ readonly queryItemType = "SessionNickname" as const;
316
+ readonly query: Omit<_GetSessionNicknamesByIds, "tx" | "createdAt">;
317
+ declare readonly $res: () => SessionNickname[];
318
+
319
+ constructor(args: Omit<_GetSessionNicknamesByIds, "tx" | "createdAt">) {
320
+ this.query = args;
321
+ }
322
+ }
323
+
324
+ export class GetAllSessionNicknames {
325
+ static readonly queryId = "GetAllSessionNicknames" as const;
326
+ static readonly queryItemType = "SessionNickname" as const;
327
+ readonly queryId = "GetAllSessionNicknames" as const;
328
+ readonly queryItemType = "SessionNickname" as const;
329
+ readonly query: Omit<_GetAllSessionNicknames, "tx" | "createdAt">;
330
+ declare readonly $res: () => SessionNickname[];
331
+
332
+ constructor(args: Omit<_GetAllSessionNicknames, "tx" | "createdAt">) {
333
+ this.query = args;
334
+ }
335
+ }
336
+
311
337
  export class GetRoomMembersByQuery {
312
338
  static readonly queryId = "GetRoomMembersByQuery" as const;
313
339
  static readonly queryItemType = "RoomMember" as const;
@@ -347,45 +373,6 @@ export class GetAllRoomMembers {
347
373
  }
348
374
  }
349
375
 
350
- export class GetMessagesByQuery {
351
- static readonly queryId = "GetMessagesByQuery" as const;
352
- static readonly queryItemType = "Message" as const;
353
- readonly queryId = "GetMessagesByQuery" as const;
354
- readonly queryItemType = "Message" as const;
355
- readonly query: Omit<_GetMessagesByQuery, "tx" | "createdAt">;
356
- declare readonly $res: () => Message[];
357
-
358
- constructor(args: Omit<_GetMessagesByQuery, "tx" | "createdAt">) {
359
- this.query = args;
360
- }
361
- }
362
-
363
- export class GetMessagesByIds {
364
- static readonly queryId = "GetMessagesByIds" as const;
365
- static readonly queryItemType = "Message" as const;
366
- readonly queryId = "GetMessagesByIds" as const;
367
- readonly queryItemType = "Message" as const;
368
- readonly query: Omit<_GetMessagesByIds, "tx" | "createdAt">;
369
- declare readonly $res: () => Message[];
370
-
371
- constructor(args: Omit<_GetMessagesByIds, "tx" | "createdAt">) {
372
- this.query = args;
373
- }
374
- }
375
-
376
- export class GetAllMessages {
377
- static readonly queryId = "GetAllMessages" as const;
378
- static readonly queryItemType = "Message" as const;
379
- readonly queryId = "GetAllMessages" as const;
380
- readonly queryItemType = "Message" as const;
381
- readonly query: Omit<_GetAllMessages, "tx" | "createdAt">;
382
- declare readonly $res: () => Message[];
383
-
384
- constructor(args: Omit<_GetAllMessages, "tx" | "createdAt">) {
385
- this.query = args;
386
- }
387
- }
388
-
389
376
  export class GetRoomsByQuery {
390
377
  static readonly queryId = "GetRoomsByQuery" as const;
391
378
  static readonly queryItemType = "Room" as const;
@@ -425,6 +412,84 @@ export class GetAllRooms {
425
412
  }
426
413
  }
427
414
 
415
+ export class GetSandboxRunsByQuery {
416
+ static readonly queryId = "GetSandboxRunsByQuery" as const;
417
+ static readonly queryItemType = "SandboxRun" as const;
418
+ readonly queryId = "GetSandboxRunsByQuery" as const;
419
+ readonly queryItemType = "SandboxRun" as const;
420
+ readonly query: Omit<_GetSandboxRunsByQuery, "tx" | "createdAt">;
421
+ declare readonly $res: () => SandboxRun[];
422
+
423
+ constructor(args: Omit<_GetSandboxRunsByQuery, "tx" | "createdAt">) {
424
+ this.query = args;
425
+ }
426
+ }
427
+
428
+ export class GetSandboxRunsByIds {
429
+ static readonly queryId = "GetSandboxRunsByIds" as const;
430
+ static readonly queryItemType = "SandboxRun" as const;
431
+ readonly queryId = "GetSandboxRunsByIds" as const;
432
+ readonly queryItemType = "SandboxRun" as const;
433
+ readonly query: Omit<_GetSandboxRunsByIds, "tx" | "createdAt">;
434
+ declare readonly $res: () => SandboxRun[];
435
+
436
+ constructor(args: Omit<_GetSandboxRunsByIds, "tx" | "createdAt">) {
437
+ this.query = args;
438
+ }
439
+ }
440
+
441
+ export class GetAllSandboxRuns {
442
+ static readonly queryId = "GetAllSandboxRuns" as const;
443
+ static readonly queryItemType = "SandboxRun" as const;
444
+ readonly queryId = "GetAllSandboxRuns" as const;
445
+ readonly queryItemType = "SandboxRun" as const;
446
+ readonly query: Omit<_GetAllSandboxRuns, "tx" | "createdAt">;
447
+ declare readonly $res: () => SandboxRun[];
448
+
449
+ constructor(args: Omit<_GetAllSandboxRuns, "tx" | "createdAt">) {
450
+ this.query = args;
451
+ }
452
+ }
453
+
454
+ export class GetMessagesByQuery {
455
+ static readonly queryId = "GetMessagesByQuery" as const;
456
+ static readonly queryItemType = "Message" as const;
457
+ readonly queryId = "GetMessagesByQuery" as const;
458
+ readonly queryItemType = "Message" as const;
459
+ readonly query: Omit<_GetMessagesByQuery, "tx" | "createdAt">;
460
+ declare readonly $res: () => Message[];
461
+
462
+ constructor(args: Omit<_GetMessagesByQuery, "tx" | "createdAt">) {
463
+ this.query = args;
464
+ }
465
+ }
466
+
467
+ export class GetMessagesByIds {
468
+ static readonly queryId = "GetMessagesByIds" as const;
469
+ static readonly queryItemType = "Message" as const;
470
+ readonly queryId = "GetMessagesByIds" as const;
471
+ readonly queryItemType = "Message" as const;
472
+ readonly query: Omit<_GetMessagesByIds, "tx" | "createdAt">;
473
+ declare readonly $res: () => Message[];
474
+
475
+ constructor(args: Omit<_GetMessagesByIds, "tx" | "createdAt">) {
476
+ this.query = args;
477
+ }
478
+ }
479
+
480
+ export class GetAllMessages {
481
+ static readonly queryId = "GetAllMessages" as const;
482
+ static readonly queryItemType = "Message" as const;
483
+ readonly queryId = "GetAllMessages" as const;
484
+ readonly queryItemType = "Message" as const;
485
+ readonly query: Omit<_GetAllMessages, "tx" | "createdAt">;
486
+ declare readonly $res: () => Message[];
487
+
488
+ constructor(args: Omit<_GetAllMessages, "tx" | "createdAt">) {
489
+ this.query = args;
490
+ }
491
+ }
492
+
428
493
  // View classes
429
494
 
430
495
  // Report classes
@@ -461,39 +526,6 @@ export class CountAllSessions {
461
526
  }
462
527
  }
463
528
 
464
- export class GetSessionNicknameById {
465
- static readonly reportId = "GetSessionNicknameById" as const;
466
- readonly reportId = "GetSessionNicknameById" as const;
467
- readonly report: Omit<_GetSessionNicknameById, "tx">;
468
- declare readonly $res: () => SessionNickname | null;
469
-
470
- constructor(args: Omit<_GetSessionNicknameById, "tx">) {
471
- this.report = args;
472
- }
473
- }
474
-
475
- export class CountSessionNicknames {
476
- static readonly reportId = "CountSessionNicknames" as const;
477
- readonly reportId = "CountSessionNicknames" as const;
478
- readonly report: Omit<_CountSessionNicknames, "tx">;
479
- declare readonly $res: () => SessionNicknameCount;
480
-
481
- constructor(args: Omit<_CountSessionNicknames, "tx">) {
482
- this.report = args;
483
- }
484
- }
485
-
486
- export class CountAllSessionNicknames {
487
- static readonly reportId = "CountAllSessionNicknames" as const;
488
- readonly reportId = "CountAllSessionNicknames" as const;
489
- readonly report: Omit<_CountAllSessionNicknames, "tx">;
490
- declare readonly $res: () => SessionNicknameCount;
491
-
492
- constructor(args: Omit<_CountAllSessionNicknames, "tx">) {
493
- this.report = args;
494
- }
495
- }
496
-
497
529
  export class GetMessageReadById {
498
530
  static readonly reportId = "GetMessageReadById" as const;
499
531
  readonly reportId = "GetMessageReadById" as const;
@@ -527,6 +559,39 @@ export class CountAllMessageReads {
527
559
  }
528
560
  }
529
561
 
562
+ export class GetSessionNicknameById {
563
+ static readonly reportId = "GetSessionNicknameById" as const;
564
+ readonly reportId = "GetSessionNicknameById" as const;
565
+ readonly report: Omit<_GetSessionNicknameById, "tx">;
566
+ declare readonly $res: () => SessionNickname | null;
567
+
568
+ constructor(args: Omit<_GetSessionNicknameById, "tx">) {
569
+ this.report = args;
570
+ }
571
+ }
572
+
573
+ export class CountSessionNicknames {
574
+ static readonly reportId = "CountSessionNicknames" as const;
575
+ readonly reportId = "CountSessionNicknames" as const;
576
+ readonly report: Omit<_CountSessionNicknames, "tx">;
577
+ declare readonly $res: () => SessionNicknameCount;
578
+
579
+ constructor(args: Omit<_CountSessionNicknames, "tx">) {
580
+ this.report = args;
581
+ }
582
+ }
583
+
584
+ export class CountAllSessionNicknames {
585
+ static readonly reportId = "CountAllSessionNicknames" as const;
586
+ readonly reportId = "CountAllSessionNicknames" as const;
587
+ readonly report: Omit<_CountAllSessionNicknames, "tx">;
588
+ declare readonly $res: () => SessionNicknameCount;
589
+
590
+ constructor(args: Omit<_CountAllSessionNicknames, "tx">) {
591
+ this.report = args;
592
+ }
593
+ }
594
+
530
595
  export class GetRoomMemberById {
531
596
  static readonly reportId = "GetRoomMemberById" as const;
532
597
  readonly reportId = "GetRoomMemberById" as const;
@@ -560,39 +625,6 @@ export class CountAllRoomMembers {
560
625
  }
561
626
  }
562
627
 
563
- export class GetMessageById {
564
- static readonly reportId = "GetMessageById" as const;
565
- readonly reportId = "GetMessageById" as const;
566
- readonly report: Omit<_GetMessageById, "tx">;
567
- declare readonly $res: () => Message | null;
568
-
569
- constructor(args: Omit<_GetMessageById, "tx">) {
570
- this.report = args;
571
- }
572
- }
573
-
574
- export class CountMessages {
575
- static readonly reportId = "CountMessages" as const;
576
- readonly reportId = "CountMessages" as const;
577
- readonly report: Omit<_CountMessages, "tx">;
578
- declare readonly $res: () => MessageCount;
579
-
580
- constructor(args: Omit<_CountMessages, "tx">) {
581
- this.report = args;
582
- }
583
- }
584
-
585
- export class CountAllMessages {
586
- static readonly reportId = "CountAllMessages" as const;
587
- readonly reportId = "CountAllMessages" as const;
588
- readonly report: Omit<_CountAllMessages, "tx">;
589
- declare readonly $res: () => MessageCount;
590
-
591
- constructor(args: Omit<_CountAllMessages, "tx">) {
592
- this.report = args;
593
- }
594
- }
595
-
596
628
  export class GetRoomById {
597
629
  static readonly reportId = "GetRoomById" as const;
598
630
  readonly reportId = "GetRoomById" as const;
@@ -626,6 +658,72 @@ export class CountAllRooms {
626
658
  }
627
659
  }
628
660
 
661
+ export class GetSandboxRunById {
662
+ static readonly reportId = "GetSandboxRunById" as const;
663
+ readonly reportId = "GetSandboxRunById" as const;
664
+ readonly report: Omit<_GetSandboxRunById, "tx">;
665
+ declare readonly $res: () => SandboxRun | null;
666
+
667
+ constructor(args: Omit<_GetSandboxRunById, "tx">) {
668
+ this.report = args;
669
+ }
670
+ }
671
+
672
+ export class CountSandboxRuns {
673
+ static readonly reportId = "CountSandboxRuns" as const;
674
+ readonly reportId = "CountSandboxRuns" as const;
675
+ readonly report: Omit<_CountSandboxRuns, "tx">;
676
+ declare readonly $res: () => SandboxRunCount;
677
+
678
+ constructor(args: Omit<_CountSandboxRuns, "tx">) {
679
+ this.report = args;
680
+ }
681
+ }
682
+
683
+ export class CountAllSandboxRuns {
684
+ static readonly reportId = "CountAllSandboxRuns" as const;
685
+ readonly reportId = "CountAllSandboxRuns" as const;
686
+ readonly report: Omit<_CountAllSandboxRuns, "tx">;
687
+ declare readonly $res: () => SandboxRunCount;
688
+
689
+ constructor(args: Omit<_CountAllSandboxRuns, "tx">) {
690
+ this.report = args;
691
+ }
692
+ }
693
+
694
+ export class GetMessageById {
695
+ static readonly reportId = "GetMessageById" as const;
696
+ readonly reportId = "GetMessageById" as const;
697
+ readonly report: Omit<_GetMessageById, "tx">;
698
+ declare readonly $res: () => Message | null;
699
+
700
+ constructor(args: Omit<_GetMessageById, "tx">) {
701
+ this.report = args;
702
+ }
703
+ }
704
+
705
+ export class CountMessages {
706
+ static readonly reportId = "CountMessages" as const;
707
+ readonly reportId = "CountMessages" as const;
708
+ readonly report: Omit<_CountMessages, "tx">;
709
+ declare readonly $res: () => MessageCount;
710
+
711
+ constructor(args: Omit<_CountMessages, "tx">) {
712
+ this.report = args;
713
+ }
714
+ }
715
+
716
+ export class CountAllMessages {
717
+ static readonly reportId = "CountAllMessages" as const;
718
+ readonly reportId = "CountAllMessages" as const;
719
+ readonly report: Omit<_CountAllMessages, "tx">;
720
+ declare readonly $res: () => MessageCount;
721
+
722
+ constructor(args: Omit<_CountAllMessages, "tx">) {
723
+ this.report = args;
724
+ }
725
+ }
726
+
629
727
  // Command classes
630
728
  export class BroadcastMessage {
631
729
  static readonly commandId = "BroadcastMessage" as const;
@@ -748,13 +846,24 @@ export class DeleteSession {
748
846
  }
749
847
  }
750
848
 
751
- export class NotifyChannel {
752
- static readonly commandId = "NotifyChannel" as const;
753
- readonly commandId = "NotifyChannel" as const;
754
- readonly command: Omit<_NotifyChannel, "tx" | "createdAt">;
755
- declare readonly $res: () => void;
849
+ export class DeleteMessageRead {
850
+ static readonly commandId = "DeleteMessageRead" as const;
851
+ readonly commandId = "DeleteMessageRead" as const;
852
+ readonly command: Omit<_DeleteMessageRead, "tx" | "createdAt">;
853
+ declare readonly $res: () => DeleteMessageReadResult;
756
854
 
757
- constructor(args: Omit<_NotifyChannel, "tx" | "createdAt">) {
855
+ constructor(args: Omit<_DeleteMessageRead, "tx" | "createdAt">) {
856
+ this.command = args;
857
+ }
858
+ }
859
+
860
+ export class DeleteMessageReads {
861
+ static readonly commandId = "DeleteMessageReads" as const;
862
+ readonly commandId = "DeleteMessageReads" as const;
863
+ readonly command: Omit<_DeleteMessageReads, "tx" | "createdAt">;
864
+ declare readonly $res: () => DeleteMessageReadsResult;
865
+
866
+ constructor(args: Omit<_DeleteMessageReads, "tx" | "createdAt">) {
758
867
  this.command = args;
759
868
  }
760
869
  }
@@ -781,28 +890,6 @@ export class DeleteSessionNicknames {
781
890
  }
782
891
  }
783
892
 
784
- export class DeleteMessageRead {
785
- static readonly commandId = "DeleteMessageRead" as const;
786
- readonly commandId = "DeleteMessageRead" as const;
787
- readonly command: Omit<_DeleteMessageRead, "tx" | "createdAt">;
788
- declare readonly $res: () => DeleteMessageReadResult;
789
-
790
- constructor(args: Omit<_DeleteMessageRead, "tx" | "createdAt">) {
791
- this.command = args;
792
- }
793
- }
794
-
795
- export class DeleteMessageReads {
796
- static readonly commandId = "DeleteMessageReads" as const;
797
- readonly commandId = "DeleteMessageReads" as const;
798
- readonly command: Omit<_DeleteMessageReads, "tx" | "createdAt">;
799
- declare readonly $res: () => DeleteMessageReadsResult;
800
-
801
- constructor(args: Omit<_DeleteMessageReads, "tx" | "createdAt">) {
802
- this.command = args;
803
- }
804
- }
805
-
806
893
  export class AckMessages {
807
894
  static readonly commandId = "AckMessages" as const;
808
895
  readonly commandId = "AckMessages" as const;
@@ -858,28 +945,6 @@ export class JoinRoom {
858
945
  }
859
946
  }
860
947
 
861
- export class DeleteMessage {
862
- static readonly commandId = "DeleteMessage" as const;
863
- readonly commandId = "DeleteMessage" as const;
864
- readonly command: Omit<_DeleteMessage, "tx" | "createdAt">;
865
- declare readonly $res: () => DeleteMessageResult;
866
-
867
- constructor(args: Omit<_DeleteMessage, "tx" | "createdAt">) {
868
- this.command = args;
869
- }
870
- }
871
-
872
- export class DeleteMessages {
873
- static readonly commandId = "DeleteMessages" as const;
874
- readonly commandId = "DeleteMessages" as const;
875
- readonly command: Omit<_DeleteMessages, "tx" | "createdAt">;
876
- declare readonly $res: () => DeleteMessagesResult;
877
-
878
- constructor(args: Omit<_DeleteMessages, "tx" | "createdAt">) {
879
- this.command = args;
880
- }
881
- }
882
-
883
948
  export class DeleteRoom {
884
949
  static readonly commandId = "DeleteRoom" as const;
885
950
  readonly commandId = "DeleteRoom" as const;
@@ -935,14 +1000,81 @@ export class ReadMessages {
935
1000
  }
936
1001
  }
937
1002
 
1003
+ export class ImportSandboxRun {
1004
+ static readonly commandId = "ImportSandboxRun" as const;
1005
+ readonly commandId = "ImportSandboxRun" as const;
1006
+ readonly command: Omit<_ImportSandboxRun, "tx" | "createdAt">;
1007
+ declare readonly $res: () => SandboxRunId;
1008
+
1009
+ constructor(args: Omit<_ImportSandboxRun, "tx" | "createdAt">) {
1010
+ this.command = args;
1011
+ }
1012
+ }
1013
+
1014
+ export class DeleteSandboxRuns {
1015
+ static readonly commandId = "DeleteSandboxRuns" as const;
1016
+ readonly commandId = "DeleteSandboxRuns" as const;
1017
+ readonly command: Omit<_DeleteSandboxRuns, "tx" | "createdAt">;
1018
+ declare readonly $res: () => DeleteSandboxRunsResult;
1019
+
1020
+ constructor(args: Omit<_DeleteSandboxRuns, "tx" | "createdAt">) {
1021
+ this.command = args;
1022
+ }
1023
+ }
1024
+
1025
+ export class DeleteSandboxRun {
1026
+ static readonly commandId = "DeleteSandboxRun" as const;
1027
+ readonly commandId = "DeleteSandboxRun" as const;
1028
+ readonly command: Omit<_DeleteSandboxRun, "tx" | "createdAt">;
1029
+ declare readonly $res: () => DeleteSandboxRunResult;
1030
+
1031
+ constructor(args: Omit<_DeleteSandboxRun, "tx" | "createdAt">) {
1032
+ this.command = args;
1033
+ }
1034
+ }
1035
+
1036
+ export class DeleteMessage {
1037
+ static readonly commandId = "DeleteMessage" as const;
1038
+ readonly commandId = "DeleteMessage" as const;
1039
+ readonly command: Omit<_DeleteMessage, "tx" | "createdAt">;
1040
+ declare readonly $res: () => DeleteMessageResult;
1041
+
1042
+ constructor(args: Omit<_DeleteMessage, "tx" | "createdAt">) {
1043
+ this.command = args;
1044
+ }
1045
+ }
1046
+
1047
+ export class DeleteMessages {
1048
+ static readonly commandId = "DeleteMessages" as const;
1049
+ readonly commandId = "DeleteMessages" as const;
1050
+ readonly command: Omit<_DeleteMessages, "tx" | "createdAt">;
1051
+ declare readonly $res: () => DeleteMessagesResult;
1052
+
1053
+ constructor(args: Omit<_DeleteMessages, "tx" | "createdAt">) {
1054
+ this.command = args;
1055
+ }
1056
+ }
1057
+
1058
+ export class NotifyChannel {
1059
+ static readonly commandId = "NotifyChannel" as const;
1060
+ readonly commandId = "NotifyChannel" as const;
1061
+ readonly command: Omit<_NotifyChannel, "tx" | "createdAt">;
1062
+ declare readonly $res: () => void;
1063
+
1064
+ constructor(args: Omit<_NotifyChannel, "tx" | "createdAt">) {
1065
+ this.command = args;
1066
+ }
1067
+ }
1068
+
938
1069
  // Item constructors
939
1070
  export const items = {
940
1071
  Session: (args: Session) => ({ item: args, itemType: "Session" }),
941
- SessionNickname: (args: SessionNickname) => ({ item: args, itemType: "SessionNickname" }),
942
1072
  MessageRead: (args: MessageRead) => ({ item: args, itemType: "MessageRead" }),
1073
+ SessionNickname: (args: SessionNickname) => ({ item: args, itemType: "SessionNickname" }),
943
1074
  RoomMember: (args: RoomMember) => ({ item: args, itemType: "RoomMember" }),
944
- Message: (args: Message) => ({ item: args, itemType: "Message" }),
945
1075
  Room: (args: Room) => ({ item: args, itemType: "Room" }),
1076
+ SandboxRun: (args: SandboxRun) => ({ item: args, itemType: "SandboxRun" }),
1077
+ Message: (args: Message) => ({ item: args, itemType: "Message" }),
946
1078
  };
947
1079
 
948
1080
  // Message events
package/src/index.ts CHANGED
@@ -95,7 +95,7 @@ async function init(pi: ExtensionAPI) {
95
95
  sessionCtx.ui.notify(`marshal: new message from ${who}`, "info");
96
96
  }
97
97
 
98
- const text = meta.body ? `new message from ${who}: ${meta.body}` : undefined;
98
+ const text = meta.body ? `new message from ${who} [response_required=${meta.response_required ?? false}]: ${meta.body}` : undefined;
99
99
  void (async () => {
100
100
  try {
101
101
  if (text) {
@@ -409,12 +409,13 @@ async function init(pi: ExtensionAPI) {
409
409
  parameters: Type.Object({
410
410
  to: Type.String({ description: "recipient session id or nickname" }),
411
411
  body: Type.String({ description: "message text" }),
412
+ response_required: Type.Optional(Type.Boolean({ description: "Whether this message needs an answer; defaults to false. Keep it out of the body." })),
412
413
  }),
413
- async execute(_toolCallId: string, params: { to: string; body: string }) {
414
+ async execute(_toolCallId: string, params: { to: string; body: string; response_required?: boolean }) {
414
415
  if (!daemon || !sessionId) return { content: [{ type: "text", text: "marshal: not connected" }], details: {} };
415
416
  daemon.registerSession(sessionId);
416
417
  try {
417
- const r = await daemon.sendMessage(sessionId, params.to, params.body);
418
+ const r = await daemon.sendMessage(sessionId, params.to, params.body, params.response_required);
418
419
  const livePush = r.livePush ?? (r.deliveredLive ? "delivered" : "unknown");
419
420
  const wake = r.wake ?? (r.deliveredLive ? "not_needed" : "unobserved");
420
421
  return {
@@ -439,12 +440,13 @@ async function init(pi: ExtensionAPI) {
439
440
  parameters: Type.Object({
440
441
  room: Type.String({ description: "room id/name (e.g. everyone, host:myhost, op:user@example.com, project:marshal)" }),
441
442
  body: Type.String({ description: "message text" }),
443
+ response_required: Type.Optional(Type.Boolean({ description: "Whether this message needs an answer; defaults to false. Keep it out of the body." })),
442
444
  }),
443
- async execute(_toolCallId: string, params: { room: string; body: string }) {
445
+ async execute(_toolCallId: string, params: { room: string; body: string; response_required?: boolean }) {
444
446
  if (!daemon || !sessionId) return { content: [{ type: "text", text: "marshal: not connected" }], details: {} };
445
447
  daemon.registerSession(sessionId);
446
448
  try {
447
- const r = await daemon.broadcast(sessionId, params.room, params.body);
449
+ const r = await daemon.broadcast(sessionId, params.room, params.body, params.response_required);
448
450
  return {
449
451
  content: [{ type: "text", text: `broadcast to ${r.toRoomName}: delivered ${r.delivered.length}/${r.total}` }],
450
452
  details: { toRoom: r.toRoomName, delivered: r.delivered.length, total: r.total },