digital-workers 2.1.3 → 2.3.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 (183) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +2 -0
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +33 -21
  5. package/dist/actions.js.map +1 -1
  6. package/dist/agent-comms.d.ts.map +1 -1
  7. package/dist/agent-comms.js +36 -25
  8. package/dist/agent-comms.js.map +1 -1
  9. package/dist/approve.d.ts +40 -8
  10. package/dist/approve.d.ts.map +1 -1
  11. package/dist/approve.js +86 -20
  12. package/dist/approve.js.map +1 -1
  13. package/dist/ask.d.ts +38 -7
  14. package/dist/ask.d.ts.map +1 -1
  15. package/dist/ask.js +85 -25
  16. package/dist/ask.js.map +1 -1
  17. package/dist/browse.d.ts +223 -0
  18. package/dist/browse.d.ts.map +1 -0
  19. package/dist/browse.js +392 -0
  20. package/dist/browse.js.map +1 -0
  21. package/dist/capability-tiers.js +3 -3
  22. package/dist/capability-tiers.js.map +1 -1
  23. package/dist/cascade-context.d.ts +28 -28
  24. package/dist/client.d.ts +162 -0
  25. package/dist/client.d.ts.map +1 -0
  26. package/dist/client.js +64 -0
  27. package/dist/client.js.map +1 -0
  28. package/dist/decide.d.ts +42 -6
  29. package/dist/decide.d.ts.map +1 -1
  30. package/dist/decide.js +54 -11
  31. package/dist/decide.js.map +1 -1
  32. package/dist/do.d.ts +36 -7
  33. package/dist/do.d.ts.map +1 -1
  34. package/dist/do.js +82 -39
  35. package/dist/do.js.map +1 -1
  36. package/dist/error-escalation.d.ts.map +1 -1
  37. package/dist/error-escalation.js +38 -38
  38. package/dist/error-escalation.js.map +1 -1
  39. package/dist/generate.d.ts +48 -7
  40. package/dist/generate.d.ts.map +1 -1
  41. package/dist/generate.js +49 -8
  42. package/dist/generate.js.map +1 -1
  43. package/dist/goals.d.ts +10 -9
  44. package/dist/goals.d.ts.map +1 -1
  45. package/dist/goals.js +30 -24
  46. package/dist/goals.js.map +1 -1
  47. package/dist/image.d.ts +189 -0
  48. package/dist/image.d.ts.map +1 -0
  49. package/dist/image.js +528 -0
  50. package/dist/image.js.map +1 -0
  51. package/dist/index.d.ts +49 -2
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +58 -2
  54. package/dist/index.js.map +1 -1
  55. package/dist/is.d.ts +45 -10
  56. package/dist/is.d.ts.map +1 -1
  57. package/dist/is.js +56 -21
  58. package/dist/is.js.map +1 -1
  59. package/dist/kpis.d.ts +24 -15
  60. package/dist/kpis.d.ts.map +1 -1
  61. package/dist/kpis.js +16 -14
  62. package/dist/kpis.js.map +1 -1
  63. package/dist/load-balancing.d.ts.map +1 -1
  64. package/dist/load-balancing.js +124 -38
  65. package/dist/load-balancing.js.map +1 -1
  66. package/dist/logger.d.ts +76 -0
  67. package/dist/logger.d.ts.map +1 -0
  68. package/dist/logger.js +39 -0
  69. package/dist/logger.js.map +1 -0
  70. package/dist/notify.d.ts +38 -9
  71. package/dist/notify.d.ts.map +1 -1
  72. package/dist/notify.js +72 -17
  73. package/dist/notify.js.map +1 -1
  74. package/dist/role.d.ts +5 -4
  75. package/dist/role.d.ts.map +1 -1
  76. package/dist/role.js +13 -10
  77. package/dist/role.js.map +1 -1
  78. package/dist/runtime.d.ts +310 -0
  79. package/dist/runtime.d.ts.map +1 -0
  80. package/dist/runtime.js +510 -0
  81. package/dist/runtime.js.map +1 -0
  82. package/dist/team.d.ts +11 -6
  83. package/dist/team.d.ts.map +1 -1
  84. package/dist/team.js +22 -15
  85. package/dist/team.js.map +1 -1
  86. package/dist/transports/email.d.ts +318 -0
  87. package/dist/transports/email.d.ts.map +1 -0
  88. package/dist/transports/email.js +779 -0
  89. package/dist/transports/email.js.map +1 -0
  90. package/dist/transports/slack.d.ts +515 -0
  91. package/dist/transports/slack.d.ts.map +1 -0
  92. package/dist/transports/slack.js +844 -0
  93. package/dist/transports/slack.js.map +1 -0
  94. package/dist/transports.d.ts.map +1 -1
  95. package/dist/transports.js +44 -25
  96. package/dist/transports.js.map +1 -1
  97. package/dist/types.d.ts +141 -19
  98. package/dist/types.d.ts.map +1 -1
  99. package/dist/types.js +5 -0
  100. package/dist/types.js.map +1 -1
  101. package/dist/utils/id.d.ts +19 -0
  102. package/dist/utils/id.d.ts.map +1 -0
  103. package/dist/utils/id.js +21 -0
  104. package/dist/utils/id.js.map +1 -0
  105. package/dist/video.d.ts +203 -0
  106. package/dist/video.d.ts.map +1 -0
  107. package/dist/video.js +528 -0
  108. package/dist/video.js.map +1 -0
  109. package/dist/worker.d.ts +343 -0
  110. package/dist/worker.d.ts.map +1 -0
  111. package/dist/worker.js +698 -0
  112. package/dist/worker.js.map +1 -0
  113. package/package.json +32 -14
  114. package/src/actions.ts +39 -30
  115. package/src/agent-comms.ts +54 -92
  116. package/src/approve.ts +91 -20
  117. package/src/ask.ts +99 -25
  118. package/src/browse.ts +627 -0
  119. package/src/capability-tiers.ts +5 -5
  120. package/src/client.ts +221 -0
  121. package/src/decide.ts +81 -35
  122. package/src/do.ts +98 -52
  123. package/src/error-escalation.ts +55 -67
  124. package/src/generate.ts +52 -18
  125. package/src/goals.ts +36 -27
  126. package/src/image.ts +816 -0
  127. package/src/index.ts +187 -2
  128. package/src/is.ts +59 -25
  129. package/src/kpis.ts +41 -36
  130. package/src/load-balancing.ts +132 -46
  131. package/src/logger.ts +93 -0
  132. package/src/notify.ts +78 -17
  133. package/src/role.ts +30 -20
  134. package/src/runtime.ts +796 -0
  135. package/src/team.ts +24 -19
  136. package/src/transports/email.ts +1160 -0
  137. package/src/transports/slack.ts +1320 -0
  138. package/src/transports.ts +58 -43
  139. package/src/types.ts +174 -46
  140. package/src/utils/id.ts +21 -0
  141. package/src/video.ts +906 -0
  142. package/src/worker.ts +1007 -0
  143. package/test/approve.test.ts +305 -0
  144. package/test/ask.test.ts +274 -0
  145. package/test/browse.test.ts +361 -0
  146. package/test/decide.test.ts +252 -0
  147. package/test/do.test.ts +144 -0
  148. package/test/error-logging.test.ts +357 -0
  149. package/test/generate.test.ts +319 -0
  150. package/test/image.test.ts +398 -0
  151. package/test/is.test.ts +287 -0
  152. package/test/load-balancing-safety.test.ts +404 -0
  153. package/test/notify.test.ts +434 -0
  154. package/test/primitives.test.ts +320 -0
  155. package/test/runtime-integration.test.ts +892 -0
  156. package/test/transports/crypto.test.ts +230 -0
  157. package/test/transports/email.test.ts +866 -0
  158. package/test/transports/id-generation.test.ts +91 -0
  159. package/test/transports/slack.test.ts +760 -0
  160. package/test/type-safety.test.ts +834 -0
  161. package/test/types.test.ts +60 -2
  162. package/test/video.test.ts +530 -0
  163. package/test/worker.test.ts +1433 -0
  164. package/tsconfig.json +4 -1
  165. package/vitest.config.ts +42 -0
  166. package/wrangler.jsonc +36 -0
  167. package/.turbo/turbo-build.log +0 -4
  168. package/LICENSE +0 -21
  169. package/src/actions.js +0 -436
  170. package/src/approve.js +0 -234
  171. package/src/ask.js +0 -226
  172. package/src/decide.js +0 -244
  173. package/src/do.js +0 -227
  174. package/src/generate.js +0 -298
  175. package/src/goals.js +0 -205
  176. package/src/index.js +0 -68
  177. package/src/is.js +0 -317
  178. package/src/kpis.js +0 -270
  179. package/src/notify.js +0 -219
  180. package/src/role.js +0 -110
  181. package/src/team.js +0 -130
  182. package/src/transports.js +0 -357
  183. package/src/types.js +0 -71
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digital-workers",
3
- "version": "2.1.3",
3
+ "version": "2.3.0",
4
4
  "description": "Common abstract interface over AI Agents and Humans",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,12 +9,38 @@
