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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +17 -0
- package/README.md +2 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +33 -21
- package/dist/actions.js.map +1 -1
- package/dist/agent-comms.d.ts.map +1 -1
- package/dist/agent-comms.js +36 -25
- package/dist/agent-comms.js.map +1 -1
- package/dist/approve.d.ts +40 -8
- package/dist/approve.d.ts.map +1 -1
- package/dist/approve.js +86 -20
- package/dist/approve.js.map +1 -1
- package/dist/ask.d.ts +38 -7
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +85 -25
- package/dist/ask.js.map +1 -1
- package/dist/browse.d.ts +223 -0
- package/dist/browse.d.ts.map +1 -0
- package/dist/browse.js +392 -0
- package/dist/browse.js.map +1 -0
- package/dist/capability-tiers.js +3 -3
- package/dist/capability-tiers.js.map +1 -1
- package/dist/cascade-context.d.ts +28 -28
- package/dist/client.d.ts +162 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +64 -0
- package/dist/client.js.map +1 -0
- package/dist/decide.d.ts +42 -6
- package/dist/decide.d.ts.map +1 -1
- package/dist/decide.js +54 -11
- package/dist/decide.js.map +1 -1
- package/dist/do.d.ts +36 -7
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +82 -39
- package/dist/do.js.map +1 -1
- package/dist/error-escalation.d.ts.map +1 -1
- package/dist/error-escalation.js +38 -38
- package/dist/error-escalation.js.map +1 -1
- package/dist/generate.d.ts +48 -7
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +49 -8
- package/dist/generate.js.map +1 -1
- package/dist/goals.d.ts +10 -9
- package/dist/goals.d.ts.map +1 -1
- package/dist/goals.js +30 -24
- package/dist/goals.js.map +1 -1
- package/dist/image.d.ts +189 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +528 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +49 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -2
- package/dist/index.js.map +1 -1
- package/dist/is.d.ts +45 -10
- package/dist/is.d.ts.map +1 -1
- package/dist/is.js +56 -21
- package/dist/is.js.map +1 -1
- package/dist/kpis.d.ts +24 -15
- package/dist/kpis.d.ts.map +1 -1
- package/dist/kpis.js +16 -14
- package/dist/kpis.js.map +1 -1
- package/dist/load-balancing.d.ts.map +1 -1
- package/dist/load-balancing.js +124 -38
- package/dist/load-balancing.js.map +1 -1
- package/dist/logger.d.ts +76 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +39 -0
- package/dist/logger.js.map +1 -0
- package/dist/notify.d.ts +38 -9
- package/dist/notify.d.ts.map +1 -1
- package/dist/notify.js +72 -17
- package/dist/notify.js.map +1 -1
- package/dist/role.d.ts +5 -4
- package/dist/role.d.ts.map +1 -1
- package/dist/role.js +13 -10
- package/dist/role.js.map +1 -1
- package/dist/runtime.d.ts +310 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +510 -0
- package/dist/runtime.js.map +1 -0
- package/dist/team.d.ts +11 -6
- package/dist/team.d.ts.map +1 -1
- package/dist/team.js +22 -15
- package/dist/team.js.map +1 -1
- package/dist/transports/email.d.ts +318 -0
- package/dist/transports/email.d.ts.map +1 -0
- package/dist/transports/email.js +779 -0
- package/dist/transports/email.js.map +1 -0
- package/dist/transports/slack.d.ts +515 -0
- package/dist/transports/slack.d.ts.map +1 -0
- package/dist/transports/slack.js +844 -0
- package/dist/transports/slack.js.map +1 -0
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +44 -25
- package/dist/transports.js.map +1 -1
- package/dist/types.d.ts +141 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/id.d.ts +19 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +21 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/video.d.ts +203 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +528 -0
- package/dist/video.js.map +1 -0
- package/dist/worker.d.ts +343 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +698 -0
- package/dist/worker.js.map +1 -0
- package/package.json +32 -14
- package/src/actions.ts +39 -30
- package/src/agent-comms.ts +54 -92
- package/src/approve.ts +91 -20
- package/src/ask.ts +99 -25
- package/src/browse.ts +627 -0
- package/src/capability-tiers.ts +5 -5
- package/src/client.ts +221 -0
- package/src/decide.ts +81 -35
- package/src/do.ts +98 -52
- package/src/error-escalation.ts +55 -67
- package/src/generate.ts +52 -18
- package/src/goals.ts +36 -27
- package/src/image.ts +816 -0
- package/src/index.ts +187 -2
- package/src/is.ts +59 -25
- package/src/kpis.ts +41 -36
- package/src/load-balancing.ts +132 -46
- package/src/logger.ts +93 -0
- package/src/notify.ts +78 -17
- package/src/role.ts +30 -20
- package/src/runtime.ts +796 -0
- package/src/team.ts +24 -19
- package/src/transports/email.ts +1160 -0
- package/src/transports/slack.ts +1320 -0
- package/src/transports.ts +58 -43
- package/src/types.ts +174 -46
- package/src/utils/id.ts +21 -0
- package/src/video.ts +906 -0
- package/src/worker.ts +1007 -0
- package/test/approve.test.ts +305 -0
- package/test/ask.test.ts +274 -0
- package/test/browse.test.ts +361 -0
- package/test/decide.test.ts +252 -0
- package/test/do.test.ts +144 -0
- package/test/error-logging.test.ts +357 -0
- package/test/generate.test.ts +319 -0
- package/test/image.test.ts +398 -0
- package/test/is.test.ts +287 -0
- package/test/load-balancing-safety.test.ts +404 -0
- package/test/notify.test.ts +434 -0
- package/test/primitives.test.ts +320 -0
- package/test/runtime-integration.test.ts +892 -0
- package/test/transports/crypto.test.ts +230 -0
- package/test/transports/email.test.ts +866 -0
- package/test/transports/id-generation.test.ts +91 -0
- package/test/transports/slack.test.ts +760 -0
- package/test/type-safety.test.ts +834 -0
- package/test/types.test.ts +60 -2
- package/test/video.test.ts +530 -0
- package/test/worker.test.ts +1433 -0
- package/tsconfig.json +4 -1
- package/vitest.config.ts +42 -0
- package/wrangler.jsonc +36 -0
- package/LICENSE +0 -21
- package/src/actions.js +0 -436
- package/src/approve.js +0 -234
- package/src/ask.js +0 -226
- package/src/decide.js +0 -244
- package/src/do.js +0 -227
- package/src/generate.js +0 -298
- package/src/goals.js +0 -205
- package/src/index.js +0 -68
- package/src/is.js +0 -317
- package/src/kpis.js +0 -270
- package/src/notify.js +0 -219
- package/src/role.js +0 -110
- package/src/team.js +0 -130
- package/src/transports.js +0 -357
- 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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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 =
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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 =
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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 }
|