gauss-ai 4.0.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 (232) hide show
  1. package/CHANGELOG.md +489 -0
  2. package/LICENSE +21 -0
  3. package/README.md +269 -0
  4. package/dist/a2a/index.cjs +7 -0
  5. package/dist/a2a/index.cjs.map +1 -0
  6. package/dist/a2a/index.d.cts +30 -0
  7. package/dist/a2a/index.d.ts +30 -0
  8. package/dist/a2a/index.js +7 -0
  9. package/dist/a2a/index.js.map +1 -0
  10. package/dist/agent-UIQDSYCE.js +16 -0
  11. package/dist/agent-UIQDSYCE.js.map +1 -0
  12. package/dist/agent-builder-8W3mBR-N.d.ts +1075 -0
  13. package/dist/agent-builder-GEMYdb1p.d.cts +1075 -0
  14. package/dist/agent-graph-AMQYAWNF.js +1422 -0
  15. package/dist/agent-graph-AMQYAWNF.js.map +1 -0
  16. package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js +124 -0
  17. package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js.map +1 -0
  18. package/dist/browser/index.js +10 -0
  19. package/dist/browser/index.js.map +1 -0
  20. package/dist/bun-runtime.adapter-MQDAJLQM.js +8 -0
  21. package/dist/bun-runtime.adapter-MQDAJLQM.js.map +1 -0
  22. package/dist/bun-runtime.adapter-XKOUXVAK.cjs +8 -0
  23. package/dist/bun-runtime.adapter-XKOUXVAK.cjs.map +1 -0
  24. package/dist/chat-A3XMRPJL.js +129 -0
  25. package/dist/chat-A3XMRPJL.js.map +1 -0
  26. package/dist/chunk-2ZRU47NC.js +91 -0
  27. package/dist/chunk-2ZRU47NC.js.map +1 -0
  28. package/dist/chunk-3LD3JTH4.cjs +18 -0
  29. package/dist/chunk-3LD3JTH4.cjs.map +1 -0
  30. package/dist/chunk-5FE5TG2W.cjs +16 -0
  31. package/dist/chunk-5FE5TG2W.cjs.map +1 -0
  32. package/dist/chunk-6XF673YC.cjs +436 -0
  33. package/dist/chunk-6XF673YC.cjs.map +1 -0
  34. package/dist/chunk-7CKWZJNS.js +230 -0
  35. package/dist/chunk-7CKWZJNS.js.map +1 -0
  36. package/dist/chunk-BI2G665F.js +4588 -0
  37. package/dist/chunk-BI2G665F.js.map +1 -0
  38. package/dist/chunk-C5NLWJS2.js +139 -0
  39. package/dist/chunk-C5NLWJS2.js.map +1 -0
  40. package/dist/chunk-CJZ66SU3.cjs +4321 -0
  41. package/dist/chunk-CJZ66SU3.cjs.map +1 -0
  42. package/dist/chunk-DAMT2CXW.cjs +91 -0
  43. package/dist/chunk-DAMT2CXW.cjs.map +1 -0
  44. package/dist/chunk-E7WG3MO5.js +18 -0
  45. package/dist/chunk-E7WG3MO5.js.map +1 -0
  46. package/dist/chunk-EFDM6R4J.js +99 -0
  47. package/dist/chunk-EFDM6R4J.js.map +1 -0
  48. package/dist/chunk-F7WIPPEO.js +256 -0
  49. package/dist/chunk-F7WIPPEO.js.map +1 -0
  50. package/dist/chunk-FAYDE67N.js +6927 -0
  51. package/dist/chunk-FAYDE67N.js.map +1 -0
  52. package/dist/chunk-GAE2KKCM.js +21 -0
  53. package/dist/chunk-GAE2KKCM.js.map +1 -0
  54. package/dist/chunk-INLNGRXM.cjs +130 -0
  55. package/dist/chunk-INLNGRXM.cjs.map +1 -0
  56. package/dist/chunk-JKXKXB5O.js +130 -0
  57. package/dist/chunk-JKXKXB5O.js.map +1 -0
  58. package/dist/chunk-K6SAETGP.js +375 -0
  59. package/dist/chunk-K6SAETGP.js.map +1 -0
  60. package/dist/chunk-KEASLAYR.js +157 -0
  61. package/dist/chunk-KEASLAYR.js.map +1 -0
  62. package/dist/chunk-KKJVNM6O.js +436 -0
  63. package/dist/chunk-KKJVNM6O.js.map +1 -0
  64. package/dist/chunk-KYIMVRIM.js +16 -0
  65. package/dist/chunk-KYIMVRIM.js.map +1 -0
  66. package/dist/chunk-MB7NXIZD.js +4321 -0
  67. package/dist/chunk-MB7NXIZD.js.map +1 -0
  68. package/dist/chunk-MHHDXPGE.js +209 -0
  69. package/dist/chunk-MHHDXPGE.js.map +1 -0
  70. package/dist/chunk-NE6JJA5W.js +401 -0
  71. package/dist/chunk-NE6JJA5W.js.map +1 -0
  72. package/dist/chunk-PF46XZBF.cjs +6927 -0
  73. package/dist/chunk-PF46XZBF.cjs.map +1 -0
  74. package/dist/chunk-PSJIAGDE.cjs +375 -0
  75. package/dist/chunk-PSJIAGDE.cjs.map +1 -0
  76. package/dist/chunk-PWOQDXNQ.js +16 -0
  77. package/dist/chunk-PWOQDXNQ.js.map +1 -0
  78. package/dist/chunk-QYOMQBBZ.cjs +230 -0
  79. package/dist/chunk-QYOMQBBZ.cjs.map +1 -0
  80. package/dist/chunk-UDFXLC4J.cjs +16 -0
  81. package/dist/chunk-UDFXLC4J.cjs.map +1 -0
  82. package/dist/chunk-UO4NGXRT.cjs +259 -0
  83. package/dist/chunk-UO4NGXRT.cjs.map +1 -0
  84. package/dist/chunk-UPFDFLEW.js +40 -0
  85. package/dist/chunk-UPFDFLEW.js.map +1 -0
  86. package/dist/chunk-V55JSQS7.cjs +16 -0
  87. package/dist/chunk-V55JSQS7.cjs.map +1 -0
  88. package/dist/chunk-VJADHXZL.cjs +16 -0
  89. package/dist/chunk-VJADHXZL.cjs.map +1 -0
  90. package/dist/chunk-VRWD7LCI.js +59 -0
  91. package/dist/chunk-VRWD7LCI.js.map +1 -0
  92. package/dist/chunk-WKKQ443C.js +487 -0
  93. package/dist/chunk-WKKQ443C.js.map +1 -0
  94. package/dist/chunk-X2GHUHAF.js +436 -0
  95. package/dist/chunk-X2GHUHAF.js.map +1 -0
  96. package/dist/chunk-XLGW3XNI.cjs +256 -0
  97. package/dist/chunk-XLGW3XNI.cjs.map +1 -0
  98. package/dist/chunk-ZFJKX4DP.js +16 -0
  99. package/dist/chunk-ZFJKX4DP.js.map +1 -0
  100. package/dist/chunk-ZM2OEWM2.js +259 -0
  101. package/dist/chunk-ZM2OEWM2.js.map +1 -0
  102. package/dist/chunk-ZNAIP2XV.js +16 -0
  103. package/dist/chunk-ZNAIP2XV.js.map +1 -0
  104. package/dist/chunk-ZYFAZYSL.js +42 -0
  105. package/dist/chunk-ZYFAZYSL.js.map +1 -0
  106. package/dist/cli/index.js +421 -0
  107. package/dist/cli/index.js.map +1 -0
  108. package/dist/config-4MHT6TQW.js +153 -0
  109. package/dist/config-4MHT6TQW.js.map +1 -0
  110. package/dist/config-REERQFK4.cjs +153 -0
  111. package/dist/config-REERQFK4.cjs.map +1 -0
  112. package/dist/cost-tracker-JLOU7IZJ.js +7 -0
  113. package/dist/cost-tracker-JLOU7IZJ.js.map +1 -0
  114. package/dist/demo-C52GMSYH.js +188 -0
  115. package/dist/demo-C52GMSYH.js.map +1 -0
  116. package/dist/deno/index.js +306 -0
  117. package/dist/deno/index.js.map +1 -0
  118. package/dist/deno-runtime.adapter-F744HY7K.js +8 -0
  119. package/dist/deno-runtime.adapter-F744HY7K.js.map +1 -0
  120. package/dist/deno-runtime.adapter-RFEVNSCV.cjs +8 -0
  121. package/dist/deno-runtime.adapter-RFEVNSCV.cjs.map +1 -0
  122. package/dist/dev-D7DDVDA4.js +218 -0
  123. package/dist/dev-D7DDVDA4.js.map +1 -0
  124. package/dist/edge/index.js +10 -0
  125. package/dist/edge/index.js.map +1 -0
  126. package/dist/edge-runtime.adapter-UQCW2F7X.js +8 -0
  127. package/dist/edge-runtime.adapter-UQCW2F7X.js.map +1 -0
  128. package/dist/edge-runtime.adapter-YED6F3AY.cjs +8 -0
  129. package/dist/edge-runtime.adapter-YED6F3AY.cjs.map +1 -0
  130. package/dist/graph-MGFAQZ5W.js +50 -0
  131. package/dist/graph-MGFAQZ5W.js.map +1 -0
  132. package/dist/graph-visualization-HBSVQXJK.js +9 -0
  133. package/dist/graph-visualization-HBSVQXJK.js.map +1 -0
  134. package/dist/index-BRgqNnh3.d.cts +982 -0
  135. package/dist/index-CZxpYUxZ.d.ts +982 -0
  136. package/dist/index.cjs +14789 -0
  137. package/dist/index.cjs.map +1 -0
  138. package/dist/index.d.cts +10275 -0
  139. package/dist/index.d.ts +10275 -0
  140. package/dist/index.js +14789 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/init-CFWXTQ35.js +133 -0
  143. package/dist/init-CFWXTQ35.js.map +1 -0
  144. package/dist/llm-VWO4MC7J.cjs +17 -0
  145. package/dist/llm-VWO4MC7J.cjs.map +1 -0
  146. package/dist/llm-XLXVSPBI.js +17 -0
  147. package/dist/llm-XLXVSPBI.js.map +1 -0
  148. package/dist/logging-WRAK5ZXT.js +33 -0
  149. package/dist/logging-WRAK5ZXT.js.map +1 -0
  150. package/dist/metrics-FAHZVVD4.js +47 -0
  151. package/dist/metrics-FAHZVVD4.js.map +1 -0
  152. package/dist/node/index.cjs +280 -0
  153. package/dist/node/index.cjs.map +1 -0
  154. package/dist/node/index.d.cts +51 -0
  155. package/dist/node/index.d.ts +51 -0
  156. package/dist/node/index.js +280 -0
  157. package/dist/node/index.js.map +1 -0
  158. package/dist/node-runtime.adapter-5L7PJ6W2.js +8 -0
  159. package/dist/node-runtime.adapter-5L7PJ6W2.js.map +1 -0
  160. package/dist/node-runtime.adapter-CCRZVGHB.cjs +8 -0
  161. package/dist/node-runtime.adapter-CCRZVGHB.cjs.map +1 -0
  162. package/dist/persist-usage-WTBTCWEF.js +7 -0
  163. package/dist/persist-usage-WTBTCWEF.js.map +1 -0
  164. package/dist/plugin-RCPBWUUA.js +207 -0
  165. package/dist/plugin-RCPBWUUA.js.map +1 -0
  166. package/dist/plugins/index.cjs +75 -0
  167. package/dist/plugins/index.cjs.map +1 -0
  168. package/dist/plugins/index.d.cts +8 -0
  169. package/dist/plugins/index.d.ts +8 -0
  170. package/dist/plugins/index.js +75 -0
  171. package/dist/plugins/index.js.map +1 -0
  172. package/dist/plugins-L4ING3CX.js +4625 -0
  173. package/dist/plugins-L4ING3CX.js.map +1 -0
  174. package/dist/providers/index.cjs +189 -0
  175. package/dist/providers/index.cjs.map +1 -0
  176. package/dist/providers/index.d.cts +168 -0
  177. package/dist/providers/index.d.ts +168 -0
  178. package/dist/providers/index.js +189 -0
  179. package/dist/providers/index.js.map +1 -0
  180. package/dist/providers-3RNQ5CKZ.js +59 -0
  181. package/dist/providers-3RNQ5CKZ.js.map +1 -0
  182. package/dist/providers-66GPXUGQ.cjs +59 -0
  183. package/dist/providers-66GPXUGQ.cjs.map +1 -0
  184. package/dist/repl-K6QN4I2S.js +678 -0
  185. package/dist/repl-K6QN4I2S.js.map +1 -0
  186. package/dist/rest/index.cjs +17 -0
  187. package/dist/rest/index.cjs.map +1 -0
  188. package/dist/rest/index.d.cts +102 -0
  189. package/dist/rest/index.d.ts +102 -0
  190. package/dist/rest/index.js +17 -0
  191. package/dist/rest/index.js.map +1 -0
  192. package/dist/runtime-deno.js +15 -0
  193. package/dist/runtime-deno.js.map +1 -0
  194. package/dist/runtime-edge.js +15 -0
  195. package/dist/runtime-edge.js.map +1 -0
  196. package/dist/runtime-node.js +15 -0
  197. package/dist/runtime-node.js.map +1 -0
  198. package/dist/scraping/index.cjs +11 -0
  199. package/dist/scraping/index.cjs.map +1 -0
  200. package/dist/scraping/index.d.cts +17 -0
  201. package/dist/scraping/index.d.ts +17 -0
  202. package/dist/scraping/index.js +11 -0
  203. package/dist/scraping/index.js.map +1 -0
  204. package/dist/semantic-scraping.port-CZWUea88.d.cts +54 -0
  205. package/dist/semantic-scraping.port-CZWUea88.d.ts +54 -0
  206. package/dist/server/index.js +166 -0
  207. package/dist/server/index.js.map +1 -0
  208. package/dist/testing/index.cjs +25 -0
  209. package/dist/testing/index.cjs.map +1 -0
  210. package/dist/testing/index.d.cts +63 -0
  211. package/dist/testing/index.d.ts +63 -0
  212. package/dist/testing/index.js +25 -0
  213. package/dist/testing/index.js.map +1 -0
  214. package/dist/token-counter.port-CRgxZZGe.d.ts +334 -0
  215. package/dist/token-counter.port-D7BHMCRR.d.cts +334 -0
  216. package/dist/tools-BZM33OBZ.js +10 -0
  217. package/dist/tools-BZM33OBZ.js.map +1 -0
  218. package/dist/tracing-XA3TEWP4.js +48 -0
  219. package/dist/tracing-XA3TEWP4.js.map +1 -0
  220. package/dist/types-CVsP7gFI.d.cts +235 -0
  221. package/dist/types-CVsP7gFI.d.ts +235 -0
  222. package/dist/virtual-fs.adapter-BBLS-3AY.d.ts +26 -0
  223. package/dist/virtual-fs.adapter-nb0CTYOj.d.cts +26 -0
  224. package/dist/workflow/index.cjs +9 -0
  225. package/dist/workflow/index.cjs.map +1 -0
  226. package/dist/workflow/index.d.cts +62 -0
  227. package/dist/workflow/index.d.ts +62 -0
  228. package/dist/workflow/index.js +9 -0
  229. package/dist/workflow/index.js.map +1 -0
  230. package/dist/workflow.port-BaCttxrw.d.cts +153 -0
  231. package/dist/workflow.port-BaCttxrw.d.ts +153 -0
  232. package/package.json +230 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,489 @@
