@agentworkforce/delivery 4.1.13 → 4.1.14

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,5 +1,5 @@
1
1
  import type { WorkforceCtx } from '@agentworkforce/runtime';
2
- import { type DeliveryClient, type DeliveryTransports } from './types.js';
2
+ import { type DeliveryClient, type DeliveryProvider, type DeliveryTransports } from './types.js';
3
3
  /**
4
4
  * Create a delivery client that auto-discovers configured transports from
5
5
  * the persona context and sends to all of them.
@@ -18,5 +18,5 @@ import { type DeliveryClient, type DeliveryTransports } from './types.js';
18
18
  */
19
19
  export declare function createDelivery(ctx: WorkforceCtx, transports?: DeliveryTransports,
20
20
  /** Override which transports to target (defaults to all configured). */
21
- onlyTargets?: ReadonlyArray<'slack' | 'telegram'>): DeliveryClient;
21
+ onlyTargets?: ReadonlyArray<DeliveryProvider>): DeliveryClient;
22
22
  //# sourceMappingURL=delivery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAIL,KAAK,cAAc,EAGnB,KAAK,kBAAkB,EAGxB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,UAAU,CAAC,EAAE,kBAAkB;AAC/B,wEAAwE;AACxE,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,GAChD,cAAc,CA8BhB"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAKxB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,UAAU,CAAC,EAAE,kBAAkB;AAC/B,wEAAwE;AACxE,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAC5C,cAAc,CA2ChB"}
package/dist/delivery.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { slackClient, telegramClient } from '@relayfile/relay-helpers';
2
2
  import { resolveDeliveryTargets, slackChannel, telegramChat } from './types.js';
3
+ import { defaultRelaycastSender } from './relaycast.js';
3
4
  const WRITEBACK_TIMEOUT_MS = 45_000;
4
5
  /**
5
6
  * Create a delivery client that auto-discovers configured transports from
@@ -20,7 +21,11 @@ const WRITEBACK_TIMEOUT_MS = 45_000;
20
21
  export function createDelivery(ctx, transports,
21
22
  /** Override which transports to target (defaults to all configured). */
22
23
  onlyTargets) {
23
- const allTargets = resolveDeliveryTargets(ctx);
24
+ // Slack/Telegram are config-driven (persona inputs). Relaycast is event-driven
25
+ // — it's a target only when the caller supplies a reply address in transports.
26
+ const allTargets = [...resolveDeliveryTargets(ctx)];
27
+ if (transports?.relaycast?.to)
28
+ allTargets.push('relaycast');
24
29
  const targets = onlyTargets
25
30
  ? allTargets.filter((t) => onlyTargets.includes(t))
26
31
  : allTargets;
@@ -40,11 +45,20 @@ onlyTargets) {
40
45
  const telegramNonBlocking = injectedTelegram ?? (targets.includes('telegram')
41
46
  ? telegramClient({ writebackTimeoutMs: 0 })
42
47
  : undefined);
48
+ // Relaycast reply: address from the inbound event, client from the injected
49
+ // sender or the default env-backed one (POST /v1/dm with RELAY_API_KEY).
50
+ const relaycast = targets.includes('relaycast') && transports?.relaycast?.to
51
+ ? {
52
+ to: transports.relaycast.to,
53
+ sender: transports.relaycast.sender ?? defaultRelaycastSender(ctx)
54
+ }
55
+ : undefined;
43
56
  return new DeliveryClientImpl(ctx, targets, {
44
57
  slackBlocking,
45
58
  slackNonBlocking,
46
59
  telegramBlocking,
47
- telegramNonBlocking
60
+ telegramNonBlocking,
61
+ relaycast
48
62
  });
49
63
  }
50
64
  class DeliveryClientImpl {
@@ -75,6 +89,19 @@ class DeliveryClientImpl {
75
89
  refs.push(ref); })
76
90
  .catch((err) => { errors.push(`telegram: ${String(err)}`); }));
77
91
  }
