@relaycast/engine 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/adapters/node/presence.d.ts +3 -3
  2. package/dist/adapters/node/presence.d.ts.map +1 -1
  3. package/dist/adapters/node/presence.js +7 -6
  4. package/dist/adapters/node/presence.js.map +1 -1
  5. package/dist/db/migrations/0015_sdk_v8_contract.sql +7 -0
  6. package/dist/db/schema.d.ts +38 -0
  7. package/dist/db/schema.d.ts.map +1 -1
  8. package/dist/db/schema.js +3 -0
  9. package/dist/db/schema.js.map +1 -1
  10. package/dist/engine/action.d.ts +2 -2
  11. package/dist/engine/action.d.ts.map +1 -1
  12. package/dist/engine/action.js +11 -4
  13. package/dist/engine/action.js.map +1 -1
  14. package/dist/engine/eventDelivery.d.ts.map +1 -1
  15. package/dist/engine/eventDelivery.js +16 -0
  16. package/dist/engine/eventDelivery.js.map +1 -1
  17. package/dist/engine/eventSubscription.d.ts +5 -0
  18. package/dist/engine/eventSubscription.d.ts.map +1 -1
  19. package/dist/engine/eventSubscription.js +9 -0
  20. package/dist/engine/eventSubscription.js.map +1 -1
  21. package/dist/engine/inboundWebhook.d.ts +5 -2
  22. package/dist/engine/inboundWebhook.d.ts.map +1 -1
  23. package/dist/engine/inboundWebhook.js +24 -2
  24. package/dist/engine/inboundWebhook.js.map +1 -1
  25. package/dist/engine/message.d.ts.map +1 -1
  26. package/dist/engine/message.js +9 -7
  27. package/dist/engine/message.js.map +1 -1
  28. package/dist/engine/messageMetadata.d.ts +10 -0
  29. package/dist/engine/messageMetadata.d.ts.map +1 -0
  30. package/dist/engine/messageMetadata.js +40 -0
  31. package/dist/engine/messageMetadata.js.map +1 -0
  32. package/dist/engine/resyncQuery.d.ts.map +1 -1
  33. package/dist/engine/resyncQuery.js +2 -1
  34. package/dist/engine/resyncQuery.js.map +1 -1
  35. package/dist/engine/thread.d.ts.map +1 -1
  36. package/dist/engine/thread.js +8 -6
  37. package/dist/engine/thread.js.map +1 -1
  38. package/dist/engine/wsTransform.d.ts.map +1 -1
  39. package/dist/engine/wsTransform.js +34 -13
  40. package/dist/engine/wsTransform.js.map +1 -1
  41. package/dist/lib/origin.d.ts +11 -9
  42. package/dist/lib/origin.d.ts.map +1 -1
  43. package/dist/lib/origin.js +24 -19
  44. package/dist/lib/origin.js.map +1 -1
  45. package/dist/lib/serverTelemetry.js +1 -1
  46. package/dist/lib/serverTelemetry.js.map +1 -1
  47. package/dist/middleware/logger.js +1 -1
  48. package/dist/middleware/logger.js.map +1 -1
  49. package/dist/ports/presence.d.ts +3 -3
  50. package/dist/ports/presence.d.ts.map +1 -1
  51. package/dist/routes/action.d.ts.map +1 -1
  52. package/dist/routes/action.js +23 -4
  53. package/dist/routes/action.js.map +1 -1
  54. package/dist/routes/agent.js +73 -8
  55. package/dist/routes/agent.js.map +1 -1
  56. package/dist/routes/eventSubscription.js +5 -2
  57. package/dist/routes/eventSubscription.js.map +1 -1
  58. package/dist/routes/inboundWebhook.js +29 -12
  59. package/dist/routes/inboundWebhook.js.map +1 -1
  60. package/dist/routes/reaction.js +13 -12
  61. package/dist/routes/reaction.js.map +1 -1
  62. package/package.json +3 -3
@@ -45,19 +45,13 @@ export function transformForClient(event) {
45
45
  text: d.text,
46
46
  },
47
47
  };
48
- case 'reaction.added':
48
+ case 'message.reacted':
49
49
  return {
50
- type: 'reaction.added',
51
- message_id: d.message_id,
52
- emoji: d.emoji,
53
- agent_name: d.agent_name,
54
- };
55
- case 'reaction.removed':
56
- return {
57
- type: 'reaction.removed',
50
+ type: 'message.reacted',
58
51
  message_id: d.message_id,
59
52
  emoji: d.emoji,
60
53
  agent_name: d.agent_name,
54
+ action: d.action ?? 'added',
61
55
  };
