@j-o-r/hello-dave 0.1.0 → 0.1.4

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 (173) hide show
  1. package/CHANGELOG.md +42 -25
  2. package/README.md +81 -221
  3. package/TODO.md +173 -35
  4. package/agents/agent_creator.js +105 -0
  5. package/agents/agent_creator.prompt.md +371 -0
  6. package/agents/ask_agent.js +64 -127
  7. package/agents/claude_agent.js +68 -0
  8. package/agents/code_agent.js +55 -135
  9. package/agents/code_agent.prompt.md +50 -0
  10. package/agents/echo_agent.js +76 -0
  11. package/agents/financial_expert.js +75 -0
  12. package/agents/gpt_agent.js +52 -103
  13. package/agents/gpt_code.js +81 -0
  14. package/agents/grok_agent.js +58 -114
  15. package/agents/minimax_agent.js +92 -0
  16. package/agents/mureka_agent.js +77 -0
  17. package/agents/planner_agent.js +172 -0
  18. package/agents/stability_agent.js +87 -0
  19. package/agents/test_agent.js +75 -157
  20. package/agents/weather_agent.js +73 -0
  21. package/agents/workflow_agent.js +189 -0
  22. package/bin/dave.js +436 -184
  23. package/docs/bin-dave.md +85 -35
  24. package/docs/cdn-ssh.md +100 -0
  25. package/docs/creating-agents.md +301 -0
  26. package/docs/creating-toolsets.md +336 -0
  27. package/docs/docs-organization.md +48 -0
  28. package/docs/project-overview.md +86 -51
  29. package/lib/API/elevenlabs.io/music.compose.md +441 -0
  30. package/lib/API/elevenlabs.io/music.create-composition-plan.md +370 -0
  31. package/lib/API/elevenlabs.io/music.stream.md +425 -0
  32. package/lib/API/lalal.ai/lalal.js +445 -0
  33. package/lib/API/lalal.ai/openapi.json +2614 -0
  34. package/lib/API/minimax/ImageToolset.js +82 -37
  35. package/lib/API/minimax/MusicToolset.js +125 -79
  36. package/lib/API/minimax/VideoToolset.js +170 -167
  37. package/lib/API/minimax/image.js +5 -1
  38. package/lib/API/minimax/music.js +210 -23
  39. package/lib/API/minimax/video.js +242 -53
  40. package/lib/API/mureka/MusicToolset.js +646 -0
  41. package/lib/API/mureka/README.md +41 -0
  42. package/lib/API/mureka/index.js +7 -0
  43. package/lib/API/mureka/music.js +658 -0
  44. package/lib/API/openai.com/index.js +7 -0
  45. package/lib/API/openai.com/{reponses/text.js → responses.js} +64 -18
  46. package/lib/API/openai.com/video.create.character.md +40 -0
  47. package/lib/API/openai.com/video.create.md +219 -0
  48. package/lib/API/openai.com/video.delete.md +44 -0
  49. package/lib/API/openai.com/video.download.md +31 -0
  50. package/lib/API/openai.com/video.edit.md +155 -0
  51. package/lib/API/openai.com/video.extend.md +166 -0
  52. package/lib/API/openai.com/video.fetch.character.md +43 -0
  53. package/lib/API/openai.com/video.js +784 -0
  54. package/lib/API/openai.com/video.list.md +201 -0
  55. package/lib/API/openai.com/video.remix.md +175 -0
  56. package/lib/API/openai.com/video.retrieve.md +139 -0
  57. package/lib/API/openai.com/videoToolset.js +616 -0
  58. package/lib/API/stability.ai/ImageToolset.js +131 -40
  59. package/lib/API/stability.ai/MusicToolset.js +79 -47
  60. package/lib/API/stability.ai/audio.js +63 -131
  61. package/lib/API/x.ai/chat.responses.md +1040 -0
  62. package/lib/API/x.ai/image.js +229 -59
  63. package/lib/API/x.ai/imageToolset.js +376 -0
  64. package/lib/API/x.ai/index.js +1 -3
  65. package/lib/API/x.ai/responses.js +9 -18
  66. package/lib/Agent.js +271 -0
  67. package/lib/Agent.js.old +284 -0
  68. package/lib/AgentLauncher.js +562 -0
  69. package/lib/Cli.js +87 -13
  70. package/lib/Prompt.js +23 -1
  71. package/lib/Session.js +5 -4
  72. package/lib/ToolSet.js +102 -6
  73. package/lib/agentLoader.js +369 -0
  74. package/lib/cdn.js +67 -231
  75. package/lib/{CdnToolset.js → cdnToolset.js} +47 -64
  76. package/lib/defaultToolsets.js +43 -0
  77. package/lib/fafs.js +1 -1
  78. package/lib/genericToolset.js +442 -119
  79. package/lib/handOffToolset.js +179 -0
  80. package/lib/index.js +34 -27
  81. package/lib/toolsetLoader.js +248 -0
  82. package/package.json +11 -5
  83. package/types/API/lalal.ai/lalal.d.ts +116 -0
  84. package/types/API/minimax/image.d.ts +2 -1
  85. package/types/API/minimax/music.d.ts +189 -26
  86. package/types/API/minimax/video.d.ts +100 -31
  87. package/types/API/mureka/index.d.ts +7 -0
  88. package/types/API/mureka/music.d.ts +472 -0
  89. package/types/API/openai.com/index.d.ts +7 -0
  90. package/types/API/openai.com/{reponses/text.d.ts → responses.d.ts} +11 -11
  91. package/types/API/openai.com/video.d.ts +409 -0
  92. package/types/API/openai.com/videoToolset.d.ts +24 -0
  93. package/types/API/stability.ai/audio.d.ts +14 -103
  94. package/types/API/stability.ai/image.d.ts +2 -2
  95. package/types/API/x.ai/image.d.ts +138 -26
  96. package/types/API/x.ai/imageToolset.d.ts +3 -0
  97. package/types/API/x.ai/index.d.ts +1 -3
  98. package/types/API/x.ai/responses.d.ts +4 -4
  99. package/types/Agent.d.ts +123 -0
  100. package/types/AgentLauncher.d.ts +222 -0
  101. package/types/Cli.d.ts +28 -8
  102. package/types/Prompt.d.ts +23 -5
  103. package/types/Session.d.ts +1 -1
  104. package/types/ToolSet.d.ts +10 -0
  105. package/types/agentLoader.d.ts +78 -0
  106. package/types/cdn.d.ts +15 -90
  107. package/types/defaultToolsets.d.ts +9 -0
  108. package/types/fafs.d.ts +1 -1
  109. package/types/genericToolset.d.ts +1 -1
  110. package/types/handOffToolset.d.ts +28 -0
  111. package/types/index.d.ts +19 -16
  112. package/types/toolsetLoader.d.ts +114 -0
  113. package/utils/format_log.js +101 -23
  114. package/utils/launch_agent.js +18 -0
  115. package/utils/list_sessions.sh +13 -5
  116. package/utils/search_sessions.sh +65 -29
  117. package/utils/toolsets.js +33 -0
  118. package/README.md.bak.1779452127 +0 -240
  119. package/agents/codeserver.sh +0 -47
  120. package/agents/daisy_agent.js +0 -173
  121. package/agents/docs_agent.js +0 -148
  122. package/agents/memory_agent.js +0 -263
  123. package/agents/minimax.js +0 -173
  124. package/agents/npm_agent.js +0 -202
  125. package/agents/prompt_agent.js +0 -133
  126. package/agents/readme_agent.js +0 -148
  127. package/agents/spawn_agent.js +0 -160
  128. package/agents/stability.js +0 -173
  129. package/agents/todo_agent.js +0 -175
  130. package/bin/codeDave +0 -58
  131. package/docs/agent-dave-websocket-protocol.md +0 -180
  132. package/docs/agent-manager.md +0 -244
  133. package/docs/codeserver-pattern.md +0 -191
  134. package/docs/generic-toolset.md +0 -326
  135. package/docs/howtos/agent-networking.md +0 -253
  136. package/docs/howtos/spawn-agents.md.bak +0 -200
  137. package/docs/howtos/spawn-agents.md.bak_new +0 -200
  138. package/docs/multi-agent-clusters.md +0 -265
  139. package/docs/music-toolsets.md +0 -137
  140. package/docs/path-resolution-best-practices.md +0 -104
  141. package/docs/plans/minimax-music-generation.md +0 -80
  142. package/docs/plans/unified-agent-architecture.md +0 -146
  143. package/docs/plans/websocket-streaming-plan.md.bak +0 -317
  144. package/docs/prompt/spawn_agent.md +0 -175
  145. package/docs/prompt/spawn_agent.md.bak +0 -201
  146. package/docs/prompt/task_clarification_and_documentation.md +0 -35
  147. package/docs/prompt-class.md +0 -141
  148. package/docs/todo-archive-infra-2026-04-21.md +0 -15
  149. package/docs/todo-archive-v0.0.8.md +0 -1
  150. package/docs/todo-archive-v0.1.0.md +0 -32
  151. package/docs/todo-archive.md +0 -44
  152. package/docs/tools-syntax-validation.md +0 -121
  153. package/docs/toolset.md +0 -164
  154. package/docs/xai-responses.md +0 -111
  155. package/docs/xai_collections.md +0 -106
  156. package/lib/API/x.ai/ImageToolset.js +0 -165
  157. package/lib/API/x.ai/text.js +0 -415
  158. package/lib/AgentClient.js +0 -248
  159. package/lib/AgentManager.js +0 -245
  160. package/lib/AgentServer.js +0 -404
  161. package/lib/wsCli.js +0 -287
  162. package/lib/wsIO.js +0 -90
  163. package/types/API/x.ai/text.d.ts +0 -286
  164. package/types/AgentClient.d.ts +0 -109
  165. package/types/AgentManager.d.ts +0 -100
  166. package/types/AgentServer.d.ts +0 -89
  167. package/types/wsCli.d.ts +0 -17
  168. package/types/wsIO.d.ts +0 -30
  169. package/utils/test.sh +0 -46
  170. /package/docs/{suggestions.md → _notes/token-counts.md} +0 -0
  171. /package/lib/API/openai.com/{reponses/MESSAGES.md → MESSAGES.md} +0 -0
  172. /package/types/API/{x.ai/ImageToolset.d.ts → mureka/MusicToolset.d.ts} +0 -0
  173. /package/types/{CdnToolset.d.ts → cdnToolset.d.ts} +0 -0