92
+ if (target === 'relaycast') {
93
+ // Relaycast replies are a single blocking DM — there's no draft-ref /
94
+ // server-ordered threading pattern, so they don't participate in
95
+ // publish()/non-blocking sends (which promise no receipt wait).
96
+ if (nonBlocking) {
97
+ this.ctx.log?.('debug', 'delivery.relaycast.skip-nonblocking', { to: this.t.relaycast?.to });
98
+ continue;
99
+ }
100
+ tasks.push(this.sendRelaycast(text)
101
+ .then((ref) => { if (ref)
102
+ refs.push(ref); })
103
+ .catch((err) => { errors.push(`relaycast: ${String(err)}`); }));
104
+ }
78
105
  }
79
106
  await Promise.all(tasks);
80
107
  // In non-blocking mode, draft refs always succeed (no receipt wait to fail).
@@ -148,6 +175,21 @@ class DeliveryClientImpl {
148
175
  draftRef: result.path
149
176
  };
150
177
  }
178
+ // ── Relaycast (agent-to-agent) ───────────────────────────────────────────
179
+ async sendRelaycast(text) {
180
+ const rc = this.t.relaycast;
181
+ if (!rc)
182
+ return null;
183
+ const res = await rc.sender.dm(rc.to, text);
184
+ // Treat a missing message id as a failed delivery (matches slack/telegram,
185
+ // which return null on a missing receipt) — don't report success with an
186
+ // unusable ref.
187
+ if (!res.ok || !res.messageId) {
188
+ this.ctx.log?.('warn', 'delivery.relaycast.no-receipt', { to: rc.to });
189
+ return null;
190
+ }
191
+ return { provider: 'relaycast', to: rc.to, messageId: res.messageId };
192
+ }
151
193
  // ── Telegram ───────────────────────────────────────────────────────────
