digital-workers 2.1.3 → 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 (183) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/README.md +2 -0
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/actions.js +33 -21
  6. package/dist/actions.js.map +1 -1
  7. package/dist/agent-comms.d.ts.map +1 -1
  8. package/dist/agent-comms.js +36 -25
  9. package/dist/agent-comms.js.map +1 -1
  10. package/dist/approve.d.ts +40 -8
  11. package/dist/approve.d.ts.map +1 -1
  12. package/dist/approve.js +86 -20
  13. package/dist/approve.js.map +1 -1
  14. package/dist/ask.d.ts +38 -7
  15. package/dist/ask.d.ts.map +1 -1
  16. package/dist/ask.js +85 -25
  17. package/dist/ask.js.map +1 -1
  18. package/dist/browse.d.ts +223 -0
  19. package/dist/browse.d.ts.map +1 -0
  20. package/dist/browse.js +392 -0
  21. package/dist/browse.js.map +1 -0
  22. package/dist/capability-tiers.js +3 -3
  23. package/dist/capability-tiers.js.map +1 -1
  24. package/dist/cascade-context.d.ts +28 -28
  25. package/dist/client.d.ts +162 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/client.js +64 -0
  28. package/dist/client.js.map +1 -0
  29. package/dist/decide.d.ts +42 -6
  30. package/dist/decide.d.ts.map +1 -1
  31. package/dist/decide.js +54 -11
  32. package/dist/decide.js.map +1 -1
  33. package/dist/do.d.ts +36 -7
  34. package/dist/do.d.ts.map +1 -1
  35. package/dist/do.js +82 -39
  36. package/dist/do.js.map +1 -1
  37. package/dist/error-escalation.d.ts.map +1 -1
  38. package/dist/error-escalation.js +38 -38
  39. package/dist/error-escalation.js.map +1 -1
  40. package/dist/generate.d.ts +48 -7
  41. package/dist/generate.d.ts.map +1 -1
  42. package/dist/generate.js +49 -8
  43. package/dist/generate.js.map +1 -1
  44. package/dist/goals.d.ts +10 -9
  45. package/dist/goals.d.ts.map +1 -1
  46. package/dist/goals.js +30 -24
  47. package/dist/goals.js.map +1 -1
  48. package/dist/image.d.ts +189 -0
  49. package/dist/image.d.ts.map +1 -0
  50. package/dist/image.js +528 -0
  51. package/dist/image.js.map +1 -0
  52. package/dist/index.d.ts +49 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +58 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/is.d.ts +45 -10
  57. package/dist/is.d.ts.map +1 -1
  58. package/dist/is.js +56 -21
  59. package/dist/is.js.map +1 -1
  60. package/dist/kpis.d.ts +24 -15
  61. package/dist/kpis.d.ts.map +1 -1
  62. package/dist/kpis.js +16 -14
  63. package/dist/kpis.js.map +1 -1
  64. package/dist/load-balancing.d.ts.map +1 -1
  65. package/dist/load-balancing.js +124 -38
  66. package/dist/load-balancing.js.map +1 -1
  67. package/dist/logger.d.ts +76 -0
  68. package/dist/logger.d.ts.map +1 -0
  69. package/dist/logger.js +39 -0
  70. package/dist/logger.js.map +1 -0
  71. package/dist/notify.d.ts +38 -9
  72. package/dist/notify.d.ts.map +1 -1
  73. package/dist/notify.js +72 -17
  74. package/dist/notify.js.map +1 -1
  75. package/dist/role.d.ts +5 -4
  76. package/dist/role.d.ts.map +1 -1
  77. package/dist/role.js +13 -10
  78. package/dist/role.js.map +1 -1
  79. package/dist/runtime.d.ts +310 -0
  80. package/dist/runtime.d.ts.map +1 -0
  81. package/dist/runtime.js +510 -0
  82. package/dist/runtime.js.map +1 -0
  83. package/dist/team.d.ts +11 -6
  84. package/dist/team.d.ts.map +1 -1
  85. package/dist/team.js +22 -15
  86. package/dist/team.js.map +1 -1
  87. package/dist/transports/email.d.ts +318 -0
  88. package/dist/transports/email.d.ts.map +1 -0
  89. package/dist/transports/email.js +779 -0
  90. package/dist/transports/email.js.map +1 -0
  91. package/dist/transports/slack.d.ts +515 -0
  92. package/dist/transports/slack.d.ts.map +1 -0
  93. package/dist/transports/slack.js +844 -0
  94. package/dist/transports/slack.js.map +1 -0
  95. package/dist/transports.d.ts.map +1 -1
  96. package/dist/transports.js +44 -25
  97. package/dist/transports.js.map +1 -1
  98. package/dist/types.d.ts +141 -19
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/types.js +5 -0
  101. package/dist/types.js.map +1 -1
  102. package/dist/utils/id.d.ts +19 -0
  103. package/dist/utils/id.d.ts.map +1 -0
  104. package/dist/utils/id.js +21 -0
  105. package/dist/utils/id.js.map +1 -0
  106. package/dist/video.d.ts +203 -0
  107. package/dist/video.d.ts.map +1 -0
  108. package/dist/video.js +528 -0
  109. package/dist/video.js.map +1 -0
  110. package/dist/worker.d.ts +343 -0
  111. package/dist/worker.d.ts.map +1 -0
  112. package/dist/worker.js +698 -0
  113. package/dist/worker.js.map +1 -0
  114. package/package.json +32 -14
  115. package/src/actions.ts +39 -30
  116. package/src/agent-comms.ts +54 -92
  117. package/src/approve.ts +91 -20
  118. package/src/ask.ts +99 -25
  119. package/src/browse.ts +627 -0
  120. package/src/capability-tiers.ts +5 -5
  121. package/src/client.ts +221 -0
  122. package/src/decide.ts +81 -35
  123. package/src/do.ts +98 -52
  124. package/src/error-escalation.ts +55 -67
  125. package/src/generate.ts +52 -18
  126. package/src/goals.ts +36 -27
  127. package/src/image.ts +816 -0
  128. package/src/index.ts +187 -2
  129. package/src/is.ts +59 -25
  130. package/src/kpis.ts +41 -36
  131. package/src/load-balancing.ts +132 -46
  132. package/src/logger.ts +93 -0
  133. package/src/notify.ts +78 -17
  134. package/src/role.ts +30 -20
  135. package/src/runtime.ts +796 -0
  136. package/src/team.ts +24 -19
  137. package/src/transports/email.ts +1160 -0
  138. package/src/transports/slack.ts +1320 -0
  139. package/src/transports.ts +58 -43
  140. package/src/types.ts +174 -46
  141. package/src/utils/id.ts +21 -0
  142. package/src/video.ts +906 -0
  143. package/src/worker.ts +1007 -0
  144. package/test/approve.test.ts +305 -0
  145. package/test/ask.test.ts +274 -0
  146. package/test/browse.test.ts +361 -0
  147. package/test/decide.test.ts +252 -0
  148. package/test/do.test.ts +144 -0
  149. package/test/error-logging.test.ts +357 -0
  150. package/test/generate.test.ts +319 -0
  151. package/test/image.test.ts +398 -0
  152. package/test/is.test.ts +287 -0
  153. package/test/load-balancing-safety.test.ts +404 -0
  154. package/test/notify.test.ts +434 -0
  155. package/test/primitives.test.ts +320 -0
  156. package/test/runtime-integration.test.ts +892 -0
  157. package/test/transports/crypto.test.ts +230 -0
  158. package/test/transports/email.test.ts +866 -0
  159. package/test/transports/id-generation.test.ts +91 -0
  160. package/test/transports/slack.test.ts +760 -0
  161. package/test/type-safety.test.ts +834 -0
  162. package/test/types.test.ts +60 -2
  163. package/test/video.test.ts +530 -0
  164. package/test/worker.test.ts +1433 -0
  165. package/tsconfig.json +4 -1
  166. package/vitest.config.ts +42 -0
  167. package/wrangler.jsonc +36 -0
  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