@@ -0,0 +1,425 @@
1
+ > This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.
2
+
3
+ # Stream music
4
+
5
+ POST https://api.elevenlabs.io/v1/music/stream
6
+ Content-Type: application/json
7
+
8
+ Stream a composed song from a prompt or a composition plan.
9
+
10
+ Reference: https://elevenlabs.io/docs/api-reference/music/stream
11
+
12
+ ## OpenAPI Specification
13
+
14
+ ```yaml
15
+ openapi: 3.1.0
16
+ info:
17
+ title: api
18
+ version: 1.0.0
19
+ paths:
20
+ /v1/music/stream:
21
+ post:
22
+ operationId: stream
23
+ summary: Stream Composed Music
24
+ description: Stream a composed song from a prompt or a composition plan.
25
+ tags:
26
+ - subpackage_music
27
+ parameters:
28
+ - name: output_format
29
+ in: query
30
+ description: >-
31
+ Output format of the generated audio. Formatted as
32
+ codec_sample_rate_bitrate. So an mp3 with 22.05kHz sample rate at
33
+ 32kbs is represented as mp3_22050_32. MP3 with 192kbps bitrate
34
+ requires you to be subscribed to Creator tier or above. PCM with
35
+ 44.1kHz sample rate requires you to be subscribed to Pro tier or
36
+ above. Note that the μ-law format (sometimes written mu-law, often
37
+ approximated as u-law) is commonly used for Twilio audio inputs.
38
+ required: false
39
+ schema:
40
+ $ref: '#/components/schemas/AllowedOutputFormats'
41
+ - name: xi-api-key
42
+ in: header
43
+ required: false
44
+ schema:
45
+ type: string
46
+ responses:
47
+ '200':
48
+ description: Streaming audio data in the format specified
49
+ content:
50
+ text/event-stream:
51
+ schema:
52
+ type: string
53
+ format: binary
54
+ '422':
55
+ description: Validation Error
56
+ content:
57
+ application/json:
58
+ schema:
59
+ $ref: '#/components/schemas/HTTPValidationError'
60
+ requestBody:
61
+ content:
62
+ application/json:
63
+ schema:
64
+ $ref: >-
65
+ #/components/schemas/Body_Stream_composed_music_v1_music_stream_post
66
+ servers:
67
+ - url: https://api.elevenlabs.io
68
+ - url: https://api.us.elevenlabs.io
69
+ - url: https://api.eu.residency.elevenlabs.io
70
+ - url: https://api.in.residency.elevenlabs.io
71
+ components:
72
+ schemas:
73
+ AllowedOutputFormats:
74
+ type: string
75
+ enum:
76
+ - mp3_22050_32
77
+ - mp3_24000_48
78
+ - mp3_44100_32
79
+ - mp3_44100_64
80
+ - mp3_44100_96
81
+ - mp3_44100_128
82
+ - mp3_44100_192
83
+ - pcm_8000
84
+ - pcm_16000
85
+ - pcm_22050
86
+ - pcm_24000
87
+ - pcm_32000
88
+ - pcm_44100
89
+ - pcm_48000
90
+ - ulaw_8000
91
+ - alaw_8000
92
+ - opus_48000_32
93
+ - opus_48000_64
94
+ - opus_48000_96
95
+ - opus_48000_128
96
+ - opus_48000_192
97
+ title: AllowedOutputFormats
98
+ TimeRange:
99
+ type: object
100
+ properties:
101
+ start_ms:
102
+ type: integer
103
+ end_ms:
104
+ type: integer
105
+ required:
106
+ - start_ms
107
+ - end_ms
108
+ title: TimeRange
109
+ SectionSource:
110
+ type: object
111
+ properties:
112
+ song_id:
113
+ type: string
114
+ description: >-
115
+ The ID of the song to source the section from. You can find the song
116
+ ID in the response headers when you generate a song.
117
+ range:
118
+ $ref: '#/components/schemas/TimeRange'
119
+ description: The range to extract from the source song.
120
+ negative_ranges:
121
+ type: array
122
+ items:
123
+ $ref: '#/components/schemas/TimeRange'
124
+ description: The ranges to exclude from the 'range'.
125
+ required:
126
+ - song_id
127
+ - range
128
+ title: SectionSource
129
+ SongSection:
130
+ type: object
131
+ properties:
132
+ section_name:
133
+ type: string
134
+ description: The name of the section. Must be between 1 and 100 characters.
135
+ positive_local_styles:
136
+ type: array
137
+ items:
138
+ type: string
139
+ description: >-
140
+ The styles and musical directions that should be present in this
141
+ section. Use English language for best result.
142
+ negative_local_styles:
143
+ type: array
144
+ items:
145
+ type: string
146
+ description: >-
147
+ The styles and musical directions that should not be present in this
148
+ section. Use English language for best result.
149
+ duration_ms:
150
+ type: integer
151
+ description: >-
152
+ The duration of the section in milliseconds. Must be between 3000ms
153
+ and 120000ms.
154
+ lines:
155
+ type: array
156
+ items:
157
+ type: string
158
+ description: The lyrics of the section. Max 200 characters per line.
159
+ source_from:
160
+ oneOf:
161
+ - $ref: '#/components/schemas/SectionSource'
162
+ - type: 'null'
163
+ description: >-
164
+ Optional source to extract the section from. Used for inpainting.
165
+ Only available to enterprise clients with access to the inpainting
166
+ feature.
167
+ required:
168
+ - section_name
169
+ - positive_local_styles
170
+ - negative_local_styles
171
+ - duration_ms
172
+ - lines
173
+ title: SongSection
174
+ MusicPrompt:
175
+ type: object
176
+ properties:
177
+ positive_global_styles:
178
+ type: array
179
+ items:
180
+ type: string
181
+ description: >-
182
+ The styles and musical directions that should be present in the
183
+ entire song. Use English language for best result.
184
+ negative_global_styles:
185
+ type: array
186
+ items:
187
+ type: string
188
+ description: >-
189
+ The styles and musical directions that should not be present in the
190
+ entire song. Use English language for best result.
191
+ sections:
192
+ type: array
193
+ items:
194
+ $ref: '#/components/schemas/SongSection'
195
+ description: The sections of the song.
196
+ required:
197
+ - positive_global_styles
198
+ - negative_global_styles
199
+ - sections
200
+ title: MusicPrompt
201
+ BodyStreamComposedMusicV1MusicStreamPostModelId:
202
+ type: string
203
+ enum:
204
+ - music_v1
205
+ default: music_v1
206
+ description: The model to use for the generation.
207
+ title: BodyStreamComposedMusicV1MusicStreamPostModelId
208
+ Body_Stream_composed_music_v1_music_stream_post:
209
+ type: object
210
+ properties:
211
+ prompt:
212
+ type:
213
+ - string
214
+ - 'null'
215
+ description: >-
216
+ A simple text prompt to generate a song from. Cannot be used in
217
+ conjunction with `composition_plan`.
218
+ composition_plan:
219
+ oneOf:
220
+ - $ref: '#/components/schemas/MusicPrompt'
221
+ - type: 'null'
222
+ description: >-
223
+ A detailed composition plan to guide music generation. Cannot be
224
+ used in conjunction with `prompt`.
225
+ music_length_ms:
226
+ type:
227
+ - integer
228
+ - 'null'
229
+ description: >-
230
+ The length of the song to generate in milliseconds. Used only in
231
+ conjunction with `prompt`. Must be between 3000ms and 600000ms.
232
+ Optional - if not provided, the model will choose a length based on
233
+ the prompt.
234
+ model_id:
235
+ $ref: '#/components/schemas/BodyStreamComposedMusicV1MusicStreamPostModelId'
236
+ description: The model to use for the generation.
237
+ seed:
238
+ type:
239
+ - integer
240
+ - 'null'
241
+ description: >-
242
+ Random seed to initialize the music generation process. Providing
243
+ the same seed with the same parameters can help achieve more
244
+ consistent results, but exact reproducibility is not guaranteed and
245
+ outputs may change across system updates. Cannot be used in
246
+ conjunction with prompt.
247
+ force_instrumental:
248
+ type: boolean
249
+ default: false
250
+ description: >-
251
+ If true, guarantees that the generated song will be instrumental. If
252
+ false, the song may or may not be instrumental depending on the
253
+ `prompt`. Can only be used with `prompt`.
254
+ store_for_inpainting:
255
+ type: boolean
256
+ default: false
257
+ description: >-
258
+ Whether to store the generated song for inpainting. Only available
259
+ to enterprise clients with access to the inpainting feature.
260
+ title: Body_Stream_composed_music_v1_music_stream_post
261
+ ValidationErrorLocItems:
262
+ oneOf:
263
+ - type: string
264
+ - type: integer
265
+ title: ValidationErrorLocItems
266
+ ValidationError:
267
+ type: object
268
+ properties:
269
+ loc:
270
+ type: array
271
+ items:
272
+ $ref: '#/components/schemas/ValidationErrorLocItems'
273
+ msg:
274
+ type: string
275
+ type:
276
+ type: string
277
+ required:
278
+ - loc
279
+ - msg
280
+ - type
281
+ title: ValidationError
282
+ HTTPValidationError:
283
+ type: object
284
+ properties:
285
+ detail:
286
+ type: array
287
+ items:
288
+ $ref: '#/components/schemas/ValidationError'
289
+ title: HTTPValidationError
290
+
291
+ ```
292
+
293
+ ## SDK Code Examples
294
+
295
+ ```typescript
296
+ import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
297
+
298
+ async function main() {
299
+ const client = new ElevenLabsClient();
300
+ await client.music.stream({});
301
+ }
302
+ main();
303
+
304
+ ```
305
+
306
+ ```python
307
+ from elevenlabs import ElevenLabs
308
+
309
+ client = ElevenLabs()
310
+
311
+ client.music.stream()
312
+
313
+ ```
314
+
315
+ ```go
316
+ package main
317
+
318
+ import (
319
+ "fmt"
320
+ "strings"
321
+ "net/http"
322
+ "io"
323
+ )
324
+
325
+ func main() {
326
+
327
+ url := "https://api.elevenlabs.io/v1/music/stream"
328
+
329
+ payload := strings.NewReader("{}")
330
+
331
+ req, _ := http.NewRequest("POST", url, payload)
332
+
333
+ req.Header.Add("Content-Type", "application/json")
334
+
335
+ res, _ := http.DefaultClient.Do(req)
336
+
337
+ defer res.Body.Close()
338
+ body, _ := io.ReadAll(res.Body)
339
+
340
+ fmt.Println(res)
341
+ fmt.Println(string(body))
342
+
343
+ }
344
+ ```
345
+
346
+ ```ruby
347
+ require 'uri'
348
+ require 'net/http'
349
+
350
+ url = URI("https://api.elevenlabs.io/v1/music/stream")
351
+
352
+ http = Net::HTTP.new(url.host, url.port)
353
+ http.use_ssl = true
354
+
355
+ request = Net::HTTP::Post.new(url)
356
+ request["Content-Type"] = 'application/json'
357
+ request.body = "{}"
358
+
359
+ response = http.request(request)
360
+ puts response.read_body
361
+ ```
362
+
363
+ ```java
364
+ import com.mashape.unirest.http.HttpResponse;
365
+ import com.mashape.unirest.http.Unirest;
366
+
367
+ HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/music/stream")
368
+ .header("Content-Type", "application/json")
369
+ .body("{}")
370
+ .asString();
371
+ ```
372
+
373
+ ```php
374
+ <?php
375
+ require_once('vendor/autoload.php');
376
+
377
+ $client = new \GuzzleHttp\Client();
378
+
379
+ $response = $client->request('POST', 'https://api.elevenlabs.io/v1/music/stream', [
380
+ 'body' => '{}',
381
+ 'headers' => [
382
+ 'Content-Type' => 'application/json',
383
+ ],
384
+ ]);
385
+
386
+ echo $response->getBody();
387
+ ```
388
+
389
+ ```csharp
390
+ using RestSharp;
391
+
392
+ var client = new RestClient("https://api.elevenlabs.io/v1/music/stream");
393
+ var request = new RestRequest(Method.POST);
394
+ request.AddHeader("Content-Type", "application/json");
395
+ request.AddParameter("application/json", "{}", ParameterType.RequestBody);
396
+ IRestResponse response = client.Execute(request);
397
+ ```
398
+
399
+ ```swift
400
+ import Foundation
401
+
402
+ let headers = ["Content-Type": "application/json"]
403
+ let parameters = [] as [String : Any]
404
+
405
+ let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
406
+
407
+ let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/music/stream")! as URL,
408
+ cachePolicy: .useProtocolCachePolicy,
409
+ timeoutInterval: 10.0)
410
+ request.httpMethod = "POST"
411
+ request.allHTTPHeaderFields = headers
412
+ request.httpBody = postData as Data
413
+
414
+ let session = URLSession.shared
415
+ let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
416
+ if (error != nil) {
417
+ print(error as Any)
418
+ } else {
419
+ let httpResponse = response as? HTTPURLResponse
420
+ print(httpResponse)
421
+ }
422
+ })
423
+
424
+ dataTask.resume()
425
+ ```