@funkai/agents 0.1.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/.generated/req.txt +1 -0
- package/.turbo/turbo-build.log +21 -0
- package/.turbo/turbo-test$colon$coverage.log +109 -0
- package/.turbo/turbo-test.log +141 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/CHANGELOG.md +16 -0
- package/ISSUES.md +540 -0
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/banner.svg +97 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/core/agents/base/agent.ts.html +1705 -0
- package/coverage/lcov-report/core/agents/base/index.html +146 -0
- package/coverage/lcov-report/core/agents/base/output.ts.html +256 -0
- package/coverage/lcov-report/core/agents/base/utils.ts.html +694 -0
- package/coverage/lcov-report/core/agents/flow/engine.ts.html +928 -0
- package/coverage/lcov-report/core/agents/flow/flow-agent.ts.html +1462 -0
- package/coverage/lcov-report/core/agents/flow/index.html +146 -0
- package/coverage/lcov-report/core/agents/flow/messages.ts.html +508 -0
- package/coverage/lcov-report/core/agents/flow/steps/factory.ts.html +1975 -0
- package/coverage/lcov-report/core/agents/flow/steps/index.html +116 -0
- package/coverage/lcov-report/core/index.html +131 -0
- package/coverage/lcov-report/core/logger.ts.html +541 -0
- package/coverage/lcov-report/core/models/providers/index.html +116 -0
- package/coverage/lcov-report/core/models/providers/openai.ts.html +337 -0
- package/coverage/lcov-report/core/provider/index.html +131 -0
- package/coverage/lcov-report/core/provider/provider.ts.html +346 -0
- package/coverage/lcov-report/core/provider/usage.ts.html +376 -0
- package/coverage/lcov-report/core/tool.ts.html +577 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +221 -0
- package/coverage/lcov-report/lib/hooks.ts.html +262 -0
- package/coverage/lcov-report/lib/index.html +161 -0
- package/coverage/lcov-report/lib/middleware.ts.html +274 -0
- package/coverage/lcov-report/lib/runnable.ts.html +151 -0
- package/coverage/lcov-report/lib/trace.ts.html +520 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/utils/attempt.ts.html +199 -0
- package/coverage/lcov-report/utils/error.ts.html +421 -0
- package/coverage/lcov-report/utils/index.html +176 -0
- package/coverage/lcov-report/utils/resolve.ts.html +208 -0
- package/coverage/lcov-report/utils/result.ts.html +538 -0
- package/coverage/lcov-report/utils/zod.ts.html +178 -0
- package/coverage/lcov.info +1566 -0
- package/dist/index.d.mts +2883 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2312 -0
- package/dist/index.mjs.map +1 -0
- package/docs/core/agent.md +231 -0
- package/docs/core/hooks.md +95 -0
- package/docs/core/overview.md +87 -0
- package/docs/core/step.md +279 -0
- package/docs/core/tools.md +98 -0
- package/docs/core/workflow.md +235 -0
- package/docs/guides/create-agent.md +224 -0
- package/docs/guides/create-tool.md +137 -0
- package/docs/guides/create-workflow.md +374 -0
- package/docs/overview.md +244 -0
- package/docs/provider/models.md +55 -0
- package/docs/provider/overview.md +106 -0
- package/docs/provider/usage.md +100 -0
- package/docs/research/experimental-context.md +167 -0
- package/docs/research/gap-analysis.md +86 -0
- package/docs/research/prepare-step-and-active-tools.md +138 -0
- package/docs/research/sub-agent-model.md +249 -0
- package/docs/troubleshooting.md +60 -0
- package/logo.svg +17 -0
- package/models.config.json +18 -0
- package/package.json +60 -0
- package/scripts/generate-models.ts +324 -0
- package/src/core/agents/base/agent.test.ts +1522 -0
- package/src/core/agents/base/agent.ts +547 -0
- package/src/core/agents/base/output.test.ts +93 -0
- package/src/core/agents/base/output.ts +57 -0
- package/src/core/agents/base/types.test-d.ts +69 -0
- package/src/core/agents/base/types.ts +503 -0
- package/src/core/agents/base/utils.test.ts +397 -0
- package/src/core/agents/base/utils.ts +197 -0
- package/src/core/agents/flow/engine.test.ts +452 -0
- package/src/core/agents/flow/engine.ts +281 -0
- package/src/core/agents/flow/flow-agent.test.ts +1027 -0
- package/src/core/agents/flow/flow-agent.ts +473 -0
- package/src/core/agents/flow/messages.test.ts +198 -0
- package/src/core/agents/flow/messages.ts +141 -0
- package/src/core/agents/flow/steps/agent.test.ts +280 -0
- package/src/core/agents/flow/steps/agent.ts +87 -0
- package/src/core/agents/flow/steps/all.test.ts +300 -0
- package/src/core/agents/flow/steps/all.ts +73 -0
- package/src/core/agents/flow/steps/builder.ts +124 -0
- package/src/core/agents/flow/steps/each.test.ts +257 -0
- package/src/core/agents/flow/steps/each.ts +61 -0
- package/src/core/agents/flow/steps/factory.test-d.ts +50 -0
- package/src/core/agents/flow/steps/factory.test.ts +1025 -0
- package/src/core/agents/flow/steps/factory.ts +645 -0
- package/src/core/agents/flow/steps/map.test.ts +273 -0
- package/src/core/agents/flow/steps/map.ts +75 -0
- package/src/core/agents/flow/steps/race.test.ts +290 -0
- package/src/core/agents/flow/steps/race.ts +59 -0
- package/src/core/agents/flow/steps/reduce.test.ts +310 -0
- package/src/core/agents/flow/steps/reduce.ts +73 -0
- package/src/core/agents/flow/steps/result.ts +27 -0
- package/src/core/agents/flow/steps/step.test.ts +402 -0
- package/src/core/agents/flow/steps/step.ts +51 -0
- package/src/core/agents/flow/steps/while.test.ts +283 -0
- package/src/core/agents/flow/steps/while.ts +75 -0
- package/src/core/agents/flow/types.ts +348 -0
- package/src/core/logger.test.ts +163 -0
- package/src/core/logger.ts +152 -0
- package/src/core/models/index.test.ts +137 -0
- package/src/core/models/index.ts +152 -0
- package/src/core/models/providers/openai.ts +84 -0
- package/src/core/provider/provider.test.ts +128 -0
- package/src/core/provider/provider.ts +99 -0
- package/src/core/provider/types.ts +98 -0
- package/src/core/provider/usage.test.ts +304 -0
- package/src/core/provider/usage.ts +97 -0
- package/src/core/tool.test.ts +65 -0
- package/src/core/tool.ts +164 -0
- package/src/core/types.ts +66 -0
- package/src/index.ts +95 -0
- package/src/lib/context.test.ts +86 -0
- package/src/lib/context.ts +49 -0
- package/src/lib/hooks.test.ts +102 -0
- package/src/lib/hooks.ts +59 -0
- package/src/lib/middleware.test.ts +122 -0
- package/src/lib/middleware.ts +63 -0
- package/src/lib/runnable.test.ts +41 -0
- package/src/lib/runnable.ts +22 -0
- package/src/lib/trace.test.ts +291 -0
- package/src/lib/trace.ts +145 -0
- package/src/models/index.ts +123 -0
- package/src/models/providers/index.ts +15 -0
- package/src/models/providers/openai.ts +84 -0
- package/src/testing/context.ts +32 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/logger.ts +19 -0
- package/src/utils/attempt.test.ts +127 -0
- package/src/utils/attempt.ts +38 -0
- package/src/utils/error.test.ts +179 -0
- package/src/utils/error.ts +112 -0
- package/src/utils/resolve.test.ts +38 -0
- package/src/utils/resolve.ts +41 -0
- package/src/utils/result.test.ts +79 -0
- package/src/utils/result.ts +151 -0
- package/src/utils/zod.test.ts +69 -0
- package/src/utils/zod.ts +31 -0
- package/tsconfig.json +25 -0
- package/tsdown.config.ts +15 -0
- package/vitest.config.ts +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2026-03-03T19:12:46.284Z
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
> @funkai/agents@0.1.0 build /Users/zacrosenbauer/Code/joggr/funkai/packages/agents
|
|
4
|
+
> tsdown
|
|
5
|
+
|
|
6
|
+
[34mℹ[39m tsdown [2mv0.21.2[22m powered by rolldown [2mv1.0.0-rc.9[22m
|
|
7
|
+
[34mℹ[39m config file: [4m/Users/zacrosenbauer/Code/joggr/funkai/packages/agents/tsdown.config.ts[24m
|
|
8
|
+
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
9
|
+
[34mℹ[39m target: [34mnode22[39m
|
|
10
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
11
|
+
|
|
12
|
+
[43m WARN [49m `external` is deprecated. Use `deps.neverBundle` instead.
|
|
13
|
+
|
|
14
|
+
[34mℹ[39m Build start
|
|
15
|
+
[34mℹ[39m Cleaning 4 files
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mindex.mjs[22m [2m 66.70 kB[22m [2m│ gzip: 16.43 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22mindex.mjs.map [2m154.48 kB[22m [2m│ gzip: 35.44 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22mindex.d.mts.map [2m 17.15 kB[22m [2m│ gzip: 4.77 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 92.50 kB[22m [2m│ gzip: 21.21 kB[22m
|
|
20
|
+
[34mℹ[39m 4 files, total: 330.82 kB
|
|
21
|
+
[32m✔[39m Build complete in [32m546ms[39m
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
|
|
2
|
+
> @funkai/agents@0.4.0 test:coverage /Users/zacrosenbauer/Code/joggr/funkai/packages/agents
|
|
3
|
+
> vitest run --coverage
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
[1m[46m RUN [49m[22m [36mv4.1.0 [39m[90m/Users/zacrosenbauer/Code/joggr/funkai/packages/agents[39m
|
|
7
|
+
[2mCoverage enabled with [22m[33mv8[39m
|
|
8
|
+
|
|
9
|
+
[32m✓[39m src/lib/trace.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
10
|
+
[32m✓[39m src/utils/zod.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
11
|
+
[32m✓[39m src/core/agents/flow/steps/race.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
12
|
+
[32m✓[39m src/core/agents/flow/steps/reduce.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
13
|
+
[32m✓[39m src/core/agents/flow/steps/agent.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
14
|
+
[32m✓[39m src/core/agents/flow/steps/step.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
15
|
+
[32m✓[39m src/core/agents/flow/steps/while.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
16
|
+
[32m✓[39m src/lib/middleware.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
17
|
+
[32m✓[39m src/core/agents/flow/steps/all.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 38[2mms[22m[39m
|
|
18
|
+
[90mstdout[2m | src/core/agents/flow/flow-agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
19
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m } flowAgent.generate start
|
|
20
|
+
|
|
21
|
+
[90mstdout[2m | src/core/agents/flow/flow-agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
22
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m, duration: [33m1[39m } flowAgent.generate finish
|
|
23
|
+
|
|
24
|
+
[32m✓[39m src/core/agents/flow/engine.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
25
|
+
[32m✓[39m src/core/agents/base/output.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 46[2mms[22m[39m
|
|
26
|
+
[32m✓[39m src/core/agents/flow/flow-agent.test.ts [2m([22m[2m47 tests[22m[2m)[22m[32m 22[2mms[22m[39m
|
|
27
|
+
[32m✓[39m src/core/agents/flow/steps/map.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 74[2mms[22m[39m
|
|
28
|
+
[32m✓[39m src/core/agents/flow/steps/factory.test.ts [2m([22m[2m35 tests[22m[2m)[22m[32m 72[2mms[22m[39m
|
|
29
|
+
[32m✓[39m src/lib/hooks.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
30
|
+
[32m✓[39m src/core/logger.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
31
|
+
[90mstdout[2m | src/core/agents/base/agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
32
|
+
[22m[39m{ agentId: [32m'no-logger-agent'[39m, name: [32m'no-logger-agent'[39m } agent.generate start
|
|
33
|
+
|
|
34
|
+
[90mstdout[2m | src/core/agents/base/agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
35
|
+
[22m[39m{ agentId: [32m'no-logger-agent'[39m, name: [32m'no-logger-agent'[39m, duration: [33m1[39m } agent.generate finish
|
|
36
|
+
|
|
37
|
+
[32m✓[39m src/lib/context.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
38
|
+
[32m✓[39m src/core/agents/base/agent.test.ts [2m([22m[2m69 tests[22m[2m)[22m[32m 95[2mms[22m[39m
|
|
39
|
+
[32m✓[39m src/core/agents/flow/steps/each.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
40
|
+
[32m✓[39m src/core/provider/provider.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
41
|
+
[32m✓[39m src/core/models/index.test.ts [2m([22m[2m16 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
42
|
+
[32m✓[39m src/core/provider/usage.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
43
|
+
[32m✓[39m src/core/agents/flow/messages.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
44
|
+
[32m✓[39m src/utils/result.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
45
|
+
[32m✓[39m src/core/agents/base/utils.test.ts [2m([22m[2m28 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
46
|
+
[32m✓[39m src/utils/error.test.ts [2m([22m[2m32 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
47
|
+
[32m✓[39m src/utils/attempt.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
48
|
+
[32m✓[39m src/lib/runnable.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
49
|
+
[32m✓[39m src/utils/resolve.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
50
|
+
[32m✓[39m src/core/tool.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
51
|
+
|
|
52
|
+
[2m Test Files [22m [1m[32m30 passed[39m[22m[90m (30)[39m
|
|
53
|
+
[2m Tests [22m [1m[32m509 passed[39m[22m[90m (509)[39m
|
|
54
|
+
[2m Start at [22m 20:28:55
|
|
55
|
+
[2m Duration [22m 627ms[2m (transform 1.16s, setup 0ms, import 2.72s, tests 492ms, environment 1ms)[22m
|
|
56
|
+
|
|
57
|
+
[34m % [39m[2mCoverage report from [22m[33mv8[39m
|
|
58
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
59
|
+
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
|
|
60
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
61
|
+
All files | 92.68 | 87.01 | 91.2 | 92.58 |
|
|
62
|
+
core | 88 | 78.57 | 100 | 88 |
|
|
63
|
+
logger.ts | 100 | 100 | 100 | 100 |
|
|
64
|
+
tool.ts | 78.57 | 70 | 100 | 78.57 | 152,156,160
|
|
65
|
+
types.ts | 0 | 0 | 0 | 0 |
|
|
66
|
+
core/agents/base | 89.03 | 88.67 | 79.59 | 89.03 |
|
|
67
|
+
agent.ts | 85.97 | 80 | 66.66 | 85.97 | ...26-427,470-475
|
|
68
|
+
output.ts | 100 | 100 | 100 | 100 |
|
|
69
|
+
types.ts | 0 | 0 | 0 | 0 |
|
|
70
|
+
utils.ts | 96.36 | 100 | 90 | 96.36 | 174,180
|
|
71
|
+
core/agents/flow | 93.7 | 82.81 | 84.37 | 93.66 |
|
|
72
|
+
engine.ts | 97.14 | 83.33 | 100 | 97.05 | 252
|
|
73
|
+
flow-agent.ts | 94.84 | 82.5 | 85.71 | 94.84 | ...23,346,352-353
|
|
74
|
+
messages.ts | 72.72 | 83.33 | 66.66 | 72.72 | 136-138
|
|
75
|
+
types.ts | 0 | 0 | 0 | 0 |
|
|
76
|
+
...nts/flow/steps | 91.86 | 79.36 | 92.59 | 91.77 |
|
|
77
|
+
agent.ts | 0 | 0 | 0 | 0 |
|
|
78
|
+
all.ts | 0 | 0 | 0 | 0 |
|
|
79
|
+
builder.ts | 0 | 0 | 0 | 0 |
|
|
80
|
+
each.ts | 0 | 0 | 0 | 0 |
|
|
81
|
+
factory.ts | 91.86 | 79.36 | 92.59 | 91.77 | ...29,265-284,613
|
|
82
|
+
map.ts | 0 | 0 | 0 | 0 |
|
|
83
|
+
race.ts | 0 | 0 | 0 | 0 |
|
|
84
|
+
reduce.ts | 0 | 0 | 0 | 0 |
|
|
85
|
+
result.ts | 0 | 0 | 0 | 0 |
|
|
86
|
+
step.ts | 0 | 0 | 0 | 0 |
|
|
87
|
+
while.ts | 0 | 0 | 0 | 0 |
|
|
88
|
+
...dels/providers | 100 | 100 | 100 | 100 |
|
|
89
|
+
openai.ts | 100 | 100 | 100 | 100 |
|
|
90
|
+
core/provider | 100 | 100 | 100 | 100 |
|
|
91
|
+
provider.ts | 100 | 100 | 100 | 100 |
|
|
92
|
+
types.ts | 0 | 0 | 0 | 0 |
|
|
93
|
+
usage.ts | 100 | 100 | 100 | 100 |
|
|
94
|
+
lib | 100 | 94.11 | 100 | 100 |
|
|
95
|
+
context.ts | 0 | 0 | 0 | 0 |
|
|
96
|
+
hooks.ts | 100 | 100 | 100 | 100 |
|
|
97
|
+
middleware.ts | 100 | 88.88 | 100 | 100 | 39
|
|
98
|
+
runnable.ts | 100 | 100 | 100 | 100 |
|
|
99
|
+
trace.ts | 100 | 100 | 100 | 100 |
|
|
100
|
+
testing | 100 | 100 | 100 | 100 |
|
|
101
|
+
context.ts | 100 | 100 | 100 | 100 |
|
|
102
|
+
logger.ts | 100 | 100 | 100 | 100 |
|
|
103
|
+
utils | 100 | 100 | 100 | 100 |
|
|
104
|
+
attempt.ts | 100 | 100 | 100 | 100 |
|
|
105
|
+
error.ts | 100 | 100 | 100 | 100 |
|
|
106
|
+
resolve.ts | 100 | 100 | 100 | 100 |
|
|
107
|
+
result.ts | 100 | 100 | 100 | 100 |
|
|
108
|
+
zod.ts | 100 | 100 | 100 | 100 |
|
|
109
|
+
-------------------|---------|----------|---------|---------|-------------------
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
> @funkai/agents@0.4.0 test /Users/zacrosenbauer/Code/joggr/funkai/packages/agents
|
|
4
|
+
> vitest run --typecheck
|
|
5
|
+
|
|
6
|
+
[?25l[33mTesting types with tsc and vue-tsc is an experimental feature.
|
|
7
|
+
Breaking changes might not follow SemVer, please pin Vitest's version when using it.[39m
|
|
8
|
+
|
|
9
|
+
[1m[46m RUN [49m[22m [36mv4.1.0 [39m[90m/Users/zacrosenbauer/Code/joggr/funkai/packages/agents[39m
|
|
10
|
+
|
|
11
|
+
[?2026h
|
|
12
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/output.test.ts[2m [queued][22m
|
|
13
|
+
|
|
14
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (32)[39m
|
|
15
|
+
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
16
|
+
[2m Start at [22m21:15:41
|
|
17
|
+
[2m Duration [22m100ms
|
|
18
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
19
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/agent.test.ts[2m [queued][22m
|
|
20
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/output.test.ts[2m 0/9[22m
|
|
21
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/utils.test.ts[2m [queued][22m
|
|
22
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/engine.test.ts[2m [queued][22m
|
|
23
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/flow-agent.test.ts[2m [queued][22m
|
|
24
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/agent.test.ts[2m [queued][22m
|
|
25
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/all.test.ts[2m [queued][22m
|
|
26
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/each.test.ts[2m [queued][22m
|
|
27
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/factory.test.ts[2m [queued][22m
|
|
28
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/map.test.ts[2m [queued][22m
|
|
29
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/race.test.ts[2m [queued][22m
|
|
30
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/reduce.test.ts[2m [queued][22m
|
|
31
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/step.test.ts[2m [queued][22m
|
|
32
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/while.test.ts[2m [queued][22m
|
|
33
|
+
[1m[33m ❯ [39m[22msrc/lib/middleware.test.ts[2m [queued][22m
|
|
34
|
+
|
|
35
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (32)[39m
|
|
36
|
+
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (9)[39m
|
|
37
|
+
[2m Start at [22m21:15:41
|
|
38
|
+
[2m Duration [22m203ms
|
|
39
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/lib/middleware.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
40
|
+
[32m✓[39m src/core/agents/flow/steps/race.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
41
|
+
[32m✓[39m src/core/agents/flow/steps/each.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
42
|
+
[32m✓[39m src/core/agents/flow/steps/reduce.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
43
|
+
[32m✓[39m src/core/agents/base/utils.test.ts [2m([22m[2m30 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
44
|
+
[32m✓[39m src/core/agents/flow/steps/while.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
45
|
+
[32m✓[39m src/core/agents/flow/steps/agent.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
46
|
+
[32m✓[39m src/core/agents/flow/steps/step.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
47
|
+
[32m✓[39m src/core/agents/base/output.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 33[2mms[22m[39m
|
|
48
|
+
[90mstdout[2m | src/core/agents/flow/engine.test.ts[2m > [22m[2mcreateFlowEngine[2m > [22m[2medge cases[2m > [22m[2mfalls back to createDefaultLogger when logger is omitted from config
|
|
49
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m } flowAgent.generate start
|
|
50
|
+
|
|
51
|
+
[90mstdout[2m | src/core/agents/flow/engine.test.ts[2m > [22m[2mcreateFlowEngine[2m > [22m[2medge cases[2m > [22m[2mfalls back to createDefaultLogger when logger is omitted from config
|
|
52
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m, duration: [33m1[39m } flowAgent.generate finish
|
|
53
|
+
|
|
54
|
+
[32m✓[39m src/core/agents/flow/engine.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
55
|
+
[90mstdout[2m | src/core/agents/flow/flow-agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
56
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m } flowAgent.generate start
|
|
57
|
+
|
|
58
|
+
[90mstdout[2m | src/core/agents/flow/flow-agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
59
|
+
[22m[39m{ flowAgentId: [32m'no-logger-flow'[39m, name: [32m'no-logger-flow'[39m, duration: [33m0[39m } flowAgent.generate finish
|
|
60
|
+
|
|
61
|
+
[32m✓[39m src/core/agents/flow/steps/all.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 40[2mms[22m[39m
|
|
62
|
+
[32m✓[39m src/core/agents/flow/flow-agent.test.ts [2m([22m[2m52 tests[22m[2m)[22m[32m 19[2mms[22m[39m
|
|
63
|
+
[32m✓[39m src/core/agents/flow/steps/factory.test.ts [2m([22m[2m40 tests[22m[2m)[22m[32m 65[2mms[22m[39m
|
|
64
|
+
[32m✓[39m src/core/agents/flow/steps/map.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 75[2mms[22m[39m
|
|
65
|
+
|
|
66
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/agent.test.ts[2m 0/76[22m
|
|
67
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/output.test.ts[2m 9/9[22m
|
|
68
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/utils.test.ts[2m 30/30[22m
|
|
69
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/engine.test.ts[2m 17/17[22m
|
|
70
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/flow-agent.test.ts[2m 52/52[22m
|
|
71
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/agent.test.ts[2m 14/14[22m
|
|
72
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/all.test.ts[2m 14/14[22m
|
|
73
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/each.test.ts[2m 13/13[22m
|
|
74
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/factory.test.ts[2m 40/40[22m
|
|
75
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/map.test.ts[2m 13/13[22m
|
|
76
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/race.test.ts[2m 13/13[22m
|
|
77
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/reduce.test.ts[2m 14/14[22m
|
|
78
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/step.test.ts[2m 19/19[22m
|
|
79
|
+
[1m[33m ❯ [39m[22msrc/core/agents/flow/steps/while.test.ts[2m 14/14[22m
|
|
80
|
+
[1m[33m ❯ [39m[22msrc/core/provider/provider.test.ts[2m [queued][22m
|
|
81
|
+
|
|
82
|
+
[2m Test Files [22m[1m[32m14 passed[39m[22m[90m (32)[39m
|
|
83
|
+
[2m Tests [22m[1m[32m268 passed[39m[22m[90m (344)[39m
|
|
84
|
+
[2m Start at [22m21:15:41
|
|
85
|
+
[2m Duration [22m404ms
|
|
86
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/lib/hooks.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
87
|
+
[32m✓[39m src/lib/trace.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
88
|
+
[32m✓[39m src/lib/context.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
89
|
+
[32m✓[39m src/core/logger.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
90
|
+
[32m✓[39m src/core/provider/provider.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
91
|
+
[32m✓[39m src/core/models/index.test.ts [2m([22m[2m16 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
92
|
+
[32m✓[39m src/utils/zod.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
93
|
+
[90mstdout[2m | src/core/agents/base/agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
94
|
+
[22m[39m{ agentId: [32m'no-logger-agent'[39m, name: [32m'no-logger-agent'[39m } agent.generate start
|
|
95
|
+
|
|
96
|
+
[90mstdout[2m | src/core/agents/base/agent.test.ts[2m > [22m[2medge cases[2m > [22m[2muses default logger when none provided
|
|
97
|
+
[22m[39m{ agentId: [32m'no-logger-agent'[39m, name: [32m'no-logger-agent'[39m, duration: [33m1[39m } agent.generate finish
|
|
98
|
+
|
|
99
|
+
[32m✓[39m src/core/agents/flow/messages.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
100
|
+
[32m✓[39m src/utils/error.test.ts [2m([22m[2m32 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
101
|
+
[32m✓[39m src/core/provider/usage.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
102
|
+
[32m✓[39m src/utils/attempt.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
103
|
+
[32m✓[39m src/lib/runnable.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
104
|
+
[32m✓[39m src/utils/resolve.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
[1m[33m ❯ [39m[22msrc/core/agents/base/agent.test.ts[2m 55/76[22m
|
|
110
|
+
[1m[33m ❯ [39m[22msrc/core/tool.test.ts[2m [queued][22m
|
|
111
|
+
[1m[33m ❯ [39m[22msrc/lib/trace.test.ts[2m 19/19[22m
|
|
112
|
+
[1m[33m ❯ [39m[22msrc/utils/result.test.ts[2m 0/10[22m
|
|
113
|
+
|
|
114
|
+
[2m Test Files [22m[1m[32m27 passed[39m[22m[90m (32)[39m
|
|
115
|
+
[2m Tests [22m[1m[32m499 passed[39m[22m[90m (530)[39m
|
|
116
|
+
[2m Start at [22m21:15:41
|
|
117
|
+
[2m Duration [22m504ms
|
|
118
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/utils/result.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
119
|
+
[32m✓[39m src/core/tool.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
120
|
+
[32m✓[39m src/core/agents/base/agent.test.ts [2m([22m[2m76 tests[22m[2m)[22m[32m 225[2mms[22m[39m
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
[1m[33m ❯ [39m[22m[44m[1m TS [22m[49m src/core/agents/base/types.test-d.ts[2m 0/13[22m
|
|
126
|
+
[1m[33m ❯ [39m[22m[44m[1m TS [22m[49m src/core/agents/flow/steps/factory.test-d.ts[2m 0/8[22m
|
|
127
|
+
|
|
128
|
+
[2m Test Files [22m[1m[32m30 passed[39m[22m[90m (32)[39m
|
|
129
|
+
[2m Tests [22m[1m[32m536 passed[39m[22m[90m (557)[39m
|
|
130
|
+
[2m Start at [22m21:15:41
|
|
131
|
+
[2m Duration [22m908ms
|
|
132
|
+
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m [44m[1m TS [22m[49m src/core/agents/base/types.test-d.ts [2m([22m[2m13 tests[22m[2m)[22m
|
|
133
|
+
[32m✓[39m [44m[1m TS [22m[49m src/core/agents/flow/steps/factory.test-d.ts [2m([22m[2m8 tests[22m[2m)[22m
|
|
134
|
+
|
|
135
|
+
[2m Test Files [22m [1m[32m32 passed[39m[22m[90m (32)[39m
|
|
136
|
+
[2m Tests [22m [1m[32m557 passed[39m[22m[90m (557)[39m
|
|
137
|
+
[2mType Errors [22m [2mno errors[22m
|
|
138
|
+
[2m Start at [22m 21:15:41
|
|
139
|
+
[2m Duration [22m 1.05s[2m (transform 1.34s, setup 0ms, import 2.93s, tests 573ms, environment 2ms, typecheck 481ms)[22m
|
|
140
|
+
|
|
141
|
+
[?25h
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# @funkai/agents
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Initial release of `@funkai/agents` — lightweight workflow and agent orchestration framework built on the Vercel AI SDK.
|
|
8
|
+
|
|
9
|
+
- `agent()` — Create AI agents with typed input/output, system prompts, and tool integration
|
|
10
|
+
- `tool()` — Define function-calling tools with Zod-validated schemas
|
|
11
|
+
- `workflow()` — Build multi-step workflows with typed I/O and tracked steps via the `$` step builder
|
|
12
|
+
- `createWorkflowEngine()` — Create workflow factories with shared configuration and custom step types
|
|
13
|
+
- `openrouter()` / `createOpenRouter()` — OpenRouter provider integration
|
|
14
|
+
- Result-based error handling — all public methods return `Result<T>` discriminated unions
|
|
15
|
+
- Streaming support for both agents and workflows
|
|
16
|
+
- Step builder (`$`) with `step`, `agent`, `map`, `each`, `reduce`, `while`, `all`, and `race` operations
|