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
package/src/role.ts CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  import type { WorkerRole } from './types.js'
6
6
 
7
+ // Note: Role type is re-exported from types.ts which imports from org.ai
8
+
7
9
  /**
8
10
  * Define a worker role
9
11
  *
@@ -15,7 +17,7 @@ import type { WorkerRole } from './types.js'
15
17
  *
16
18
  * @example
17
19
  * ```ts
18
- * const engineer = Role({
20
+ * const engineer = defineRole({
19
21
  * name: 'Software Engineer',
20
22
  * description: 'Builds and maintains software systems',
21
23
  * responsibilities: [
@@ -31,7 +33,7 @@ import type { WorkerRole } from './types.js'
31
33
  *
32
34
  * @example
33
35
  * ```ts
34
- * const supportAgent = Role({
36
+ * const supportAgent = defineRole({
35
37
  * name: 'Customer Support Agent',
36
38
  * description: 'Assists customers with inquiries and issues',
37
39
  * responsibilities: [
@@ -44,11 +46,13 @@ import type { WorkerRole } from './types.js'
44
46
  * })
45
47
  * ```
46
48
  */
47
- export function Role(definition: Omit<WorkerRole, 'type'> & { type?: WorkerRole['type'] }): WorkerRole {
49
+ export function defineRole(
50
+ definition: Omit<WorkerRole, 'type'> & { type?: WorkerRole['type'] }
51
+ ): WorkerRole {
48
52
  return {
49
- type: 'hybrid', // Default to hybrid (can be AI or human)
50
53
  ...definition,
51
- }
54
+ type: definition.type ?? 'hybrid',
55
+ } as WorkerRole
52
56
  }
53
57
 
54
58
  /**
@@ -56,7 +60,7 @@ export function Role(definition: Omit<WorkerRole, 'type'> & { type?: WorkerRole[
56
60
  *
57
61
  * @example
58
62
  * ```ts
59
- * const dataAnalyst = Role.ai({
63
+ * const dataAnalyst = defineRole.ai({
60
64
  * name: 'Data Analyst',
61
65
  * description: 'Analyzes data and generates insights',
62
66
  * responsibilities: [
@@ -67,17 +71,18 @@ export function Role(definition: Omit<WorkerRole, 'type'> & { type?: WorkerRole[
67
71
  * })
68
72
  * ```
69
73
  */
70
- Role.ai = (definition: Omit<WorkerRole, 'type'>): WorkerRole => ({
71
- ...definition,
72
- type: 'ai',
73
- })
74
+ defineRole.ai = (definition: Omit<WorkerRole, 'type'>): WorkerRole =>
75
+ ({
76
+ ...definition,
77
+ type: 'ai',
78
+ } as WorkerRole)
74
79
 
75
80
  /**
76
81
  * Create a human-specific role
77
82
  *
78
83
  * @example
79
84
  * ```ts
80
- * const manager = Role.human({
85
+ * const manager = defineRole.human({
81
86
  * name: 'Engineering Manager',
82
87
  * description: 'Leads engineering team and makes strategic decisions',
83
88
  * responsibilities: [
@@ -89,17 +94,18 @@ Role.ai = (definition: Omit<WorkerRole, 'type'>): WorkerRole => ({
89
94
  * })
90
95
  * ```
91
96
  */
92
- Role.human = (definition: Omit<WorkerRole, 'type'>): WorkerRole => ({
93
- ...definition,
94
- type: 'human',
95
- })
97
+ defineRole.human = (definition: Omit<WorkerRole, 'type'>): WorkerRole =>
98
+ ({
99
+ ...definition,
100
+ type: 'human',
101
+ } as WorkerRole)
96
102
 
97
103
  /**
98
104
  * Create a hybrid role (can be AI or human)
99
105
  *
100
106
  * @example
101
107
  * ```ts
102
- * const contentWriter = Role.hybrid({
108
+ * const contentWriter = defineRole.hybrid({
103
109
  * name: 'Content Writer',
104
110
  * description: 'Creates written content for various channels',
105
111
  * responsibilities: [
@@ -110,7 +116,11 @@ Role.human = (definition: Omit<WorkerRole, 'type'>): WorkerRole => ({
110
116
  * })
111
117
  * ```
112
118
  */
113
- Role.hybrid = (definition: Omit<WorkerRole, 'type'>): WorkerRole => ({
114
- ...definition,
115
- type: 'hybrid',
116
- })
119
+ defineRole.hybrid = (definition: Omit<WorkerRole, 'type'>): WorkerRole =>
120
+ ({
121
+ ...definition,
122
+ type: 'hybrid',
123
+ } as WorkerRole)
124
+
125
+ // Legacy alias for backward compatibility
126
+ export { defineRole as Role }