1
+ # Changelog
2
+
3
+ All notable changes to **Gauss** are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [3.5.0] - 2025-07-19
9
+
10
+ ### 🚀 npm Publication & Package Rename
11
+
12
+ - **Package renamed** from `@giulio-leone/gauss` to `@gauss/flow`
13
+ - **Public npm registry** — switched from GitHub Packages to npmjs.com (`"access": "public"`)
14
+ - Added comprehensive `keywords` for discoverability
15
+ - Added `engines` field (`node >= 18`)
16
+ - Added `sideEffects: false` for tree-shaking
17
+ - Added `./plugins` export path
18
+ - Expanded `files` to include `CHANGELOG.md`
19
+ - Added `homepage`, `bugs`, `author` metadata
20
+ - Created MIT LICENSE file
21
+ - Created `.npmignore` for clean publishes
22
+ - Updated README with npm badges and `@gauss/flow` import paths
23
+
24
+ ### 📦 Barrel Export Enhancements
25
+
26
+ - Exported `ServerAdapterPort` from `server.port`
27
+ - Exported `SaveQueuePort`, `BundlerPort`, `ContainerPort` (DI) ports
28
+ - Exported `createTripWireMiddleware`, `createPromptCachingMiddleware`, `createToolCallPatchingMiddleware`
29
+ - Exported `DocGenerator` from `docs/doc-generator`
30
+
31
+ ## [3.4.0] - 2025-07-19
32
+
33
+ ### 🛡️ Trip-Wire & Prompt Caching Middleware
34
+
35
+ - **Trip-wire middleware** — safety guardrails with violation detection
36
+ - **Prompt caching middleware** — reduce redundant LLM calls
37
+ - **Tool call patching middleware** — runtime tool call transformation
38
+
39
+ ## [3.3.0] - 2025-07-18
40
+
41
+ ### 🔌 DI Container & Bundler Ports
42
+
43
+ - **ContainerPort** — dependency injection with lifetime management (singleton/transient/scoped)
44
+ - **BundlerPort** — agent bundle compilation and analysis
45
+ - **SaveQueuePort** — batched persistence with flush semantics
46
+ - **ServerAdapterPort** — wrap agents as HTTP endpoints
47
+
48
+ ## [3.2.0] - 2025-07-18
49
+
50
+ ### 📝 Doc Generator & Compiler Enhancements
51
+
52
+ - **DocGenerator** — auto-generate API documentation from source
53
+ - **LLMCompilerEngine** — natural language to workflow compilation
54
+ - **DualWorkflowStorage** — JSON + Markdown dual-format persistence
55
+ - Enhanced compiler schema with triggers, channels, and policies
56
+
57
+ ## [3.1.0] - 2025-07-18
58
+
59
+ ### 🏗️ Architecture Refinements
60
+
61
+ - Hexagonal architecture ports expanded to 50+ contracts
62
+ - Plugin marketplace with GitHub + npm registry adapters
63
+ - Composite marketplace adapter for multi-source discovery
64
+ - Plugin loader with sandboxed execution
65
+
66
+ ## [3.0.0] - 2025-07-18
67
+
68
+ ### 🎉 Major Release — Complete Framework Overhaul
69
+
70
+ #### Breaking Changes
71
+ - Package name changed to `@gauss/flow`
72
+ - Minimum Node.js version raised to 18
73
+ - Published to public npm registry (was GitHub Packages)
74
+
75
+ #### Added
76
+ - **Evaluation harness** — semantic search quality gates, benchmarks, stress tests
77
+ - **Scorer pipeline** — composable evaluation with exact match, contains, LLM judge
78
+ - **Trajectory recording** — step-by-step agent execution capture and replay
79
+ - **Advanced middleware** — trip-wire, prompt caching, tool call patching, observational memory, result eviction, summarization
80
+ - **Sandbox adapters** — E2B cloud sandbox + local shell execution
81
+ - **Plugin marketplace** — GitHub/npm registry discovery, composite adapter, plugin loader
82
+
83
+ ## [2.4.0] - 2025-07-18
84
+
85
+ ### 🔧 SDK Fork (gauss-sdk)
86
+
87
+ - Forked Vercel AI SDK as `@giulio-leone/gauss-sdk` with 30 merged bug fixes
88
+ - Published `@giulio-leone/gauss-sdk@1.0.0` to GitHub Package Registry
89
+ - Switched dependency from `ai@^6.0.86` to `npm:@giulio-leone/gauss-sdk@^1.0.0`
90
+ - Zero import changes required — uses npm alias for seamless drop-in replacement
91
+
92
+ ### Bug Fixes Included (from fork)
93
+
94
+ - **feat(core)**: Top-level thinking configuration for reasoning models
95
+ - **fix(ai)**: Throw AbortError from generateText instead of silently swallowing
96
+ - **fix(ai)**: Guard toolResultsStreamController against enqueue/close on closed controller
97
+ - **fix(ai)**: Preserve caller tool dependency chains in pruneMessages
98
+ - **fix(ai)**: Handle missing usage data in retry logic
99
+ - **fix(anthropic)**: Validate thinking block requirement and prevent silent reasoning drop
100
+ - **fix(anthropic)**: Keep tools array when toolChoice is 'none'
101
+ - **fix(openai)**: Handle stream errors in Responses API
102
+ - **fix(openai)**: Accept empty string type in streaming tool call deltas (Azure)
103
+ - **fix(provider-utils)**: RFC 9110 compliant User-Agent header format
104
+ - **fix(telemetry)**: Add missing usage attributes to generateText and generateObject
105
+ - Plus 19 more bug fixes across providers (Google, Bedrock, LangChain, React)
106
+
107
+ ## [2.3.0] - 2025-07-17
108
+
109
+ ### 📚 Documentation & Developer Experience
110
+
111
+ #### M16: API Simplification
112
+ - **`gauss()` one-liner**: Zero-config quickstart with env auto-detection
113
+ - **Smart defaults**: Auto-detects OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.
114
+ - **GaussError**: Enhanced errors with actionable suggestions
115
+
116
+ #### M17: Documentation Overhaul
117
+ - Complete rewrite of all documentation (15 files, 5000+ lines)
118
+ - Getting Started with zero-config examples
119
+ - Concepts guide covering 15 core concepts
120
+ - Cookbook with 21 practical recipes
121
+ - API Reference for all ports, adapters, providers
122
+ - Feature docs: Voice, Teams, Multimodal, Workflows
123
+ - Comparison matrix (57 features vs 3 competitors)
124
+ - Migration guides from Mastra, LangChain, Agno
125
+
126
+ #### M18: GitHub Pages
127
+ - Docusaurus site at giulio-leone.github.io/gauss
128
+ - Dark mode, search, responsive design
129
+ - GitHub Actions auto-deployment on push
130
+
131
+ #### M19: Examples Gallery
132
+ - 17 production-ready examples (8 new)
133
+ - Team coordination, voice pipeline, workflow DSL
134
+ - Multimodal vision, video processing, universal provider
135
+ - LLM recording/replay, zero-config one-liner
136
+
137
+ ## [2.2.0] - 2025-07-16
138
+
139
+ ### 🌐 Universal Provider & Video Processing
140
+
141
+ - **UniversalProvider**: Wraps any @ai-sdk/* package, 40+ providers via single API
142
+ - **Video Processing**: Frame extraction, video description, audio extraction
143
+ - Auto-discovery of installed AI SDK providers
144
+ - Case-insensitive factory name lookup
145
+
146
+ ## [2.1.0] - 2025-07-16
147
+
148
+ ### 🚀 Competitive Feature Pack — 6 New Capabilities
149
+
150
+ This release adds 6 features that bring Gauss to **96% competitive feature coverage** (55/57), surpassing Mastra (63%), DeepAgentsJS (21%), and Agno (54%).
151
+
152
+ #### Added
153
+
154
+ - **Team Coordination (M8)**: `team()` builder with 4 strategies — round-robin, broadcast, delegate, consensus. SharedContext for inter-agent state.
155
+ - **Voice STT/TTS (M9)**: OpenAI Whisper STT + TTS adapter, ElevenLabs premium TTS, `VoicePipeline` for STT→Agent→TTS orchestration.
156
+ - **Fluent Workflow DSL (M10)**: `workflow('id').then().branch().parallel().build()` — chainable API that compiles to existing `WorkflowEngine`. Zod I/O schema validation.
157
+ - **LLM Recording & Replay (M11)**: `LLMRecorder` intercepts all `generateText` calls (input, output, timing). `LLMReplayer` replays from JSONL for deterministic testing.
158
+ - **Visual Agent Builder (M12)**: Declarative JSON schema → executable agent graph. `VisualAgentBuilder` validates + compiles configs. `AgentBuilderAPI` for REST (create/list/get/run/delete). `ModelRegistry` for string→LanguageModel mapping.
159
+ - **Image Processing / Multimodal (M13)**: `MultimodalAgent` handles text + image inputs. `describeImage()`, `extractText()` (OCR), `compareImages()` shortcuts. URL, base64, and file image sources.
160
+
161
+ #### Clean API Surface
162
+
163
+ ```ts
164
+ import { agent, graph, rag, team, workflow, multimodal } from 'gauss'
165
+ ```
166
+
167
+ #### Test Coverage
168
+
169
+ - **1710 tests** (92 new: team 8, voice 9, workflow DSL 9, LLM recorder 13, visual builder 22, multimodal 9, API 8)
170
+
171
+ ## [2.0.0] - 2025-07-15
172
+
173
+ ### 🎉 Gauss — Complete Rebrand & Production Release
174
+
175
+ This is the first stable release under the **Gauss** brand. The framework has been completely
176
+ rebranded, API-redesigned, and extended with production adapters, provider wrappers, starter kits,
177
+ playground inspector tools, and comprehensive documentation.
178
+
179
+ ### Added — API & Branding (M1)
180
+ - **Factory functions**: `agent()`, `graph()`, `rag()` for zero-boilerplate setup
181
+ - **Clean API surface**: `import { agent, tool, rag } from 'gauss'`
182
+ - **Automated rename** from DeepAgent/GaussFlow → Agent/Gauss across 114 files (878 replacements)
183
+ - **Organized barrel exports** in `src/index.ts` with logical sections
184
+
185
+ ### Added — Provider Adapters (M2)
186
+ - **OpenAI** — `openai("gpt-4o")`
187
+ - **Anthropic** — `anthropic("claude-sonnet-4-20250514")`
188
+ - **Google Gemini** — `google("gemini-2.0-flash")`
189
+ - **Groq** — `groq("llama-3.3-70b-versatile")`
190
+ - **Ollama** — `ollama("llama3.2")` (local models, no API key)
191
+ - **OpenRouter** — `openrouter("anthropic/claude-sonnet-4-20250514")` (100+ models)
192
+ - Separate `gauss/providers` entry point — all AI SDK deps as optional peerDependencies
193
+
194
+ ### Added — Production Persistence Adapters (M3)
195
+ - **PostgresStorageAdapter** — Multi-domain CRUD with JSONB
196
+ - **RedisStorageAdapter** — High-performance cache with TTL and pipelines
197
+ - **PgVectorStoreAdapter** — pgvector with HNSW index for semantic search
198
+ - **S3ObjectStorageAdapter** — Blob storage (S3, MinIO, Cloudflare R2)
199
+ - **BullMQQueueAdapter** — Background job processing with Redis
200
+ - New ports: `QueuePort`, `ObjectStoragePort`
201
+
202
+ ### Added — DX & Starter Kits (M4)
203
+ - `gauss init --template <name>` — project scaffolding CLI
204
+ - 6 templates: chat, tools, rag, multi-agent, mcp, auth-rest
205
+ - Quickstart in README
206
+
207
+ ### Added — Playground & Inspector (M5)
208
+ - Trace viewer — step-by-step execution timeline
209
+ - Token dashboard — usage tracking and cost estimation
210
+ - Tool call inspector — input/output visibility
211
+ - Reliability dashboard — circuit breaker, retry, rate limit metrics
212
+ - `PlaygroundCollector` — automatic data collection
213
+
214
+ ### Added — Documentation (M6)
215
+ - Concept docs with architecture overview
216
+ - Hexagonal architecture deep dive
217
+ - 20 copy-paste cookbook recipes
218
+ - Migration guide from LangChain and Mastra
219
+ - Feature comparison matrix vs competitors
220
+ - Full API reference for providers and persistence
221
+
222
+ ### Breaking Changes
223
+ - Package renamed from `@giulio-leone/gaussflow-agent` to `gauss`
224
+ - All `DeepAgent*` classes renamed to `Agent*`
225
+ - All `GaussFlow*` symbols renamed to `Gauss*`
226
+ - Storage key prefix changed from `deep-agent` to `gauss`
227
+ - Backward-compatibility aliases removed — clean API only
228
+
229
+ ---
230
+
231
+ ## Pre-Gauss History (Legacy)
232
+
233
+ ## [1.3.0] - 2026-02-16
234
+
235
+ ### Added
236
+
237
+ - **HierarchicalEventBus**: Child buses with namespace-scoped events, bubbling (child→parent), broadcasting (parent→children), anti-storm backpressure (maxBubblesPerSecond)
238
+ - **ReactiveSharedContext**: Key-level watchers with wildcard support, optimistic locking via `setVersioned()`, CRDT merge with CAS retry loop, scoped contexts with watcher bubbling
239
+ - **WorkerPool**: Generic async work-stealing pool with dynamic grow/shrink, priority queue, abort support, timeout detection, and bounded metrics (max 1000 entries)
240
+ - **AsyncChannel**: Push→pull bridge implementing `AsyncIterable<T>` for `for await...of` consumption
241
+ - **IncrementalReadyTracker**: Incremental Kahn's algorithm — O(fan-out) per `markCompleted()`, snapshot/restore support
242
+ - **PriorityQueue**: Generic binary min-heap with custom comparator
243
+ - **TokenBudgetController**: 3-tier budget management (ok/soft-limit/hard-limit) with acquire/release semantics and rolling auto-refined estimates
244
+ - **ReactiveGraphExecutor**: Event-driven push-based graph execution replacing batch-static GraphExecutor. Uses WorkerPool + IncrementalReadyTracker + AsyncChannel + TokenBudgetController
245
+ - **ForkCoordinator**: Parallel fork execution with partial results, `minResults` threshold, eager resolution on mixed success+error, and timeout support
246
+ - **SubagentRegistry**: 7-state lifecycle manager (queued→running→streaming→completed/failed/timeout/cancelled) with validated transitions, GC, orphan detection, cancellation cascade
247
+ - **SubagentScheduler**: Priority queue with aging anti-starvation, circuit breaker per task type, dynamic pool sizing, ToolLoopAgent execution
248
+ - **Async Subagent Tools**: `dispatch_subagent` (fire-and-forget), `poll_subagent` (status check), `await_subagent` (multi-task wait with timeout) — replaces synchronous TaskTool
249
+ - **AgentSupervisor**: Erlang-style supervision with one-for-one, one-for-all, rest-for-one strategies. Child policies (permanent/temporary/transient), restart intensity with sliding window, escalation, heartbeat monitoring, graceful degradation with fallback
250
+ - **SupervisorBuilder**: Fluent builder for AgentSupervisor configuration
251
+ - **DynamicAgentGraph**: Runtime graph mutations (addNode, removeNode, replaceNode, addEdge, removeEdge) with incremental cycle detection, duplicate edge rejection, append-only mutation log, event emission
252
+ - **Structured Planning System**: Hierarchical Zod schema (Plan→Phase→Step→SubStep), state machine with validated transitions, 4 tools (plan_create, plan_update, plan_status, plan_visualize), plan-to-graph conversion
253
+ - **New Event Types**: 9 supervisor/subagent/graph event types in AgentEventType union + `graph:mutation`
254
+ - **Full Public API Exports**: All new modules exported from `src/index.ts`
255
+
256
+ ### Fixed
257
+
258
+ - AgentSupervisor: factory() failures no longer permanently brick child recovery (try/catch + status reset to "crashed")
259
+ - AgentSupervisor: unhandled promise rejections in heartbeat setInterval callbacks (`.catch()` guard)
260
+ - AgentSupervisor: restartAll/restartRestForOne continue loop on individual factory failures
261
+ - WorkerPool: latencies/completionTimestamps arrays capped at 1000 entries (prevents unbounded memory growth)
262
+ - DynamicAgentGraph: duplicate edges rejected (prevents IncrementalReadyTracker deadlock)
263
+ - SharedContext: TOCTOU race in setVersioned fixed with synchronous version bump before async write
264
+ - SharedContext: merge() now uses CAS retry loop (max 3 retries) instead of unsafe read-then-write
265
+ - ForkCoordinator: eagerly resolves when all nodes reported with enough successes (no unnecessary timeout wait)
266
+ - GraphExecutor: fork node promises awaited on success path (prevents orphaned LLM API calls)
267
+
268
+ ### Breaking Changes
269
+
270
+ - `EventBus` now supports hierarchical features (createChild, bubbling, broadcasting) — API extended
271
+ - `SharedContext` now supports watchers, versioning, merge, scoping — API extended
272
+ - `GraphExecutor` replaced with reactive push-based implementation (same class name preserved)
273
+ - New `graph:mutation` event type added to AgentEventType union
274
+
275
+ ## [1.2.0] - 2026-02-16
276
+
277
+ ### Added
278
+
279
+ - **Structured Code Editing**: `editFile` tool with old_str→new_str pattern, diff preview, and confirmation gate
280
+ - **File Creation**: `createFile` tool that fails if file exists (clean separation from writeFile)
281
+ - **Unified Diff Generator**: LCS-based colored diff with context lines (red/green/dim/cyan)
282
+ - **Git Integration**: gitStatus, gitDiff, gitCommit, gitLog, gitBranch tools + `/git` slash command
283
+ - **Streaming Run Command**: Token-by-token output for `gaussflow "<prompt>"` (was batch)
284
+ - **Slash Commands**: `/test`, `/lint`, `/fix` for quick development workflow
285
+ - **Project Context Awareness**: Auto-detect project type, framework, language, and dependencies
286
+ - **`.gaussflowignore`**: Exclude files from search/list operations (gitignore-like format)
287
+ - **Diff Preview for writeFile**: Shows colored unified diff before confirming overwrites
288
+
289
+ ### Security
290
+
291
+ - Index-based string splice in editFile (prevents `String.replace` dollar-sign injection)
292
+ - `spawnSync` for all git commands with user input (prevents shell injection)
293
+ - Staging state preservation on gitCommit cancel (restores pre-existing staged files)
294
+ - Segment-boundary matching in shouldIgnore (no false positive prefix matches)
295
+
296
+ ### Changed
297
+
298
+ - System prompts now include project context (type, framework, key deps, structure)
299
+ - `listFiles` and `searchFiles` respect `.gaussflowignore` patterns
300
+ - `z.string().min(1)` on editFile's `old_str` (prevents empty-string infinite loop)
301
+ - MAX_DIFF_LINES=1000 guard against OOM on large file diffs
302
+
303
+ ## [1.0.0] - 2026-02-16
304
+
305
+ ### Added
306
+
307
+ - OpenTelemetry observability with port, adapters, and integration
308
+ - Cost/Token tracking with port, adapter, and CLI `usage` command
309
+ - Agent Test Harness with mock provider, test runner, assertions, and snapshots
310
+
311
+ ### Changed
312
+
313
+ - Lazy-load CLI commands for 95% bundle reduction (178 KB → 9 KB)
314
+
315
+ ### Fixed
316
+
317
+ - TypeScript build errors in execution-engine and mock-provider
318
+ - R1 review issues for otel-observability
319
+ - R1 and R2 review issues for cost-tracking
320
+
321
+ ## [0.9.0] - 2026-02-16
322
+
323
+ ### Added
324
+
325
+ - Tool Composition Pipeline (port, adapter, tests)
326
+ - Partial JSON Streaming (port, adapter, accumulator)
327
+ - Conditionals, loops, and filters in template engine
328
+
329
+ ### Fixed
330
+
331
+ - R4–R9 review fixes for tool composition, template engine, and partial JSON
332
+ - R8 sentinel collision and keyword leak in prompt-template
333
+
334
+ ## [0.8.1] - 2026-02-16
335
+
336
+ ### Added
337
+
338
+ - SemanticScraping manifest API documentation
339
+
340
+ ### Changed
341
+
342
+ - Low-priority performance and refactoring optimizations
343
+
344
+ ## [0.8.0] - 2026-02-16
345
+
346
+ ### Changed
347
+
348
+ - Remaining performance and refactoring optimizations batch
349
+ - Medium-impact performance optimizations batch
350
+
351
+ ## [0.7.0] - 2026-02-16
352
+
353
+ ### Changed
354
+
355
+ - Code optimization — performance, DRY, and SOLID improvements
356
+
357
+ ## [0.6.0] - 2026-02-16
358
+
359
+ ### Added
360
+
361
+ - Native MCP Server (port, adapter, plugin)
362
+ - Agent Memory & Context system
363
+ - Plugin Registry
364
+ - `name` property on RuntimePort and conditional runtime exports
365
+
366
+ ## [0.5.0] - 2026-02-16
367
+
368
+ ### Added
369
+
370
+ - Advanced RAG pipeline — chunking, re-ranking, hybrid search
371
+ - A2A Full protocol enhancements for Gauss
372
+ - WorkflowEngine with parallel, conditional, and loop steps
373
+ - `/scraping` sub-path export for browser/extension contexts
374
+ - Semantic scraping capabilities ported from mcp-inspector-openrouter
375
+ - Workflow and A2A sub-path exports
376
+
377
+ ### Fixed
378
+
379
+ - 14 A2A review issues — security, memory, SSE, timeouts
380
+ - 2-arg `z.record()` for Zod v4 compatibility
381
+
382
+ ## [0.4.0] - 2026-02-15
383
+
384
+ ### Added
385
+
386
+ - MCP server support and streaming tool calls in CLI
387
+
388
+ ### Changed
389
+
390
+ - Architecture optimization, CLI UX, and SRP improvements
391
+
392
+ ### Fixed
393
+
394
+ - Pass `--yolo` to REPL, fix readline deadlock, serialize confirmations
395
+
396
+ ## [0.3.0] - 2026-02-15
397
+
398
+ ### Added
399
+
400
+ - Agentic CLI — tools, YOLO mode, bash, files, system prompt, markdown rendering
401
+ - Prompt templates, observability plugin, lifecycle hooks
402
+ - CLI upgrade — OpenRouter fix, `/settings`, `maskKey`, config safety
403
+
404
+ ## [0.2.1] - 2026-02-15
405
+
406
+ ### Changed
407
+
408
+ - Split Agent into ToolManager + ExecutionEngine (SRP)
409
+
410
+ ## [0.2.0] - 2026-02-15
411
+
412
+ ### Added
413
+
414
+ - Production patterns — circuit breaker, rate limiter, tool cache
415
+ - Enhanced REPL experience with spinner, history, timing
416
+ - OpenRouter provider, config defaults, direct prompt mode
417
+ - REST API server with integration tests
418
+ - OneAgent CLI with REPL, single-shot, config, and demo modes
419
+ - ObservabilityPlugin with TracingPort, MetricsPort, LoggingPort
420
+ - WorkflowPlugin with retry, rollback, and deep-clone isolation
421
+ - AgentGraph streaming and parallel execution
422
+ - Deno, Bun, and Edge runtime adapters
423
+ - RuntimePort + NodeRuntimeAdapter + auto-detection
424
+ - CI matrix and multi-runtime documentation
425
+ - EvalsPlugin with evaluation metrics collection
426
+ - VectorlessPlugin with RAG/knowledge tools
427
+ - OneCrawlPlugin with web scraping and search tools
428
+ - GuardrailsPlugin with input/output validation and content filtering
429
+ - LearningSystem with hexagonal architecture
430
+ - Built-in A2A and AgentCard plugins
431
+ - Plugin system core with lifecycle hooks
432
+ - Multi-agent collaboration (AgentGraph) + real-time streaming (SSE/WS)
433
+ - Multi-runtime support (Deno, Edge, Browser) + MCP server mode
434
+ - 230 passing tests and comprehensive documentation
435
+ - GitHub Packages publish workflow
436
+ - Docusaurus documentation site
437
+
438
+ ### Changed
439
+
440
+ - Rename package to `gauss`
441
+ - Standardize naming to Gauss brand
442
+ - Extract AbstractBuilder template method pattern
443
+ - Add ValidationPort with ZodValidationAdapter
444
+ - Extract BasePlugin abstract class for DRY plugin pattern
445
+ - Extract BaseRuntimeAdapter (DRY)
446
+
447
+ ### Fixed
448
+
449
+ - Code quality — domain errors, type safety, dead code removal
450
+ - Performance optimizations — memory bounds, lazy loading, backpressure
451
+ - Pin AI SDK providers to latest stable versions
452
+ - Downgrade Zod to ^3.25.76, remove nonexistent peer deps
453
+ - CI build failures and Bun test runner
454
+ - Move AI SDK providers to optionalDependencies
455
+ - Use `npm install` in CI (pnpm workspace breaks `npm ci`)
456
+ - Separate npm install and publish registries in workflow
457
+ - Add `package-lock.json` for CI reproducibility
458
+
459
+ ## [0.1.0] - 2026-02-11
460
+
461
+ ### Added
462
+
463
+ - Initial deep-agents framework built on AI SDK v6
464
+ - Hexagonal architecture with ports and adapters
465
+ - 73 passing tests with 18 review fixes
466
+ - README and 6 usage examples
467
+
468
+ ### Fixed
469
+
470
+ - Correct `@ai-sdk/mcp` peer dependency version to ^1.0.0
471
+
472
+ [3.5.0]: https://github.com/giulio-leone/gauss/compare/v3.4.0...v3.5.0
473
+ [3.4.0]: https://github.com/giulio-leone/gauss/compare/v3.3.0...v3.4.0
474
+ [3.3.0]: https://github.com/giulio-leone/gauss/compare/v3.2.0...v3.3.0
475
+ [3.2.0]: https://github.com/giulio-leone/gauss/compare/v3.1.0...v3.2.0
476
+ [3.1.0]: https://github.com/giulio-leone/gauss/compare/v3.0.0...v3.1.0
477
+ [3.0.0]: https://github.com/giulio-leone/gauss/compare/v2.4.0...v3.0.0
478
+ [1.0.0]: https://github.com/giulio-leone/gauss/compare/v0.9.0...v1.0.0
479
+ [0.9.0]: https://github.com/giulio-leone/gauss/compare/v0.8.1...v0.9.0
480
+ [0.8.1]: https://github.com/giulio-leone/gauss/compare/v0.8.0...v0.8.1
481
+ [0.8.0]: https://github.com/giulio-leone/gauss/compare/v0.7.0...v0.8.0
482
+ [0.7.0]: https://github.com/giulio-leone/gauss/compare/v0.6.0...v0.7.0
483
+ [0.6.0]: https://github.com/giulio-leone/gauss/compare/v0.5.0...v0.6.0
484
+ [0.5.0]: https://github.com/giulio-leone/gauss/compare/v0.4.0...v0.5.0
485
+ [0.4.0]: https://github.com/giulio-leone/gauss/compare/v0.3.0...v0.4.0
486
+ [0.3.0]: https://github.com/giulio-leone/gauss/compare/v0.2.1...v0.3.0
487
+ [0.2.1]: https://github.com/giulio-leone/gauss/compare/v0.2.0...v0.2.1
488
+ [0.2.0]: https://github.com/giulio-leone/gauss/compare/v0.1.0...v0.2.0
489
+ [0.1.0]: https://github.com/giulio-leone/gauss/releases/tag/v0.1.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Giulio Leone
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.