62
56
  case 'dm.received': {
63
57
  const msg = d.message ?? {};
@@ -95,15 +89,41 @@ export function transformForClient(event) {
95
89
  },
96
90
  };
97
91
  }
98
- case 'agent.online':
92
+ case 'agent.status.active':
93
+ return {
94
+ type: 'agent.status.active',
95
+ agent: { name: d.agent_name },
96
+ status: 'active',
97
+ };
98
+ case 'agent.status.offline':
99
+ return {
100
+ type: 'agent.status.offline',
101
+ agent: { name: d.agent_name },
102
+ status: 'offline',
103
+ };
104
+ case 'agent.status.changed':
105
+ return {
106
+ type: 'agent.status.changed',
107
+ agent: { name: d.agent_name },
108
+ status: d.status,
109
+ };
110
+ case 'agent.status.idle':
111
+ return {
112
+ type: 'agent.status.idle',
113
+ agent: { name: d.agent_name },
114
+ status: 'idle',
115
+ };
116
+ case 'agent.status.blocked':
99
117
  return {
100
- type: 'agent.online',
118
+ type: 'agent.status.blocked',
101
119
  agent: { name: d.agent_name },
120
+ status: 'blocked',
102
121
  };
103
- case 'agent.offline':
122
+ case 'agent.status.waiting':
104
123
  return {
105
- type: 'agent.offline',
124
+ type: 'agent.status.waiting',
106
125
  agent: { name: d.agent_name },
126
+ status: 'waiting',
107
127
  };
108
128
  case 'agent.spawn_requested':
109
129
  return {
@@ -175,6 +195,7 @@ export function transformForClient(event) {
175
195
  id: d.message_id,
176
196
  text: d.text,
177
197
  source: d.source ?? null,
198
+ author: d.author ?? null,
178
199
  },
179
200
  };
180
201
  case 'command.invoked':