9
9
  ".": {
10
10
  "import": "./dist/index.js",
11
11
  "types": "./dist/index.d.ts"
12
+ },
13
+ "./worker": {
14
+ "import": "./dist/worker.js",
15
+ "types": "./dist/worker.d.ts"
16
+ },
17
+ "./client": {
18
+ "import": "./dist/client.js",
19
+ "types": "./dist/client.d.ts"
12
20
  }
13
21
  },
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "dev": "tsc --watch",
25
+ "test": "vitest run",
26
+ "typecheck": "tsc --noEmit",
27
+ "lint": "eslint .",
28
+ "clean": "rm -rf dist",
29
+ "deploy": "wrangler deploy"
30
+ },
14
31
  "dependencies": {
15
- "zod": "^3.23.0",
16
- "ai-functions": "2.1.3",
17
- "ai-workflows": "2.1.3"
32
+ "ai-functions": "2.3.0",
33
+ "ai-workflows": "2.3.0",
34
+ "digital-objects": "1.1.0",
35
+ "org.ai": "0.0.1",
36
+ "rpc.do": "*",
37
+ "schema.org.ai": "^0.1.0",
38
+ "zod": "^3.23.0"
39
+ },
40
+ "devDependencies": {
41
+ "@cloudflare/vitest-pool-workers": "^0.8.0",
42
+ "@cloudflare/workers-types": "^4.20250109.0",
43
+ "vitest": "^2.1.0"
18
44
  },
