@relaymessenger/cli 0.4.0 → 0.4.4

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relay",
3
3
  "description": "Relay channel for Claude Code. Message your Claude Code session from your Relay agent conversation, with remote Allow/Deny permission relay. Run /relay:configure to set up.",
4
- "version": "0.2.0",
4
+ "version": "0.2.1",
5
5
  "author": {
6
6
  "name": "Relay"
7
7
  },
@@ -25745,7 +25745,7 @@ var RetryWindow = class {
25745
25745
  };
25746
25746
 
25747
25747
  // server.ts
25748
- var VERSION = "0.2.0";
25748
+ var VERSION = true ? "0.2.1" : createRequire(import.meta.url)("./package.json").version;
25749
25749
  var RETRY_INTERVAL_MS = 5e3;
25750
25750
  var NOTIFICATION_RETRY_MS = 3e4;
25751
25751
  var log = (message) => {
package/dist/api.d.ts CHANGED
@@ -1,39 +1,21 @@
1
1
  /**
2
- * Thin client for the Relay public API (https://docs.relayapp.im).
3
- * Wire shapes follow Relay's public OpenAPI contract at
4
- * https://docs.relayapp.im/api-reference/openapi.yaml.
2
+ * Compatibility facade over the canonical @relaymessenger/sdk client.
3
+ *
4
+ * The running bridge uses the SDK for identity, polling, messages, typing,
5
+ * responding, and read receipts. This facade keeps the CLI's established
6
+ * positional signatures and implements only pairing and cursor-recovery
7
+ * endpoints that the current published SDK does not expose.
5
8
  */
9
+ import { normalizeRelayBaseUrl, RelayApiError } from "@relaymessenger/sdk";
6
10
  import type { RelayEvent, RelayMentionRange, RelayMessage, RelayStyleRange } from "./store.js";
11
+ export { RelayApiError };
7
12
  export declare const PRODUCTION_ORIGIN = "https://api.relayapp.im";
8
- /**
9
- * Bearer tokens may only leave over HTTPS. Plain HTTP is accepted solely for
10
- * explicit loopback development servers, and base URLs cannot smuggle a path,
11
- * query, credentials, or fragment into request construction.
12
- */
13
- export declare function normalizeApiOrigin(value: string): string;
13
+ export declare const normalizeApiOrigin: typeof normalizeRelayBaseUrl;
14
14
  /**
15
15
  * Development/testing override for the Relay API origin. Production stays the
16
- * default; when RELAY_API_ORIGIN is set it passes normalizeApiOrigin, so the
17
- * loopback carve-out there remains the only place plain HTTP is accepted.
16
+ * default. The SDK owns all URL validation.
18
17
  */
19
18
  export declare function resolveApiOrigin(fallback?: string): string;
20
- export declare class RelayApiError extends Error {
21
- readonly status: number;
22
- readonly code: string | undefined;
23
- /**
24
- * `error.details` from the Relay error body. The cursor faults carry the
25
- * recovery target there (`highest_delivered_cursor`, `latest_sequence`),
26
- * so it has to survive the throw.
27
- */
28
- readonly details?: Record<string, unknown> | undefined;
29
- constructor(status: number, code: string | undefined, message: string,
30
- /**
31
- * `error.details` from the Relay error body. The cursor faults carry the
32
- * recovery target there (`highest_delivered_cursor`, `latest_sequence`),
33
- * so it has to survive the throw.
34
- */
35
- details?: Record<string, unknown> | undefined);
36
- }
37
19
  export interface PairingCreated {
38
20
  pairing_id: string;
39
21
  code: string;
@@ -56,14 +38,12 @@ export interface EventCursorReconciliation {
56
38
  reconciled: true;
57
39
  resume_cursor: number;
58
40
  }
59
- /** One row of GET /v1/conversations (AgentConversation in the OpenAPI contract). */
60
41
  export interface RelayConversation {
61
42
  id: string;
62
43
  kind?: "direct" | "group";
63
44
  last_sequence?: number;
64
45
  last_message_at?: string | null;
65
46
  }
66
- /** Outgoing part shapes accepted by `POST /v1/messages`. */
67
47
  export type RelayOutgoingPart = {
68
48
  type: "text";
69
49
  text: string;
@@ -73,11 +53,8 @@ export type RelayOutgoingPart = {
73
53
  type: "media";
74
54
  attachment_id?: string;
75
55
  url?: string;
76
- /** Optional pixel dimensions, always provided together. */
77
56
  width?: number;
78
57
  height?: number;
79
- /** Optional blurhash placeholder (base83). Derived by the server for
80
- * image attachments when omitted. */
81
58
  blur_hash?: string;
82
59
  } | {
83
60
  type: "voice_memo";
@@ -98,9 +75,8 @@ export interface PostMessageBody {
98
75
  message_id: string;
99
76
  };
100
77
  /**
101
- * Required in a group: the id Relay supplied on the invocation this message
102
- * answers. The server rejects a group agent message without it, and consumes
103
- * the invocation on commit, so exactly one message may carry a given id.
78
+ * Required in a group: Relay supplies this on the inbound invocation and
79
+ * consumes it when the reply commits.
104
80
  */
105
81
  invocation_id?: string;
106
82
  }
@@ -108,27 +84,23 @@ export declare class RelayClient {
108
84
  private readonly token?;
109
85
  private readonly fetchImpl;
110
86
  readonly origin: string;
87
+ private readonly sdk;
111
88
  constructor(origin: string, token?: string | undefined, fetchImpl?: typeof fetch);
112
- private request;
89
+ /**
90
+ * Pairing, event reconciliation, and history inventory are not yet in the
91
+ * published SDK. Keep their transport narrow until generated SDK methods
92
+ * replace this compatibility path.
93
+ */
94
+ private compatibilityRequest;
95
+ private authenticatedClient;
113
96
  createPairing(deviceName: string, engine?: string): Promise<PairingCreated>;
114
97
  waitPairing(pairingId: string, pollToken: string): Promise<PairingStatus>;
115
98
  getMe(): Promise<Record<string, unknown>>;
116
99
  getEvents(cursor: number, timeoutS?: number, limit?: number): Promise<EventsPage>;
117
100
  reconcileEvents(expiredCursor: number): Promise<EventCursorReconciliation>;
118
- /**
119
- * The server splits the accepted parts at ingest: each visible non-media
120
- * part becomes its own message, contiguous media parts stay one media
121
- * message, and a voice memo always commits alone, so the 202 carries one
122
- * or more messages, in display order.
123
- */
124
101
  postMessage(body: PostMessageBody, idempotencyKey: string): Promise<{
125
102
  messages: RelayMessage[];
126
103
  }>;
127
- /**
128
- * Conversations this agent still participates in, newest activity first.
129
- * The canonical inventory used to reconcile after a cursor fault, when the
130
- * event log can no longer say which conversations moved.
131
- */
132
104
  listConversations(limit?: number): Promise<{
133
105
  conversations: RelayConversation[];
134
106
  }>;
@@ -136,6 +108,7 @@ export declare class RelayClient {
136
108
  messages: RelayMessage[];
137
109
  }>;
138
110
  setTyping(conversationId: string, started: boolean, label?: string, invocationId?: string): Promise<void>;
111
+ setResponding(conversationId: string, messageId: string, label?: string, invocationId?: string): Promise<void>;
139
112
  markRead(conversationId: string, messageId: string): Promise<void>;
140
113
  }
141
114
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js CHANGED
@@ -1,164 +1,162 @@
1
- export const PRODUCTION_ORIGIN = "https://api.relayapp.im";
2
- function isLoopbackHost(hostname) {
3
- const host = hostname.toLowerCase();
4
- return host === "localhost" || host.endsWith(".localhost") || host === "::1" || host === "[::1]" || /^127\./.test(host);
5
- }
6
1
  /**
7
- * Bearer tokens may only leave over HTTPS. Plain HTTP is accepted solely for
8
- * explicit loopback development servers, and base URLs cannot smuggle a path,
9
- * query, credentials, or fragment into request construction.
2
+ * Compatibility facade over the canonical @relaymessenger/sdk client.
3
+ *
4
+ * The running bridge uses the SDK for identity, polling, messages, typing,
5
+ * responding, and read receipts. This facade keeps the CLI's established
6
+ * positional signatures and implements only pairing and cursor-recovery
7
+ * endpoints that the current published SDK does not expose.
10
8
  */
11
- export function normalizeApiOrigin(value) {
12
- let url;
13
- try {
14
- url = new URL(value);
15
- }
16
- catch {
17
- throw new Error(`Invalid Relay API origin: ${value}`);
18
- }
19
- if (url.username || url.password || url.search || url.hash || (url.pathname && url.pathname !== "/")) {
20
- throw new Error("Relay API origin must contain only scheme and host (no credentials, path, query, or fragment)");
21
- }
22
- if (url.protocol !== "https:" && !(url.protocol === "http:" && isLoopbackHost(url.hostname))) {
23
- throw new Error("Relay API origin must use HTTPS (plain HTTP is allowed only on loopback)");
24
- }
25
- return url.origin;
26
- }
9
+ import { classifyRelayHttpStatus, createRelayClient, DEFAULT_RELAY_BASE_URL, normalizeRelayBaseUrl, RelayApiError, } from "@relaymessenger/sdk";
10
+ export { RelayApiError };
11
+ export const PRODUCTION_ORIGIN = DEFAULT_RELAY_BASE_URL;
12
+ export const normalizeApiOrigin = normalizeRelayBaseUrl;
27
13
  /**
28
14
  * Development/testing override for the Relay API origin. Production stays the
29
- * default; when RELAY_API_ORIGIN is set it passes normalizeApiOrigin, so the
30
- * loopback carve-out there remains the only place plain HTTP is accepted.
15
+ * default. The SDK owns all URL validation.
31
16
  */
32
17
  export function resolveApiOrigin(fallback = PRODUCTION_ORIGIN) {
33
18
  const override = process.env.RELAY_API_ORIGIN?.trim();
34
- if (!override)
35
- return fallback;
36
- return normalizeApiOrigin(override);
37
- }
38
- export class RelayApiError extends Error {
39
- status;
40
- code;
41
- details;
42
- constructor(status, code, message,
43
- /**
44
- * `error.details` from the Relay error body. The cursor faults carry the
45
- * recovery target there (`highest_delivered_cursor`, `latest_sequence`),
46
- * so it has to survive the throw.
47
- */
48
- details) {
49
- super(message);
50
- this.status = status;
51
- this.code = code;
52
- this.details = details;
53
- this.name = "RelayApiError";
54
- }
19
+ return normalizeRelayBaseUrl(override || fallback);
55
20
  }
56
21
  export class RelayClient {
57
22
  token;
58
23
  fetchImpl;
59
24
  origin;
25
+ sdk;
60
26
  constructor(origin, token, fetchImpl = fetch) {
61
27
  this.token = token;
62
28
  this.fetchImpl = fetchImpl;
63
- this.origin = normalizeApiOrigin(origin);
29
+ this.origin = normalizeRelayBaseUrl(origin);
30
+ this.sdk = token
31
+ ? createRelayClient({
32
+ baseUrl: this.origin,
33
+ token,
34
+ fetchImpl,
35
+ requestTimeoutMs: 30_000,
36
+ })
37
+ : undefined;
64
38
  }
65
- async request(method, path, opts = {}) {
66
- const headers = { ...opts.headers };
67
- const bearer = opts.bearer ?? this.token;
39
+ /**
40
+ * Pairing, event reconciliation, and history inventory are not yet in the
41
+ * published SDK. Keep their transport narrow until generated SDK methods
42
+ * replace this compatibility path.
43
+ */
44
+ async compatibilityRequest(method, path, options = {}) {
45
+ const headers = { ...options.headers };
46
+ const bearer = options.bearer ?? this.token;
68
47
  if (bearer)
69
48
  headers.authorization = `Bearer ${bearer}`;
70
49
  let body;
71
- if (opts.body !== undefined) {
50
+ if (options.body !== undefined) {
72
51
  headers["content-type"] = "application/json";
73
- body = JSON.stringify(opts.body);
52
+ body = JSON.stringify(options.body);
74
53
  }
75
- const res = await this.fetchImpl(`${this.origin}${path}`, {
54
+ const response = await this.fetchImpl(`${this.origin}${path}`, {
76
55
  method,
77
56
  headers,
78
57
  body,
79
- signal: AbortSignal.timeout(opts.timeoutMs ?? 30_000),
58
+ signal: AbortSignal.timeout(options.timeoutMs ?? 30_000),
80
59
  });
81
- const text = await res.text();
60
+ const text = await response.text();
82
61
  let json;
83
62
  try {
84
- json = text.length > 0 ? JSON.parse(text) : undefined;
63
+ json = text ? JSON.parse(text) : undefined;
85
64
  }
86
65
  catch {
87
66
  json = undefined;
88
67
  }
89
- const okStatuses = opts.expectStatus ?? [200, 201, 202, 204];
90
- if (!okStatuses.includes(res.status)) {
91
- const code = json?.error?.code ?? json?.code;
92
- const message = json?.error?.message ?? json?.message ?? text.slice(0, 300) ?? res.statusText;
93
- const details = json?.error?.details;
94
- throw new RelayApiError(res.status, code, `${method} ${path} → ${res.status}: ${message}`, details && typeof details === "object" && !Array.isArray(details) ? details : undefined);
68
+ if (!response.ok) {
69
+ const envelope = json;
70
+ const code = envelope?.error?.code ?? envelope?.code;
71
+ const message = envelope?.error?.message ??
72
+ envelope?.message ??
73
+ text.slice(0, 300) ??
74
+ response.statusText;
75
+ const details = envelope?.error?.details;
76
+ throw new RelayApiError(`${method} ${path} → ${response.status}: ${message}`, {
77
+ status: response.status,
78
+ kind: classifyRelayHttpStatus(response.status),
79
+ ...(code ? { code } : {}),
80
+ ...(details ? { details } : {}),
81
+ });
95
82
  }
96
83
  return json;
97
84
  }
98
- // — Pairing (unauthenticated create; poll_token bearer for polling)
85
+ authenticatedClient() {
86
+ if (!this.sdk) {
87
+ throw new Error("relay: Agent Token is required");
88
+ }
89
+ return this.sdk;
90
+ }
99
91
  createPairing(deviceName, engine) {
100
- return this.request("POST", "/v1/pairings", {
101
- body: { device_name: deviceName, ...(engine ? { engine } : {}) },
92
+ return this.compatibilityRequest("POST", "/v1/pairings", {
93
+ body: {
94
+ device_name: deviceName,
95
+ ...(engine ? { engine } : {}),
96
+ },
102
97
  });
103
98
  }
104
99
  waitPairing(pairingId, pollToken) {
105
- return this.request("GET", `/v1/pairings/${pairingId}?wait=true`, {
106
- bearer: pollToken,
107
- timeoutMs: 45_000,
108
- });
100
+ return this.compatibilityRequest("GET", `/v1/pairings/${encodeURIComponent(pairingId)}?wait=true`, { bearer: pollToken, timeoutMs: 45_000 });
109
101
  }
110
- // Agent-authenticated surface —
111
- getMe() {
112
- return this.request("GET", "/v1/agents/me");
102
+ async getMe() {
103
+ return { agent: await this.authenticatedClient().getMe() };
113
104
  }
114
- getEvents(cursor, timeoutS = 25, limit = 100) {
115
- const qs = `cursor=${cursor}&timeout=${timeoutS}&limit=${limit}`;
116
- return this.request("GET", `/v1/events?${qs}`, { timeoutMs: (timeoutS + 15) * 1000 });
105
+ async getEvents(cursor, timeoutS = 25, limit = 100) {
106
+ const page = await this.authenticatedClient().pollEvents({
107
+ cursor,
108
+ timeoutSeconds: timeoutS,
109
+ limit,
110
+ });
111
+ return {
112
+ events: page.events,
113
+ next_cursor: page.nextCursor,
114
+ };
117
115
  }
118
116
  reconcileEvents(expiredCursor) {
119
- return this.request("POST", "/v1/events/reconcile", {
120
- body: { expired_cursor: expiredCursor, history_reconciled: true },
121
- headers: { "idempotency-key": `event-cursor-reconcile:${expiredCursor}` },
117
+ return this.compatibilityRequest("POST", "/v1/events/reconcile", {
118
+ body: {
119
+ expired_cursor: expiredCursor,
120
+ history_reconciled: true,
121
+ },
122
+ headers: {
123
+ "idempotency-key": `event-cursor-reconcile:${expiredCursor}`,
124
+ },
122
125
  });
123
126
  }
124
- /**
125
- * The server splits the accepted parts at ingest: each visible non-media
126
- * part becomes its own message, contiguous media parts stay one media
127
- * message, and a voice memo always commits alone, so the 202 carries one
128
- * or more messages, in display order.
129
- */
130
127
  postMessage(body, idempotencyKey) {
131
- return this.request("POST", "/v1/messages", {
132
- body,
133
- headers: { "idempotency-key": idempotencyKey },
128
+ return this.authenticatedClient().sendMessage({
129
+ conversationId: body.conversation_id,
130
+ parts: body.parts,
131
+ idempotencyKey,
132
+ ...(body.reply_to ? { replyTo: body.reply_to } : {}),
133
+ ...(body.invocation_id ? { invocationId: body.invocation_id } : {}),
134
134
  });
135
135
  }
136
- /**
137
- * Conversations this agent still participates in, newest activity first.
138
- * The canonical inventory used to reconcile after a cursor fault, when the
139
- * event log can no longer say which conversations moved.
140
- */
141
136
  listConversations(limit = 50) {
142
- return this.request("GET", `/v1/conversations?limit=${limit}`);
137
+ return this.compatibilityRequest("GET", `/v1/conversations?limit=${encodeURIComponent(limit)}`);
143
138
  }
144
139
  listMessages(conversationId, limit = 20) {
145
- return this.request("GET", `/v1/conversations/${conversationId}/messages?limit=${limit}`);
140
+ return this.compatibilityRequest("GET", `/v1/conversations/${encodeURIComponent(conversationId)}/messages?limit=${encodeURIComponent(limit)}`);
146
141
  }
147
142
  setTyping(conversationId, started, label, invocationId) {
148
- return this.request("POST", `/v1/conversations/${conversationId}/typing`, {
149
- // Group typing is gated on a still-pending invocation, so the id has to
150
- // ride along until the reply consumes it.
151
- body: {
152
- started,
153
- ...(label ? { label } : {}),
154
- ...(invocationId ? { invocation_id: invocationId } : {}),
155
- },
143
+ return this.authenticatedClient().setTyping({
144
+ conversationId,
145
+ started,
146
+ ...(label ? { label } : {}),
147
+ ...(invocationId ? { invocationId } : {}),
156
148
  });
157
149
  }
158
- markRead(conversationId, messageId) {
159
- return this.request("POST", `/v1/conversations/${conversationId}/read`, {
160
- body: { message_id: messageId },
150
+ setResponding(conversationId, messageId, label, invocationId) {
151
+ return this.authenticatedClient().setResponding({
152
+ conversationId,
153
+ messageId,
154
+ ...(label ? { label } : {}),
155
+ ...(invocationId ? { invocationId } : {}),
161
156
  });
162
157
  }
158
+ markRead(conversationId, messageId) {
159
+ return this.authenticatedClient().markRead({ conversationId, messageId });
160
+ }
163
161
  }
164
162
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ,GAAW,iBAAiB;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtD,OAAO,qBAAqB,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACrD,CAAC;AAsED,MAAM,OAAO,WAAW;IAMH,KAAK;IACL,SAAS;IANnB,MAAM,CAAS;IACP,GAAG,CAA6B;IAEjD,YACE,MAAc,EACG,KAAc,EACd,SAAS,GAAiB,KAAK;qBAD/B,KAAK;yBACL,SAAS;QAE1B,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,KAAK;YACd,CAAC,CAAC,iBAAiB,CAAC;gBAChB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,KAAK;gBACL,SAAS;gBACT,gBAAgB,EAAE,MAAM;aACzB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,oBAAoB,CAChC,MAAc,EACd,IAAY,EACZ,OAAO,GAKH,EAAE;QAEN,MAAM,OAAO,GAA2B,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;QACvD,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE;YAC7D,MAAM;YACN,OAAO;YACP,IAAI;YACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAQJ,CAAC;YACd,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,CAAC;YACrD,MAAM,OAAO,GACX,QAAQ,EAAE,KAAK,EAAE,OAAO;gBACxB,QAAQ,EAAE,OAAO;gBACjB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAClB,QAAQ,CAAC,UAAU,CAAC;YACtB,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;YACzC,MAAM,IAAI,aAAa,CACrB,GAAG,MAAM,IAAI,IAAI,MAAM,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,EACpD;gBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,MAAe;QAC/C,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE;YACvD,IAAI,EAAE;gBACJ,WAAW,EAAE,UAAU;gBACvB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,SAAiB;QAC9C,OAAO,IAAI,CAAC,oBAAoB,CAC9B,KAAK,EACL,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,YAAY,EACzD,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CACzC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,UAAU,CAAC;YACvD,MAAM;YACN,cAAc,EAAE,QAAQ;YACxB,KAAK;SACN,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAsB;YACnC,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,aAAqB;QACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE;YAC/D,IAAI,EAAE;gBACJ,cAAc,EAAE,aAAa;gBAC7B,kBAAkB,EAAE,IAAI;aACzB;YACD,OAAO,EAAE;gBACP,iBAAiB,EAAE,0BAA0B,aAAa,EAAE;aAC7D;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,IAAqB,EACrB,cAAsB;QAEtB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC;YAC5C,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,KAAK,EAAE,IAAI,CAAC,KAA+B;YAC3C,cAAc;YACd,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAA0C,CAAC;IAC9C,CAAC;IAED,iBAAiB,CAAC,KAAK,GAAG,EAAE;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAC9B,KAAK,EACL,2BAA2B,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,YAAY,CACV,cAAsB,EACtB,KAAK,GAAG,EAAE;QAEV,OAAO,IAAI,CAAC,oBAAoB,CAC9B,KAAK,EACL,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IAED,SAAS,CACP,cAAsB,EACtB,OAAgB,EAChB,KAAc,EACd,YAAqB;QAErB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;YAC1C,cAAc;YACd,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,cAAsB,EACtB,SAAiB,EACjB,KAAc,EACd,YAAqB;QAErB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC;YAC9C,cAAc;YACd,SAAS;YACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,cAAsB,EAAE,SAAiB;QAChD,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF"}
package/dist/cli.js CHANGED
@@ -36,6 +36,7 @@ const USAGE = `relaymessenger — bridge your local coding agent to Relay (https
36
36
  relaymessenger install-claude point at the Claude Code channel plugin
37
37
  relaymessenger install-openclaw install and configure the bundled OpenClaw plugin
38
38
  relaymessenger doctor health checks
39
+ relaymessenger version print the installed version
39
40
 
40
41
  Docs: https://docs.relayapp.im/quickstart`;
41
42
  async function main() {
@@ -140,6 +141,17 @@ async function main() {
140
141
  }
141
142
  return await permissionRequestHook();
142
143
  }
144
+ case "version":
145
+ case "--version":
146
+ case "-v": {
147
+ // A published CLI that cannot state its own version leaves a bug report
148
+ // with nothing to anchor on. Read the manifest rather than a constant, so
149
+ // it cannot drift from what npm actually installed.
150
+ const { createRequire } = await import("node:module");
151
+ const manifest = createRequire(import.meta.url)("../package.json");
152
+ console.log(manifest.version);
153
+ return 0;
154
+ }
143
155
  case undefined:
144
156
  case "help":
145
157
  case "--help":
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/receive.d.ts CHANGED
@@ -57,6 +57,16 @@ export declare class ReceiveLoop {
57
57
  * Exposed for tests; `run()` supervises it forever.
58
58
  */
59
59
  pollOnce(timeoutS?: number): Promise<number>;
60
+ /**
61
+ * A turn snapshots its batch at start, so a message that lands while the
62
+ * turn runs cannot advance that turn's /responding watermark and would sit
63
+ * at "Delivered" until its own turn — after the reply, plus another
64
+ * debounce. Mark the queue head read now instead. /read is the receipt
65
+ * without /responding's typing side effect, so the running turn's tool
66
+ * label survives. Best-effort: the next turn's /responding still covers
67
+ * the same watermark durably, so a failure here only delays the receipt.
68
+ */
69
+ private ackQueuedBehindTurn;
60
70
  /**
61
71
  * Read the canonical record after a cursor fault. Conversation history is
62
72
  * Relay's documented recovery path: the event log can no longer say what
@@ -1 +1 @@
1
- {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
package/dist/receive.js CHANGED
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import { createHash } from "node:crypto";
20
20
  import { RelayApiError } from "./api.js";
21
+ import { engineDisplayName } from "./engine/catalog.js";
21
22
  export function turnIdempotencyKey(conversationId, eventIds) {
22
23
  const digest = createHash("sha256")
23
24
  .update(JSON.stringify([conversationId, eventIds]))
@@ -125,10 +126,32 @@ export class ReceiveLoop {
125
126
  this.state.current.cursor = page.next_cursor;
126
127
  }
127
128
  this.state.persist();
128
- for (const conversationId of touched)
129
+ for (const conversationId of touched) {
129
130
  this.scheduleFlush(conversationId);
131
+ this.ackQueuedBehindTurn(conversationId);
132
+ }
130
133
  return accepted;
131
134
  }
135
+ /**
136
+ * A turn snapshots its batch at start, so a message that lands while the
137
+ * turn runs cannot advance that turn's /responding watermark and would sit
138
+ * at "Delivered" until its own turn — after the reply, plus another
139
+ * debounce. Mark the queue head read now instead. /read is the receipt
140
+ * without /responding's typing side effect, so the running turn's tool
141
+ * label survives. Best-effort: the next turn's /responding still covers
142
+ * the same watermark durably, so a failure here only delays the receipt.
143
+ */
144
+ ackQueuedBehindTurn(conversationId) {
145
+ if (!this.turnChains.has(conversationId))
146
+ return;
147
+ const queue = this.state.current.pending_events[conversationId] ?? [];
148
+ const newest = queue[queue.length - 1]?.data?.message;
149
+ if (!newest)
150
+ return;
151
+ void this.client
152
+ .markRead(conversationId, newest.id)
153
+ .catch((error) => this.log(`mid-turn read receipt failed for ${conversationId}: ${error}`));
154
+ }
132
155
  /**
133
156
  * Read the canonical record after a cursor fault. Conversation history is
134
157
  * Relay's documented recovery path: the event log can no longer say what
@@ -384,24 +407,41 @@ export class ReceiveLoop {
384
407
  .filter((message) => message !== undefined);
385
408
  const promptText = promptTextFromMessages(messages);
386
409
  if (promptText.length === 0) {
387
- // Nothing promptable; drop the batch durably.
388
- delete this.state.current.pending_events[conversationId];
389
- this.state.persist();
410
+ // Nothing promptable; drop only THIS batch durably — later events must
411
+ // survive for their own turns — and still mark it read, or a
412
+ // media-only message with no fallback text pins at Delivered forever.
413
+ this.clearBatch(conversationId, events);
414
+ const newestUnpromptable = messages[messages.length - 1];
415
+ if (newestUnpromptable) {
416
+ try {
417
+ await this.client.markRead(conversationId, newestUnpromptable.id);
418
+ }
419
+ catch (error) {
420
+ this.log(`read receipt for unpromptable batch failed for ${conversationId}: ${error}`);
421
+ }
422
+ }
390
423
  return;
391
424
  }
392
- // Crash semantics: engine/tool side effects are at-most-once per batch.
393
- // The exact event-id batch is persisted BEFORE the engine starts. A later
394
- // message cannot change or overwrite which prefix was already attempted.
395
- const eventIds = events.map((event) => event.event_id);
396
- const turnKey = turnIdempotencyKey(conversationId, eventIds);
397
- (this.state.current.attempted_turns ??= {})[conversationId] = {
398
- turn_key: turnKey,
399
- event_ids: eventIds,
400
- started_at: new Date().toISOString(),
401
- };
402
- this.state.persist();
403
- const typing = this.startTyping(conversationId, invocationId);
425
+ const lastMessage = messages[messages.length - 1];
426
+ const respondingLabel = engineDisplayName(this.engine.engine);
427
+ // Mark the complete debounced watermark before engine execution. A
428
+ // rejected /responding call propagates visibly and leaves the batch
429
+ // unattempted, so no tool turn can run behind a stale Delivered receipt.
430
+ await this.client.setResponding(conversationId, lastMessage.id, respondingLabel, invocationId);
431
+ const typing = this.startTyping(conversationId, invocationId, respondingLabel);
404
432
  try {
433
+ // Crash semantics: engine/tool side effects are at-most-once per batch.
434
+ // The exact event-id batch is persisted AFTER replay-safe lifecycle
435
+ // preflight and BEFORE the engine starts. A later message cannot change
436
+ // or overwrite which prefix was already attempted.
437
+ const eventIds = events.map((event) => event.event_id);
438
+ const turnKey = turnIdempotencyKey(conversationId, eventIds);
439
+ (this.state.current.attempted_turns ??= {})[conversationId] = {
440
+ turn_key: turnKey,
441
+ event_ids: eventIds,
442
+ started_at: new Date().toISOString(),
443
+ };
444
+ this.state.persist();
405
445
  let result;
406
446
  try {
407
447
  result = await this.engine.startTurn({ conversationId, cwd: this.cwd }, promptText, {
@@ -468,28 +508,40 @@ export class ReceiveLoop {
468
508
  this.log(`group approval routed to the owner's direct conversation ${direct}`);
469
509
  return this.broker.ask(direct, ask, this.engine.engine);
470
510
  }
471
- startTyping(conversationId, invocationId) {
472
- let label;
511
+ startTyping(conversationId, invocationId, initialLabel) {
512
+ let label = initialLabel;
473
513
  let active = true;
474
- const push = () => {
514
+ const push = async (reason) => {
475
515
  if (!active)
476
516
  return;
477
- this.client.setTyping(conversationId, true, label, invocationId).catch(() => { });
517
+ try {
518
+ await this.client.setTyping(conversationId, true, label, invocationId);
519
+ }
520
+ catch (error) {
521
+ this.log(`typing ${reason} failed for ${conversationId}: ${error}`);
522
+ }
478
523
  };
479
- push();
480
- const interval = setInterval(push, 20_000);
524
+ void push("start");
525
+ const interval = setInterval(() => {
526
+ void push("keepalive");
527
+ }, 20_000);
481
528
  interval.unref?.();
482
529
  return {
483
530
  setLabel: (next) => {
484
531
  label = next.slice(0, 80);
485
- push();
532
+ void push("label");
486
533
  },
487
534
  stop: async () => {
488
535
  if (!active)
489
536
  return;
490
537
  active = false;
491
538
  clearInterval(interval);
492
- await this.client.setTyping(conversationId, false, undefined, invocationId).catch(() => { });
539
+ try {
540
+ await this.client.setTyping(conversationId, false, undefined, invocationId);
541
+ }
542
+ catch (error) {
543
+ this.log(`typing stop failed for ${conversationId}: ${error}`);
544
+ }
493
545
  },
494
546
  };
495
547
  }
@@ -1 +1 @@
1
- {"version":3,"file":"receive.js","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receive.js","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@relaymessenger/cli",
3
- "version": "0.4.0",
3
+ "version": "0.4.4",
4
4
  "description": "Relay CLI. Bridge Claude Code, Codex, Hermes Agent, or OpenClaw to Relay. https://relayapp.im",
5
5
  "homepage": "https://relayapp.im",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/relaymessenger/Relay-SDK.git",
9
- "directory": "packages/relaymessenger"
9
+ "directory": "packages/cli"
10
10
  },
11
11
  "bugs": {
12
12
  "url": "https://github.com/relaymessenger/Relay-SDK/issues"
@@ -30,22 +30,23 @@
30
30
  "build": "tsc -p tsconfig.json",
31
31
  "check": "tsc -p tsconfig.json --noEmit",
32
32
  "test": "tsx --test \"src/**/*.test.ts\"",
33
- "prepack": "node scripts/build-claude-bundle.mjs && npm run clean && npm run build"
33
+ "prepack": "npm run build --workspace @relaymessenger/sdk && node scripts/build-claude-bundle.mjs && npm run clean && npm run build"
34
34
  },
35
35
  "dependencies": {
36
- "@agentclientprotocol/claude-agent-acp": "0.66.0",
37
- "@agentclientprotocol/codex-acp": "1.2.0",
36
+ "@agentclientprotocol/claude-agent-acp": "0.69.0",
37
+ "@agentclientprotocol/codex-acp": "1.4.0",
38
38
  "@agentclientprotocol/sdk": "^1.2.1",
39
+ "@relaymessenger/sdk": "0.2.0",
39
40
  "cross-spawn": "7.0.6",
40
41
  "qrcode-terminal": "^0.12.0",
41
42
  "smol-toml": "^1.8.0"
42
43
  },
43
44
  "devDependencies": {
44
- "@anthropic-ai/claude-code": "2.1.226",
45
+ "@anthropic-ai/claude-code": "2.1.233",
45
46
  "@types/cross-spawn": "6.0.6",
46
47
  "@types/node": "^26.2.0",
47
48
  "@types/qrcode-terminal": "^0.12.2",
48
- "tsx": "^4.23.11",
49
+ "tsx": "^4.23.12",
49
50
  "typescript": "^7.0.2"
50
51
  },
51
52
  "license": "MIT",