@funkai/agents 0.1.0 → 0.1.1

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 (45) hide show
  1. package/.turbo/turbo-build.log +19 -21
  2. package/CHANGELOG.md +6 -0
  3. package/README.md +1 -1
  4. package/package.json +1 -1
  5. package/.turbo/turbo-test$colon$coverage.log +0 -109
  6. package/.turbo/turbo-test.log +0 -141
  7. package/.turbo/turbo-typecheck.log +0 -4
  8. package/coverage/lcov-report/base.css +0 -224
  9. package/coverage/lcov-report/block-navigation.js +0 -87
  10. package/coverage/lcov-report/core/agents/base/agent.ts.html +0 -1705
  11. package/coverage/lcov-report/core/agents/base/index.html +0 -146
  12. package/coverage/lcov-report/core/agents/base/output.ts.html +0 -256
  13. package/coverage/lcov-report/core/agents/base/utils.ts.html +0 -694
  14. package/coverage/lcov-report/core/agents/flow/engine.ts.html +0 -928
  15. package/coverage/lcov-report/core/agents/flow/flow-agent.ts.html +0 -1462
  16. package/coverage/lcov-report/core/agents/flow/index.html +0 -146
  17. package/coverage/lcov-report/core/agents/flow/messages.ts.html +0 -508
  18. package/coverage/lcov-report/core/agents/flow/steps/factory.ts.html +0 -1975
  19. package/coverage/lcov-report/core/agents/flow/steps/index.html +0 -116
  20. package/coverage/lcov-report/core/index.html +0 -131
  21. package/coverage/lcov-report/core/logger.ts.html +0 -541
  22. package/coverage/lcov-report/core/models/providers/index.html +0 -116
  23. package/coverage/lcov-report/core/models/providers/openai.ts.html +0 -337
  24. package/coverage/lcov-report/core/provider/index.html +0 -131
  25. package/coverage/lcov-report/core/provider/provider.ts.html +0 -346
  26. package/coverage/lcov-report/core/provider/usage.ts.html +0 -376
  27. package/coverage/lcov-report/core/tool.ts.html +0 -577
  28. package/coverage/lcov-report/favicon.png +0 -0
  29. package/coverage/lcov-report/index.html +0 -221
  30. package/coverage/lcov-report/lib/hooks.ts.html +0 -262
  31. package/coverage/lcov-report/lib/index.html +0 -161
  32. package/coverage/lcov-report/lib/middleware.ts.html +0 -274
  33. package/coverage/lcov-report/lib/runnable.ts.html +0 -151
  34. package/coverage/lcov-report/lib/trace.ts.html +0 -520
  35. package/coverage/lcov-report/prettify.css +0 -1
  36. package/coverage/lcov-report/prettify.js +0 -2
  37. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  38. package/coverage/lcov-report/sorter.js +0 -210
  39. package/coverage/lcov-report/utils/attempt.ts.html +0 -199
  40. package/coverage/lcov-report/utils/error.ts.html +0 -421
  41. package/coverage/lcov-report/utils/index.html +0 -176
  42. package/coverage/lcov-report/utils/resolve.ts.html +0 -208
  43. package/coverage/lcov-report/utils/result.ts.html +0 -538
  44. package/coverage/lcov-report/utils/zod.ts.html +0 -178
  45. package/coverage/lcov.info +0 -1566