19
45
  "keywords": [
20
46
  "ai",
@@ -23,13 +49,5 @@
23
49
  "workers",
24
50
  "primitives"
25
51
  ],
26
- "license": "MIT",
27
- "scripts": {
28
- "build": "tsc",
29
- "dev": "tsc --watch",
30
- "test": "vitest",
31
- "typecheck": "tsc --noEmit",
32
- "lint": "eslint .",
33
- "clean": "rm -rf dist"
34
- }
35
- }
52
+ "license": "MIT"
53
+ }
package/src/actions.ts CHANGED
@@ -12,6 +12,7 @@
12
12
  */
13
13
 
14
14
  import type { WorkflowContext } from 'ai-workflows'
15
+ import { generateRequestId } from './utils/id.js'
15
16
  import type {
16
17
  Worker,
17
18
  Team,
@@ -119,11 +120,14 @@ export async function handleAsk<T = string>(
119
120
  }
120
121
 
121
122
  // Send question and wait for response
122
- const answer = await sendQuestion<T>(channel, question, contacts, { schema, timeout })
123
+ const answer = await sendQuestion<T>(channel, question, contacts, {
124
+ ...(schema !== undefined && { schema }),
125
+ ...(timeout !== undefined && { timeout }),
126
+ })
123
127
 
124
128
  const result: AskResult<T> = {
125
129
  answer,
126
- answeredBy: recipient,
130
+ ...(recipient !== undefined && { answeredBy: recipient }),
127
131
  answeredAt: new Date(),
128
132
  via: channel,
129
133
  }
@@ -156,16 +160,16 @@ export async function handleApprove(
156
160
 
157
161
  // Send approval request and wait for response
158
162
  const response = await sendApprovalRequest(channel, request, contacts, {
159
- context,
160
- timeout,
161
- escalate,
163
+ ...(context !== undefined && { context }),
164
+ ...(timeout !== undefined && { timeout }),
165
+ ...(escalate !== undefined && { escalate }),
162
166
  })
163
167
 
164
168
  const result: ApprovalResult = {
165
169
  approved: response.approved,
166
- approvedBy: approver,
170
+ ...(approver !== undefined && { approvedBy: approver }),
167
171
  approvedAt: new Date(),
168
- notes: response.notes,
172
+ ...(response.notes !== undefined && { notes: response.notes }),
169
173
  via: channel,
170
174
  }
171
175
 
@@ -218,7 +222,9 @@ export async function handleDo<T = unknown>(
218
222
  })
219
223
 
220
224
  // Execute the task (this would integrate with agent execution)
221
- result = await executeTask<T>(target, instruction, { timeout })
225
+ result = await executeTask<T>(target, instruction, {
226
+ ...(timeout !== undefined && { timeout }),
227
+ })
222
228
 
223
229
  steps.push({
224
230
  action: 'complete',
@@ -249,7 +255,7 @@ export async function handleDo<T = unknown>(
249
255
  const failResult: DoResult<T> = {
250
256
  result: undefined as T,
251
257
  success: false,
252
- error: lastError?.message,
258
+ ...(lastError !== undefined && { error: lastError.message }),
253
259
  duration: Date.now() - startTime,
254
260
  steps,
255
261
  }
@@ -289,12 +295,12 @@ export function registerWorkerActions($: WorkflowContext): void {
289
295
  // The $ context provides event registration via $.on[Namespace][event]
290
296
  const on = $.on as Record<string, Record<string, (handler: unknown) => void>>
291
297
 
292
- if (on.Worker) {
293
- on.Worker.notify?.(handleNotify)
294
- on.Worker.ask?.(handleAsk)
295
- on.Worker.approve?.(handleApprove)
296
- on.Worker.decide?.(handleDecide)
297
- on.Worker.do?.(handleDo)
298
+ if (on['Worker']) {
299
+ on['Worker']['notify']?.(handleNotify)
300
+ on['Worker']['ask']?.(handleAsk)
301
+ on['Worker']['approve']?.(handleApprove)
302
+ on['Worker']['decide']?.(handleDecide)
303
+ on['Worker']['do']?.(handleDo)
298
304
  }
299
305
  }
300
306
 
@@ -355,10 +361,15 @@ export function withWorkers($: WorkflowContext): WorkflowContext & WorkerContext
355
361
  options: ApproveOptions = {}
356
362
  ): Promise<ApprovalResult> {
357
363
  // Convert ActionTarget to a suitable actor reference
358
- const actor: string | WorkerRef = typeof target === 'string'
359
- ? target
360
- : 'id' in target
361
- ? { id: target.id, type: 'type' in target ? target.type : undefined, name: 'name' in target ? target.name : undefined }
364
+ const actor: string | WorkerRef =
365
+ typeof target === 'string'
366
+ ? target
367
+ : 'id' in target
368
+ ? {
369
+ id: target.id,
370
+ ...('type' in target && target.type !== undefined && { type: target.type }),
371
+ ...('name' in target && target.name !== undefined && { name: target.name }),
372
+ }
362
373
  : 'system'
363
374
 
364
375
  return $.do<ApprovalResult>('Worker.approve', {
@@ -370,9 +381,7 @@ export function withWorkers($: WorkflowContext): WorkflowContext & WorkerContext
370
381
  } as ApproveActionData)
371
382
  },
372
383
 
373
- async decide<T = string>(
374
- options: DecideOptions<T>
375
- ): Promise<DecideResult<T>> {
384
+ async decide<T = string>(options: DecideOptions<T>): Promise<DecideResult<T>> {
376
385
  return $.do<DecideResult<T>>('Worker.decide', {
377
386
  actor: 'ai',
378
387
  object: 'decision',
@@ -407,7 +416,9 @@ export async function notify(
407
416
  const delivery = await Promise.all(
408
417
  channels.map(async (channel) => {
409
418
  try {
410
- await sendToChannel(channel, message, contacts, { priority: options.priority })
419
+ await sendToChannel(channel, message, contacts, {
420
+ ...(options.priority !== undefined && { priority: options.priority }),
421
+ })
411
422
  return { channel, status: 'sent' as const }
412
423
  } catch (error) {
413
424
  return { channel, status: 'failed' as const, error: String(error) }
@@ -444,7 +455,7 @@ export async function ask<T = string>(
444
455
 
445
456
  return {
446
457
  answer,
447
- answeredBy: recipients[0],
458
+ ...(recipients[0] !== undefined && { answeredBy: recipients[0] }),
448
459
  answeredAt: new Date(),
449
460
  via: channel,
450
461
  }
@@ -469,9 +480,9 @@ export async function approve(
469
480
 
470
481
  return {
471
482
  approved: response.approved,
472
- approvedBy: recipients[0],
483
+ ...(recipients[0] !== undefined && { approvedBy: recipients[0] }),
473
484
  approvedAt: new Date(),
474
- notes: response.notes,
485
+ ...(response.notes !== undefined && { notes: response.notes }),
475
486
  via: channel,
476
487
  }
477
488
  }
@@ -479,9 +490,7 @@ export async function approve(
479
490
  /**
480
491
  * Make a decision (standalone, non-durable)
481
492
  */
482
- export async function decide<T = string>(
483
- options: DecideOptions<T>
484
- ): Promise<DecideResult<T>> {
493
+ export async function decide<T = string>(options: DecideOptions<T>): Promise<DecideResult<T>> {
485
494
  return makeDecision(options.options, options.context, options.criteria)
486
495
  }
487
496
 
@@ -612,5 +621,5 @@ async function executeTask<T>(
612
621
  }
613
622
 
614
623
  function generateId(prefix: string): string {
615
- return `${prefix}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`
624
+ return generateRequestId(prefix)
616
625
  }
@@ -16,13 +16,7 @@ import type { Worker, WorkerRef } from './types.js'
16
16
  /**
17
17
  * Message type for agent-to-agent communication
18
18
  */
19
- export type MessageType =
20
- | 'request'
21
- | 'response'
22
- | 'notification'
23
- | 'handoff'
24
- | 'ack'
25
- | 'error'
19
+ export type MessageType = 'request' | 'response' | 'notification' | 'handoff' | 'ack' | 'error'
26
20
 
27
21
  /**
28
22
  * Message priority levels
@@ -60,12 +54,7 @@ export interface AgentMessage<T = unknown> {
60
54
  /**
61
55
  * Message delivery status
62
56
  */
63
- export type DeliveryStatus =
64
- | 'pending'
65
- | 'delivered'
66
- | 'acknowledged'
67
- | 'failed'
68
- | 'expired'
57
+ export type DeliveryStatus = 'pending' | 'delivered' | 'acknowledged' | 'failed' | 'expired'
69
58
 
70
59
  /**
71
60
  * Message envelope with delivery metadata
@@ -132,13 +121,7 @@ export interface HandoffRequest {
132
121
  /**
133
122
  * Handoff status
134
123
  */
135
- export type HandoffStatus =
136
- | 'pending'
137
- | 'accepted'
138
- | 'rejected'
139
- | 'completed'
140
- | 'expired'
141
- | 'failed'
124
+ export type HandoffStatus = 'pending' | 'accepted' | 'rejected' | 'completed' | 'expired' | 'failed'
142
125
 
143
126
  /**
144
127
  * Handoff result
@@ -173,9 +156,7 @@ export type CoordinationPattern =
173
156
  /**
174
157
  * Message handler function type
175
158
  */
176
- export type MessageHandler<T = unknown> = (
177
- message: AgentMessage<T>
178
- ) => void | Promise<void>
159
+ export type MessageHandler<T = unknown> = (message: AgentMessage<T>) => void | Promise<void>
179
160
 
180
161
  /**
181
162
  * Subscription options
@@ -315,10 +296,7 @@ export class AgentMessageBus {
315
296
  /**
316
297
  * Deliver message to subscribers with queue handling
317
298
  */
318
- private async deliverMessage<T>(
319
- message: AgentMessage<T>,
320
- subs: Subscription[]
321
- ): Promise<void> {
299
+ private async deliverMessage<T>(message: AgentMessage<T>, subs: Subscription[]): Promise<void> {
322
300
  const matchingSubs = subs.filter((sub) => this.matchesFilter(message, sub.options))
323
301
 
324
302
  if (matchingSubs.length === 0) {
@@ -369,13 +347,9 @@ export class AgentMessageBus {
369
347
  /**
370
348
  * Subscribe to messages for an agent
371
349
  */
372
- subscribe(
373
- agentId: string,
374
- handler: MessageHandler,
375
- options?: SubscribeOptions
376
- ): () => void {
350
+ subscribe(agentId: string, handler: MessageHandler, options?: SubscribeOptions): () => void {
377
351
  const subs = this.subscriptions.get(agentId) ?? []
378
- const subscription: Subscription = { handler, options }
352
+ const subscription: Subscription = { handler, ...(options !== undefined && { options }) }
379
353
  subs.push(subscription)
380
354
  this.subscriptions.set(agentId, subs)
381
355
 
@@ -447,7 +421,7 @@ export class AgentMessageBus {
447
421
  request,
448
422
  status: 'pending',
449
423
  previousAttempts: request.previousAttempt ? [request.previousAttempt] : [],
450
- originalMessage,
424
+ ...(originalMessage !== undefined && { originalMessage }),
451
425
  }
452
426
 
453
427
  // Setup timeout if specified
@@ -515,16 +489,12 @@ export class AgentMessageBus {
515
489
  ): MessageEnvelope[] {
516
490
  let messages = this.storedMessages
517
491
  .filter(
518
- (s) =>
519
- s.envelope.message.recipient === agentId ||
520
- s.envelope.message.sender === agentId
492
+ (s) => s.envelope.message.recipient === agentId || s.envelope.message.sender === agentId
521
493
  )
522
494
  .map((s) => s.envelope)
523
495
 
524
496
  if (options?.from) {
525
- messages = messages.filter(
526
- (m) => m.message.timestamp >= options.from!
527
- )
497
+ messages = messages.filter((m) => m.message.timestamp >= options.from!)
528
498
  }
529
499
 
530
500
  if (options?.to) {
@@ -543,9 +513,7 @@ export class AgentMessageBus {
543
513
  */
544
514
  clearMessages(options?: { olderThan?: Date }): void {
545
515
  if (options?.olderThan) {
546
- this.storedMessages = this.storedMessages.filter(
547
- (s) => s.storedAt >= options.olderThan!
548
- )
516
+ this.storedMessages = this.storedMessages.filter((s) => s.storedAt >= options.olderThan!)
549
517
  } else {
550
518
  this.storedMessages = []
551
519
  }
@@ -574,10 +542,7 @@ export class AgentMessageBus {
574
542
  /**
575
543
  * Create a failed envelope
576
544
  */
577
- private createFailedEnvelope<T>(
578
- message: AgentMessage<T>,
579
- error: string
580
- ): MessageEnvelope<T> {
545
+ private createFailedEnvelope<T>(message: AgentMessage<T>, error: string): MessageEnvelope<T> {
581
546
  return {
582
547
  message,
583
548
  deliveryAttempts: 0,
@@ -668,10 +633,10 @@ export async function sendToAgent<T>(
668
633
  recipient: resolveAgentId(recipient),
669
634
  payload,
670
635
  timestamp: new Date(),
671
- priority: options?.priority,
672
- ttl: options?.ttl,
673
- correlationId: options?.correlationId,
674
- metadata: options?.metadata,
636
+ ...(options?.priority !== undefined && { priority: options.priority }),
637
+ ...(options?.ttl !== undefined && { ttl: options.ttl }),
638
+ ...(options?.correlationId !== undefined && { correlationId: options.correlationId }),
639
+ ...(options?.metadata !== undefined && { metadata: options.metadata }),
675
640
  }
676
641
 
677
642
  return bus.send(message)
@@ -759,23 +724,26 @@ export async function requestFromAgent<TReq, TRes>(
759
724
  timestamp: new Date(),
760
725
  correlationId: messageId,
761
726
  replyTo: senderId,
762
- priority: options?.priority,
763
- ttl: options?.ttl,
764
- metadata: options?.metadata,
727
+ ...(options?.priority !== undefined && { priority: options.priority }),
728
+ ...(options?.ttl !== undefined && { ttl: options.ttl }),
729
+ ...(options?.metadata !== undefined && { metadata: options.metadata }),
765
730
  }
766
731
 
767
- bus.send(message).then((envelope) => {
768
- // Fail fast if delivery failed (recipient not found, etc.)
769
- if (envelope.status === 'failed') {
732
+ bus
733
+ .send(message)
734
+ .then((envelope) => {
735
+ // Fail fast if delivery failed (recipient not found, etc.)
736
+ if (envelope.status === 'failed') {
737
+ clearTimeout(timeoutId)
738
+ unsubscribe?.()
739
+ reject(new Error(envelope.error ?? 'Message delivery failed'))
740
+ }
741
+ })
742
+ .catch((error) => {
770
743
  clearTimeout(timeoutId)
771
744
  unsubscribe?.()
772
- reject(new Error(envelope.error ?? 'Message delivery failed'))
773
- }
774
- }).catch((error) => {
775
- clearTimeout(timeoutId)
776
- unsubscribe?.()
777
- reject(error)
778
- })
745
+ reject(error)
746
+ })
779
747
  })
780
748
  }
781
749
 
@@ -799,8 +767,8 @@ export function onMessage<T = unknown>(
799
767
  options?: OnMessageOptions
800
768
  ): () => void {
801
769
  return bus.subscribe(agentId, handler as MessageHandler, {
802
- from: options?.from,
803
- types: options?.types,
770
+ ...(options?.from !== undefined && { from: options.from }),
771
+ ...(options?.types !== undefined && { types: options.types }),
804
772
  })
805
773
  }
806
774
 
@@ -862,8 +830,8 @@ export async function requestResponse<TReq, TRes>(
862
830
  options: RequestResponseOptions<TReq>
863
831
  ): Promise<AgentMessage<TRes>> {
864
832
  return requestFromAgent<TReq, TRes>(bus, options.from, options.to, options.payload, {
865
- timeout: options.timeout,
866
- priority: options.priority,
833
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
834
+ ...(options.priority !== undefined && { priority: options.priority }),
867
835
  })
868
836
  }
869
837
 
@@ -913,13 +881,10 @@ export async function fanOut<TReq, TRes>(
913
881
  const agentId = resolveAgentId(agent)
914
882
 
915
883
  try {
916
- const response = await requestFromAgent<TReq, TRes>(
917
- bus,
918
- fromId,
919
- agentId,
920
- options.payload,
921
- { timeout, correlationId }
922
- )
884
+ const response = await requestFromAgent<TReq, TRes>(bus, fromId, agentId, options.payload, {
885
+ timeout,
886
+ correlationId,
887
+ })
923
888
 
924
889
  return {
925
890
  agentId,
@@ -960,10 +925,7 @@ export interface FanInOptions<T> {
960
925
  /**
961
926
  * Execute fan-in pattern - collect responses from multiple agents
962
927
  */
963
- export async function fanIn<T>(
964
- bus: AgentMessageBus,
965
- options: FanInOptions<T>
966
- ): Promise<T[]> {
928
+ export async function fanIn<T>(bus: AgentMessageBus, options: FanInOptions<T>): Promise<T[]> {
967
929
  const results = await Promise.all(
968
930
  options.sources.map((source) => {
969
931
  const sourceId = resolveAgentId(source)
@@ -1002,13 +964,9 @@ export async function pipeline<T>(
1002
964
  for (const stage of options.stages) {
1003
965
  const stageId = resolveAgentId(stage)
1004
966
 
1005
- lastResponse = await requestFromAgent<T, T>(
1006
- bus,
1007
- initiatorId,
1008
- stageId,
1009
- currentPayload,
1010
- { timeout: options.stageTimeout }
1011
- )
967
+ lastResponse = await requestFromAgent<T, T>(bus, initiatorId, stageId, currentPayload, {
968
+ ...(options.stageTimeout !== undefined && { timeout: options.stageTimeout }),
969
+ })
1012
970
 
1013
971
  currentPayload = lastResponse.payload
1014
972
  }
@@ -1056,11 +1014,11 @@ export async function initiateHandoff(
1056
1014
  fromAgent: fromAgentId,
1057
1015
  toAgent: toAgentId,
1058
1016
  context: options.context,
1059
- reason: options.reason,
1060
1017
  timestamp: new Date(),
1061
- timeout: options.timeout,
1062
- previousAttempt: options.previousAttempt,
1063
- onTimeout: options.onTimeout,
1018
+ ...(options.reason !== undefined && { reason: options.reason }),
1019
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
1020
+ ...(options.previousAttempt !== undefined && { previousAttempt: options.previousAttempt }),
1021
+ ...(options.onTimeout !== undefined && { onTimeout: options.onTimeout }),
1064
1022
  }
1065
1023
 
1066
1024
  // Register handoff in bus
@@ -1167,7 +1125,7 @@ export async function rejectHandoff(
1167
1125
  payload: {
1168
1126
  action: 'rejected',
1169
1127
  handoffId,
1170
- reason: options?.reason,
1128
+ ...(options?.reason !== undefined && { reason: options.reason }),
1171
1129
  },
1172
1130
  timestamp: new Date(),
1173
1131
  correlationId: handoffId,
@@ -1176,7 +1134,11 @@ export async function rejectHandoff(
1176
1134
  await bus.send(rejectMessage)
1177
1135
  }
1178
1136
 
1179
- return { handoffId, status: 'rejected', reason: options?.reason }
1137
+ return {
1138
+ handoffId,
1139
+ status: 'rejected',
1140
+ ...(options?.reason !== undefined && { reason: options.reason }),
1141
+ }
1180
1142
  }
1181
1143
 
1182
1144
  /**