@@ -1 +1 @@
1
- {"version":3,"file":"wsTransform.js","sourceRoot":"","sources":["../../src/engine/wsTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wsTransform.js","sourceRoot":"","sources":["../../src/engine/wsTransform.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,22 @@ export type OriginInfo = Partial<TelemetryOrigin>;
5
5
  * themselves to the relaycast server. See relay#881.
6
6
  */
7
7
  export declare const HARNESS_HEADER = "X-Relaycast-Harness";
8
- /** Fallback value when the header is missing or invalid. */
8
+ /** Fallback value when the harness is missing or invalid. */
9
9
  export declare const UNKNOWN_HARNESS = "unknown";
10
10
  /**
11
- * Read and sanitize the `X-Relaycast-Harness` header from a request.
11
+ * Read and sanitize the harness identifier from a request.
12
12
  *
13
- * Returns a lowercase identifier (kebab-case by convention, e.g. `claude-code`,
14
- * `cursor`, `codex`). We intentionally do NOT enforce an enum here — accepting
15
- * any well-formed value lets us discover new harnesses without shipping a
16
- * relaycast release first. Segmentation/normalization happens downstream in
17
- * the analytics layer.
13
+ * Read from the `X-Relaycast-Harness` header, falling back to the `harness`
14
+ * query param (WebSocket upgrades from browsers can't set custom headers, so
15
+ * the SDK forwards it on the query string mirrors how origin fields work).
18
16
  *
19
- * Drops empty, oversized, or non-ASCII values to `'unknown'`.
17
+ * Returns a lowercase, UA-style identifier (e.g. `claude-code`, `codex`,
18
+ * `claude-code/2.3 (model=opus-4.8; fast)`). We intentionally do NOT enforce an
19
+ * enum here — accepting any well-formed value lets us discover new harnesses
20
+ * without shipping a relaycast release first; segmentation happens downstream
21
+ * in the analytics layer. Drops empty or malformed values to `'unknown'`.
20
22
  */
21
- export declare function extractHarness(headers: Headers): string;
23
+ export declare function extractHarness(request: Request): string;
22
24
  export declare function deriveClientName(headers: Headers): string | undefined;
23
25
  export declare function extractOriginInfo(request: Request, fallbackClientName?: string): OriginInfo;
24
26
  export declare function requiredOriginInfo(request: Request, fallbackClientName?: string): TelemetryOrigin;
@@ -1 +1 @@
1
- {"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/lib/origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,eAAe,YAAY,CAAC;AAKzC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAavD;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,UAAU,CAgC3F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,eAAe,CAEjG"}
1
+ {"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/lib/origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,6DAA6D;AAC7D,eAAO,MAAM,eAAe,YAAY,CAAC;AAazC;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAUvD;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,UAAU,CAgC3F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,eAAe,CAEjG"}
@@ -4,36 +4,41 @@ import { normalizeTelemetryOrigin } from '@relaycast/types';
4
4
  * themselves to the relaycast server. See relay#881.
5
5
  */
6
6
  export const HARNESS_HEADER = 'X-Relaycast-Harness';
7
- /** Fallback value when the header is missing or invalid. */
7
+ /** Fallback value when the harness is missing or invalid. */
8
8
  export const UNKNOWN_HARNESS = 'unknown';
9
- /** Sanity-cap on the header value — long enough for any reasonable identifier. */
10
- const HARNESS_MAX_LENGTH = 40;
9
+ /** Upper bound on the harness value — generous enough for a UA-style token. */
10
+ const HARNESS_MAX_LENGTH = 120;
11
11
  /**
12
- * Read and sanitize the `X-Relaycast-Harness` header from a request.
12
+ * Characters permitted in a harness identifier. Deliberately broad enough for a
13
+ * User-Agent-style token (`name/version (model=...; setting)`) while excluding
14
+ * CR/LF and other control characters — rejecting those is what keeps a buggy
15
+ * upstream caller from smuggling a header injection past the relaycast WAF.
16
+ */
17
+ const HARNESS_ALLOWED = /^[a-z0-9 ._\-/():=;,+]+$/i;
18
+ /**
19
+ * Read and sanitize the harness identifier from a request.
13
20
  *
14
- * Returns a lowercase identifier (kebab-case by convention, e.g. `claude-code`,
15
- * `cursor`, `codex`). We intentionally do NOT enforce an enum here — accepting
16
- * any well-formed value lets us discover new harnesses without shipping a
17
- * relaycast release first. Segmentation/normalization happens downstream in
18
- * the analytics layer.
21
+ * Read from the `X-Relaycast-Harness` header, falling back to the `harness`
22
+ * query param (WebSocket upgrades from browsers can't set custom headers, so
23
+ * the SDK forwards it on the query string mirrors how origin fields work).
19
24
  *
20
- * Drops empty, oversized, or non-ASCII values to `'unknown'`.
25
+ * Returns a lowercase, UA-style identifier (e.g. `claude-code`, `codex`,
26
+ * `claude-code/2.3 (model=opus-4.8; fast)`). We intentionally do NOT enforce an
27
+ * enum here — accepting any well-formed value lets us discover new harnesses
28
+ * without shipping a relaycast release first; segmentation happens downstream
29
+ * in the analytics layer. Drops empty or malformed values to `'unknown'`.
21
30
  */
22
- export function extractHarness(headers) {
23
- const raw = headers.get(HARNESS_HEADER);
31
+ export function extractHarness(request) {
32
+ const raw = request.headers.get(HARNESS_HEADER)
33
+ ?? new URL(request.url).searchParams.get('harness');
24
34
  if (!raw)
25
35
  return UNKNOWN_HARNESS;
26
36
  const trimmed = raw.trim();
27
37
  if (!trimmed)
28
38
  return UNKNOWN_HARNESS;
29
- if (trimmed.length > HARNESS_MAX_LENGTH)
30
- return UNKNOWN_HARNESS;
31
- // Restrict to printable ASCII to keep PostHog property values clean. Allow
32
- // letters, digits, and the small set of separators harness names tend to
33
- // use. Anything else falls back to `unknown`.
34
- if (!/^[a-zA-Z0-9._-]+$/.test(trimmed))
39
+ if (!HARNESS_ALLOWED.test(trimmed))
35
40
  return UNKNOWN_HARNESS;
36
- return trimmed.toLowerCase();
41
+ return trimmed.slice(0, HARNESS_MAX_LENGTH).toLowerCase();
37
42
  }
38
43
  function sanitizeOriginPart(value, maxLen) {
39
44
  if (!value)
@@ -1 +1 @@
1
- {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/lib/origin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/lib/origin.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export function emitServerEvent(c, workspaceId, event, properties) {
27
27
  // Prefer the value stashed by the logger middleware. Fall back to reading the
28
28
  // header directly so emitters that bypass middleware still get a sane value.
29
29
  const harness = c.get('harness')
30
- ?? extractHarness(c.req.raw.headers)
30
+ ?? extractHarness(c.req.raw)
31
31
  ?? UNKNOWN_HARNESS;
32
32
  const origin = requiredOriginInfo(c.req.raw);
33
33
  c.get('engine').telemetry.capture({
@@ -1 +1 @@
1
- {"version":3,"file":"serverTelemetry.js","sourceRoot":"","sources":["../../src/lib/serverTelemetry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIlF,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3E,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,4EAA4E,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7G,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAkB,EAClB,WAAmB,EACnB,KAAkB,EAClB,UAAmC;IAEnC,MAAM,oBAAoB,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/C,IAAI,OAAO,oBAAoB,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxD,oBAAoB,CAAC,UAAU,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACpG,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;WAC3B,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;WACjC,eAAe,CAAC;IAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE;YACV,YAAY,EAAE,WAAW;YACzB,OAAO;YACP,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,GAAG,oBAAoB;SACxB;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"serverTelemetry.js","sourceRoot":"","sources":["../../src/lib/serverTelemetry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIlF,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3E,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,4EAA4E,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7G,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAkB,EAClB,WAAmB,EACnB,KAAkB,EAClB,UAAmC;IAEnC,MAAM,oBAAoB,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/C,IAAI,OAAO,oBAAoB,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxD,oBAAoB,CAAC,UAAU,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACpG,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;WAC3B,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;WACzB,eAAe,CAAC;IAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE;YACV,YAAY,EAAE,WAAW;YACzB,OAAO;YACP,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,GAAG,oBAAoB;SACxB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -105,7 +105,7 @@ export const loggerMiddleware = async (c, next) => {
105
105
  const requestHeaders = c.req.raw.headers;
106
106
  const clientName = deriveClientName(requestHeaders);
107
107
  const originInfo = extractOriginInfo(c.req.raw, clientName);
108
- const harness = extractHarness(requestHeaders);
108
+ const harness = extractHarness(c.req.raw);
109
109
  c.set('harness', harness);
110
110
  const logger = createRequestLogger(c, 'request', {
111
111
  request_id: requestId,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * Presence tracking port — replaces PresenceDO.
3
3
  *
4
- * The 60s stale-sweep that emits `agent.offline` is *behavior*, not interface:
4
+ * The 60s stale-sweep that emits `agent.status.offline` is *behavior*, not interface:
5
5
  * it lives inside the adapter (Cloudflare uses DO alarms; Node uses
6
6
  * `setInterval`) and emits via {@link RealtimeBus.deliverToAgents} +
7
7
  * `publishToWorkspaceStream`. The adapter is constructed with a reference to the
8
8
  * realtime bus so the sweep can fan out.
9
9
  */
10
10
  export interface PresenceTracker {
11
- /** Record a heartbeat; emits `agent.online` if the agent was previously offline. */
11
+ /** Record a heartbeat; emits `agent.status.active` if the agent was previously offline. */
12
12
  heartbeat(workspaceId: string, agentId: string, agentName?: string): Promise<void>;
13
- /** Mark an agent offline now; emits `agent.offline`. */
13
+ /** Mark an agent offline now; emits `agent.status.offline`. */
14
14
  disconnect(workspaceId: string, agentId: string, agentName?: string): Promise<void>;
15
15
  /** Return the agent IDs currently considered online for a workspace. */
16
16
  getOnline(workspaceId: string): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/ports/presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,wDAAwD;IACxD,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,wEAAwE;IACxE,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnD"}
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/ports/presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,+DAA+D;IAC/D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,wEAAwE;IACxE,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/routes/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AASxC,eAAO,MAAM,YAAY,qDAAqB,CAAC"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/routes/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAUxC,eAAO,MAAM,YAAY,qDAAqB,CAAC"}
@@ -7,6 +7,7 @@ import * as actionEngine from '../engine/action.js';
7
7
  import { fanoutToWorkspace, fanoutToAgents } from './fanout.js';
8
8
  import { runInBackground } from './background.js';
9
9
  import { emitServerEvent } from '../lib/serverTelemetry.js';
10
+ import { asCodedError } from '../lib/httpError.js';
10
11
  export const actionRoutes = new Hono();
11
12
  const registerActionSchema = z.object({
12
13
  name: z.string().min(1),
@@ -65,7 +66,8 @@ actionRoutes.get('/actions', requireAuth, rateLimit, async (c) => {
65
66
  try {
66
67
  const db = c.get('db');
67
68
  const workspace = c.get('workspace');
68
- const result = await actionEngine.listActions(db, workspace.id);
69
+ const agent = c.get('agent');
70
+ const result = await actionEngine.listActions(db, workspace.id, agent?.name);
69
71
  return c.json({ ok: true, data: result });
70
72
  }
71
73
  catch (err) {
@@ -77,7 +79,8 @@ actionRoutes.get('/actions/:name', requireAuth, rateLimit, async (c) => {
77
79
  try {
78
80
  const db = c.get('db');
79
81
  const workspace = c.get('workspace');
80
- const result = await actionEngine.getAction(db, workspace.id, c.req.param('name'));
82
+ const agent = c.get('agent');
83
+ const result = await actionEngine.getAction(db, workspace.id, c.req.param('name'), agent?.name);
81
84
  if (!result) {
82
85
  return c.json({ ok: false, error: { code: 'action_not_found', message: 'Action not found' } }, 404);
83
86
  }
@@ -135,7 +138,7 @@ actionRoutes.post('/actions/:name/invoke', requireAuth, rateLimit, async (c) =>
135
138
  caller_name: agent.name,
136
139
  handler_agent_id: result.handler_agent_id,
137
140
  };
138
- runInBackground(c, fanoutToWorkspace(c, 'action.invoked', eventData), 'fanout action.invoked');
141
+ runInBackground(c, fanoutToAgents(c, [result.handler_agent_id], 'action.invoked', eventData), 'fanout action.invoked');
139
142
  runInBackground(c, c.get('engine').webhookQueue.send({
140
143
  type: 'action.invoked',
141
144
  workspaceId: workspace.id,
@@ -149,7 +152,23 @@ actionRoutes.post('/actions/:name/invoke', requireAuth, rateLimit, async (c) =>
149
152
  return c.json({ ok: true, data: result }, 201);
150
153
  }
151
154
  catch (err) {
152
- return errorResponse(c, err);
155
+ const error = asCodedError(err);
156
+ if (error.code === 'action_denied') {
157
+ const workspace = c.get('workspace');
158
+ const agent = c.get('agent');
159
+ const eventData = {
160
+ action_name: c.req.param('name'),
161
+ caller_name: agent.name,
162
+ error: error.message,
163
+ };
164
+ runInBackground(c, fanoutToAgents(c, [agent.id], 'action.denied', eventData), 'fanout action.denied');
165
+ runInBackground(c, c.get('engine').webhookQueue.send({
166
+ type: 'action.denied',
167
+ workspaceId: workspace.id,
168
+ data: eventData,
169
+ }), 'queue action.denied');
170
+ }
171
+ return errorResponse(c, error);
153
172
  }
154
173
  });
155
174
  // POST /v1/actions/:name/invocations/:id/complete - handler reports result
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/routes/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/routes/action.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Hono } from 'hono';
2
2
  import { z } from 'zod';
3
3
  import { AgentTypeSchema } from '@relaycast/types';
4
- import { requireWorkspaceKey, requireAuth } from '../middleware/auth.js';
4
+ import { requireWorkspaceKey, requireAuth, requireAgentToken } from '../middleware/auth.js';
5
5
  import { rateLimit } from '../middleware/rateLimit.js';
6
6
  import * as agentEngine from '../engine/agent.js';
7
7
  import * as directoryEngine from '../engine/directory.js';
@@ -52,6 +52,51 @@ const releaseAgentSchema = z.object({
52
52
  reason: z.string().nullable().optional(),
53
53
  delete_agent: z.boolean().optional(),
54
54
  });
55
+ function canonicalStatus(status) {
56
+ if (status === 'online')
57
+ return 'active';
58
+ if (status === 'active' || status === 'idle' || status === 'blocked' || status === 'waiting' || status === 'offline') {
59
+ return status;
60
+ }
61
+ return null;
62
+ }
63
+ function fanoutAgentStatus(c, agent, status, eventId) {
64
+ const nextStatus = canonicalStatus(status);
65
+ if (!nextStatus)
66
+ return;
67
+ const eventType = `agent.status.${nextStatus}`;
68
+ const eventData = {
69
+ agent_id: agent.id,
70
+ agent_name: agent.name,
71
+ status: nextStatus,
72
+ ...(eventId ? { event_id: eventId } : {}),
73
+ };
74
+ runInBackground(c, fanoutToWorkspace(c, eventType, eventData), `fanout ${eventType}`);
75
+ runInBackground(c, c.get('engine').webhookQueue.send({
76
+ type: eventType,
77
+ workspaceId: c.get('workspace').id,
78
+ data: eventData,
79
+ }), `queue ${eventType}`);
80
+ }
81
+ // GET /v1/agent - resolve the authenticated agent token to its identity
82
+ agentRoutes.get('/agent', requireAgentToken, rateLimit, async (c) => {
83
+ try {
84
+ const db = c.get('db');
85
+ const workspace = c.get('workspace');
86
+ const authAgent = c.get('agent');
87
+ const agent = await agentEngine.getAgentByName(db, workspace.id, authAgent.name);
88
+ if (!agent) {
89
+ return c.json({
90
+ ok: false,
91
+ error: { code: 'agent_not_found', message: 'Authenticated agent not found' },
92
+ }, 404);
93
+ }
94
+ return c.json({ ok: true, data: agent });
95
+ }
96
+ catch (err) {
97
+ return errorResponse(c, err);
98
+ }
99
+ });
55
100
  // POST /v1/agents - register agent (workspace key required)
56
101
  agentRoutes.post('/agents', requireWorkspaceKey, rateLimit, async (c) => {
57
102
  try {
@@ -175,6 +220,9 @@ agentRoutes.patch('/agents/:name', requireWorkspaceKey, rateLimit, async (c) =>
175
220
  metadata: updated.metadata ?? {},
176
221
  });
177
222
  }
223
+ if (body.status !== undefined) {
224
+ fanoutAgentStatus(c, updated, body.status);
225
+ }
178
226
  emitServerEvent(c, workspace.id, 'relaycast_server_agent_updated', {
179
227
  agent_name: name,
180
228
  changed_status: typeof body?.status === 'string',
@@ -317,14 +365,31 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
317
365
  const resolved = sessionEventEngine.resolveStatusFromEvent(type);
318
366
  const newStatus = resolved ?? payload.status;
319
367
  await agentEngine.updateAgent(db, workspace.id, name, { status: newStatus });
368
+ const eventType = type === 'status.changed' ? 'agent.status.changed' : `agent.status.${canonicalStatus(newStatus) ?? newStatus}`;
369
+ const eventData = {
370
+ agent_id: agentRecord.id,
371
+ agent_name: name,
372
+ status: canonicalStatus(newStatus) ?? newStatus,
373
+ event_id: event.id,
374
+ payload,
375
+ };
376
+ runInBackground(c, fanoutToWorkspace(c, eventType, eventData), `fanout ${eventType}`);
377
+ runInBackground(c, c.get('engine').webhookQueue.send({
378
+ type: eventType,
379
+ workspaceId: workspace.id,
380
+ data: eventData,
381
+ }), `queue ${eventType}`);
382
+ }
383
+ if (!type.startsWith('status.')) {
384
+ const { type: _sessionEventType, ...eventWithoutType } = event;
385
+ const eventData = { agent_name: name, ...eventWithoutType };
386
+ runInBackground(c, fanoutToWorkspace(c, `harness.${type}`, eventData), `fanout harness.${type}`);
387
+ runInBackground(c, c.get('engine').webhookQueue.send({
388
+ type: `harness.${type}`,
389
+ workspaceId: workspace.id,
390
+ data: eventData,
391
+ }), `queue harness.${type}`);
320
392
  }
321
- const eventData = { agent_name: name, ...event };
322
- runInBackground(c, fanoutToWorkspace(c, `harness.${type}`, eventData), `fanout harness.${type}`);
323
- runInBackground(c, c.get('engine').webhookQueue.send({
324
- type: `harness.${type}`,
325
- workspaceId: workspace.id,
326
- data: eventData,
327
- }), `queue harness.${type}`);
328
393
  return c.json({ ok: true, data: event }, 201);
329
394
  }
330
395
  catch (err) {