@@ -8,6 +8,35 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  // ============================================================================
11
+ // Safe Array Access Utilities
12
+ // ============================================================================
13
+ /**
14
+ * Safely get the first element of an array.
15
+ *
16
+ * Provides type-safe access to array elements without non-null assertions.
17
+ *
18
+ * @param arr - The array to access
19
+ * @returns The first element or undefined if array is empty
20
+ */
21
+ function safeFirst(arr) {
22
+ return arr.length > 0 ? arr[0] : undefined;
23
+ }
24
+ /**
25
+ * Safely get an element at a specific index.
26
+ *
27
+ * Provides type-safe access with bounds checking.
28
+ *
29
+ * @param arr - The array to access
30
+ * @param index - The index to access
31
+ * @returns The element at the index or undefined if out of bounds
32
+ */
33
+ function safeAt(arr, index) {
34
+ if (arr.length === 0 || index < 0 || index >= arr.length) {
35
+ return undefined;
36
+ }
37
+ return arr[index];
38
+ }
39
+ // ============================================================================
11
40
  // MetricsCollector Implementation
12
41
  // ============================================================================
13
42
  /**
@@ -132,7 +161,7 @@ export function createRoundRobinBalancer(initialAgents, options = {}) {
132
161
  let currentIndex = 0;
133
162
  const collector = options.metricsCollector ?? defaultMetricsCollector;
134
163
  function getAvailableAgents() {
135
- return agents.filter(a => a.status === 'available' || a.status === 'busy');
164
+ return agents.filter((a) => a.status === 'available' || a.status === 'busy');
136
165
  }
137
166
  function route(task) {
138
167
  const start = performance.now();
@@ -151,8 +180,12 @@ export function createRoundRobinBalancer(initialAgents, options = {}) {
151
180
  // Find the next available agent starting from current index
152
181
  let attempts = 0;
153
182
  while (attempts < agents.length) {
154
- const agent = agents[currentIndex % agents.length];
183
+ const agent = safeAt(agents, currentIndex % agents.length);
155
184
  currentIndex++;
185
+ if (!agent) {
186
+ attempts++;
187
+ continue;
188
+ }
156
189
  if (agent.status === 'available' || agent.status === 'busy') {
157
190
  const result = {
158
191
  agent,
@@ -179,7 +212,7 @@ export function createRoundRobinBalancer(initialAgents, options = {}) {
179
212
  agents.push(agent);
180
213
  }
181
214
  function removeAgent(agentId) {
182
- agents = agents.filter(a => a.id !== agentId);
215
+ agents = agents.filter((a) => a.id !== agentId);
183
216
  }
184
217
  function getAgents() {
185
218
  return [...agents];
@@ -201,9 +234,9 @@ export function createLeastBusyBalancer(initialAgents, options = {}) {
201
234
  let lastRoutedIndex = -1;
202
235
  const collector = options.metricsCollector ?? defaultMetricsCollector;
203
236
  // Initialize load tracking
204
- agents.forEach(a => loadTracking.set(a.id, a.currentLoad));
237
+ agents.forEach((a) => loadTracking.set(a.id, a.currentLoad));
205
238
  function getAvailableAgents() {
206
- return agents.filter(a => {
239
+ return agents.filter((a) => {
207
240
  if (a.status !== 'available' && a.status !== 'busy')
208
241
  return false;
209
242
  const load = loadTracking.get(a.id) ?? a.currentLoad;
@@ -238,7 +271,18 @@ export function createLeastBusyBalancer(initialAgents, options = {}) {
238
271
  }
239
272
  return loadA - loadB;
240
273
  });
241
- const selected = sorted[0];
274
+ const selected = safeFirst(sorted);
275
+ if (!selected) {
276
+ const result = {
277
+ agent: null,
278
+ task,
279
+ strategy: 'least-busy',
280
+ timestamp: new Date(),
281
+ reason: 'no-available-agents',
282
+ };
283
+ collector.record(result, performance.now() - start, 'least-busy');
284
+ return result;
285
+ }
242
286
  lastRoutedIndex = agents.indexOf(selected);
243
287
  // Increment load
244
288
  const currentLoad = loadTracking.get(selected.id) ?? selected.currentLoad;
@@ -257,7 +301,7 @@ export function createLeastBusyBalancer(initialAgents, options = {}) {
257
301
  loadTracking.set(agent.id, agent.currentLoad);
258
302
  }
259
303
  function removeAgent(agentId) {
260
- agents = agents.filter(a => a.id !== agentId);
304
+ agents = agents.filter((a) => a.id !== agentId);
261
305
  loadTracking.delete(agentId);
262
306
  }
263
307
  function getAgents() {
@@ -265,7 +309,7 @@ export function createLeastBusyBalancer(initialAgents, options = {}) {
265
309
  }
266
310
  function getLoadMetrics() {
267
311
  const metrics = {};
268
- agents.forEach(a => {
312
+ agents.forEach((a) => {
269
313
  const load = loadTracking.get(a.id) ?? a.currentLoad;
270
314
  metrics[a.id] = load / a.maxLoad;
271
315
  });
@@ -295,22 +339,22 @@ export function createCapabilityRouter(initialAgents, options = {}) {
295
339
  let agents = [...initialAgents];
296
340
  const collector = options.metricsCollector ?? defaultMetricsCollector;
297
341
  function getAvailableAgents() {
298
- return agents.filter(a => a.status === 'available' || a.status === 'busy');
342
+ return agents.filter((a) => a.status === 'available' || a.status === 'busy');
299
343
  }
300
344
  function hasAllSkills(agent, requiredSkills) {
301
- return requiredSkills.every(skill => agent.skills.includes(skill));
345
+ return requiredSkills.every((skill) => agent.skills.includes(skill));
302
346
  }
303
347
  function calculateMatchScore(agent, requiredSkills) {
304
348
  if (requiredSkills.length === 0)
305
349
  return 1;
306
- const matchingSkills = requiredSkills.filter(s => agent.skills.includes(s));
350
+ const matchingSkills = requiredSkills.filter((s) => agent.skills.includes(s));
307
351
  return matchingSkills.length / requiredSkills.length;
308
352
  }
309
353
  function route(task) {
310
354
  const start = performance.now();
311
355
  const available = getAvailableAgents();
312
356
  // Find agents with all required skills
313
- let candidates = available.filter(a => hasAllSkills(a, task.requiredSkills));
357
+ let candidates = available.filter((a) => hasAllSkills(a, task.requiredSkills));
314
358
  if (candidates.length === 0) {
315
359
  const result = {
316
360
  agent: null,
@@ -331,7 +375,18 @@ export function createCapabilityRouter(initialAgents, options = {}) {
331
375
  return diffA - diffB;
332
376
  });
333
377
  }
334
- const selected = candidates[0];
378
+ const selected = safeFirst(candidates);
379
+ if (!selected) {
380
+ const result = {
381
+ agent: null,
382
+ task,
383
+ strategy: 'capability',
384
+ timestamp: new Date(),
385
+ reason: 'no-matching-capability',
386
+ };
387
+ collector.record(result, performance.now() - start, 'capability');
388
+ return result;
389
+ }
335
390
  const matchScore = calculateMatchScore(selected, task.requiredSkills);
336
391
  const result = {
337
392
  agent: selected,
@@ -347,18 +402,18 @@ export function createCapabilityRouter(initialAgents, options = {}) {
347
402
  agents.push(agent);
348
403
  }
349
404
  function removeAgent(agentId) {
350
- agents = agents.filter(a => a.id !== agentId);
405
+ agents = agents.filter((a) => a.id !== agentId);
351
406
  }
352
407
  function getAgents() {
353
408
  return [...agents];
354
409
  }
355
410
  function findAgentsWithSkills(skills) {
356
- return agents.filter(a => hasAllSkills(a, skills));
411
+ return agents.filter((a) => hasAllSkills(a, skills));
357
412
  }
358
413
  function getSkillCoverage() {
359
414
  const coverage = {};
360
- agents.forEach(a => {
361
- a.skills.forEach(skill => {
415
+ agents.forEach((a) => {
416
+ a.skills.forEach((skill) => {
362
417
  coverage[skill] = (coverage[skill] || 0) + 1;
363
418
  });
364
419
  });
@@ -381,10 +436,10 @@ export function createPriorityQueueBalancer(initialAgents, options = {}) {
381
436
  const { enableAging = false, agingBoostPerSecond = 1, maxWaitTime } = options;
382
437
  const collector = options.metricsCollector ?? defaultMetricsCollector;
383
438
  function getAvailableAgents() {
384
- return agents.filter(a => a.status === 'available' || a.status === 'busy');
439
+ return agents.filter((a) => a.status === 'available' || a.status === 'busy');
385
440
  }
386
441
  function getEffectivePriority(taskId) {
387
- const task = queue.find(t => t.id === taskId);
442
+ const task = queue.find((t) => t.id === taskId);
388
443
  if (!task)
389
444
  return 0;
390
445
  let priority = task.priority;
@@ -427,6 +482,8 @@ export function createPriorityQueueBalancer(initialAgents, options = {}) {
427
482
  return null;
428
483
  sortQueue();
429
484
  const task = queue.shift();
485
+ if (!task)
486
+ return null;
430
487
  const start = performance.now();
431
488
  const available = getAvailableAgents();
432
489
  if (available.length === 0) {
@@ -441,7 +498,18 @@ export function createPriorityQueueBalancer(initialAgents, options = {}) {
441
498
  return result;
442
499
  }
443
500
  // Simple round-robin among available for now
444
- const agent = available[0];
501
+ const agent = safeFirst(available);
502
+ if (!agent) {
503
+ const result = {
504
+ agent: null,
505
+ task,
506
+ strategy: 'priority-queue',
507
+ timestamp: new Date(),
508
+ reason: 'no-available-agents',
509
+ };
510
+ collector.record(result, performance.now() - start, 'priority-queue');
511
+ return result;
512
+ }
445
513
  const result = {
446
514
  agent,
447
515
  task,
@@ -465,7 +533,18 @@ export function createPriorityQueueBalancer(initialAgents, options = {}) {
465
533
  collector.record(result, performance.now() - start, 'priority-queue');
466
534
  return result;
467
535
  }
468
- const agent = available[0];
536
+ const agent = safeFirst(available);
537
+ if (!agent) {
538
+ const result = {
539
+ agent: null,
540
+ task,
541
+ strategy: 'priority-queue',
542
+ timestamp: new Date(),
543
+ reason: 'no-available-agents',
544
+ };
545
+ collector.record(result, performance.now() - start, 'priority-queue');
546
+ return result;
547
+ }
469
548
  const result = {
470
549
  agent,
471
550
  task,
@@ -479,7 +558,7 @@ export function createPriorityQueueBalancer(initialAgents, options = {}) {
479
558
  agents.push(agent);
480
559
  }
481
560
  function removeAgent(agentId) {
482
- agents = agents.filter(a => a.id !== agentId);
561
+ agents = agents.filter((a) => a.id !== agentId);
483
562
  }
484
563
  function getAgents() {
485
564
  return [...agents];
@@ -520,7 +599,7 @@ export function createAgentAvailabilityTracker(initialAgents, options = {}) {
520
599
  const handlers = [];
521
600
  const { heartbeatTimeout = 30000 } = options;
522
601
  // Initialize
523
- initialAgents.forEach(a => {
602
+ initialAgents.forEach((a) => {
524
603
  agents.set(a.id, a);
525
604
  availability.set(a.id, {
526
605
  status: a.status,
@@ -530,10 +609,10 @@ export function createAgentAvailabilityTracker(initialAgents, options = {}) {
530
609
  });
531
610
  });
532
611
  function getAvailability(agentId) {
533
- return availability.get(agentId) ?? {
612
+ return (availability.get(agentId) ?? {
534
613
  status: 'offline',
535
614
  lastSeen: new Date(0),
536
- };
615
+ });
537
616
  }
538
617
  function updateStatus(agentId, status) {
539
618
  const current = availability.get(agentId);
@@ -555,11 +634,11 @@ export function createAgentAvailabilityTracker(initialAgents, options = {}) {
555
634
  currentStatus: status,
556
635
  timestamp: new Date(),
557
636
  };
558
- handlers.forEach(h => h(event));
637
+ handlers.forEach((h) => h(event));
559
638
  }
560
639
  }
561
640
  function getAvailableAgents() {
562
- return Array.from(agents.values()).filter(a => {
641
+ return Array.from(agents.values()).filter((a) => {
563
642
  const avail = availability.get(a.id);
564
643
  return avail?.status === 'available' || avail?.status === 'busy';
565
644
  });
@@ -698,7 +777,7 @@ export function createRoutingRuleEngine(initialAgents, options = {}) {
698
777
  const start = performance.now();
699
778
  // Sort rules by priority (descending)
700
779
  const sortedRules = [...rules]
701
- .filter(r => r.enabled !== false)
780
+ .filter((r) => r.enabled !== false)
702
781
  .sort((a, b) => b.priority - a.priority);
703
782
  // Evaluate rules
704
783
  for (const rule of sortedRules) {
@@ -735,25 +814,25 @@ export function createRoutingRuleEngine(initialAgents, options = {}) {
735
814
  rules.push({ ...rule, enabled: rule.enabled ?? true });
736
815
  }
737
816
  function removeRule(name) {
738
- const index = rules.findIndex(r => r.name === name);
817
+ const index = rules.findIndex((r) => r.name === name);
739
818
  if (index !== -1) {
740
819
  rules.splice(index, 1);
741
820
  }
742
821
  }
743
822
  function updateRule(name, updates) {
744
- const rule = rules.find(r => r.name === name);
823
+ const rule = rules.find((r) => r.name === name);
745
824
  if (rule) {
746
825
  Object.assign(rule, updates);
747
826
  }
748
827
  }
749
828
  function enableRule(name) {
750
- const rule = rules.find(r => r.name === name);
829
+ const rule = rules.find((r) => r.name === name);
751
830
  if (rule) {
752
831
  rule.enabled = true;
753
832
  }
754
833
  }
755
834
  function disableRule(name) {
756
- const rule = rules.find(r => r.name === name);
835
+ const rule = rules.find((r) => r.name === name);
757
836
  if (rule) {
758
837
  rule.enabled = false;
759
838
  }
@@ -766,7 +845,7 @@ export function createRoutingRuleEngine(initialAgents, options = {}) {
766
845
  defaultBalancer = undefined; // Reset default balancer
767
846
  }
768
847
  function removeAgent(agentId) {
769
- agents = agents.filter(a => a.id !== agentId);
848
+ agents = agents.filter((a) => a.id !== agentId);
770
849
  defaultBalancer = undefined; // Reset default balancer
771
850
  }
772
851
  function getAgents() {
@@ -819,7 +898,14 @@ export function createCompositeBalancer(initialAgents, config) {
819
898
  balancers.set(strategy, createRoundRobinBalancer(agents, balancerOptions));
820
899
  }
821
900
  }
822
- return balancers.get(strategy);
901
+ const balancer = balancers.get(strategy);
902
+ if (!balancer) {
903
+ // Fallback to round-robin if strategy not found
904
+ const fallback = createRoundRobinBalancer(agents, { metricsCollector: collector });
905
+ balancers.set(strategy, fallback);
906
+ return fallback;
907
+ }
908
+ return balancer;
823
909
  }
824
910
  function route(task) {
825
911
  const start = performance.now();
@@ -827,7 +913,7 @@ export function createCompositeBalancer(initialAgents, config) {
827
913
  const strategyScores = {};
828
914
  let usedFallback = false;
829
915
  // Handle weighted strategies
830
- const weightedStrategies = config.strategies.map(s => {
916
+ const weightedStrategies = config.strategies.map((s) => {
831
917
  if (typeof s === 'string') {
832
918
  return { strategy: s, weight: 1 };
833
919
  }
@@ -891,11 +977,11 @@ export function createCompositeBalancer(initialAgents, config) {
891
977
  }
892
978
  function addAgent(agent) {
893
979
  agents.push(agent);
894
- balancers.forEach(b => b.addAgent(agent));
980
+ balancers.forEach((b) => b.addAgent(agent));
895
981
  }
896
982
  function removeAgent(agentId) {
897
- agents = agents.filter(a => a.id !== agentId);
898
- balancers.forEach(b => b.removeAgent(agentId));
983
+ agents = agents.filter((a) => a.id !== agentId);
984
+ balancers.forEach((b) => b.removeAgent(agentId));
899
985
  }
900
986
  function getAgents() {
901
987
  return [...agents];
@@ -1 +1 @@
1
- {"version":3,"file":"load-balancing.js","sourceRoot":"","sources":["../src/load-balancing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-balancing.js","sourceRoot":"","sources":["../src/load-balancing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Logger Interface for Digital Workers
3
+ *
4
+ * Provides a simple, extensible logging interface that can be injected
5
+ * into components for error logging and debugging. Consumers can provide
6
+ * their own logger implementation (e.g., winston, pino, console).
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ /**
11
+ * Logger interface for structured logging
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // Using with console
16
+ * const consoleLogger: Logger = {
17
+ * debug: (msg, meta) => console.debug(msg, meta),
18
+ * info: (msg, meta) => console.info(msg, meta),
19
+ * warn: (msg, meta) => console.warn(msg, meta),
20
+ * error: (msg, error, meta) => console.error(msg, error, meta),
21
+ * }
22
+ *
23
+ * // Using with a custom logger
24
+ * const customLogger: Logger = {
25
+ * debug: (msg, meta) => myLogger.debug({ message: msg, ...meta }),
26
+ * info: (msg, meta) => myLogger.info({ message: msg, ...meta }),
27
+ * warn: (msg, meta) => myLogger.warn({ message: msg, ...meta }),
28
+ * error: (msg, error, meta) => myLogger.error({ message: msg, error, ...meta }),
29
+ * }
30
+ * ```
31
+ */
32
+ export interface Logger {
33
+ /**
34
+ * Log debug-level messages
35
+ * @param msg - The log message
36
+ * @param meta - Optional metadata object
37
+ */
38
+ debug(msg: string, meta?: object): void;
39
+ /**
40
+ * Log info-level messages
41
+ * @param msg - The log message
42
+ * @param meta - Optional metadata object
43
+ */
44
+ info(msg: string, meta?: object): void;
45
+ /**
46
+ * Log warning-level messages
47
+ * @param msg - The log message
48
+ * @param meta - Optional metadata object
49
+ */
50
+ warn(msg: string, meta?: object): void;
51
+ /**
52
+ * Log error-level messages
53
+ * @param msg - The log message
54
+ * @param error - Optional error object with stack trace
55
+ * @param meta - Optional metadata object
56
+ */
57
+ error(msg: string, error?: Error, meta?: object): void;
58
+ }
59
+ /**
60
+ * A no-op logger that discards all log messages.
61
+ * Used as a default when no logger is provided.
62
+ */
63
+ export declare const noopLogger: Logger;
64
+ /**
65
+ * Creates a console-based logger for debugging purposes.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const transport = createSlackTransport({
70
+ * ...config,
71
+ * logger: createConsoleLogger(),
72
+ * })
73
+ * ```
74
+ */
75
+ export declare function createConsoleLogger(): Logger;
76
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvC;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAKxB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C"}
package/dist/logger.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Logger Interface for Digital Workers
3
+ *
4
+ * Provides a simple, extensible logging interface that can be injected
5
+ * into components for error logging and debugging. Consumers can provide
6
+ * their own logger implementation (e.g., winston, pino, console).
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ /**
11
+ * A no-op logger that discards all log messages.
12
+ * Used as a default when no logger is provided.
13
+ */
14
+ export const noopLogger = {
15
+ debug: () => { },
16
+ info: () => { },
17
+ warn: () => { },
18
+ error: () => { },
19
+ };
20
+ /**
21
+ * Creates a console-based logger for debugging purposes.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const transport = createSlackTransport({
26
+ * ...config,
27
+ * logger: createConsoleLogger(),
28
+ * })
29
+ * ```
30
+ */
31
+ export function createConsoleLogger() {
32
+ return {
33
+ debug: (msg, meta) => console.debug(`[DEBUG] ${msg}`, meta ?? ''),
34
+ info: (msg, meta) => console.info(`[INFO] ${msg}`, meta ?? ''),
35
+ warn: (msg, meta) => console.warn(`[WARN] ${msg}`, meta ?? ''),
36
+ error: (msg, error, meta) => console.error(`[ERROR] ${msg}`, error ?? '', meta ?? ''),
37
+ };
38
+ }
39
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuDH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QACjE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9D,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;KACtF,CAAA;AACH,CAAC"}