152
194
  async sendTelegram(text, parentRef, nonBlocking) {
153
195
  const chatId = telegramChat(this.ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { createDelivery } from './delivery.js';
2
- export { resolveDeliveryTargets, slackChannel, telegramChat, type DeliveryClient, type DeliveryOptions, type DeliveryResult, type DeliveryTransports, type MessageRef, type SlackRef, type TelegramRef } from './types.js';
2
+ export { resolveDeliveryTargets, slackChannel, telegramChat, type DeliveryClient, type DeliveryOptions, type DeliveryProvider, type DeliveryResult, type DeliveryTransports, type MessageRef, type RelaycastRef, type RelaycastSender, type RelaycastTarget, type SlackRef, type TelegramRef } from './types.js';
3
+ export { DEFAULT_RELAYCAST_URL, resolveRelaycastUrl, defaultRelaycastSender } from './relaycast.js';
3
4
  export { input, list, withTimeout, fetchWithTimeout } from './helpers.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEpG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { createDelivery } from './delivery.js';
2
2
  export { resolveDeliveryTargets, slackChannel, telegramChat } from './types.js';
3
+ export { DEFAULT_RELAYCAST_URL, resolveRelaycastUrl, defaultRelaycastSender } from './relaycast.js';
3
4
  export { input, list, withTimeout, fetchWithTimeout } from './helpers.js';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,YAAY,EAQb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,YAAY,EAYb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEpG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { WorkforceCtx } from '@agentworkforce/runtime';
2
+ import type { RelaycastSender } from './types.js';
3
+ /**
4
+ * Canonical relaycast gateway — SINGLE SOURCE OF TRUTH. Change this one
5
+ * constant to move the default gateway. Per-env override via `RELAYCAST_URL`
6
+ * (preferred) or `RELAY_BASE_URL`.
7
+ */
8
+ export declare const DEFAULT_RELAYCAST_URL = "https://cast.agentrelay.com";
9
+ /** Resolve the relaycast base URL: RELAYCAST_URL > RELAY_BASE_URL > default. */
10
+ export declare function resolveRelaycastUrl(): string;
11
+ /**
12
+ * Default relaycast sender — DMs a peer agent via `POST /v1/dm` using the box's
13
+ * injected agent token. Bounded by `fetchWithTimeout` and never throws: returns
14
+ * `{ ok: false }` (logged) on missing token, timeout, or non-2xx, so a relay
15
+ * reply degrades gracefully rather than crashing the handler.
16
+ */
17
+ export declare function defaultRelaycastSender(ctx: WorkforceCtx): RelaycastSender;
18
+ //# sourceMappingURL=relaycast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaycast.d.ts","sourceRoot":"","sources":["../src/relaycast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C;AAkBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,eAAe,CAuCzE"}
@@ -0,0 +1,72 @@
1
+ import { fetchWithTimeout } from './helpers.js';
2
+ /**
3
+ * Canonical relaycast gateway — SINGLE SOURCE OF TRUTH. Change this one
4
+ * constant to move the default gateway. Per-env override via `RELAYCAST_URL`
5
+ * (preferred) or `RELAY_BASE_URL`.
6
+ */
7
+ export const DEFAULT_RELAYCAST_URL = 'https://cast.agentrelay.com';
8
+ /** Resolve the relaycast base URL: RELAYCAST_URL > RELAY_BASE_URL > default. */
9
+ export function resolveRelaycastUrl() {
10
+ const raw = process.env.RELAYCAST_URL?.trim() ||
11
+ process.env.RELAY_BASE_URL?.trim() ||
12
+ DEFAULT_RELAYCAST_URL;
13
+ return raw.replace(/\/+$/, '');
14
+ }
15
+ /**
16
+ * Resolve the token to authenticate relaycast agent actions (DMs). `/v1/dm` is
17
+ * secured with the AGENT token, not the workspace key — so prefer the agent
18
+ * token and only fall back to the workspace `RELAY_API_KEY` (which lets tests
19
+ * and single-identity boxes still work). Mirrors the runtime's agent-token
20
+ * resolution order.
21
+ */
22
+ function resolveRelayAgentToken() {
23
+ return (process.env.WORKFORCE_AGENT_TOKEN?.trim() ||
24
+ process.env.RELAY_AGENT_TOKEN?.trim() ||
25
+ process.env.RELAY_API_KEY?.trim() ||
26
+ undefined);
27
+ }
28
+ /**
29
+ * Default relaycast sender — DMs a peer agent via `POST /v1/dm` using the box's
30
+ * injected agent token. Bounded by `fetchWithTimeout` and never throws: returns
31
+ * `{ ok: false }` (logged) on missing token, timeout, or non-2xx, so a relay
32
+ * reply degrades gracefully rather than crashing the handler.
33
+ */
34
+ export function defaultRelaycastSender(ctx) {
35
+ const token = resolveRelayAgentToken();
36
+ const baseUrl = resolveRelaycastUrl();
37
+ return {
38
+ async dm(to, text) {
39
+ if (!token) {
40
+ ctx.log?.('warn', 'delivery.relaycast.no-token', {
41
+ reason: 'no agent token (WORKFORCE_AGENT_TOKEN/RELAY_AGENT_TOKEN/RELAY_API_KEY) in the agent box'
42
+ });
43
+ return { ok: false };
44
+ }
45
+ const res = await fetchWithTimeout(`${baseUrl}/v1/dm`, {
46
+ method: 'POST',
47
+ headers: { authorization: `Bearer ${token}`, 'content-type': 'application/json' },
48
+ body: JSON.stringify({ to, text })
49
+ });
50
+ if (!res) {
51
+ ctx.log?.('warn', 'delivery.relaycast.send-failed', { to, reason: 'timeout or network error' });
52
+ return { ok: false };
53
+ }
54
+ if (!res.ok) {
55
+ ctx.log?.('warn', 'delivery.relaycast.send-failed', { to, status: res.status });
56
+ return { ok: false };
57
+ }
58
+ // Relaycast REST wraps success as `{ ok, data }`; the /dm message id lives
59
+ // under `data.message.id` (or legacy `data.id`). Unwrap before reading.
60
+ const json = (await res.json().catch(() => null));
61
+ const data = json && typeof json.data === 'object' && json.data !== null
62
+ ? json.data
63
+ : json;
64
+ const message = data && typeof data.message === 'object' && data.message !== null
65
+ ? data.message
66
+ : undefined;
67
+ const rawId = message?.id ?? data?.messageId ?? data?.id;
68
+ return { ok: true, messageId: rawId != null ? String(rawId) : undefined };
69
+ }
70
+ };
71
+ }
72
+ //# sourceMappingURL=relaycast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaycast.js","sourceRoot":"","sources":["../src/relaycast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relaycast.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaycast.test.d.ts","sourceRoot":"","sources":["../src/relaycast.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { createDelivery } from './delivery.js';
4
+ import { resolveRelaycastUrl, DEFAULT_RELAYCAST_URL } from './relaycast.js';
5
+ function makeCtx(inputs = {}) {
6
+ return { persona: { inputs, inputSpecs: {} }, log: () => { } };
7
+ }
8
+ test('DEFAULT_RELAYCAST_URL is cast.agentrelay.com', () => {
9
+ assert.equal(DEFAULT_RELAYCAST_URL, 'https://cast.agentrelay.com');
10
+ });
11
+ test('resolveRelaycastUrl: default, RELAY_BASE_URL, then RELAYCAST_URL precedence (trailing slash trimmed)', () => {
12
+ const saved = { u: process.env.RELAYCAST_URL, b: process.env.RELAY_BASE_URL };
13
+ try {
14
+ delete process.env.RELAYCAST_URL;
15
+ delete process.env.RELAY_BASE_URL;
16
+ assert.equal(resolveRelaycastUrl(), 'https://cast.agentrelay.com');
17
+ process.env.RELAY_BASE_URL = 'https://relay.example.com/';
18
+ assert.equal(resolveRelaycastUrl(), 'https://relay.example.com');
19
+ process.env.RELAYCAST_URL = 'https://cast.example.com';
20
+ assert.equal(resolveRelaycastUrl(), 'https://cast.example.com'); // RELAYCAST_URL wins
21
+ }
22
+ finally {
23
+ saved.u === undefined ? delete process.env.RELAYCAST_URL : (process.env.RELAYCAST_URL = saved.u);
24
+ saved.b === undefined ? delete process.env.RELAY_BASE_URL : (process.env.RELAY_BASE_URL = saved.b);
25
+ }
26
+ });
27
+ test('relaycast target DMs the inbound sender and returns a RelaycastRef', async () => {
28
+ const sent = [];
29
+ const sender = {
30
+ async dm(to, text) {
31
+ sent.push({ to, text });
32
+ return { ok: true, messageId: 'm1' };
33
+ }
34
+ };
35
+ const delivery = createDelivery(makeCtx(), { relaycast: { to: 'local-tester', sender } });
36
+ assert.deepEqual([...delivery.targets], ['relaycast']);
37
+ const res = await delivery.send('hello over relay');
38
+ assert.equal(res.ok, true);
39
+ assert.deepEqual(sent, [{ to: 'local-tester', text: 'hello over relay' }]);
40
+ assert.deepEqual(res.refs, [{ provider: 'relaycast', to: 'local-tester', messageId: 'm1' }]);
41
+ });
42
+ test('relaycast is NOT a target unless a reply address is supplied (event-driven, not config)', () => {
43
+ assert.equal(createDelivery(makeCtx(), {}).targets.includes('relaycast'), false);
44
+ // Even with slack configured, relaycast only appears when transports.relaycast.to is set.
45
+ assert.deepEqual([...createDelivery(makeCtx({ SLACK_CHANNEL: 'C1' }), {}).targets], ['slack']);
46
+ });
47
+ test('onlyTargets can scope delivery to relaycast (origin-only reply)', () => {
48
+ const sender = { async dm() { return { ok: true, messageId: 'x' }; } };
49
+ const delivery = createDelivery(makeCtx({ SLACK_CHANNEL: 'C1' }), { relaycast: { to: 'peer', sender } }, ['relaycast']);
50
+ assert.deepEqual([...delivery.targets], ['relaycast']); // slack filtered out
51
+ });
52
+ test('relaycast-only send failure surfaces (matches slack/telegram all-targets-failed contract)', async () => {
53
+ const sender = { async dm() { return { ok: false }; } };
54
+ const delivery = createDelivery(makeCtx(), { relaycast: { to: 'peer', sender } });
55
+ await assert.rejects(() => delivery.send('x'), /Delivery failed to all targets/);
56
+ });
57
+ test('relaycast ok:true with no messageId is treated as a failed delivery', async () => {
58
+ const sender = { async dm() { return { ok: true }; } }; // no messageId
59
+ const delivery = createDelivery(makeCtx(), { relaycast: { to: 'peer', sender } });
60
+ await assert.rejects(() => delivery.send('x'), /Delivery failed to all targets/);
61
+ });
62
+ test('publish()/non-blocking does not invoke the relaycast sender', async () => {
63
+ let calls = 0;
64
+ const sender = { async dm() { calls++; return { ok: true, messageId: 'm' }; } };
65
+ const delivery = createDelivery(makeCtx(), { relaycast: { to: 'peer', sender } });
66
+ // relaycast is the only target → nothing delivered in non-blocking mode → throws,
67
+ // and crucially the sender is never called (no draft-ref/threading path for relay).
68
+ await assert.rejects(() => delivery.publish('x'), /Delivery failed to all targets/);
69
+ assert.equal(calls, 0);
70
+ });
71
+ //# sourceMappingURL=relaycast.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaycast.test.js","sourceRoot":"","sources":["../src/relaycast.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -15,7 +15,16 @@ export interface TelegramRef {
15
15
  /** Delivered message id (set after the writeback receipt arrives). */
16
16
  messageId: string;
17
17
  }
18
- export type MessageRef = SlackRef | TelegramRef;
18
+ export interface RelaycastRef {
19
+ provider: 'relaycast';
20
+ /** The agent the reply was DM'd to (the inbound message's sender). */
21
+ to: string;
22
+ /** Delivered relaycast message id, when the send returns one. */
23
+ messageId: string;
24
+ }
25
+ export type MessageRef = SlackRef | TelegramRef | RelaycastRef;
26
+ /** A delivery target provider. */
27
+ export type DeliveryProvider = 'slack' | 'telegram' | 'relaycast';
19
28
  export interface DeliveryResult {
20
29
  ok: boolean;
21
30
  refs: MessageRef[];
@@ -36,11 +45,40 @@ export interface DeliveryOptions {
36
45
  */
37
46
  nonBlocking?: boolean;
38
47
  }
48
+ /**
49
+ * Minimal seam for sending a relaycast DM back to a peer agent. The default
50
+ * implementation posts `POST /v1/dm` with the box's injected `RELAY_API_KEY`;
51
+ * tests inject a mock. Unlike Slack/Telegram (config-driven via persona
52
+ * inputs), the relaycast reply address is EVENT-driven — `to` is the inbound
53
+ * message's sender, supplied by the caller.
54
+ */
55
+ export interface RelaycastSender {
56
+ dm(to: string, text: string): Promise<{
57
+ ok: boolean;
58
+ messageId?: string;
59
+ }>;
60
+ }
61
+ /**
62
+ * Relaycast target config. Present iff the agent is replying to a relay DM:
63
+ * `to` is the inbound sender to reply to; `sender` overrides the default
64
+ * env-backed client (for tests).
65
+ */
66
+ export interface RelaycastTarget {
67
+ to: string;
68
+ sender?: RelaycastSender;
69
+ }
39
70
  export interface DeliveryTransports {
40
71
  /** Injected Slack client (used for both blocking and non-blocking paths). */
41
72
  slack?: SlackClient;
42
73
  /** Injected Telegram client (used for both blocking and non-blocking paths). */
43
74
  telegram?: TelegramClient;
75
+ /**
76
+ * Relaycast reply target. When set, `relaycast` becomes a delivery target
77
+ * and `send()`/`publish()` DM the inbound sender over the relay. Event-driven
78
+ * (the `to` address comes from the inbound message), so it is NOT discovered
79
+ * by `resolveDeliveryTargets(ctx)`.
80
+ */
81
+ relaycast?: RelaycastTarget;
44
82
  }
45
83
  export interface DeliveryClient {
46
84
  /**
@@ -63,7 +101,7 @@ export interface DeliveryClient {
63
101
  */
64
102
  publish(text: string): Promise<DeliveryResult>;
65
103
  /** Which providers are configured. */
66
- readonly targets: ReadonlyArray<'slack' | 'telegram'>;
104
+ readonly targets: ReadonlyArray<DeliveryProvider>;
67
105
  }
68
106
  /**
69
107
  * Resolve which transport targets are configured for the given persona ctx.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAIhD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AAID,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAID,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE/C,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;CACvD;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAKrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGlE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AAE/D,kCAAkC;AAClC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAIlE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AAID,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAID,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAID,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE/C,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACnD;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAKrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGlE"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAqFrC,4EAA4E;AAE5E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AA8HrC,4EAA4E;AAE5E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentworkforce/delivery",
3
- "version": "4.1.13",
3
+ "version": "4.1.14",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@relayfile/relay-helpers": "^0.4.2",
29
- "@agentworkforce/runtime": "4.1.13"
29
+ "@agentworkforce/runtime": "4.1.14"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsc -p tsconfig.json",