@@ -1,274 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for lib/middleware.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">lib</a> middleware.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>12/12</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>9/9</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>12/12</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">6x</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">6x</span>
171
- <span class="cline-any cline-yes">6x</span>
172
- <span class="cline-any cline-yes">2x</span>
173
- <span class="cline-any cline-yes">2x</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-yes">6x</span>
177
- <span class="cline-any cline-yes">6x</span>
178
- <span class="cline-any cline-yes">2x</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">4x</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">6x</span>
184
- <span class="cline-any cline-yes">2x</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">4x</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { wrapLanguageModel, type LanguageModelMiddleware } from "ai";
193
- &nbsp;
194
- import { type LanguageModel } from "@/core/provider/types.js";
195
- &nbsp;
196
- /**
197
- * Options for {@link withModelMiddleware}.
198
- */
199
- interface WrapModelOptions {
200
- /** The base language model to wrap. */
201
- model: LanguageModel;
202
- &nbsp;
203
- /**
204
- * Additional middleware to apply before defaults (outermost).
205
- * Middleware runs in array order — first entry wraps outermost.
206
- */
207
- middleware?: LanguageModelMiddleware[];
208
- &nbsp;
209
- /**
210
- * Whether to include the AI SDK devtools middleware.
211
- *
212
- * Defaults to `true` when `NODE_ENV === 'development'`.
213
- * Set to `false` to disable in development, or `true` to force-enable.
214
- */
215
- devtools?: boolean;
216
- }
217
- &nbsp;
218
- /**
219
- * Wrap a language model with middleware.
220
- *
221
- * In development (`NODE_ENV === 'development'`), the AI SDK devtools
222
- * middleware is appended automatically. Any additional middleware
223
- * provided in the options is applied first (outermost).
224
- *
225
- * @param options - The model and optional middleware configuration.
226
- * @returns A wrapped language model with middleware applied.
227
- */
228
- export async function withModelMiddleware(options: WrapModelOptions): Promise&lt;LanguageModel&gt; {
229
- const useDevtools =
230
- options.devtools === true ||
231
- (options.devtools !== false &amp;&amp; process.env.NODE_ENV === "development");
232
- &nbsp;
233
- const defaultMiddleware: LanguageModelMiddleware[] = [];
234
- if (useDevtools) {
235
- const { devToolsMiddleware } = await import("@ai-sdk/devtools");
236
- defaultMiddleware.push(devToolsMiddleware());
237
- }
238
- &nbsp;
239
- const middleware: LanguageModelMiddleware[] = [];
240
- if (options.middleware) {
241
- middleware.push(...options.middleware, ...defaultMiddleware);
242
- } else {
243
- middleware.push(...defaultMiddleware);
244
- }
245
- &nbsp;
246
- if (middleware.length === 0) {
247
- return options.model;
248
- }
249
- &nbsp;
250
- return wrapLanguageModel({
251
- model: options.model,
252
- middleware,
253
- });
254
- }
255
- &nbsp;</pre></td></tr></table></pre>
256
-
257
- <div class='push'></div><!-- for sticky footer -->
258
- </div><!-- /wrapper -->
259
- <div class='footer quiet pad2 space-top1 center small'>
260
- Code coverage generated by
261
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
262
- at 2026-03-13T01:02:17.231Z
263
- </div>
264
- <script src="../prettify.js"></script>
265
- <script>
266
- window.onload = function () {
267
- prettyPrint();
268
- };
269
- </script>
270
- <script src="../sorter.js"></script>
271
- <script src="../block-navigation.js"></script>
272
- </body>
273
- </html>
274
-
@@ -1,151 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for lib/runnable.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">lib</a> runnable.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>1/1</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>1/1</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">5x</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { ZodType } from "zod";
111
- &nbsp;
112
- /**
113
- * Symbol key for internal runnable metadata.
114
- *
115
- * Stored on Agent and Workflow objects to enable composition:
116
- * `buildAITools()` reads this to wrap a Runnable as a delegatable
117
- * tool in parent agents.
118
- *
119
- * @internal
120
- */
121
- export const RUNNABLE_META: unique symbol = Symbol.for("agent-sdk:runnable-meta");
122
- &nbsp;
123
- /**
124
- * Metadata stored on Agent and Workflow objects via {@link RUNNABLE_META}.
125
- *
126
- * @internal
127
- */
128
- export interface RunnableMeta {
129
- name: string;
130
- inputSchema?: ZodType;
131
- }
132
- &nbsp;</pre></td></tr></table></pre>
133
-
134
- <div class='push'></div><!-- for sticky footer -->
135
- </div><!-- /wrapper -->
136
- <div class='footer quiet pad2 space-top1 center small'>
137
- Code coverage generated by
138
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2026-03-13T01:02:17.231Z
140
- </div>
141
- <script src="../prettify.js"></script>
142
- <script>
143
- window.onload = function () {
144
- prettyPrint();
145
- };
146
- </script>
147
- <script src="../sorter.js"></script>
148
- <script src="../block-navigation.js"></script>
149
- </body>
150
- </html>
151
-